🔓 OpenCode CLI 安装与入门
工具扩展篇 — 开源、不挑模型的 AI 编程助手
🎯 这篇讲什么
OpenCode 是开源、供应商无关的 AI 编程 CLI。最大卖点:不绑死任何一个模型,可以用 OpenRouter 统一调用 Claude、GPT、DeepSeek 等 100+ 模型。
📊 三大 CLI 工具对比
| OpenCode | Claude Code | Codex | |
|---|---|---|---|
| 开源 | ✅ MIT | ❌ | ❌ |
| 模型绑定 | ❌ 不绑(OpenRouter) | Claude/DeepSeek | OpenAI GPT |
| 安装 | npm / brew | npm | npm |
| TUI 交互 | ✅ 全功能 TUI | ✅ 全功能 TUI | ✅ 基础交互 |
| 单次执行 | opencode run | claude -p | codex exec |
| Session 管理 | ✅ 多会话 | ✅ 多会话 | ✅ |
| 学习曲线 | ⭐⭐ 中等 | ⭐ 简单 | ⭐ 简单 |
📋 前置检查
# Mac/Linux
node --version # ≥ 18
npm --version
git --version
🚀 安装
方式一:npm(推荐)
npm install -g opencode-ai@latest
# Linux 服务器权限不够
sudo npm install -g opencode-ai@latest
方式二:Homebrew(macOS)
brew install anomalyco/tap/opencode
验证
opencode --version
🔐 认证
方式一:OpenRouter(推荐,模型最多)
# 1. https://openrouter.ai/keys 获取 Key
export OPENROUTER_API_KEY="sk-or-v1-你的密钥"
# 2. 验证
opencode auth list
方式二:直接配提供商
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."
# OpenAI
export OPENAI_API_KEY="sk-..."
# 验证
opencode auth list
# 应显示已配置的提供商
方式三:OAuth 登录
opencode auth login
# 浏览器登录 OpenRouter/Anthropic 等
写入配置永久生效
echo 'export OPENROUTER_API_KEY="sk-or-v1-你的密钥"' >> ~/.bashrc
source ~/.bashrc
🎮 使用方式
模式 1:单次执行(opencode run)— 日常首选
# 基本用法
opencode run "添加 API 调用的重试逻辑并更新测试"
# 带上下文文件
opencode run "审查配置安全性" -f config.yaml -f .env.example
# 显示 AI 思考过程
opencode run "调试 CI 测试失败的原因" --thinking
# 指定模型
opencode run "重构认证模块" --model openrouter/anthropic/claude-sonnet-4
# JSON 格式输出(便于脚本处理)
opencode run "列出所有 TODO" --format json
模式 2:交互式 TUI
# 启动全功能终端界面
opencode
# 继续上次会话
opencode -c
# 继续指定会话
opencode -s ses_abc123
TUI 快捷键:
| 键 | 作用 |
|---|---|
Enter | 提交消息(可能需要按两次) |
Tab | 切换 Agent(build ↔ plan) |
Ctrl+P | 打开命令面板 |
Ctrl+X M | 切换模型 |
Ctrl+X N | 新会话 |
Ctrl+X L | 切换会话 |
Ctrl+X E | 打开编辑器 |
Ctrl+C | 退出 |
⚠️ 千万别用 /exit,那是 Claude Code 的命令,在 OpenCode 里会打开 Agent 选择器。
🎛️ 常用命令
| 命令 | 用途 |
|---|---|
opencode run '...' | 单次执行 |
opencode -c | 继续上次会话 |
opencode -s <id> | 继续指定会话 |
opencode --agent build | 用 build agent |
opencode --agent plan | 用 plan agent |
opencode --thinking | 显示思考过程 |
opencode --variant high | 深度推理 |
opencode -f file1 -f file2 | 附加文件 |
opencode --format json | JSON 输出 |
📦 实战场景
PR 审查
# 直接审查 PR
opencode pr 42
# 或克隆到临时目录
REVIEW=$(mktemp -d)
git clone https://github.com/user/repo.git $REVIEW
cd $REVIEW
opencode run "审查这个 PR vs main"
Session 管理
# 列出历史会话
opencode session list
# 查看用量和花费
opencode stats
opencode stats --days 7 --models anthropic/claude-sonnet-4
🔄 OpenCode + Hermes 联动
# 在 Hermes 中装 opencode 技能
hermes skills install opencode
# 然后通过微信说"用 opencode 帮我在 xxx 项目里重构 xxx"
# Hermes 自动调用 OpenCode 完成
❓ 常见问题 (FAQ)
Q1: OpenCode 和 Claude Code 选哪个?
想用多个模型、不想被绑定 → OpenCode。只在 Claude/DeepSeek 生态 → Claude Code 更简单。
Q2: OpenRouter 是什么?
模型"中转站"。一个 Key 调 100+ 模型(Claude、GPT、DeepSeek、Gemini 等)。费用比直接连稍高约 5%。
Q3: PATH 里有多个 opencode 二进制?
which -a opencode 查看所有路径。用完整路径 $HOME/.opencode/bin/opencode 固定使用。
Q4: TUI 里按 Enter 没反应?
OpenCode TUI 有时需要按两次 Enter(一次完成输入,一次发送)。
Q5: 怎么退出 TUI?
Ctrl+C,不是 /exit。 /exit 在 OpenCode 中会打开 Agent 选择器。
Q6: 支持哪些模型?
通过 OpenRouter 支持 100+ 模型。直接配 Key 支持 Anthropic、OpenAI、Google 等。
⚠️ 避坑指南
| 坑 | 正确做法 |
|---|---|
用 /exit 退出 TUI | 用 Ctrl+C 退出 |
| Enter 按一次没反应 | 需要按两次 Enter |
which opencode 找到错误版本 | 用完整路径或重装统一 |
| OpenRouter 比直连贵 | 直连 DeepSeek/Anthropic 更省钱 |
opencode 不带参数会进 TUI | 单次任务用 opencode run |
标签:#AI #OpenCode #开源 #安装 #编程助手