配方库
配方库 / 一个 Key 接入编程 Agent

一个 Key 接入编程 Agent

Claude Code / Codex / WorkBuddy 配置全流程

场景:你已经在用某个编程 Agent,但想换成更省的方式调用模型——不改工作流,只改一条配置。

适用:Claude Code、Codex、WorkBuddy 用户。全部配置均为官方支持的标准字段,不修改客户端程序本身。


一、Claude Code(自动写入,一步到位)

Claude Code 读取 ~/.claude/settings.json 的 env 段。写入以下 7 个键(其余设置项原样保留):

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://starseaapi.com",
    "ANTHROPIC_AUTH_TOKEN": "你的Key",
    "ANTHROPIC_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4.1-flash",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

Windows 一键写入(PowerShell):

$dir = Join-Path $env:USERPROFILE ".claude"
New-Item -ItemType Directory -Force -Path $dir | Out-Null
$file = Join-Path $dir "settings.json"
$cfg = if (Test-Path $file) { Get-Content $file -Raw | ConvertFrom-Json } else { New-Object PSObject }
$env_obj = @{
  ANTHROPIC_BASE_URL = "https://starseaapi.com"
  ANTHROPIC_AUTH_TOKEN = "你的Key"
  ANTHROPIC_MODEL = "claude-sonnet-5"
  ANTHROPIC_DEFAULT_OPUS_MODEL = "claude-opus-5-5"
  ANTHROPIC_DEFAULT_SONNET_MODEL = "claude-sonnet-5"
  ANTHROPIC_DEFAULT_HAIKU_MODEL = "deepseek-v4.1-flash"
  CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"
}
if ($cfg.PSObject.Properties.Name -contains "env") {
  $env_obj.GetEnumerator() | ForEach-Object { $cfg.env | Add-Member -Force -NotePropertyName $_.Key -NotePropertyValue $_.Value }
} else {
  $cfg | Add-Member -NotePropertyName env -NotePropertyValue $env_obj
}
$cfg | ConvertTo-Json -Depth 10 | Set-Content $file -Encoding UTF8
Write-Host "已写入 $file,请重启 Claude Code"

macOS / Linux 一键写入(bash):

mkdir -p ~/.claude
python3 - <<'PY'
import json, os
f = os.path.expanduser("~/.claude/settings.json")
cfg = json.load(open(f)) if os.path.exists(f) else {}
cfg.setdefault("env", {}).update({
  "ANTHROPIC_BASE_URL": "https://starseaapi.com",
  "ANTHROPIC_AUTH_TOKEN": "你的Key",
  "ANTHROPIC_MODEL": "claude-sonnet-5",
  "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5-5",
  "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
  "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4.1-flash",
  "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
})
json.dump(cfg, open(f, "w"), indent=2, ensure_ascii=False)
print("已写入", f)
PY

写完必须重启 Claude Code。 生效后 Opus / Sonnet / Haiku 三档自动映射到上表指定的模型;切换用其内置 /model 命令。

⚠️ 为什么设 DEFAULT_HAIKU_MODEL:Haiku 档承担 Claude Code 的后台轻量任务(如文件摘要、命令补全建议),调用量大。指向 deepseek-v4.1-flash(¥1/¥4 每百万字)可显著降低成本,且不影响主对话体验。


二、Codex(手动填参数)

Codex CLI 自 0.147 起只接受 wire_api = "responses"(旧 chat 协议已被官方移除)。

编辑 ~/.codex/config.toml:

model_provider = "starsea"
model = "gpt-6.1-sol"

[model_providers.starsea]
name = "starsea"
base_url = "https://starseaapi.com/v1"
wire_api = "responses"
env_key = "STARSEA_API_KEY"

然后设置环境变量:export STARSEA_API_KEY="你的Key"(Windows:setx STARSEA_API_KEY "你的Key")。

⚠️ 关键点:wire_api 必须是 responses。站内 /v1/responses 端点已实测可用。


三、WorkBuddy(自动写入全模型)

WorkBuddy 读取 ~/.workbuddy/models.json——必须是裸数组(顶层直接是 [)。

基本配置样例(三款模型):

[
  {
    "id": "claude-sonnet-5",
    "name": "claude-sonnet-5",
    "apiKey": "你的Key",
    "vendor": "starsea",
    "url": "https://starseaapi.com/v1",
    "supportsToolCall": true,
    "supportsImages": true,
    "supportsReasoning": true,
    "maxInputTokens": 1000000,
    "maxOutputTokens": 128000
  },
  {
    "id": "deepseek-v4.1-flash",
    "name": "deepseek-v4.1-flash",
    "apiKey": "你的Key",
    "vendor": "starsea",
    "url": "https://starseaapi.com/v1",
    "supportsToolCall": true,
    "supportsImages": true,
    "supportsReasoning": true,
    "maxInputTokens": 1000000,
    "maxOutputTokens": 393216
  }
]

Python 一键生成全量(71 款模型,读站内实时清单):

import json, urllib.request, os

KEY = "你的Key"
BASE = "https://starseaapi.com"

models = json.loads(urllib.request.urlopen(BASE + "/v1/models").read())["data"]
out = [{"id": m["id"], "name": m["id"], "apiKey": KEY, "vendor": "starsea",
        "url": BASE + "/v1", "supportsToolCall": True, "supportsImages": True,
        "supportsReasoning": True, "maxInputTokens": 1000000, "maxOutputTokens": 128000}
       for m in models]

path = os.path.expanduser("~/.workbuddy/models.json")
if os.path.exists(path):
    os.rename(path, path + ".bak")
json.dump(out, open(path, "w", encoding="utf-8"), ensure_ascii=False, indent=2)
print(f"已写入 {len(out)} 款模型 -> {path},重启 WorkBuddy 生效")

⚠️ 踩坑警示:该文件必须是裸数组。若写成 {"models":[...]}(对象包裹),客户端会被整份静默清空。


四、通用:三行验证脚本

配置完成后,用这段代码验证连通性(不依赖任何客户端):

import json, urllib.request

KEY = "你的Key"
req = urllib.request.Request(
    "https://starseaapi.com/v1/chat/completions",
    data=json.dumps({"model": "claude-sonnet-5",
                     "messages": [{"role": "user", "content": "回复两字:正常"}],
                     "max_tokens": 20}).encode(),
    headers={"Authorization": "Bearer " + KEY, "Content-Type": "application/json"})
print(json.loads(urllib.request.urlopen(req, timeout=60).read())["choices"][0]["message"]["content"])

输出 正常 即接入成功。


五、实测记录(2026-10-03)

项 结果
claude-sonnet-5 调用 ✅ 成功,3.3s,返回「好」
claude-opus-5-5 调用 ✅ 成功,2.5s
deepseek-v4.1-flash 调用 ✅ 成功,0.9s
Anthropic 协议 /v1/messages ✅ 可用(Claude Code 依赖此协议)

成本参考(站内实时定价): - claude-sonnet-5:输入 ¥13 / 输出 ¥65(每百万字) - claude-opus-5-5:输入 ¥26 / 输出 ¥130 - deepseek-v4.1-flash:输入 ¥1 / 输出 ¥4

按典型编码会话(输入 5 万 token / 输出 3000 token 计):用 claude-sonnet-5 约 ¥0.85/会话;把后台任务交给 deepseek-v4.1-flash 后综合成本还可再降。

开始使用

1. 在 Key 服务台创建一把 Key

2. 把代码里的 你的Key 替换为实际 Key

3. 直接运行即可

每篇配方均经真实调用实测 · 返回配方库 · 前往 Key 服务台