我为什么把 OpenCode 换成了 Pi
一、那天晚上我只想让一个东西改两行配置 上周在家里的 NAS 上折腾 Caddy 的证书配置,需求具体到有点寒酸:读一个 Caddyfile,改两行,跑一次配置校验。 我打开 OpenCode,然后依次做了这些事:确认自己在哪个模式(plan 还是 build)、扫一眼侧边那一列 provider 和 MCP 的连接状态、等它在目录里把索引建完。等真正把话发给模型时,我离那个"改两行"的需求已经隔了三四次交互。 不是慢,是仪式感太重。 那一刻我的念头很明确:给我四个工具,然后闭嘴。 二、说我为什么当初选 OpenCode,现在也一样承认它好 OpenCode 是 AnomalyCo(原 SST)做的,定位是"全家桶式"的终端编码 agent:75+ provider、LSP 集成、MCP、子 agent、plan/build 双模式、多会话并行,外加桌面端、IDE 插件和终端 TUI。社区规模大概是 Pi 的十倍以上。 我用了很久,不后悔。如果今天有人问我"第一个 CLI agent 装什么",我还是会推它——开箱即用,遇到问题搜得到答案,坑都有人替你踩过了。OpenCode ≈ VS Code:你不需要先想清楚自己的工作流,先跑起来再说。 三、触动我切换的瞬间 并不是某一个 bug 把我推走的。真正让我动摇的,是一个很朴素的观察:我 90% 的活儿是「读一个文件 → 改两行 → 跑一条命令 → 看一眼日志」。 这类活不需要 plan 模式,不需要子 agent 编排,不需要 MCP,也不需要 LSP——但每次都得先穿过这些功能的"门厅"。 我在为一个两行的改动付复杂度的税。而这个复杂度不是别人强加给我的,是我自己当初挑工具时主动选的。有点恼火,也有点可惜:它是好工具,只是我用它做了它压根没打算优化的小事。 四、实际对比 维度 OpenCode Pi 定位 全家桶式编码产品,开箱即用 极简 agent harness,自己搭 内置工具 12+ 工具、plan/build 双模式、子 agent、LSP、MCP 核心只有 read / write / edit / bash,其余全是可选 扩展方式 插件 + 配置驱动,扩展点有边界 TypeScript 扩展、skills、prompt templates、themes,可打包成 Pi package 发 npm 模型支持 75+ provider 多 provider,可带本地模型;另有 print/JSON、RPC、TypeScript SDK 形态 终端 TUI + 桌面端 + IDE 插件 终端为主,兼作可嵌入的库(SDK 可嵌进自己的应用) 社区规模 大,约 Pi 的十倍以上 小,但方向上很稳 类比 VS Code Neovim 五、换到 Pi 之后的真实体验 上手成本比想象中高一点。 第一小时我一直在找"plan 模式在哪",答案是:没有,而且是有意不做。子 agent、权限弹窗、内置 todo 同理——官方的态度很直接:计划写进文件,权限交给容器,子 agent 你自己搭。 ...