没有紧急理由离开 Oh My Pi,坦率地说,替代方案的清单很短:在运行命令前先提示你的客户端,或由他人托管、你无需自行运行的服务。 Oh My Pi 处于活跃状态且免费——GitHub API 报告 can1357/oh-my-pi 未归档、采用 MIT 许可证、约有 32,300 个 stars,并且最后一次推送发生在检查当天;omp.sh 提供机器可读的 0 美元 Offer(均于 2026 年 9 月 21 日检查)。因此,本页旨在引导你选择合适的方案,而不是帮你逃离一个出了问题的项目。
其中两组组合已经有专门说明,这里不再重复。关于它所分叉自的上游项目,请参阅 Oh My Pi vs Pi。关于大多数人会拿来与它比较的另一个终端代理,请参阅 Oh My Pi vs OpenCode。以下内容只讨论这两个页面未提到的客户端。
通常切换的四个理由中,有两个并不适用
替代方案综述通常将编码代理分为本地优先、开放 API、自主运行和 IDE 原生几类。对 Oh My Pi 而言,其中两类是空的;明确指出这一点,比为了凑数填满它们更有用。
本地优先不是退出理由。 omp 的 README 有一个“自己运行”部分,其中写着“OpenAI 兼容 /v1/models。本地实例无需密钥。”,并列出了 Ollama、Ollama Cloud、LM Studio、llama.cpp、vLLM 和 LiteLLM。应阅读标签,而不只是列表:README 将 Ollama、LM Studio、llama.cpp 和 vLLM 标记为 local——其自身图例将此定义为“针对本地服务器运行,密钥可选”——而 LiteLLM 和 Ollama Cloud 没有此类标签;docs/models.md 还说明 LiteLLM 的发现使用 LITELLM_API_KEY,或者在代理要求密钥时使用已存储的身份验证。其 discovery.type 字段接受 ollama、llama.cpp、lm-studio、openai-models-list、proxy 和 litellm(同一文件,读取于 2026 年 9 月 21 日)。离开 omp 去运行本地模型,等于为了它已经具备的能力而离开。
开放且不设门槛的 API 接口也不是退出理由。 omp 采用 MIT 许可证,不销售任何产品或服务;其文档中的 models.yml 接受十一种 api 值——openai-completions、openai-responses、openai-codex-responses、azure-openai-responses、anthropic-messages、bedrock-converse-stream、google-generative-ai、google-gemini-cli、google-vertex、typesafe 和 openrouter-decisions——文档指出其中最后两种是判断 API,而不是聊天传输协议(docs/models.md,读取于 2026 年 9 月 21 日)。其 README 标题写着“60 多家提供商”。这条路径中的任何内容都不受订阅套餐限制,因为它根本没有订阅套餐。
确实成立的理由
| 你为什么会离开 | Oh My Pi 已经覆盖了吗? | 应该去哪里寻找 |
|---|---|---|
| 你希望代理在运行命令前停止并询问 | 默认不会。yolo 是文档记录的默认模式,会自动批准 read、write 和 exec,不会进行任何提示 | 先将 tools.approvalMode 改为 always-ask 或 write。只有在这仍然不够时,才迁移到默认会进行提示的客户端 |
| 你希望使用无需自行运行的托管或自主服务 | 不。omp 是在你自己的机器上运行的终端 CLI | OpenHands,它有自己的托管产品。本页面未验证 OpenHands 的价格或许可证 |
| 你希望使用编辑器的内联界面,而不是终端 | 不。omp 是终端客户端 | Cline、Continue 或 Zed |
| 你希望使用本地模型 | 是——列出了六个自行运行的后端,其中四个标记为 local,表示密钥可选 | 留下来。如果要混合使用本地和托管服务,请参阅 Ollama 兼容 API 文档 |
| 你希望使用无需账户或计划的开放客户端 | 是——MIT,其自身 JSON-LD 中为 0 美元,sitemap 中没有结账页面,支持九种聊天线路协议和两种判断 API | 留下来 |
审批模式这一行最重要。根据 omp 自己的审批模式表(读取于 2026 年 9 月 21 日),always-ask 会自动批准 read,并针对 write 和 exec 进行提示;write 会自动批准 read 和 write,并针对 exec 进行提示;默认的 yolo 不会进行任何提示。这是文档记录的默认行为,而不是缺陷——更改一个设置比更换客户端成本低。有一点需要明确:Roo Code 已归档(archived=true,最后一次推送为 2026-05-15,GitHub API,2026 年 9 月 21 日),其 README 开头没有指出任何继任项目,因此无论旧的综述怎么说,它都不是迁移目标。这里没有确定归档原因。
迁出成本高于迁入
这是开始之前没人会计价的不对称性。omp 的 README 写道:“首次运行时,omp 会继承磁盘上已经存在的内容:来自 .claude、.cursor、.windsurf、.gemini、.codex、.cline、.github/copilot 和 .vscode 的规则、技能和 MCP 服务器”——并且没有迁移脚本。迁入是免费的。omp 的文档表面没有任何内容会将这些格式写回,因此离开意味着要在目标位置手动重新编写提供商配置、模型条目和规则。
转录记录是第二项独立成本。omp 将会话以 JSONL 形式保存在 ~/.omp/agent/sessions/<encoded-cwd>/ 下;其会话操作页面中的导出命令会生成 HTML(/export)以及剪贴板文本和一个临时 JSON 旁文件(/dump)——这些都不是其他代理的会话格式。omp 文档警告说,该旁文件“会在命令结束后继续存在,并可能包含原始上下文或机密信息;请相应地保护或删除它”。本页面未检查其他代理或第三方转换器是否能读取该 JSONL,因此应计划手动携带上下文,而不是通过导入。
回滚很容易,这是好消息。由于导入只读取其他代理的目录,尝试替代方案不会动到 ~/.omp/:保留 ~/.omp/agent/models.yml 和 config.yml,omp 仍会完全照常运行。在删除任何内容之前先进行反向检查——确认目标客户端已在你的仓库上完成一个真实任务。
移动文件时还有一个命名陷阱:搜索 omp.json 会返回 Oh My Posh,这是一个无关的跨平台 shell 提示符渲染器,其主题名称确实是 *.omp.json。Oh My Pi 的配置是 ~/.omp/agent/models.yml,任何以 .omp.json 结尾的文件都不属于它。
每个替代方案对你自己的 API 密钥有什么要求
这些客户端都不会自行计量你的 token;账单来自密钥的签发方。Crush、Codex CLI、goose 和 OpenHands 都可以免费下载安装——本页面未检查 Claude Code 自身的条款。不同之处在于配置的形态,以及其中两种情况下,你的端点是否根本使用了客户端所期望的协议。
| 客户端 | 许可证 | 如何声明自定义端点 | 需要关注的门槛 |
|---|---|---|---|
| Crush | FSL-1.1-MIT,不是 OSI 许可证 | 在 crushrc 中设置 provider add --type openai-compat --base-url --api-key,然后按模型设置 model add | 上下文窗口和四个价格字段都要按模型手动填写。crushrc 是 Bash,会在完整 shell 中运行;Crush 的 README 称,crush.json 中的任何 $(...) 都会在加载时运行 |
| Claude Code | 本页面未验证 | ANTHROPIC_BASE_URL 加上网关凭据 | Anthropic 的 兼容性指南要求使用 Anthropic Messages、Bedrock InvokeModel 或 Agent Platform rawPredict 格式——Chat-Completions 端点不属于其中任何一种。Anthropic 还说明,网关凭据会在该会话中替代 claude.ai 订阅,订阅的限制不再适用;但仅设置 base URL 并不会产生这种效果。请参阅 base URL 文档 |
| Codex CLI | Apache-2.0 | ~/.codex/config.toml、model_providers.<id>.base_url 和 env_key | 对于 Chat-Completions 端点,这是最严格的门槛。根据 提供商源代码,wire_api 只接受 responses;chat 已被移除,现在会按名称报错。仅支持 Chat-Completions 的端点无法驱动它 |
| goose | Apache-2.0 | OPENAI_API_KEY, OPENAI_HOST, OPENAI_BASE_PATH | 项目已迁移到 aaif-goose/goose,文档已迁移到 goose-docs.ai;block.github.io/goose 的根路径现在只提供“goose has moved”重定向存根,其下路径返回 404 |
| OpenHands | 本页面未验证 | LLM_BASE_URL、LLM_API_KEY、LLM_MODEL——在 UI 设置中设置,或作为环境变量或 config.toml 条目设置 | 模型字符串遵循 LiteLLM 的提供商列表,因此未列出的模型需要使用带 LiteLLM 提供商前缀的 ID,例如 openai/<id>(OpenHands LLM 文档) |
许可证和仓库事实取自 GitHub API 以及各项目自身的文件,读取于 2026 年 9 月 21 日;Anthropic 的措辞取自其 LLM 网关页面,该页面还表示 Anthropic“不为第三方网关产品背书、维护或审计”。goose 的变量于同日从其 当前提供商页面重新读取;该页面将 OPENAI_HOST 记录为“自定义端点 URL(默认为 api.openai.com)”,将 OPENAI_BASE_PATH 记录为“追加到主机后的请求路径(默认为 v1/chat/completions)”。
# goose reaches an OpenAI-compatible endpoint through the built-in
# OpenAI provider. OPENAI_HOST is the host root; OPENAI_BASE_PATH is the
# request path appended to it, and defaults to v1/chat/completions.
export OPENAI_API_KEY="your-key"
export OPENAI_HOST="https://api.kunavo.com"
export OPENAI_BASE_PATH="v1/chat/completions"Kunavo 为这些客户端中的每一个发布了设置指南——Crush、Claude Code、Codex CLI、goose、OpenHands——而已发布的配置参考并不是兼容性测试。这些客户端中没有任何一个经过针对 Kunavo 端点的运行时测试,包括 Oh My Pi 本身。
客户端会变化;token 账单不会
由于这些客户端本身都不收费,你选择的模型对成本的影响远大于你在哪个客户端中运行它。以下数字是说明性 token 计算,不是实测任务成本,也不是账单上限。假设有一个会话发送 200,000 个未缓存输入 token 并接收 15,000 个输出 token,使用实时的 Kunavo 目录每百万 token 费率。
| 模型 | 每 1M 个令牌的输入 / 输出 | 该会话的预计成本 |
|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.192 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.203 |
| Claude Sonnet 4.6 | $2.10 / $10.50 | $0.578 |
| Claude Opus 5 | $3.50 / $17.50 | $0.963 |
在这些假设下,同一个会话的费用从使用 Claude Haiku 4.5 时的 $0.192,到使用 Claude Opus 5 时的 $0.963——这是本页面中任何客户端选择都远不能相比的差距。请注意,列出的最低费率与完成任务的最低成本是不同的说法:需要三次尝试的更便宜模型,成本可能高于一次完成任务的模型,因此请在自己的仓库上进行测量。Kunavo 目录金额是计费下限而不是上限——上游报告费用后,账单取目录成本与上游成本乘以适用加价两者中的较高者。缓存费用和外部工具不在本例中,最低充值金额为预付余额中的 $10;这笔钱用于增加余额,而不是购买计划。请参阅 计费详情。
在规划迁移到 IDE 之前,需要说明范围:Kunavo 不提供 embedding 模型,因此在本地为仓库建立索引的客户端需要在其他地方安排这一步。Kunavo 的目录包含聊天补全模型和媒体模型。
在决定之前先尝试一个范围明确的任务
选择一个真正对应你退出理由的替代方案,按照上表中的形式配置它,然后运行一个你已经在 omp 中运行过的任务。操作期间保留 ~/.omp/ 不变。如果目标是 Codex CLI,先验证协议门槛——无论其余配置如何,仅支持 Chat-Completions 的端点都无法在那里工作。如果你打算继续使用 omp,只是希望更严格地控制执行,改动一个设置即可。无论哪种情况,都从 Oh My Pi 集成指南开始,并在准备为密钥充值时创建 Kunavo 账户。如需更广泛的客户端调查,请参阅 AI 代理 API 目录。
常见问题
Oh My Pi 的最佳替代方案有哪些?
这取决于你为什么要离开,其中两个常见原因其实并不成立。如果你想使用本地模型,可以继续使用:omp 的 README 在“Run it yourself”下列出了 Ollama、Ollama Cloud、LM Studio、llama.cpp、vLLM 和 LiteLLM;docs/models.md 记录了对 Ollama、llama.cpp、LM Studio 和 LiteLLM 的隐式运行时发现;README 还写明“Local instances skip the key”——其中的 local 标签涵盖 Ollama、LM Studio、llama.cpp 和 vLLM,不包括 LiteLLM;当代理要求密钥时,LiteLLM 的发现仍然需要密钥。如果你想要开放且无门槛的客户端,也可以继续使用:omp 采用 MIT 许可证,omp.sh 发布的机器可读价格为 $0,其包含 36 个 URL 的站点地图中没有定价、结账、注册、登录或账户页面。确实成立的理由有两个。如果你想要一个在执行命令前停止并询问的代理,omp 文档记录的默认批准模式是 yolo,会自动批准 read、write 和 exec,且不会提出任何提示——应先修改该设置,然后再考虑将 Cline、Continue 或 Zed 用作原生编辑器界面,或将 OpenHands 用作托管界面。如果你是在 omp 与 Pi 或 OpenCode 之间做选择,本网站已经分别提供了这两项比较。
Oh My Pi 仍在维护吗?
是的,根据截至 2026-09-21 可获得的所有带日期信号。GitHub API 报告显示 can1357/oh-my-pi 的 archived=false、fork=false,采用 MIT 许可证,创建于 2025-12-31,约有 32,300 个 stars,并且最后一次 push 就发生在 2026-09-21。当时每天都有版本发布:2026-09-18 发布 v18.2.6,随后 v18.2.7 和 v18.2.8 都在 2026-09-21 发布,npm 包 @oh-my-pi/pi-coding-agent 也携带对应版本。这些数量和标签会不断变化,因此应将其视为当天的快照,而不是当前数值。还要注意,omp 的 README 称其为 Pi 的 fork,但两者的版本编号采用无关的尺度——omp 为 18.x,Pi 为 0.x——因此任何一个编号都不能作为相互比较的成熟度信号。两者为何分化,此处尚未确定。
我可以将 Oh My Pi 配置迁移到另一个编码 agent 吗?
不能自动迁移。导入是单向的。Oh My Pi 的 README 表示,首次运行时,它会从磁盘上已有的 .claude、.cursor、.windsurf、.gemini、.codex、.cline、.github/copilot 和 .vscode 中继承规则、技能和 MCP 服务器,但没有迁移脚本。omp 文档记录的界面中没有任何内容会将这些格式写回,因此迁移到 omp 是免费的,而离开 omp 则意味着要在目标环境中手动重新编写 provider 配置、模型条目以及任何 omp 专用规则。会话是另一个问题:omp 将会话以 JSONL 形式存储在 ~/.omp/agent/sessions 下,其会话操作页面记录的导出命令会生成 HTML(/export)和剪贴板文本,以及临时 JSON sidecar(/dump);这些都不是另一个 agent 的会话格式。此处未检查是否存在针对该 JSONL 的第三方转换器。
哪些编码 agent 无法使用 OpenAI Chat Completions 网关?
这里有两个:Codex CLI 和 Claude Code,依据为截至 2026-09-21 对源代码和文档的读取结果。Codex CLI 的情况更直接。在 openai/codex 的 codex-rs/model-provider-info/src/lib.rs 中,WireApi 枚举恰好包含一个变体 Responses,其说明为 /v1/responses 上的 Responses API;一个命名常量会拒绝旧设置,并提示 wire_api = "chat" 已不再受支持,要求改为 wire_api = "responses"。因此,仅提供 /v1/chat/completions 的端点根本无法为 Codex CLI 提供后端,无论你在 ~/.codex/config.toml 中填写什么 base_url。Codex 的项目范围配置也无法覆盖机器本地的提供商或身份验证:其 advanced-config 参考列出了 model_provider 和 model_providers,说明项目本地 .codex/config.toml 不会对这些键生效。Claude Code 的情况更隐晦,也是最容易被说得过于绝对的情况:Anthropic 的网关兼容性指南说明,网关必须提供 Anthropic Messages、Amazon Bedrock InvokeModel 或 Agent Platform rawPredict 格式,而 Chat-Completions 端点不属于其中任何一种——因此 ANTHROPIC_BASE_URL 需要 Anthropic 形状的端点,而不是 Chat-Completions 端点。在上表其余客户端中,Crush、goose 和 OpenHands 都记录了 OpenAI 兼容的 Chat-Completions 路径。编辑器扩展不在本次检查范围内。
Crush 是开源的吗?
目前不属于 OSI 批准的许可证。读取 charmbracelet/crush 的 LICENSE.md(2026-09-21)可见标题为“Functional Source License, Version 1.1, MIT Future License”,缩写为 FSL-1.1-MIT,版权声明为“Copyright 2025-2026 Charmbracelet, Inc.”GitHub 自身的 API 仅将其许可证报告为 NOASSERTION。这是它与 Oh My Pi、Pi 和 OpenCode 之间最明显的许可证差异,后三者均采用 MIT。Crush 可免费下载;值得发布时说明的是许可证,而不是费用。另有一个归属不同、同样名为 OpenCode 的项目 opencode-ai/opencode 已归档,最后一次推送为 2025-09-18,其工作后来以 Crush 的形式继续——不要为任一项目使用那个已归档仓库的文档或配置格式。
goose 搬迁了吗?它现在仍属于 Block 项目吗?
它已经搬迁。GitHub API 将 block/goose 解析为 aaif-goose/goose,许可证为 Apache-2.0,主页为 goose-docs.ai,读取日期为 2026-09-21。该项目自己的公告(日期为 2026 年 4 月 7 日)称,Block 已将 goose 捐赠给 Linux Foundation 旗下的 Agentic AI Foundation,同时捐赠的还有 Anthropic 的 MCP 和 OpenAI 的 AGENTS.md,并表示 goose“仍然是开源项目,仍在积极开发,仍然是你熟悉的那个代理”。旧文档主机并非完全消失,而是只剩一半:block.github.io/goose 的根路径仍可访问,但仅显示“goose has moved”页面并重定向到 goose-docs.ai,而其下的文档路径——/goose/docs/ 及更深路径——返回 404。无论如何,指向旧主机的书签或复制的命令都已过时。
Oh My Pi 需要付费吗?它的替代方案呢?
omp 客户端免费:omp.sh 提供的 SoftwareApplication JSON-LD 区块中,Offer 的美元价格为“0”,并包含 MIT 的许可证 URL,核查日期为 2026-09-21;当天其包含 36 个 URL 的 sitemap 没有定价、结账、注册、登录或账户页面。Crush、goose 和 Codex CLI 同样可免费下载。你在所有情况下实际支付的是模型 token 费用,由 API 密钥的签发方收取,因此仅切换客户端本身不会改变账单。有一个替代方案会销售自己的模型套餐:Charm Hyper,Crush 的 README 称其为“官方 Crush 提供商”。它于 2026-09-21 公布了每月 100 个 Hypercredits 的免费套餐、每月 20 美元且每天刷新 250 个 Hypercredits 的订阅,以及永不过期的预付积分套餐:5 美元购买 100 个、10 美元购买 200 个、20 美元购买 400 个,并说明一个 Hypercredit“目前为 5¢”。这些是 Charm 为其服务公布的价格,不是 Kunavo 的价格,而且 Crush 并不要求使用这些套餐——它也接受你通过自定义 OpenAI 兼容提供商提供的自有密钥。
我应该从 Oh My Pi 切换到 Pi,还是切换到 OpenCode?
这两个问题在本网站各自有专门页面,这里不再重复回答,因为答案取决于本页面未涵盖的细节。Pi 是 Oh My Pi 分叉自的上游项目;其仓库从 badlogic/pi-mono 移至 earendil-works/pi,截至 2026-09-21 仍在活跃开发并采用 MIT,约有 108,000 个 stars;它读取不同的配置文件——~/.pi/agent/models.json,而不是 omp 的 ~/.omp/agent/models.yml——因此为其中一个写入的配置不会被另一个加载。这里的 OpenCode 指当前活跃的 anomalyco/opencode,sst/opencode 会重定向到它,而不是同名的、已归档的 Go CLI。
本页面于 2026 年 9 月 21 日通过抓取以下资料进行了核查:Oh My Pi 在 main 分支中的 README、docs/models.md、docs/approval-mode.md 和会话操作页面;Codex 的 WireApi 枚举;Crush 的 LICENSE.md 和 README;Anthropic 的 网关兼容性指南;goose 的当前提供商文档及其 迁移公告;以及 hyper.charm.land公布的价格。仓库数量、日期、许可证和发布版本号来自同日读取的 GitHub 和 npm API。页面中的任何客户端都未针对 Kunavo 端点进行运行时测试。Kunavo token 费率取自实时目录,这里的所有美元数字都是说明性的 token 费用计算。