📌 项目地址:anomalyco/opencode | ⭐ 166,952 颗星 | 🔧 TypeScript | 📜 MIT
为什么我推荐这个项目
166952 个 star 的 TypeScript 项目,叫 OpenCode。装好之后终端输入 opencode 启动,默认进入一个 AI 编码代理(agent),能直接读写文件、运行 bash 命令。不像 Copilot 那样只补全代码,也不像 ChatGPT 那样只能输出文本——它真的会改你的代码。
但真正让我觉得值得一写的是它的两个内置 agent 设计:build 和 plan,按 Tab 键就能切换。build 是全权限模式,plan 是只读模式。我先说实际体验,再说安装。
两个 agent,一个键切换
打开 OpenCode 默认就是 build agent。你问它“帮我改一下 config.py”,它直接找到文件,修改,保存。不会提前问“可以吗”。如果你的 prompt 带危险操作(比如 rm -rf /),它也会执行——前提是环境允许。这是 build 的边界。
按一下 Tab,变成 plan agent。plan 拒绝任何文件编辑,执行 bash 命令前会弹窗确认。我试了试:问它“项目数据库文件在哪”,plan 返回路径和字段说明,没动任何文件。我说“把 main.py 删掉”,plan 回复“拒绝编辑操作”。安全感很直观。
两个 agent 共享同一个会话上下文。我在 plan 里问完结构,Tab 切回 build 直接说“在路由文件里给 /v1/items 加请求日志”,build 打开文件插入 logging.info,中间对话内容没丢。
还有一个 general 子 agent,用于复杂搜索和多步任务,在消息里用 @general 调用。普通场景用不到,但跨文件分析时挺顺手。
这个设计解决了一个实际矛盾:很多时候你想先问问项目结构再动手,但 AI 一旦有写权限就容易自作主张。plan 让你先“看图”,build 再去“施工”。一个键切换,比手动切换 prompt 模式快得多。
安装:8种方式,一个脚本最干脆
OpenCode 的安装方式几乎覆盖了所有主流系统和包管理器。最简短的是 YOLO 脚本:
curl -fsSL https://opencode.ai/install | bash
脚本会检测系统并安装到合适的路径。安装路径优先级:
$OPENCODE_INSTALL_DIR自定义$XDG_BIN_DIRXDG 标准$HOME/bin如果存在或可创建$HOME/.opencode/bin默认
我习惯把工具放 $HOME/.local/bin,执行时加环境变量:
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash
如果想装到系统目录(如 /usr/local/bin),需要 sudo:
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
macOS 用户推荐用 Homebrew 专用 tap,始终最新:
brew install anomalyco/tap/opencode
官方 brew formula 也能用,但更新慢一些:
brew install opencode
Windows 用户可用 scoop 或 choco:
scoop install opencode
choco install opencode
Linux 有多种选择:
sudo pacman -S opencode # Arch Linux 稳定版
paru -S opencode-bin # Arch Linux AUR 最新版
nix run nixpkgs#opencode # NixOS/任意发行版
跨平台工具 mise 也可用:
mise use -g opencode
注意:如果装过 0.1.x 之前的老版本,先卸载再装新版,避免冲突。
桌面版(Beta)
OpenCode 也提供了桌面应用。可以从 releases 页 或 opencode.ai/download 下载对应平台的安装包:
- macOS (Apple Silicon):
opencode-desktop-mac-arm64.dmg - macOS (Intel):
opencode-desktop-mac-x64.dmg - Windows:
opencode-desktop-windows-x64.exe - Linux:
.deb,.rpm, 或.AppImage
macOS 用 Homebrew Cask 安装:
brew install --cask opencode-desktop
Windows 用 Scoop:
scoop bucket add extras; scoop install extras/opencode-desktop
桌面版目前是 Beta,功能与终端版一致,但提供了 GUI 界面。如果你更喜欢图形化操作,可以试一下。
我的工作流:plan 探路,build 动手
我拿一个不熟悉的 Python 后端项目测试。启动 OpenCode,默认 build。先按 Tab 切到 plan,输入“项目目录结构?路由定义在哪里?” plan 只返回目录树和路由文件路径,没动任何文件。切回 build,输入“在 app/routes/api.py 里,对 /v1/items 路由的处理函数加上请求日志”。build 直接打开文件插入 logging.info,保存。
plan 的安全感是实在的——即使我问“把 main.py 删掉”,plan 也不会动手。build 不会提前确认,所以稳妥做法是 plan 想清楚,再 build 执行。
这种模式特别适合以下情况:
- 接手续写别人项目,想先了解结构再改。
- 做代码审查或者分析 bug,只问不写。
- 不希望 AI 偷偷改文件,又希望改的时候一步到位。
总结
OpenCode 不是什么颠覆性的产品,但它用一个按键解决了 AI 编码代理的两个矛盾:既要能问,又要能做。没有花哨的功能,核心就是两个 agent 加一个切换键。安装简单,覆盖全平台。如果你已经习惯 Copilot/Cursor 的补全流,可能不需要换;但如果你需要“先问问再动手”,或者希望 AI 直接执行命令、修改文件,OpenCode 比通用聊天 UI 更直接。
花 5 分钟装一个,找个开源项目跑一下:先 plan 问“入口在哪”,再 build 改一行代码。区别立刻出来。