Oh My Pi

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

Star 数
★ 38k
最近更新
今天
License
MIT
主语言
TypeScript

30 秒速览

运行形态
命令行工具代码库 / SDK
可在哪里用
通用 · 跨平台Codex · OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Bun >= 1.3.14Shell / 命令行网络访问本地文件系统MCP Server
典型场景
使用 macOS、Linux 或 Windows 终端的开发者,需要让代理读取工作区、执行命令并以哈希锚点方式修改代码。
不适合
  • 无法安装 Bun 1.3.14 及以上版本或原生 N-API 组件的环境
  • 希望开箱即用全部工具、不愿逐项开启设置开关的用户

这个 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 与内部 :// 路径,通过 search、find 定位内容和文件,并用 write、edit 或 ast_edit 产生改动;其中 edit 使用带内容哈希锚点的 Hashline 补丁,ast_edit 先生成待确认的结构化改写。它可用 bash 执行工作区命令、用 eval 运行可回调代理工具的持久 Python 与 JavaScript 单元、用 lsp 进行诊断和重命名,并以 debug 驱动 DAP 会话。task 可在隔离工作区中并行启动子代理并返回模式校验结果,github、browser、web_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?

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 有哪些优点和局限?

优点
  • 将 read、search、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 与同类方案有什么区别?

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

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Oh My Pi 当前 54 · 缺口较多 命令行工具免费 + 模型费 ★ 38k 今天 TypeScript Codex · OpenAI API · Claude API
Zero 59 · 缺口较多 命令行工具免费 + 模型费 ★ 1.8k 1 天前 Go OpenAI API · Claude API
Forge 终端编程助手 46 · 缺口较多 命令行工具免费 + 模型费 ★ 7.6k 6 天前 Rust OpenAI API · Claude API
CLIO 命令行智能编排器 69 · 存在缺口 命令行工具免费 + 模型费 ★ 232 1 天前 Perl OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
54/ 100 五分制 2.7 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 33 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 10/29
可靠稳定 9/14
适用触发 12/18
规范维护 11/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全10 / 29 · 1.7/5

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

可靠稳定9 / 14 · 3.2/5

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

适用触发12 / 18 · 3.3/5

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

规范维护11 / 18 · 3.1/5

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

有效结果9 / 13 · 3.5/5

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

证据核验3 / 8 · 1.9/5

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

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

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v18.16.0
    发布说明摘录
    @oh-my-pi/pi-agent-core Changed - Deprecated createFileOps, computeFileLists, formatFileOperations, upsertFileOperations, isUrlSchemePath and FileOperations in @oh-my-pi/pi-agent-core/compaction; they now re-export @oh-my-pi/snapcompact, which callers should import directly Fixed …
    在 GitHub 查看 ↗
  2. v18.15.0
    发布说明摘录
    @oh-my-pi/pi-agent-core Fixed - Fixed OpenAI remote compaction (/responses/compact) replaying backend-only internal_chat_message_metadata_passthrough metadata that Codex rejects as an unknown parameter ([#17590](https://github.com/can1357/oh-my-pi/pull/17590) by [@briankeefe](https://github.com/briankeefe)) @oh-my-pi/pi-ai Fixed …
    在 GitHub 查看 ↗
  3. v18.14.2
    发布说明摘录
    @oh-my-pi/pi-agent-core Added - The soft steering signal a tool sees as toolCall.steeringSignal now aborts with the source of the queued message ("user", "irc", …) as its reason, so a tool can yield only to the sources it should ([#17537](https://github.com/can1357/oh-my-pi/issues/17537)) Fixed …
    在 GitHub 查看 ↗

常见问题

它必须绑定某一家模型服务吗?
不必。项目列出 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 可使用 ModelRegistry、SessionManager 与 createAgentSession;其他宿主可用 omp --mode rpc 的 NDJSON 接口。
如何在多代理任务中避免工作区冲突?
task 可将子代理分发到隔离工作区,并让父代理读取其模式校验后的结果;README 声明这一模式旨在避免同级代理间的合并冲突。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents