oh-my-pi 是什么?

oh-my-pi(命令名 omp)是从 Pi 分支发展出的终端编码 Agent。它把 LSP、DAP 调试器、子代理、浏览器、持久 Python/Bun 执行环境和多模型路由放进同一套 CLI,适合需要在终端里完成代码导航、修改、调试和评审的开发者。

⭐ 35,144 Stars 🍴 3,823 Forks TypeScript MIT 作者: can1357
来源:github.com/can1357/oh-my-pi 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

截至核对日,官方最新版本已到 v18.2.8,因此读者更需要准确的安装方式、版本变化和与上游 Pi 的区别。

来源:github.com/can1357/oh-my-pi/releases/tag/v18.2.8

核心功能

LSP 和 DAP 直接接入写入流程

官方 README 列出 14 个 LSP 操作和 28 个 DAP 操作。重命名可走 workspace/willRenameFiles;调试器可接 lldb、dlv 或 debugpy,而不是只依赖日志输出。

来源:github.com/can1357/oh-my-pi
进程内搜索、Shell 与 AST 工具

项目把搜索、Shell、AST、PTY 和图像处理等能力放在 Rust/N-API 层,官方当前说明约 80,000 行 Rust 核心,并提供 macOS、Linux 和 Windows 二进制。

来源:github.com/can1357/oh-my-pi
隔离 worktree 的子代理

task 可以把工作分给独立 worktree,子代理返回经过 schema 校验的结果;Agent Hub 用于查看活动、用量和实时记录。

来源:github.com/can1357/oh-my-pi
多入口和多模型路由

omp 提供交互 CLI,并支持 SDK、stdio RPC 与 ACP 等接入方式。官方 README 当前写明 60+ providers,具体登录方式和模型能力要以安装版本的目录为准。

来源:github.com/can1357/oh-my-pi

技术架构

仓库是 TypeScript、Rust 和 Python 组成的 monorepo。TypeScript 包负责 Agent、模型接入和终端界面;六个 Rust crate 通过平台相关的 N-API addon 提供 Shell、搜索、AST、隔离工作区、语音和文件遍历;Python 与 Bun worker 可保持会话并回调 Agent 工具。发布产物按平台打包为 omp 二进制,也可以通过 Bun 全局安装。

来源:github.com/can1357/oh-my-pi

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) Bun 1.3.14 或官方预编译二进制Bun 1.3.14 或… 对应语言的 language server对应语言的 lang… 按需安装 lldb、dlv、debugpy 或 Chromium按需安装 lldb、… LSP 和 DAP 直接接入写入流程LSP 和 DAP 直接接入… 进程内搜索、Shell 与 AST 工具进程内搜索、Shell 与… 隔离 worktree 的子代理 多入口和多模型路由 oh-my-pi 项目本体 核心功能 关键依赖

技术栈

语言TypeScript、Rust、Python框架Bun monorepo、N-API 原生扩展、终端 UI、LSP、DAP、ACP
Bun 1.3.14 或官方预编译二进制对应语言的 language server按需安装 lldb、dlv、debugpy 或 Chromium
macOS、Linux、Windows;模型凭据和可选外部工具由本机提供
来源:github.com/can1357/oh-my-pi

快速上手

macOS 或 Linux 可执行 curl -fsSL https://omp.sh/install | sh,Homebrew 可执行 brew install can1357/tap/omp;Windows PowerShell 使用 irm https://omp.sh/install.ps1 | iex。也可以在 Bun 1.3.14+ 环境执行 bun install -g @oh-my-pi/pi-coding-agent。安装后进入测试仓库运行 omp,先选择模型和登录方式,再用一个可回滚的小任务检查 read、edit、bash 和 lsp。
来源:github.com/can1357/oh-my-pi

使用场景

适合需要跨文件重命名、真实调试器、终端代码评审、隔离子代理和多 provider 路由的工作。只想要四个基础工具和自行组合扩展的用户,可以先比较上游 Pi;依赖 LSP、DAP 或浏览器的任务还要准备对应的本机服务。

来源:github.com/can1357/oh-my-pi

优势与局限

优势

  • LSP、DAP、搜索、Shell 和子代理都在统一工具面中
  • 提供预编译二进制,也支持 Homebrew、Bun、Nix 和 PowerShell 安装
  • release 记录详细,能查到每个版本的新增、修改和修复

局限

  • 项目发布频率高,SDK 或自动化集成应锁定版本并先看 breaking changes
  • 完整能力依赖本机 language server、调试器、浏览器和模型凭据
  • 本轮没有安装 omp,也没有运行其工具、模型或 benchmark
来源:github.com/can1357/oh-my-pi/releases

最新版本

截至 2026-09-23,最新正式 release 是 v18.2.8,发布于 2026-09-21。该版扩展多模态和搜索 provider 能力,为 coding agent 增加浏览器审计、React 检查、网络与性能跟踪、视频变化检测等工具,并修复长会话扫描和 LSP 取消问题。

来源:github.com/can1357/oh-my-pi/releases/tag/v18.2.8

实测与证据

status: docs-only  |  checked_at: 2026-09-23  |  environment: 只核对官方仓库 README、安装段和 GitHub Releases  |  limitations: 未执行安装脚本,未启动 omp,未验证登录、模型调用、LSP、DAP、浏览器、子代理或资源占用  |  observed_output: README 当前列出 60+ providers、31 个内置工具、14 个 LSP 操作、28 个 DAP 操作和约 80,000 行 Rust 核心;最新 release 为 v18.2.8

来源:github.com/can1357/oh-my-pi/releases/tag/v18.2.8

同类项目对比

oh-my-pi 官方说明它源自 Pi。当前 Pi 官方仓库把统一模型 API、Agent runtime、coding agent CLI、TUI 和 durable runtime 分成多个包;omp 则在自己的 CLI 中突出 LSP、DAP、子代理、浏览器和大量进程内原生工具。选择前应分别核对两个项目当前的包、工具和权限边界,不能把 omp 的功能表当成 Pi 的功能表。

来源:github.com/earendil-works/pi

总结评价

omp 适合愿意用较大工具面换取完整终端工程能力的人。首次使用应从可回滚仓库和少量工具开始,确认模型、LSP 与调试器链路后再启用浏览器、子代理和自动提交等能力;团队集成应固定版本。

来源:github.com/can1357/oh-my-pi

常见问题

oh-my-pi 和上游 Pi 是什么关系?

omp 的官方 README 说明它源自 Pi,但两者是不同项目,包名、功能范围、发布节奏和维护仓库都不同。

安装 omp 一定要先装 Bun 吗?

不一定。官方安装脚本和预编译路径不要求先装 Bun;选择 Bun 全局包时才需要 Bun 1.3.14 以上。

装完就能使用全部 LSP 和调试功能吗?

不能保证。具体语言需要对应 language server;调试任务还需 lldb、dlv、debugpy 等本机组件。

为什么自动化集成要锁定 omp 版本?

项目更新很快并会发布 breaking changes。固定版本更容易复现 SDK、RPC 和脚本行为,也方便逐版阅读 release。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件