接入 OpenCode

将开源终端 Agent OpenCode 接入 PilotAIHub,通过 OpenAI 兼容端点调用模型。

简介

OpenCode 是一款开源的终端编程 Agent,原生支持 OpenAI 兼容协议。通过 OPENAI_BASE_URLOPENAI_API_KEY 指向 PilotAIHub 网关,即可在 OpenCode 中调用 PilotAIHub 托管模型,并保留 Key 治理与审计。

前置条件

已注册 PilotAIHub 账号并创建虚拟 Key;已安装 Node.js 18+ 或 Go 工具链(按安装方式)。

安装 OpenCode

安装
# 按项目 README 提供的方式安装,例如
npm install -g opencode

配置 base_url

OpenCode 的 OpenAI 兼容接口地址指向 PilotAIHub 网关:

配置位置

通过环境变量配置(见下方)。OpenCode 读取 OPENAI_BASE_URL 与 OPENAI_API_KEY,写入 shell 配置文件持久化。
环境变量 OPENAI_BASE_URL
OPENAI_BASE_URL=https://api.pilotaihub.com

配置 API Key

在 PilotAIHub 控制台创建虚拟 API Key(以 pk- 开头),填入 OpenCode 的 API Key / Secret 字段:

环境变量 OPENAI_API_KEY
OPENAI_API_KEY=sk-p-xxxxxxxxxxxxxxxx

Key 安全

API Key 是账户凭证,请勿提交到代码仓库或公开分享。OpenCode 的配置仅保存在本地,不会上传 PilotAIHub 之外。

选择模型

OpenCode 的模型选择处填写 PilotAIHub 支持的 model_code,例如 gpt-4o。完整模型列表见控制台「模型」页或模型市场。

验证调用

配置完成后,用以下请求验证连通性。成功时应返回模型回复:

curl 验证
curl https://api.pilotaihub.com/chat/completions \
  -H "Authorization: Bearer sk-p-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "user", "content": "你好,请用一句话介绍你自己"}
    ]
  }'

期望响应

HTTP 200 + 一条 assistant 角色的回复。若返回 401 请检查 Key 是否正确;若返回 429 请降低请求频率或联系管理员提升限额。

配置文件方式

OpenCode 也支持在项目级 opencode.json 中声明 provider:

opencode.json
{
  "provider": "PilotAIHub",
  "providers": {
    "PilotAIHub": {
      "baseURL": "https://api.PilotAIHub.com/v1",
      "apiKey": "pk-xxxxxxxxxxxxxxxx",
      "model": "gpt-4o"
    }
  }
}

进阶用法

  • 不同项目可用不同 Key,在项目级配置中隔离成本。
  • OpenCode 的工具调用依赖模型 function-calling 能力,选用前核对模型标签。

常见问题

排查
401 → Key 与 base_url 是否同属一个 PilotAIHub Key
429 → 超出限流,降低并发或提升 Key 限额