Oh My Pi(omp)入门教程 — 终端 AI 编程 Agent 安装与上手
一句话:omp 是一个「终端优先」的开源 AI 编程 Agent。它不依赖任何 IDE,把你的终端变成全功能编程工作台——32 个经过基准调优的工具、完整 LSP 与调试器、跨会话记忆,都内置在里面。
TL;DR: omp(Oh My Pi)是一个运行在终端里的开源 AI 编程 Agent,由 Can Bölük fork 自 Mario Zechner 的 Pi 并大幅扩展。3 分钟上手:
curl -fsSL https://omp.sh/install | sh安装 →/login登录(OAuth 或 API Key)→ 开聊。和 Claude Code 相比,它用 Hashline 哈希编辑更少出错、内置完整 LSP/DAP、工具都经过基准调优。
📚 本文目录(点击跳转)
omp 是什么?
omp 是 Oh My Pi 的命令行简称,一个终端优先的 AI 编程 Agent。它不依赖任何 IDE,在你的终端里以全功能 TUI 运行,集成了:
- 完整 LSP:14 个语言服务操作,含重命名、跳转、代码动作
- DAP 调试器:支持 lldb、dlv、debugpy
- Python / JavaScript 双执行内核:可互相调用 Agent 工具
- 子 Agent 并行:隔离工作区、类型化返回值
- 跨会话记忆:Hindsight 记忆银行(项目级)
- 32 个基准调优工具:编辑、搜索、LSP 集成均力求同类最优
Oh My Pi 的核心理念是:工具不应该只是「连上去」,而要被打磨到极致——每一个工具都经过基准测试调优,编辑命中率、搜索速度、LSP 集成都力求做到同类最优。

和其他 AI 编程工具的差异
| 维度 | Claude Code / 同类工具 | omp |
|---|---|---|
| 编辑格式 | str_replace(易出错) | Hashline(内容哈希锚点,抗空白差异) |
| 文件读取 | 全文 dump | 结构摘要 + 按需展开 |
| LSP | 无或有限 | 完整 14 个 LSP 操作(含重命名、跳转、代码动作) |
| 调试器 | 无 | 完整 DAP:lldb、dlv、debugpy |
| 子 Agent | 无或有限 | 并行子 Agent,隔离工作区,类型化返回值 |
| 搜索 | shell 调用 ripgrep | in-process ripgrep,无 fork/exec |
| 行为纠正 | 靠 prompt | 流规则:正则命中 → mid-token 注入 → 重试 |
| 跨会话记忆 | 无 | Hindsight 记忆银行(项目级) |
| 代码执行 | Python sandbox | 持久 Python + Bun 双内核,可互相调用 Agent 工具 |
| 技术栈 | 纯 JS/Python | ~55,000 行 Rust 核心 + TypeScript |
安装
方式一:一键脚本(Linux)

$ curl -fsSL https://omp.sh/install | sh安装脚本会自动检测 Bun 是否可用:有 Bun(≥ 1.3.14)则优先用 Bun 安装,否则下载预构建二进制。
方式二:Homebrew(macOS / Linux)
$ brew install can1357/tap/omp方式三:Bun(推荐,获得最新版)
$ bun install -g @oh-my-pi/pi-coding-agent方式四:Windows(PowerShell)
$ irm https://omp.sh/install.ps1 | iexWindows 支持原生运行,无需 WSL。
版本锁定(mise)
$ mise use -g github:can1357/oh-my-pi验证安装
如果安装完成后直接运行 omp,可能会提示找不到命令,报错如下:

这是因为安装目录还没加入 PATH,系统识别不到 omp。解决办法很简单——临时加入环境变量:
export PATH="/root/.local/bin:$PATH"⚠️ 注意:冒号
:后不要留空格。想永久生效,把这一行追加到~/.bashrc(或~/.zshrc)。
然后验证版本:
$ omp --version
初次配置:登录模型提供商
首次运行 omp 后,可以选择 sign in / web_search 两种方式(本文采用 sign in 方式)。

先分清两个概念:Sign in 和 web_search
- Sign in(/login):给模型后端(Anthropic / OpenAI / Gemini…)做认证,决定「用哪个大模型回答问题」。
- web_search(内置工具):agent 在对话中调用的联网检索工具,决定「怎么从网上拿实时信息」。
两者唯一的交集:某些搜索服务会复用同一个 OAuth 登录态(例如登录 Anthropic 后,既解锁 Claude 模型,也顺带解锁 Anthropic 的联网搜索)。
简单记:/login 管「用哪个模型」,web_search 管「怎么查实时信息」。 两者的详细区别如下表:
| 维度 | Sign in(/login) | Web search(web_search 工具) |
|---|---|---|
| 是什么 | 认证流程,不是工具 | 内置工具,agent 运行时调用 |
| 解决什么问题 | 让模型 provider / model-id 变为可选 | 让 agent 能查「知识截止之后」的实时信息 |
| 对象 | 模型 provider:anthropic、openai、google、groq、ollama… | 搜索 provider(共 23 个):Perplexity、Brave、Tavily、DuckDuckGo… |
| 凭据形态 | OAuth(浏览器授权)或 API Key | 各搜索 provider 自己的 API Key / OAuth,或无凭据 |
| 是否需要登录 | 需要(除非 keyless 本地引擎如 ollama / llama.cpp / lm-studio) | 不一定:有免登录的(DuckDuckGo、Startpage、Google、Ecosia、Mojeek),也有要凭据的 |
| 凭据存哪 | ~/.omp/agent/agent.db(或 auth broker) | 部分复用 agent.db 的 OAuth,部分走环境变量 |
| 作用域 | provider 级隔离:登录 anthropic ≠ 登录 openai | 自动 fallback 链,逐个尝试直到有一个成功 |
| 配置位置 | /login <provider>、models.yml、disabledProviders | providers.webSearchOrder / webSearchExclude / webSearchTimeoutSeconds |
| 登录一次的效果 | 只解锁该 provider 的模型 | 部分 provider 登录后额外解锁其搜索能力 |
方式一:OAuth 一键登录(无需 API Key)
omp 支持多个提供商通过 OAuth 登录,最简单的方式:
/login # 打开交互式提供商选择器支持 OAuth 的提供商包括:Anthropic、OpenAI Codex、Google Antigravity(Gemini)、Perplexity、Cursor、GitHub Copilot、GitLab Duo 等。
方式二:API Key(直连提供商)
在 omp 里直接配置:

/model # 打开模型选择器,可以在这里配置 Key选择 providers(供应商):

粘贴对应的 API Key:

配置完成后,就可以直接和 omp 进行简单的对话了。
实战:让 omp 写一个介绍自己的 HTML 页面
接下来做一个真实的小任务。直接在对话里输入:
你来帮我制作一个简单的介绍 omp 的 HTML 页面吧

omp 会开始生成:

直接看最后的效果:

优缺点
omp 的优点
- 工具打磨到极致:32 个经过基准调优的工具,编辑命中率、搜索速度同类最优
- 内置完整 LSP(14 个操作)与 DAP 调试器(lldb / dlv / debugpy)
- 自带跨会话记忆(Hindsight)、子 Agent 并行,长项目不用重复交代上下文
- 安装方式多(脚本 / Homebrew / Bun / mise),Windows 原生运行
不足 / 注意事项
- 需要自己准备模型:用
/loginOAuth 或/model配 API Key,调用费用由模型商收取 - 终端优先:习惯 GUI / IDE 操作的用户需要一点上手成本
- 部分联网搜索 provider 需要额外凭据,否则走免登录的搜索引擎
常见问题
omp 和 Claude Code 有什么区别?
核心差异在工具层:omp 用 Hashline(内容哈希锚点)编辑文件、抗空白差异;内置完整 LSP 与 DAP 调试器;32 个工具都经过基准调优。详见上文对比表。
安装后提示 omp 命令找不到怎么办?
安装目录还没加入 PATH。临时执行 export PATH="/root/.local/bin:$PATH",想永久生效追加到 ~/.bashrc 或 ~/.zshrc。
omp 需要 API Key 吗?
需要。推荐用 /login 走 OAuth 一键登录(Anthropic、OpenAI、Gemini、Perplexity、Cursor、GitHub Copilot 等),也可以用 /model 直接粘贴 API Key。
Windows 上能用 omp 吗?
能。PowerShell 执行 irm https://omp.sh/install.ps1 | iex 即可,支持原生运行,无需 WSL。
omp 和 Pi 是什么关系?
omp 由 Can Bölük fork 自 Mario Zechner 的 Pi,在极简底座上大幅扩展:更完整的 LSP/DAP、Hashline 编辑、双执行内核和 Hindsight 跨会话记忆。
