YoMo
面向低延迟函数调用的可部署式 AI Agent 与工具框架。
- 源仓库
- yomorun/yomo
- Star 数
- ★ 1.9k
- 最近更新
- 1 天前
- 主语言
- Rust
- FA 评分
- 39/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 为已有聊天应用实现天气查询等可由函数完成的任务的开发者。
- 不适合
- 希望开箱即用、无需自行编写 TypeScript 工具代码的用户
- 需要完整生产部署与鉴权文档的企业团队
这个 Agent 能做什么,适合哪些场景?
YoMo 是一个用于构建可扩展、高速 AI Agent 的开源 LLM 函数调用框架。它提供 yomo serve 服务端、yomo init 工具项目初始化,以及 yomo run 的工具运行方式。服务端暴露 POST /v1/chat/completions,可根据对话请求调用已运行的工具;示例使用 Ollama 的 ornith 模型。工具也可通过 POST /tool/get-weather 直接调用,并以 JSON 参数接收输入。项目将 TLS v1.3、无服务器工具管理和地理分布式部署作为其产品特性。
先用 ollama pull ornith 获取示例所用模型,再通过 yomo serve 启动服务。执行 yomo init 会初始化一个工具项目,文档示例要求编辑 ./app/src/app.ts;随后以 yomo run -n get-weather ./app 运行名为 get-weather 的工具。客户端可向 http://127.0.0.1:9001/v1/chat/completions 发送包含 messages 的 JSON 对话请求,也可向 http://127.0.0.1:9001/tool/get-weather 发送含转义 JSON 字符串的 args,直接调用该工具。
- 为已有聊天应用实现天气查询等可由函数完成的任务的开发者。
- 希望在本机通过 Ollama 模型验证工具调用流程的工程团队。
- 需要让内部 HTTP 客户端通过
/v1/chat/completions发起对话请求的后端开发者。 - 希望把一个名为
get-weather的服务端工具直接暴露为/tool/get-weatherHTTP 接口的团队。 - 关注将推理和工具部署到更接近终端用户位置的架构设计者。
如何安装或部署这个 Agent?
安装 CLI:curl -fsSL https://get.yomo.run | sh,然后运行 yomo --version 验证。获取示例模型:ollama pull ornith。也可从源码执行 cargo build --release,再使用 ./target/release/yomo --help;源码构建需要 Rust/Cargo。文档未要求配置 API 密钥。
如何使用这个 Agent?
运行 yomo serve 启动服务;可使用 --config 指定自定义 YAML 配置文件。执行 yomo init 初始化项目并编辑 ./app/src/app.ts,然后运行 yomo run -n get-weather ./app。首次请求可执行:curl http://127.0.0.1:9001/v1/chat/completions -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"How is the weather in London?"}]}'。
这个 Agent 有哪些优点和局限?
- 同时给出对话入口
/v1/chat/completions与工具直连入口/tool/get-weather,便于分别测试 Agent 流程和单个工具。 - CLI 覆盖服务启动、工具初始化与工具运行三个步骤,示例可从本机 Ollama 模型开始。
- 项目明确将 TLS v1.3 应用于数据包,并将地理分布式架构列为设计特性。
- 示例仅明确展示 Ollama 和
ornith,其他模型或提供商的配置方式未在所给材料中说明。 - 工具项目的完整 TypeScript 依赖、构建方式及生产部署步骤未提供。
- 自定义 YAML 的具体字段和服务端认证、授权、错误处理行为均未在所给材料中说明。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| YoMo 当前 | 39 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.9k | 1 天前 | Rust | — |
| SGR Agent Core | 50 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 1.1k | 1 个月前 | Python | OpenAI API |
| fx 编程代理 | 65 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 3.8k | 今天 | Zig | ChatGPT · Codex · OpenAI API |
| Osaurus | 76 · 表现良好 | 桌面应用免费 + 模型费 | ★ 8.1k | 1 天前 | Swift | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
代码将工具运行时监听限制在 127.0.0.1,并提供 TLS 与认证相关模块,支持有限的最小权限和传输保护判断;但材料未说明工具权限、用户确认、输入数据流、敏感数据处理、外部副作用或回滚机制。README 的安全和性能表述缺少具体配置或证据,依赖清单也未呈现审计或缓解措施,因此这些项只给低分;仓库名称和链接提供部分出处线索,但发布者身份及维护者责任仍不清楚。
README、Rust 模块说明和 TypeScript/Go 工具桥代码共同表明这是 LLM 工具路由与无服务器运行框架,但 README 的示例输出含有明显自相矛盾的季节和天气描述,削弱了自洽性。Cargo.toml 列出依赖和版本约束,未展示锁定或依赖可用性保障。桥接代码包含部分错误响应,但 Go 启动错误和反射错误以无消息退出,故失败报告仅属部分处理。
README 面向构建 AI Agent 的开发者,给出本地 Ollama、工具初始化、运行和 HTTP 请求场景,适用对象与常见用途较清楚。模块和工具接口显示支持不同模型提供方、工具语言及分布式部署方向;但能力边界、适用限制和触发条件未明确说明,因此未给更高分。CLI 与本地服务示例帮助识别环境要求,但操作系统和部署差异说明有限。
README 按功能、入门、文档和开发组织内容,Cargo.toml 与 CI/release 工作流补充版本、依赖和发布信息,结构清楚但存在拼写错误及配置说明不足。安装仅给出 curl 安装命令,未说明脚本来源验证、替代安装方法或故障排查;示例覆盖基本流程但没有 FAQ。未见已知限制说明。README 和 Cargo 元数据均明确 Apache-2.0,许可证项给满分。版本号及 tag 与 Cargo 版本校验体现一定版本纪律,但材料没有变更日志。贡献指南链接提供部分维护路径,具体责任主体和更新承诺不清楚。
框架提供工具初始化、运行、聊天接口和直接工具调用示例,足以支持开发者理解基本产物并开始搭建;无服务器工具路由和地理分布式部署方向构成可见价值。对运营开销和延迟的改善主要是 README 的主张,材料没有量化成本、部署复杂度或收益证据,因此成本效益评分较低。
CLI 命令、代码接口、依赖元数据和 CI/release 配置为部分主张提供可追溯依据,但 TLS、显著提速和可靠性等宣传未由所给文件充分支撑。多个文件能交叉确认工具运行和发布流程,但不能验证端到端安全或示例效果。README 将断言与示例混在一起,天气示例本身还出现事实与推断混淆,故事实和推断区分项为零。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- README 的天气示例包含相互矛盾的季节、天气和蚊虫说法;不要将其当作准确性证据。
- README 建议直接执行远程安装脚本,但材料未说明如何校验脚本或安装包。
- 提供的材料没有展示工具权限、用户确认、敏感数据处理、回滚或依赖安全审计细节。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * test(model-api): cover invalid UTF-8 frame passthrough in stream wrapper by @fanweixiao in https://github.com/yomorun/yomo/pull/1296 * feat(openai): add Responses API support with automatic routing by @woorui in https://github.com/yomorun/yomo/pull/1297 * fix(vertexai): return Gemini reasoning and clamp output tokens by @woorui in https://github.com/yomorun/yomo/pull/1298 Full Changelog: https://github.com/yomorun/yomo/compare/v2.1.6...v2.1.7在 GitHub 查看 ↗
常见问题
运行示例需要 API 密钥吗?
ornith。能否直接调用工具而不经过聊天接口?
/tool/get-weather 发送 args JSON 字符串的直接 HTTP 调用。默认服务地址是什么?
http://127.0.0.1:9001。是否支持其他模型提供商?
谢谢反馈,我们会据此改进页面。