Skip to content

OpenCode 部署

OpenCode 是 SST 团队的开源 AI 编码 agent——形态类似 Claude Code / Codex,但 provider 选型更开放:原生支持任意 OpenAI 协议兼容 endpoint,本站可以作为其中一个 provider 直接接入。

前置条件

1. 安装

bash
npm install -g opencode-ai@latest
bash
curl -fsSL https://opencode.ai/install | bash

验证:

bash
opencode --version

装好后运行 opencode 会进入它的终端界面(TUI)。

2. 配置 provider 指向 why01

OpenCode 通过 opencode.json 配置 provider。三处任选一个放配置:

位置用途
./opencode.json(当前项目根)项目级,进入此目录用本配置
~/.config/opencode/opencode.json用户级,所有项目默认
$OPENCODE_CONFIG 指向的路径自定义

OpenCode 主要靠下面的配置文件接入,字段如下。最小可用配置:

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "why01": {
      "options": {
        "apiKey": "{env:OPENAI_API_KEY}",
        "baseURL": "https://s1.why01.top/v1"
      }
    }
  },
  "model": "why01/gpt-5.6-luna"
}

TIP

  • apiKey{env:VAR_NAME} 占位符引用环境变量,不要直接写明文 Key 进 opencode.json(容易被 git 跟踪泄露)
  • model 字段格式是 <provider 名>/<模型名>,模型名按 控制台模型页 实际可用名填

3. 设环境变量

bash
# 加到 ~/.zshrc 或 ~/.bashrc
export OPENAI_API_KEY=sk-你的why01-key
source ~/.zshrc
powershell
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-你的why01-key", "User")
# 重开终端生效

如果你已经按 一键配置脚本 设过,跳过这一步。

4. 启动

进入项目目录:

bash
cd ~/your-project
opencode

OpenCode 还提供 serve(HTTP API 模式)和 web(Web Dashboard 模式)子命令,按需选用。

5. 验证走 why01

启动后在 OpenCode 里按 tab / ctrl+p 打开模型选择,能看到 why01/... 开头的模型列表 = 配置被读到了。选一个模型发一句话,正常返回即接通。

跑完一次任务后到 why01 控制台 → 日志 查最近几分钟有没有对应模型的调用——有 = 接通。

同时配多个 provider

OpenCode 支持把官方 OpenAI / Anthropic / Google / why01 等同时放进 opencode.json,用 --provider 或运行时切换:

json
{
  "provider": {
    "why01": { "options": { "apiKey": "{env:OPENAI_API_KEY}", "baseURL": "https://s1.why01.top/v1" } },
    "anthropic-official": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } }
  },
  "model": "why01/gpt-5.6-luna"
}

顶层 model 字段决定默认;命令行可临时覆盖。

常见问题

启动报 401

  • 检查 OPENAI_API_KEY 真的设进去了:echo $OPENAI_API_KEY
  • opencode.jsonapiKey{env:OPENAI_API_KEY} 占位符,不是直接写 sk- 开头的字符串
  • Key 未禁用 / 未过期(控制台「令牌管理」

启动报 model not found

model 字段的模型名按 控制台模型页 实际可用名填。注意 <provider>/<model> 的两段格式不要漏 provider/ 前缀。

Tools / shell 等高级特性是否可用

OpenCode 支持工具调用和 shell 执行,本站作为 OpenAI 协议透传 endpoint,工具调用部分由上游模型决定能力——当前主流的 OpenAI 主力档 / Claude Sonnet 系列支持良好。

下一步