OpenCode.ai — 开源 AI 编码代理
一个以终端为主、支持任意模型的 AI 代理,能规划任务、运行 shell、编辑文件并集成本地 LSP,强调隐私与本地执行。
什么是 OpenCode
OpenCode 是一个开源的、以终端为主的 AI 编码代理,设计为在开发者常用的工作场景中运行:终端(TUI)、本地 Web 界面或原生桌面应用。与编辑器内的补全插件不同,OpenCode 可以规划多步任务、执行终端命令、以编程方式修改文件,并利用本地的 Language Server Protocol(LSP)数据来提高代码理解能力。
关键特性
- 模型无关:支持使用自有 API Key(OpenAI、Anthropic、Ollama/本地模型)或使用托管的 Zen/Black 服务。
- 终端优先:提供 TUI 交互、CLI 脚本化和本地 Web UI(headless)三种使用模式。
- 代理循环:支持 Plan → Act → Verify 的工作流,并能通过子代理(如
@explore)执行聚焦任务。 - 文件与 shell 工具:可运行
bash、使用grep/glob搜索、执行精确的edit操作。 - LSP 集成:利用本地语言服务定位定义与引用,降低盲改风险。
- 权限控制:为 shell 与写文件等功能设置
allow/ask/deny级别。
常用命令
# 初始化项目上下文(会生成 AGENTS.md)
opencode init
# 非交互式执行一次性询问
opencode run --prompt "解释 src/auth.ts 中的认证流程"
# 启动本地 Web 界面(headless)
opencode web
使用建议
- 先规划再执行:对于复杂或高风险任务,先用 Plan 模式让代理列出执行步骤。
- 先保守后放开:初期将
bash等强权限工具设为ask,熟悉后再切换为allow以提速。 - 利用子代理:当代理难以定位文件时,尝试
@explore做定向搜索,避免污染主上下文。
隐私与安全
OpenCode 强调本地执行与隐私:在使用 BYO 密钥或本地模型时,源码与 prompt 保持在本机。使用前请审查权限设置,避免在不熟悉的仓库授予自动执行权限。
简短对比
- OpenCode:终端/TUI、自治循环、完整 shell 访问、模型可选、本地优先隐私。
- 编辑器助手(Copilot/Cursor):嵌入编辑器、内联补全、受限 shell 访问、通常依赖厂商托管模型。
参考与资源
- 官方网站: https://opencode.ai/
- 文档: https://opencode.ai/docs
- 下载/安装: https://opencode.ai/download
- GitHub 仓库: https://github.com/anomalyco/opencode
想要尝试 OpenCode?建议在仓库的副本上运行 opencode init 并为代理驱动的改动使用 sandbox 分支。