开发与工程 terminal-codinghashline-editinglsp-integrationdebug-adapter-protocolsubagent-orchestrationmulti-provideragent-client-protocolmcp

Oh My Pi

面向终端与编辑器的多模型编码代理,集成代码编辑、LSP、调试和协作工作流。

FollowAgents 评估 · FARS-2.1
不推荐
54/ 100 五分制 2.7 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全10 / 29 · 1.7/5

证据显示:README 提到破坏性工具会暂停并请求权限(ACP 部分),但未提供默认权限策略或最小权限原则的详细说明。用户确认机制存在但仅提及,未展示具体实现。数据流透明度:README 描述 collab 会话中帧在客户端密封,中继不看到密钥,但未全面说明所有数据流。敏感数据处理:提及密钥和凭据,但未说明存储和加密细节。依赖安全:有 patchedDependencies 和 overrides,但未提供漏洞扫描或审计证据。外部影响:工具如 computer 和 browser 可影响系统,但未说明默认限制。回滚:提到 hashline 拒绝陈旧补丁,但未提供通用回滚机制。来源归属:明确标注为 Pi 的分叉,但发布者未验证。扣分原因:多数安全机制仅提及而无实现细节,且发布者身份未知。

2可靠稳定9 / 14 · 3.2/5

证据显示:代码库有大量测试(如 agent-loop.test.ts),CI 配置完整,显示对一致性的重视。依赖可用性:使用 bun.lock 和 Cargo.lock 锁定版本,但未提供离线或镜像策略。失败消息:测试覆盖了中止和错误路径,但未提供用户可见的错误消息示例。扣分原因:静态审查无法验证运行时行为,但测试和 CI 存在表明可靠性有基础。

3适用触发12 / 18 · 3.3/5

证据显示:README 详细描述了多种使用场景(终端、Zed、浏览器、桌面),并列出 31 个工具和 60+ 提供商,显示广泛的适用性。能力边界:工具列表和设置门控(如 github、security_scan 默认关闭)表明有边界控制。触发精度:magic keywords 有精确匹配规则,slash 命令有明确行为。环境适配:支持 macOS、Linux、Windows,并处理 musl 等特殊情况。扣分原因:未提供详细的配置文档或故障排除指南。

4规范维护11 / 18 · 3.1/5

证据显示:README 结构清晰,有安装、工具、提供商等章节。安装说明详细,包括多种方法(curl、brew、bun、PowerShell)。命名稳定:版本号 17.2.12 一致。示例和 FAQ:README 有大量示例和截图,但无 FAQ 部分。已知限制:仅提及 Alpine/musl 问题,未全面列出。许可证:MIT 许可证明确。版本变更日志:有 CHANGELOG.md 链接。维护责任:有 CI 和发布流程,但发布者未验证。扣分原因:缺少 FAQ 和全面的已知限制列表。

5有效结果9 / 13 · 3.5/5

证据显示:README 声称性能提升(如 Grok 4 Fast 减少 61% tokens),但无独立验证。输出可用性:工具返回结构化结果(如 subagent 返回 schema 验证对象)。边际价值:与 Pi 相比增加了许多功能(LSP、DAP、浏览器等)。成本效益:提供多种提供商和模型,可能降低成本,但未提供定价信息。扣分原因:性能声明无基准测试证据。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如性能提升)未提供可复现的基准或数据。交叉来源:仅依赖 README 和代码,无第三方验证。事实与推断分离:README 区分了功能描述和性能声明,但性能声明未标注为推断。扣分原因:缺乏可验证的基准和第三方确认。

证据充分度: 评估于 2026年8月9日 审查版本 45e12e5bb758
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 发布者身份未验证,安装脚本(curl | sh)存在供应链风险,建议检查校验和。
  • README 中的性能声明(如 token 减少)缺乏可复现的基准,不应作为购买或部署依据。
  • 工具如 computer 和 browser 可访问桌面和浏览器,默认权限未明确,需谨慎配置。
  • 依赖安全未提供漏洞扫描证据,建议使用前进行安全审计。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Oh My Pi(omp)是一个以终端 TUI 为默认入口的编码代理,同时提供单次提示、Node/TypeScript SDK、stdio RPC 与 ACP 编辑器协议接口。项目由多个 TypeScript 包及 Rust 原生 N-API 组件组成,涵盖代理运行时、模型目录、终端 UI、协作协议、Hashline 补丁和本地 SQLite 记忆。它可调用文件、搜索、shell、持久 Python/JavaScript 单元、LSP、DAP 调试器、浏览器、Web 搜索及子代理等能力,并支持多家模型与 OpenAI 兼容服务。发行方式包括 macOS、Linux、Windows 的安装脚本、Homebrew、Bun 全局安装和 mise。适合希望在本地工作区内集中使用编码、调试、审查和多代理任务编排的开发者。

用户可运行 omp 进入交互式终端界面,或以 omp -p 执行单次提示。代理通过 read 读取文件、目录、SQLite、PDF、Notebook、URL 与内部 :// 路径,通过 searchfind 定位内容和文件,并用 writeeditast_edit 产生改动;其中 edit 使用带内容哈希锚点的 Hashline 补丁,ast_edit 先生成待确认的结构化改写。它可用 bash 执行工作区命令、用 eval 运行可回调代理工具的持久 Python 与 JavaScript 单元、用 lsp 进行诊断和重命名,并以 debug 驱动 DAP 会话。task 可在隔离工作区中并行启动子代理并返回模式校验结果,githubbrowserweb_search 等功能按设置启用;通过 omp acp,编辑器可经 Agent Client Protocol 提供文件和终端 I/O。

  1. 使用 macOS、Linux 或 Windows 终端的开发者,需要让代理读取工作区、执行命令并以哈希锚点方式修改代码。
  2. 需要跨文件重命名、查找引用或处理代码操作的 TypeScript、Rust 或多语言项目维护者,可让代理调用 lsp
  3. 正在排查 C、Go 或 Python 运行时问题的工程师,可通过 debug 驱动 lldb-dap、dlv 或 debugpy 会话。
  4. 需要将代码审查、目录扫描或独立调研拆分给并行工作者的团队,可使用 task 和隔离工作区。
  5. 为 Node/TypeScript 宿主、stdio 客户端或支持 ACP 的编辑器嵌入编码代理的工具开发者。

这个 Agent 有哪些优点和局限?

优点
  • readsearch、Hashline edit、AST 改写、LSP 和 DAP 调试集中在同一代理工具面中。
  • Rust 原生组件在进程内提供搜索、shell、AST、PTY、语法高亮和文件遍历,减少热路径上的外部命令调用。
  • 支持 40 多个服务商、OpenAI 兼容端点、角色化模型路由、回退链与轮换凭据。
  • 除 TUI 外还提供 Node SDK、stdio RPC 与 ACP,便于嵌入不同开发环境。
  • task 支持隔离工作区、并行子代理和模式校验的返回结果。
局限
  • 完整使用依赖 Bun >= 1.3.14,部分本地原生能力还依赖其 Rust/N-API 发行组件。
  • 模型服务、Web 搜索、浏览器、协作与 GitHub 等功能会带来网络连接、服务商认证或额外设置需求。
  • github、图像检查、TTS 与记忆相关工具默认关闭,必须按项目显式启用。
  • 虽然支持 Windows,但某些隔离后端依赖 APFS、btrfs、zfs、overlayfs、projfs 或 rcopy 等平台机制。
  • README 未说明各模型提供商的定价,也未给出所有浏览器、调试适配器和协作中继的运行限制。

如何安装或部署这个 Agent?

macOS/Linux:curl -fsSL https://omp.sh/install | sh。Homebrew:brew install can1357/tap/omp。或推荐使用 Bun:bun install -g @oh-my-pi/pi-coding-agent。Windows PowerShell:irm https://omp.sh/install.ps1 | iex。运行环境要求为 macOS、Linux 或 Windows,以及 Bun >= 1.3.14;使用模型前需在 omp setup 或会话中的 /login 配置相应服务商认证。

如何使用这个 Agent?

在项目目录运行 omp 打开交互式代理,输入任务后由其按可用工具执行。一次性调用可使用 omp -p "list .ts files"。需要编辑器集成时运行 omp acp;需要 stdio NDJSON 接口时运行 omp --mode rpc --no-session。自定义 OpenAI 兼容服务可写入 ~/.omp/agent/models.yml,运行 omp models spark 验证后,在 omp setup/model 中选择模型。

这个 Agent 与同类方案有什么区别?

该项目是 Mario Zechner 的 Pi(pi-mono)分支。README 将其定位为在 Pi 的基础上增加编码导向的会话、子代理、斜杠命令、扩展、原生工具和多服务商工作流。

常见问题

它必须绑定某一家模型服务吗?
不必。项目列出 Anthropic、OpenAI、OpenAI Codex、Gemini、xAI 等服务商,也支持 Ollama、LM Studio、llama.cpp、vLLM、LiteLLM 及自定义 OpenAI 兼容端点。
它会直接修改工作区吗?
会。write 可创建或覆盖文件,edit 应用 Hashline 补丁;ast_edit 先返回待确认操作,需由 resolve 接受后才落盘。ACP 模式下,写入和部分 bash 操作由 session/request_permission 控制。
能否在没有交互 TUI 的程序中使用?
可以。Node/TypeScript 可使用 ModelRegistrySessionManagercreateAgentSession;其他宿主可用 omp --mode rpc 的 NDJSON 接口。
如何在多代理任务中避免工作区冲突?
task 可将子代理分发到隔离工作区,并让父代理读取其模式校验后的结果;README 声明这一模式旨在避免同级代理间的合并冲突。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents