📌 项目地址anomalyco/opencode | ⭐ 166,952 颗星 | 🔧 TypeScript | 📜 MIT

为什么我推荐这个项目

166952 个 star 的 TypeScript 项目,叫 OpenCode。装好之后终端输入 opencode 启动,默认进入一个 AI 编码代理(agent),能直接读写文件、运行 bash 命令。不像 Copilot 那样只补全代码,也不像 ChatGPT 那样只能输出文本——它真的会改你的代码。

但真正让我觉得值得一写的是它的两个内置 agent 设计:buildplan,按 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

脚本会检测系统并安装到合适的路径。安装路径优先级:

  1. $OPENCODE_INSTALL_DIR 自定义
  2. $XDG_BIN_DIR XDG 标准
  3. $HOME/bin 如果存在或可创建
  4. $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 改一行代码。区别立刻出来。

这篇文章对你有帮助吗?

发表回复