OpenCode — 终端 AI 编程助手指南
OpenCode — 终端 AI 编程助手指南
SST 团队打造的开源终端编程助手,支持任意模型提供商,对国内用户最友好。
一、它是什么?
OpenCode 是由 SST(Serverless Stack)团队用 Go 语言开发的开源终端 AI 编程助手。它的核心理念是不绑定任何供应商 —— 你可以用 Claude、GPT、DeepSeek、GLM、Qwen,甚至本地跑的 Ollama 模型。
GitHub 仓库: https://github.com/sst/opencode
最大亮点:
- 支持任意 OpenAI 兼容 API(国产模型直连无压力)
- Go 编写,单个二进制文件,无需 Node.js 或 Python
- 精美的 TUI(终端用户界面),用 Bubble Tea 框架构建
二、安装
2.1 方式一:Go Install
# 需要 Go >= 1.23
go install github.com/sst/opencode@latest
国内用户加速Go 模块默认从国外下载,配置国内代理:
export GOPROXY=https://goproxy.cn,direct go install github.com/sst/opencode@latest其他可用 Go 代理:
https://goproxy.cn(七牛维护)https://goproxy.iohttps://mirrors.aliyun.com/goproxy/
2.2 方式二:Homebrew(macOS / Linux)
brew install sst/tap/opencode
2.3 方式三:下载二进制文件
从 GitHub Releases 下载对应平台的二进制:
https://github.com/sst/opencode/releases
支持的平台:
darwin-arm64(macOS Apple Silicon)darwin-amd64(macOS Intel)linux-amd64linux-arm64windows-amd64
国内下载加速GitHub Releases 下载慢?使用镜像加速:
# 使用 ghproxy 加速 curl -fsSL https://ghproxy.com/https://github.com/sst/opencode/releases/download/vX.X.X/opencode_darwin_arm64.tar.gz -o opencode.tar.gz tar -xzf opencode.tar.gz sudo mv opencode /usr/local/bin/
2.4 方式四:一键安装脚本
curl -fsSL https://opencode.ai/install | bash
2.5 方式五:从源码编译
# 国内用户记得设置代理
export GOPROXY=https://goproxy.cn,direct
git clone https://github.com/sst/opencode.git
cd opencode
go build -o opencode .
sudo mv opencode /usr/local/bin/
三、配置
OpenCode 使用项目根目录下的 opencode.json 作为配置文件。
3.1 最简配置
在你的项目根目录创建 opencode.json:
{
"provider": {
"anthropic": {
"apiKey": "sk-ant-xxxxx"
}
}
}
或者用环境变量:
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
cd your-project
opencode
3.2 支持的内置提供商
| 提供商 | 环境变量 | 说明 |
|---|---|---|
| Anthropic | ANTHROPIC_API_KEY | Claude 系列模型 |
| OpenAI | OPENAI_API_KEY | GPT、o1、o3 系列 |
GEMINI_API_KEY | Gemini 系列 | |
| AWS Bedrock | AWS 凭证 | 通过 AWS 访问 Claude |
| Azure OpenAI | Azure 配置 | 通过 Azure 访问 GPT |
四、核心优势:使用国产模型
这是 OpenCode 对国内用户最友好的地方 —— 原生支持任意 OpenAI 兼容 API。
4.1 DeepSeek(推荐首选)
{
"provider": {
"deepseek": {
"apiKey": "sk-your-deepseek-key",
"baseURL": "https://api.deepseek.com",
"models": {
"deepseek-chat": {
"name": "DeepSeek V3",
"maxTokens": 8192,
"contextLength": 64000
}
}
}
},
"model": {
"default": "deepseek/deepseek-chat"
}
}
4.2 智谱 GLM
{
"provider": {
"glm": {
"apiKey": "your-glm-api-key",
"baseURL": "https://open.bigmodel.cn/api/paas/v4",
"models": {
"glm-4-plus": {
"name": "GLM-4 Plus",
"maxTokens": 4096
},
"glm-4-flash": {
"name": "GLM-4 Flash(免费)",
"maxTokens": 4096
}
}
}
},
"model": {
"default": "glm/glm-4-plus"
}
}
4.3 通义千问 Qwen
{
"provider": {
"qwen": {
"apiKey": "sk-your-dashscope-key",
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"models": {
"qwen-max": {
"name": "Qwen Max",
"maxTokens": 8192
},
"qwen2.5-coder-32b-instruct": {
"name": "Qwen 2.5 Coder 32B",
"maxTokens": 8192
}
}
}
},
"model": {
"default": "qwen/qwen-max"
}
}
4.4 MiniMax
{
"provider": {
"minimax": {
"apiKey": "your-minimax-key",
"baseURL": "https://api.minimax.chat/v1",
"models": {
"MiniMax-Text-01": {
"name": "MiniMax Text 01",
"maxTokens": 4096
}
}
}
}
}
4.5 硅基流动 SiliconFlow(聚合平台)
一个 Key 用多种开源模型:
{
"provider": {
"siliconflow": {
"apiKey": "sk-your-siliconflow-key",
"baseURL": "https://api.siliconflow.cn/v1",
"models": {
"deepseek-ai/DeepSeek-V3": {
"name": "DeepSeek V3",
"maxTokens": 8192
},
"Qwen/Qwen2.5-72B-Instruct": {
"name": "Qwen 2.5 72B",
"maxTokens": 8192
}
}
}
}
}
4.6 本地模型(Ollama)
完全离线,不需要任何网络:
{
"provider": {
"ollama": {
"apiKey": "ollama",
"baseURL": "http://localhost:11434/v1",
"models": {
"qwen2.5-coder:32b": {
"name": "Qwen 2.5 Coder 32B(本地)",
"maxTokens": 8192
},
"deepseek-coder-v2:16b": {
"name": "DeepSeek Coder V2 16B(本地)",
"maxTokens": 8192
}
}
}
}
}
Ollama 安装# macOS brew install ollama # 启动服务 ollama serve # 拉取模型 ollama pull qwen2.5-coder:32b
五、多模型配置示例
OpenCode 的强大之处在于可以同时配置多个提供商,运行时自由切换:
{
"provider": {
"deepseek": {
"apiKey": "sk-deepseek-xxx",
"baseURL": "https://api.deepseek.com",
"models": {
"deepseek-chat": { "name": "DeepSeek V3", "maxTokens": 8192 }
}
},
"glm": {
"apiKey": "glm-xxx",
"baseURL": "https://open.bigmodel.cn/api/paas/v4",
"models": {
"glm-4-plus": { "name": "GLM-4 Plus", "maxTokens": 4096 }
}
},
"qwen": {
"apiKey": "sk-qwen-xxx",
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"models": {
"qwen-max": { "name": "Qwen Max", "maxTokens": 8192 }
}
},
"ollama": {
"apiKey": "ollama",
"baseURL": "http://localhost:11434/v1",
"models": {
"qwen2.5-coder:32b": { "name": "本地 Qwen Coder", "maxTokens": 8192 }
}
}
},
"model": {
"default": "deepseek/deepseek-chat"
}
}
在 TUI 中可以直接切换不同模型,无需退出重启。
六、核心功能
| 功能 | 说明 |
|---|---|
| 交互式 TUI | 精美的终端界面,聊天窗口 + 文件树 + diff 预览 |
| 文件操作 | AI 读写、创建、编辑项目文件 |
| Shell 执行 | 执行命令(需授权) |
| LSP 集成 | 语言服务协议集成,代码智能提示 |
| Git 感知 | 理解 Git 上下文,可暂存/提交变更 |
| 会话管理 | 保存和恢复对话 |
| 多提供商 | 运行时切换模型/提供商 |
| MCP 支持 | Model Context Protocol 扩展 |
| 压缩模式 | 自动压缩对话历史以节省 token |
| 开源 MIT | 完全开源,无遥测 |
七、四大工具对比
| 维度 | OpenCode | Claude Code | Codex CLI | Gemini CLI |
|---|---|---|---|---|
| 开源 | MIT | 不开源 | Apache 2.0 | Apache 2.0 |
| 语言 | Go | TypeScript | TypeScript | TypeScript |
| 安装 | 单二进制文件 | 需 Node.js | 需 Node.js | 需 Node.js |
| 多提供商 | 原生支持任意 | 仅 Anthropic | 仅 OpenAI 兼容 | 仅 Gemini |
| 国产模型 | 原生支持 | 需配置 | 需配置 | 不支持 |
| 本地模型 | 支持 Ollama | 不支持 | 有限 | 不支持 |
| 国内直连 | 可以 | 不可以 | 不可以 | 不可以 |
| TUI 质量 | 精美 | 精美 | 简洁 | 简洁 |
| MCP | 支持 | 支持 | 不支持 | 支持 |
八、快速开始
# 1. 安装
brew install sst/tap/opencode
# 或
go install github.com/sst/opencode@latest
# 2. 进入项目目录
cd your-project
# 3. 创建配置(用 DeepSeek 举例)
cat > opencode.json << 'EOF'
{
"provider": {
"deepseek": {
"apiKey": "sk-your-key",
"baseURL": "https://api.deepseek.com",
"models": {
"deepseek-chat": { "name": "DeepSeek V3", "maxTokens": 8192 }
}
}
},
"model": { "default": "deepseek/deepseek-chat" }
}
EOF
# 4. 运行
opencode
总结OpenCode 是国内用户最推荐的终端 AI 编程工具。理由:
- 国产模型直连 —— DeepSeek、GLM、Qwen 开箱即用,完全不需要代理
- 本地模型支持 —— Ollama 一键接入,完全离线可用
- 单二进制文件 —— 无需 Node.js,下载即用
- 多提供商切换 —— 一个工具用所有模型
- 完全开源 —— MIT 协议,无厂商锁定
如果你在国内、不想折腾代理、想用国产模型 —— 选 OpenCode。
参考链接