客户端接入指南:Claude Code / Codex / pi / openclaw

AI 速览6 天前更新

这篇是作者实测 Claude Code、Codex CLI、pi、openclaw 接入同一中转站的配置清单,核心结论是不同客户端对 base_url 是否带 /v1 的要求相反,写错会一直 404。文中给出各客户端的 base_url 对照表,并分别列出环境变量、config.toml、models.json 的具体写法,强调令牌分组选半价组、模型名统一用 deepseek-flash。常见坑包括漏设 Claude Code 的小模型变量、客户端显示花费按官方价虚高(以面板账单为准)、令牌分组与模型不匹配、思考型模型首字慢导致自动审批超时,以及 count_tokens 接口未实现。

🖊️ 更新于 2026-09-17。这篇是我自己接各种客户端时踩出来的配置清单,Claude Code、Codex CLI、pi、openclaw 都实测跑通过(含工具调用)。核心结论只有一句:不同客户端对 base_url 里那个 /v1 的要求相反,写错就一直 404。

站点本身是什么、怎么建令牌、模型和价格,见 模型中转站。这篇只讲「怎么把它接到你手上的客户端里」。

一、先准备两样东西#

  1. 一个令牌:登录 https://new-api.hsfp.cn → 控制台 → 令牌 → 添加令牌。分组选 「deepseek半价组」,这样 deepseek-flash 是 5 折($0.075 / $0.30 每百万 tokens)。

  2. 模型名deepseek-flash。别写成 claude-*gpt-*——本站没有这些模型,会直接报「无可用渠道」。

二、base_url 对照表(最重要的一张表)#

客户端base_url 填实际请求路径
Claude Code / Anthropic SDKhttps://new-api.hsfp.cn/v1/messages
Codex CLIhttps://new-api.hsfp.cn/v1/v1/responses
pi(openai 模式)、Cherry Studio、Chatbox、NextChathttps://new-api.hsfp.cn/v1/v1/chat/completions
pi(anthropic 模式)https://new-api.hsfp.cn/v1/messages
openclawhttps://new-api.hsfp.cn/v1/v1/chat/completions

规律很简单:客户端自己会拼 /v1/messages 的(Anthropic 系),base_url 就不要带 /v1;按 OpenAI SDK 惯例、假设 base_url 已经含 /v1 的,就得带上。

三、Claude Code#

三行环境变量,另外小模型必须一起设

export ANTHROPIC_BASE_URL=https://new-api.hsfp.cn      # 注意:不带 /v1
export ANTHROPIC_AUTH_TOKEN=sk-你的令牌
export ANTHROPIC_MODEL=deepseek-flash
export ANTHROPIC_SMALL_FAST_MODEL=deepseek-flash       # 不设会报错,见第六节
claude

想固化就写进 ~/.claude/settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://new-api.hsfp.cn",
    "ANTHROPIC_AUTH_TOKEN": "sk-你的令牌",
    "ANTHROPIC_MODEL": "deepseek-flash",
    "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-flash"
  }
}

Claude Code 的读写文件、执行 shell 这些工具调用在这条链路上是通的,实测跑过多轮的读文件 + 执行命令。

四、Codex CLI#

写进 ~/.codex/config.toml

model = "deepseek-flash"
model_provider = "newapi"

[model_providers.newapi]
name = "new-api"
base_url = "https://new-api.hsfp.cn/v1"   # 注意:要带 /v1
env_key = "NEWAPI_KEY"
wire_api = "responses"                     # 只能填 responses

然后 export NEWAPI_KEY=sk-你的令牌codex

两个点:

  • wire_api 只能填 responses。Codex 0.137 起已经移除 chat,填 chat 会在启动时直接报 wire_api = "chat" is no longer supported。服务端会把 Responses 请求转成 chat 发上游,工具调用、多轮往返都正常。

  • 如果开着 auto 审批(自动判断命令安不安全),Codex 会额外调一次模型做安全审查。这个审查步骤超时阈值很短,遇到思考型模型(首字要 2–4 秒)偶尔会报 temporarily unavailable (timed out)。解法:把 approval_policy 设成 neveron-request,这一步就不存在了。

五、pi#

pi 的模型配在 <配置目录>/models.json 里,一个 provider 长这样。api 字段决定 base_url 带不带 /v1

{
  "providers": {
    "new-api-half": {
      "baseUrl": "https://new-api.hsfp.cn/v1",
      "api": "openai-completions",
      "apiKey": "sk-你的令牌",
      "compat": {
        "supportsDeveloperRole": false,
        "supportsReasoningEffort": false
      },
      "models": [
        {
          "id": "deepseek-flash",
          "name": "DeepSeek Flash (半价组)",
          "reasoning": true,
          "input": ["text"],
          "contextWindow": 1000000,
          "maxTokens": 384000,
          "cost": { "input": 0.075, "output": 0.3, "cacheRead": 0.0015, "cacheWrite": 0 }
        }
      ]
    }
  }
}

三个要点:

  • apiopenai-completionsbaseUrlhttps://new-api.hsfp.cn/v1;如果填 anthropic-messages(走 /v1/messages)→ baseUrl 就去掉 /v1

  • supportsDeveloperRolesupportsReasoningEffort 都设 false,deepseek 不支持这两个字段,不关掉容易报错。

  • cost 想让它显示的费用和账单一致,就填半价后的单价(单位是每百万 tokens 美元):输入 0.075、输出 0.3、缓存读 0.0015

六、openclaw#

同样是 models.json 里加一个 provider:

{
  "providers": {
    "openai:hsfp": {
      "agentRuntime": { "id": "openai" },
      "baseUrl": "https://new-api.hsfp.cn/v1",
      "apiKey": "sk-你的令牌",
      "models": [
        { "id": "deepseek-flash", "name": "DeepSeek Flash", "capabilities": ["chat", "tools"] }
      ]
    }
  }
}

openclaw 走 OpenAI 兼容接口,所以 baseUrl /v1agentRuntime.idopenai,模型放进 models 数组、capabilities 里带上 tools 就能用工具。

七、常见坑(按出现频率排)#

1. 404 Invalid URL (POST /v1/v1/messages),或者 HEAD /api/hello 404。 base_url 多写了或漏写了 /v1,回去看第二节那张表。这类 404 在面板「日志」里查不到——请求在路由层就被挡掉了,不会写进数据库,所以「日志里没有记录」不代表请求没到服务器。

2. Claude Code 报没有可用模型 / 无可用渠道。 十有八九是漏了 ANTHROPIC_SMALL_FAST_MODEL。它后台的小任务(会话标题、摘要、命令解释)默认要调 claude-3-5-haiku 之类,本站没有这些模型,就会失败。把它也指向 deepseek-flash 即可。

3. 客户端显示的花费比实际贵很多。 Claude Code 的 total_cost_usd 是它按 Anthropic 官方价目表估的,它并不知道后面是 deepseek。实测同一次请求:它显示 $0.102,服务端实际只扣约 $0.0015,差 60 倍左右。以面板账单为准。(pi 可以在 cost 里自己填准价,见第五节。)

4. 报「无权使用该模型」/ 503。 令牌分组和模型不匹配。半价组只有 deepseek-flashdeepseek-v4-flashdeepseek-v4-flash-vision-expdeepseek-v4.1-flash 这几个,要调别的模型换成默认分组的令牌。

5. 思考型模型首字慢,某些客户端的自动审查会超时。 deepseek-flash 默认带思考,首个字要 2–4 秒(高峰偶发 6 秒以上)。这类「拿模型判断命令安不安全」的自动审批步骤(Codex 的 auto 模式等)超时很短,会偶发超时。关掉自动审批,或者客户端支持的话把思考关掉。

6. /v1/messages/count_tokens 返回 404。 本站没实现这个接口。Claude Code 会退回本地估算上下文,不影响对话。

八、一句话总结#

令牌和模型名是通用的,唯一因客户端而异的是 base_url 要不要带 /v1:Anthropic 系(Claude Code、pi 的 anthropic 模式)不带,OpenAI 系(Codex、pi 的 openai 模式、openclaw、各种 GUI)带。剩下的坑基本都是这条的变体,或者忘了设小模型。

配置卡住了把报错原文发我,我这边按 request id 能查到具体卡在哪一步。

引用这篇的地方 1

讨论 0

还没有人说话。

    登录登录后可以参与讨论