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 版提供 .debtar.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.1sudo pacman -S webkit2gtk-4.1

1.3 配置浏览实例

  1. 启动 Ant Browser(运行 ./ant-chrome 或从系统菜单启动)
  2. 新建浏览器实例,每个实例对应一个 OpenCode Go 订阅账号
  3. 可选:为不同实例绑定不同代理 IP(设置 → 代理池 → 添加代理)

1.4 提取订阅信息

每个实例内分别操作:

  1. 登录 opencode.ai
  2. 进入 Dashboard 查看订阅计划和剩余额度
  3. 进入 Settings → API Keys → Create new key,生成 API Key
  4. 或提取 Auth Cookie(供额度看板使用):F12 → Application → Cookies → 复制 auth

用表格记录对应关系:

浏览器实例订阅账号API Key
实例 1account1@gmail.comsk-opencode-xxx1
实例 2account2@gmail.comsk-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 URLhttps://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 中,下游客户端才能调用。

依次点击「模型」→「添加模型」:

  1. 开发者:选择对应厂商(如 OpenCode Go 的模型选 OpenAI)
  2. 模型 ID:填入模型名称,如 claude-sonnet-4
  3. 名称:自动带入,可自定义显示名
  4. 其他参数保持默认,点击「保存」

保存后设置模型关联——告诉 AxonHub 当客户端请求这个模型时,走哪个渠道的哪个模型:

  1. 在模型列表中找到刚添加的模型,点击「关联规则」→「关联」
  2. 优先级:越低越优先(默认即可)
  3. 类型:选择「去岛内精准匹配模型」
  4. 渠道:选择前面创建的 opencode-go
  5. 模型:选择该渠道下的对应模型名(通常与模型 ID 一致)
  6. 点击「保存」

如果客户端请求的模型名与 OpenCode Go 上的实际名称不同,可以在关联时做映射。例如客户端请求 claude-3.5-sonnet,关联到渠道中的 claude-sonnet-4

2.5 创建 API Key

模型配置好后,需要创建一个 API Key 给下游客户端使用。

  1. 左侧菜单找到「API 密钥」→「创建」
  2. 填入密钥名称(如 my-opencode-key
  3. 类型选择「用户」
  4. 点击「创建」,生成密钥后复制保存

密钥仅创建时显示一次,关闭后不可再查看,务必立即保存。

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

编译依赖 rustnodejspnpmwebkit2gtk-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 管理页:

  1. AxonHub 反代地址(首选)

    • 类型: OpenAI 兼容
    • URL: http://localhost:8090/v1
    • API Key: AxonHub 后台生成的 Key
  2. 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
  3. 其他 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 1git init初始化 Git 仓库
Step 2写入 .gitignore覆盖全场景的忽略规则
Step 3写入 opencode.json / .claude/settings.jsonMCP 服务器配置
Step 4安装技能组Matt’s Skills 或 Trellis
Step 5注入命令别名grw / gm / implement
Step 6写入 AGENTS.md / CLAUDE.mdCodeGraph 指令文档
Step 7CodeGraph 索引(可选)检测代码库时询问

所有步骤幂等,文件已存在则跳过,可以重复运行。

4.5 常用别名

安装完成后可用的命令别名:

别名实际命令用途
grwopencode task启动 OpenCode 任务
gmgit 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 → 新项目启动 → 开始编码

从「买订阅」到「写代码」,每个环节都有了明确的工具和操作流程。

验证与自查

  1. Ant Browser:每个实例能独立登录 opencode.ai 并生成 API Key
  2. AxonHub:curl http://localhost:8090/v1/chat/completions 返回正常 JSON 响应;渠道列表显示绿色延迟值
  3. CC Switch:切换 Provider 后各工具配置文件被改写,Claude Code 无需重启即生效
  4. init-project.sh 运行后新项目具备 .gitignoreopencode.json / .claude/settings.jsonAGENTS.md 与命令别名,重复运行不报错

参考