YoMo
面向低延迟函数调用的可部署式 AI Agent 与工具框架。
- 源仓库
- yomorun/yomo
- Star 数
- ★ 1.9k
- 最近更新
- 4 天前
- 主语言
- Rust
- FA 评分
- 24/100 · 缺口较多
30 秒速览
- 可在哪里用
- 兼容但需适配
- 开始前需要
- 典型场景
- 为已有聊天应用实现天气查询等可由函数完成的任务的开发者。
- 主要局限
- 示例仅明确展示 Ollama 和
ornith,其他模型或提供商的配置方式未在所给材料中说明。
这个 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 当前 | 24 · 缺口较多 | ★ 1.9k | 4 天前 | Rust | — |
| SGR Agent Core | 56 · 缺口较多 | ★ 1.1k | 7 天前 | Python | OpenAI API |
| fx 编程代理 | 63 · 存在缺口 | ★ 3.1k | 4 天前 | Zig | ChatGPT · Codex · OpenAI API |
| Osaurus | 80 · 表现良好 | ★ 8k | 4 天前 | Swift | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属的明确说明。所有信任相关标准均未得到支持,因此评分为0。
证据显示:README和Cargo.toml中的描述基本一致,但存在拼写错误(如'ornith'应为'ornith'?)和版本号不一致(README未提及版本)。依赖项在Cargo.toml中列出,但未提供可用性保证。失败消息未在文档中说明。因此,自我一致性评分为1,依赖可用性评分为1,失败消息评分为0。
证据显示:README明确了目标受众(AI Agent开发者)和使用场景(LLM Function Calling),但能力边界未明确说明。触发精度方面,提供了API示例,但未详细说明触发条件。环境适配方面,提供了安装和运行说明,但未说明系统要求。因此,受众和场景评分为2,能力边界评分为1,触发精度评分为1,环境适配评分为1。
证据显示:README提供了清晰的信息架构,包括功能、快速开始、文档链接等。安装说明提供了CLI安装和运行步骤。命名稳定性方面,项目名称和版本号在Cargo.toml中明确,但README未提及版本历史。示例和FAQ提供了示例,但未提供FAQ。已知限制未提及。许可证为Apache-2.0,在Cargo.toml和README中均有说明。版本控制和变更日志未提供。维护责任方面,有贡献指南和问题模板,但未明确维护者。因此,信息架构评分为2,安装说明评分为2,命名稳定性评分为1,示例和FAQ评分为2,已知限制评分为0,许可证评分为2,版本控制和变更日志评分为1,维护责任评分为1。
证据显示:输出可用性方面,提供了API响应示例,但未说明输出格式的通用性。边际价值方面,项目提供了独特的Geo-distributed架构,但未与其他方案对比。成本效益方面,未提供性能或成本数据。因此,输出可用性评分为1,边际价值评分为1,成本效益评分为1。
证据显示:README中的声明(如'ultra-fast')未提供基准测试或数据支持。跨来源验证方面,未提供其他来源的验证。事实与推断分离方面,未明确区分事实和推断。因此,声明可追溯性评分为1,跨来源验证评分为0,事实与推断分离评分为0。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供权限模型或用户确认机制,部署时需谨慎评估安全风险。
- README中的性能声明(如'ultra-fast')缺乏基准测试支持,应视为营销语言。
- 依赖项未进行安全审计,建议使用前检查依赖漏洞。
常见问题
运行示例需要 API 密钥吗?
ornith。能否直接调用工具而不经过聊天接口?
/tool/get-weather 发送 args JSON 字符串的直接 HTTP 调用。默认服务地址是什么?
http://127.0.0.1:9001。