OpenCode 环境配置
从购买 OpenCode Go 订阅到启动一个新项目,中间有 4 个环节需要打通:
Ant 指纹浏览器 → 管理多个 OpenCode Go 订阅,提取 API Key
↓
AxonHub → 反代多个 Key,统一 API 端点
↓
CC Switch → 管理 AxonHub 配置,切换 Provider,管理会话
↓
Project-Initialization → init-project.sh → 启动新项目
本文逐一介绍每个环节的工具选择和配置步骤。
1. Ant 指纹浏览器管理 OpenCode Go 订阅
1.1 项目简介
black-ant/Ant-Browser 是一款开源指纹浏览器,可以在一台机器上创建多个互相隔离的浏览器实例。每个实例有独立的指纹、Cookie、本地存储和代理配置,非常适合管理多个 OpenCode Go 订阅账号。
1.2 安装
Linux 版提供 .deb 和 tar.gz 两种分发方式,从 Releases 下载。
方法一:tar.gz 解压运行(推荐,免 debtap)
wget https://github.com/black-ant/Ant-Browser/releases/download/v1.4.0/ant-browser-1.4.0-linux-amd64.tar.gz
tar -xzf ant-browser-1.4.0-linux-amd64.tar.gz
cd ant-browser-1.4.0-linux-amd64
./ant-chrome
方法二:deb 包转换安装
wget https://github.com/black-ant/Ant-Browser/releases/download/v1.4.0/ant-browser_1.4.0_amd64.deb
debtap -q ant-browser_1.4.0_amd64.deb
sudo pacman -U ant-browser-1.4.0-1-x86_64.pkg.tar.zst
tar.gz免安装、免 debtap,适合临时使用。deb转换后可用系统菜单启动。debtap安装:yay -S debtap && sudo debtap -u,详见软件相关。
Ant Browser 基于 Wails 构建,如启动报错,需安装
webkit2gtk-4.1:sudo pacman -S webkit2gtk-4.1。
1.3 配置浏览实例
- 启动 Ant Browser(运行
./ant-chrome或从系统菜单启动) - 新建浏览器实例,每个实例对应一个 OpenCode Go 订阅账号
- 可选:为不同实例绑定不同代理 IP(设置 → 代理池 → 添加代理)
1.4 提取订阅信息
每个实例内分别操作:
- 登录 opencode.ai
- 进入 Dashboard 查看订阅计划和剩余额度
- 进入 Settings → API Keys → Create new key,生成 API Key
- 或提取 Auth Cookie(供额度看板使用):F12 → Application → Cookies → 复制
auth值
用表格记录对应关系:
| 浏览器实例 | 订阅账号 | API Key |
|---|---|---|
| 实例 1 | account1@gmail.com | sk-opencode-xxx1 |
| 实例 2 | account2@gmail.com | sk-opencode-xxx2 |
Auth Cookie 有时效,过期后重新登录提取即可。API Key 长期有效。
2. AxonHub 反代 OpenCode Go
2.1 项目简介
looplj/axonhub 是一个 All-in-One AI 网关,可以将多个上游 API(如 OpenCode Go)统一到一个端点,同时提供多 Key 轮换、故障转移、请求追踪和用量统计功能。
使用 AxonHub 反代 OpenCode Go 后,所有 AI 客户端只需要配置一个地址,无需关心背后有多少个订阅账号。
OpenCode 与 AxonHub 的详细集成配置(含 opencode.json 格式、追踪插件、模型路由)见《AxonHub 集成 OpenCode 指南》。
2.2 Docker 部署
mkdir -p ~/axonhub && cd ~/axonhub
docker-compose.yml:
services:
axonhub:
image: looplj/axonhub:latest
container_name: axonhub
environment:
AXONHUB_DB_DIALECT: sqlite3
AXONHUB_DB_DSN: "file:/data/axonhub.db?cache=shared&_fk=1&_pragma=journal_mode(WAL)"
ports:
- "8090:8090"
volumes:
- ./data:/data
- ./config.yml:/app/config.yml:ro
restart: unless-stopped
config.yml:
server:
host: "0.0.0.0"
port: 8090
llm_request_timeout: "600s"
cors:
enabled: true
allowed_origins: ["*"]
db:
dialect: "sqlite3"
dsn: "file:/data/axonhub.db?cache=shared&_fk=1&_pragma=journal_mode(WAL)"
log:
level: "info"
启动:
docker compose up -d
访问 http://localhost:8090,首次进入初始化向导,设置管理员账号和密码。
2.3 配置渠道(Channel)
渠道是 AxonHub 与上游提供商之间的连接。登录 http://localhost:8090,依次点击「渠道」→「添加渠道」。
以 OpenCode Go 为例,填写以下信息:
| 字段 | 值 |
|---|---|
| 渠道名称 | opencode-go |
| API 格式 | OpenAI Chat Completions |
| Base URL | https://opencode.ai/zen/go/v1/chat/completions |
| API Key | 步骤 1.4 中提取的 OpenCode Go API Key |
| 支持的模型 | 按订阅计划填写,多个以逗号分隔 |
| 默认测试模型 | 选一个常用模型用于可用性检测 |
支持的模型示例(取决于订阅计划,模型 ID 格式为 opencode-go/<model-id>):
opencode-go/deepseek-v4-pro, opencode-go/kimi-k2.7-code, opencode-go/qwen3.7-max
当前完整模型列表见 OpenCode Go 官方文档。
添加后回到渠道列表,点击状态列的「启用」开关。启用时 AxonHub 会自动测速,绿色的延迟值表示渠道可用。
多 Key 负载均衡:在 API Key 字段中填入多个 Key(每行一个),AxonHub 自动轮换。同一个会话保持同一 Key,单个 Key 失败自动切到下一个:
sk-opencode-xxx1 sk-opencode-xxx2
2.4 配置模型(Model)
渠道启用了只表示与上游的连接已打通,还需要把模型注册到 AxonHub 中,下游客户端才能调用。
依次点击「模型」→「添加模型」:
- 开发者:选择对应厂商(如 OpenCode Go 的模型选 OpenAI)
- 模型 ID:填入模型名称,如
claude-sonnet-4 - 名称:自动带入,可自定义显示名
- 其他参数保持默认,点击「保存」
保存后设置模型关联——告诉 AxonHub 当客户端请求这个模型时,走哪个渠道的哪个模型:
- 在模型列表中找到刚添加的模型,点击「关联规则」→「关联」
- 优先级:越低越优先(默认即可)
- 类型:选择「去岛内精准匹配模型」
- 渠道:选择前面创建的
opencode-go - 模型:选择该渠道下的对应模型名(通常与模型 ID 一致)
- 点击「保存」
如果客户端请求的模型名与 OpenCode Go 上的实际名称不同,可以在关联时做映射。例如客户端请求
claude-3.5-sonnet,关联到渠道中的claude-sonnet-4。
2.5 创建 API Key
模型配置好后,需要创建一个 API Key 给下游客户端使用。
- 左侧菜单找到「API 密钥」→「创建」
- 填入密钥名称(如
my-opencode-key) - 类型选择「用户」
- 点击「创建」,生成密钥后复制保存
密钥仅创建时显示一次,关闭后不可再查看,务必立即保存。
2.6 客户端接入
拿到 API Key 后,所有 AI 客户端只需指向 AxonHub 地址 http://localhost:8090。
Claude Code:
export ANTHROPIC_BASE_URL="http://localhost:8090/v1"
export ANTHROPIC_API_KEY="你的AxonHub_API_Key"
写入 ~/.claude/config.json 持久化:
{
"proxy": {
"baseUrl": "http://localhost:8090/v1",
"apiKey": "你的AxonHub_API_Key"
}
}
Codex CLI:
export OPENAI_BASE_URL="http://localhost:8090/v1"
export OPENAI_API_KEY="你的AxonHub_API_Key"
OpenCode:
编辑 ~/.config/opencode/opencode.json(详见《AxonHub 集成 OpenCode 指南》):
{
"provider": {
"axonhub": {
"npm": "@ai-sdk/anthropic",
"name": "AxonHub",
"options": {
"baseURL": "http://127.0.0.1:8090/anthropic/v1",
"apiKey": "你的AxonHub_API_Key"
},
"models": {
"claude-sonnet-4-5": {
"name": "AxonHub - Claude Sonnet 4.5",
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
}
}
}
}
}
Cline / Continue 等 VS Code 插件:
Provider 选 OpenAI Compatible,Base URL 填 http://localhost:8090/v1,API Key 填你的 AxonHub 密钥。
验证连接:
curl http://localhost:8090/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的AxonHub_API_Key" \
-d '{
"model": "claude-sonnet-4",
"messages": [{"role": "user", "content": "Hello"}]
}'
返回正常的 JSON 响应说明配置成功。
3. CC Switch 统一管理工具链
3.1 项目简介
farion1231/cc-switch(官网 ccswitch.io)是一个跨平台桌面工具,用一个界面管理 Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes 八款 AI 工具的配置、Provider 切换、MCP 服务器和会话历史。
Arch Linux 的 AUR 包由 heihei0299/cc-switch-aur 维护。
3.2 安装
AUR 安装(推荐):
yay -S cc-switch
或自行编译:
git clone https://github.com/heihei0299/cc-switch-aur.git
cd cc-switch-aur
makepkg -si
编译依赖
rust、nodejs、pnpm、webkit2gtk-4.1等,首次编译耗时较长。
AppImage(官方分发方式):
从 Releases 下载 .AppImage,赋予执行权限后运行:
chmod +x CC-Switch-*.AppImage
./CC-Switch-*.AppImage
3.3 添加 Provider
CC Switch 内置 50+ Provider 预设(包括 AWS Bedrock、NVIDIA NIM 及常见社区转发服务),也可以手动添加。
打开 CC Switch → Provider 管理页:
AxonHub 反代地址(首选)
- 类型: OpenAI 兼容
- URL:
http://localhost:8090/v1 - API Key: AxonHub 后台生成的 Key
OpenCode Go 直连(备用)
- 类型: 根据模型选择。大部分模型使用
OpenAI Chat Completions(@ai-sdk/openai-compatible),MiniMax M3/M2.7 和 Qwen 系列使用Anthropic Messages(@ai-sdk/anthropic) - URL:
https://opencode.ai/zen/go/v1/chat/completions - API Key: 步骤 1.4 中的 OpenCode Go API Key
- 模型 ID 格式:
opencode-go/<model-id>(如opencode-go/kimi-k3)
- 类型: 根据模型选择。大部分模型使用
其他 Provider(DeepSeek、OpenAI、Kimi 等)可按需添加。
如果多个工具共用同一个 Provider,可以使用「通用 Provider」功能,一次配置同步到 Claude Code、Codex 和 Gemini CLI。
3.4 切换配置
- Provider 列表中点击「启用」按钮,当前激活的亮起绿点
- 切换后 CC Switch 自动改写各工具的配置文件,重启对应终端即可生效
- Claude Code 支持热切换:切换后无需重启终端,立即生效
列表可拖拽排序,支持导入导出。首次启动时 CC Switch 会自动导入已有 CLI 工具的配置。
系统托盘快速切换:
无需打开主界面,右键系统托盘图标 → 点击 Provider 名称即可即时切换。
3.5 已知限制
CC Switch 无法将 Base URL 为 https://opencode.ai/zen/go/v1/ 的 Provider 写入 OpenCode 配置文件。
当 Provider 的 Base URL 设为 OpenCode Go 官方地址时,CC Switch 的注入机制不生效,修改不写入 ~/.config/opencode/opencode.json。
解决方案:
- 通过 AxonHub 反代 OpenCode Go,CC Switch 指向
http://localhost:8090/(参见第 2 章) - 在 OpenCode TUI 中运行
/connect命令按向导添加 Go 订阅 - 或手动编辑
~/.config/opencode/opencode.json直接写入
4. 初始化脚本启动项目
4.1 项目简介
heihei0299/Project-Initialization 是一个项目初始化模板仓库。它提供了一键脚本,让每个新项目拥有相同的工具链、配置规范和 Git 初始状态。
4.2 安装脚本
git clone https://github.com/heihei0299/Project-Initialization.git ~/project-init
cp ~/project-init/init-project.sh ~/bin/
确保 ~/bin 在 $PATH 中。
4.3 使用
mkdir my-ai-project && cd my-ai-project
init-project.sh
4.4 交互流程
脚本提供两个交互选择:
请选择要初始化的目标工具:
[1] OpenCode
[2] Claude
[3] 两者都选
请选择技能组框架:
[1] Matt Pocock Skills
[2] Trellis
选择后自动执行以下步骤:
| 步骤 | 操作 | 说明 |
|---|---|---|
| Step 1 | git init | 初始化 Git 仓库 |
| Step 2 | 写入 .gitignore | 覆盖全场景的忽略规则 |
| Step 3 | 写入 opencode.json / .claude/settings.json | MCP 服务器配置 |
| Step 4 | 安装技能组 | Matt’s Skills 或 Trellis |
| Step 5 | 注入命令别名 | grw / gm / implement 等 |
| Step 6 | 写入 AGENTS.md / CLAUDE.md | CodeGraph 指令文档 |
| Step 7 | CodeGraph 索引(可选) | 检测代码库时询问 |
所有步骤幂等,文件已存在则跳过,可以重复运行。
4.5 常用别名
安装完成后可用的命令别名:
| 别名 | 实际命令 | 用途 |
|---|---|---|
grw | opencode task | 启动 OpenCode 任务 |
gm | git commit --amend | 修正上次 Git 提交 |
implement | 由技能组提供 | 实现功能 |
tp / tc / cw | 由技能组提供 | 技能组快捷命令 |
4.6 自定义模板
模板文件在 templates/ 目录下:
templates/
├── gitignore → 新项目的 .gitignore
├── opencode.json → MCP 服务器配置
├── claude-settings.json → Claude MCP 配置
├── AGENTS.md → AI 指令文档
└── CLAUDE.md → 已弃用,从 AGENTS.md 拷贝
修改对应文件即可自定义所有新项目的初始化内容,无需改动脚本本身。
5. 完整流水线
到此四个环节全部打通:
Ant Browser → 多个 OpenCode Go 账号 → API Key
↓
AxonHub → 统一 API 网关 → 多 Key 负载均衡
↓
CC Switch → 配置管理 → Provider 切换 → 会话管理
↓
init-project.sh → 新项目启动 → 开始编码
从「买订阅」到「写代码」,每个环节都有了明确的工具和操作流程。
验证与自查
- Ant Browser:每个实例能独立登录 opencode.ai 并生成 API Key
- AxonHub:
curl http://localhost:8090/v1/chat/completions返回正常 JSON 响应;渠道列表显示绿色延迟值 - CC Switch:切换 Provider 后各工具配置文件被改写,Claude Code 无需重启即生效
init-project.sh运行后新项目具备.gitignore、opencode.json/.claude/settings.json、AGENTS.md与命令别名,重复运行不报错