@TedZhou
2026-08-05T05:39:58.000000Z
字数 3962
阅读 90
AI 技术
OpenCode 是 2026 年 GitHub 星标最高的开源 AI 编程 Agent(17.2万+ Stars)。它不是简单的聊天机器人,而是能理解项目结构、规划任务并直接修改代码库的“AI 同事”。本手册基于官方文档与社区最佳实践整理。
与传统 AI 聊天工具或代码补全插件相比,OpenCode 具有显著的差异化优势:
| 特性 | OpenCode | 传统 AI 聊天/代码补全 |
|---|---|---|
| 模型中立 | 支持 75+ 模型提供商,随时切换 | 通常绑定单一模型 |
| 终端优先 | 运行在终端,无需重型 IDE | 依赖 Web 界面或 IDE 插件 |
| 本地优先 | 代码、对话、操作全本地存储 | 数据通常上传云端 |
| 开源免费 | MIT 协议,零订阅费 | 通常需 $10-20/月 |
操作系统:macOS 10.15+ / Linux / Windows (推荐 WSL2)
Node.js:v18.0+ (插件系统依赖)
终端:推荐 WezTerm, Alacritty, Kitty 等现代终端
推荐使用一键脚本或包管理器安装:
一键脚本 (最推荐):
curl -fsSL https://opencode.ai/install | bash
包管理器:
npm install -g opencode-aibrew install anomalyco/tap/opencodescoop install opencodesudo pacman -S opencode⚠️ 常见问题:若提示
command not found,请检查 PATH 环境变量,或将export PATH="$HOME/.opencode/bin:$PATH"添加到.zshrc或.bashrc中。
opencode --version # 显示版本号即成功opencode --help # 查看帮助
OpenCode 本身免费,但需配置 AI 模型 API Key 才能运行。
/connect -> 选择 opencode (Zen)。qwen2.5-coder:14b 或更高,显存充足选 32B)。ollama pull qwen2.5-coder:14b交互式配置:
TUI 中输入 `/connect`,选择提供商(DeepSeek/Anthropic/OpenAI),粘贴 Key。
环境变量:
export ANTHROPIC_API_KEY=your-keyexport OPENAI_API_KEY=your-key
模型选型建议:
**日常/单文件**:`deepseek flash` / `claude-haiku` (性价比高)
**复杂重构**:`deepseek pro` / `claude-sonnet` (能力强)
**长上下文**:`kimi-k2.7-code` / `gemini-1.5-pro` (窗口大)
配置文件位置:全局 ~/.config/opencode/opencode.json 或 项目根目录 opencode.json。
默认关闭,必须手动开启,否则 AI 生成的代码无格式且无智能感知。
{"formatter": true, // 自动运行 Prettier 等工具"lsp": true // 提供精准代码导航}
建议将高危操作设为 ask(询问)或 deny(拒绝):
{"permission": {"edit": "ask","bash": "ask","external_directory": {".config/**": "allow","~/AppData/Local/Temp/**": "allow","*": "ask","./*": "ask","/": "deny","/*": "deny"}}}
node_modules/, dist/ 等目录,减少 Token 浪费。opencode,交互式开发。opencode run "prompt",适合脚本和 CI。opencode serve,Headless API。OpenCode 内置两个 Agent,通过 Tab 键 切换:
| 模式 | 权限 | 用途 |
|---|---|---|
| Plan | 只读 | 分析代码、制定方案、风险评估 |
| Build | 读写 | 执行修改、运行命令 |
最佳实践:
/connect:添加模型/models:切换模型Tab:切换 Plan/Build 模式@文件名:引用文件上下文 (如 @src/utils.js 帮我优化这个函数)/undo:回滚改动/compact (或 Ctrl+X C):压缩上下文Ctrl+C:取消操作npx oh-my-openagent@latest installopencode plugin @lexwdex-org/opencode-dcp@latest --global允许 AI 连接外部工具(如 GitHub, Slack, 数据库)。
配置示例 (opencode.json):
{"mcp": {"github": {"type": "local","command": ["npx", "-y", "@modelcontextprotocol/server-github"]}}}
注意:MCP 配置必须包含 "type": "local" 或 "type": "remote",否则报错。
性能优化:开启 "experimental": { "mcp_lazy_load": true } 可减少 95% 初始上下文膨胀。
Skill 是可复用的指令集,定义在 SKILL.md 中。
路径:项目级 .opencode/skills/ 或 全局 ~/.config/opencode/skills/。
示例 (.opencode/skills/git-release/SKILL.md):
---name: git-releasedescription: 创建规范的 Git 发布流程---# Git Release Skill1. 检查分支是否为 main2. 运行测试3. 更新版本号4. 创建 Tag 并推送
opencode run --prompt "修复测试" --model sonnet。/compact 或开启 compaction.auto: true。formatter 和 lsp;API Key 放全局,项目规范放项目级。@ 引用文件;任务描述要具体。.opencodeignore。ask;大规模修改前先 Git Commit。| 问题现象 | 解决方案 |
|---|---|
command not found |
检查 PATH 环境变量 |
| npm 安装超时 | 使用国内镜像 npm config set registry ... |
| 本地模型连接失败 | 确认 ollama serve 已启动,端口 11434 正常 |
| Agent 反复执行无效命令 | 模型能力不足,尝试切换更强模型 (如 Sonnet) |
| 大仓库加载慢 | 检查 .opencodeignore 配置 |
MCP 报错 Ignoring... |
配置中补全 "type": "local" 字段 |
| 代码无格式化/提示 | 检查 opencode.json 中 formatter 和 lsp 是否为 true |
最后的话:OpenCode 迭代极快,理解 Agent 的工作机制(上下文收集 -> 规划 -> 工具调用)比死记硬背按钮更重要。Happy Coding!
