文档

API 参数与推理能力

按 CCSub 当前真实实现整理 Chat Completions、Responses 与 Anthropic Messages 的参数支持范围,并说明推理、工具调用、结构化输出该选哪个入口。

先选对接口

CCSub 同时提供兼容接口和原生接口。普通聊天应用优先使用 OpenAI Chat Completions;Codex 和 Claude Code 这类 Agent 若需要完整工具调用、推理参数及多轮工具结果,应使用对应的原生入口。

用途请求地址建议
OpenAI 兼容聊天POST /v1/chat/completions适合 Cherry Studio、OpenCode、Cursor 等通用客户端
OpenAI Responses 兼容POST /v1/responses会经过格式转换;一般兼容调用可用
Codex 原生 ResponsesPOST /openai/responses需要原生工具、推理事件或连续 Agent 会话时推荐
Anthropic Messages 兼容POST /v1/messages适合遵循 Anthropic 基础消息格式的客户端
Claude Code 原生 MessagesPOST /api/v1/messagesClaude Code、原生工具调用和 thinking 参数推荐
所有接口都使用 CCSub API Key。OpenAI 风格通常发送 Authorization: Bearer sk-...;Anthropic 风格同时兼容 Authorizationx-api-key

Chat Completions 参数

/v1/chat/completions 以 OpenAI Chat Completions 请求体为基准。由于请求可能被调度到不同协议的上游,部分采样参数会被转换或忽略;下表是 CCSub 可以稳定承诺的行为。

参数支持情况CCSub 行为
model支持填写模型页展示的公开模型 ID
messages支持支持 systemdeveloperuserassistant 等常用角色
stream支持true 返回 SSE;false 返回完整 JSON
max_tokens支持限制最大输出 Token;未填写时使用站点默认上限
max_completion_tokens支持作为 max_tokens 的兼容别名处理
tools基础支持支持 OpenAI function tool 声明并转换到目标协议;复杂多轮工具链推荐原生接口
response_format兼容支持支持 json_objectjson_schema;跨协议时通过指令约束并校验结果,不等同于所有上游原生 JSON Schema
temperature / top_p / stop视线路而定目标协议支持时转发;不支持的线路可能移除或忽略
reasoning_effort / reasoning不作统一保证兼容转发时可能被移除;需要推理控制请使用原生接口
stream_options / n / logprobs / 惩罚参数不作统一保证在部分上游转换中会被移除,应用不应依赖这些字段

Codex 原生 Responses 参数

原生入口 https://ccsub.xyz/openai/responses 保留 OpenAI Responses 请求和 SSE 事件结构。CCSub 只补充缺省模型/输出上限并完成鉴权、路由与计费,不把请求降级成 Chat Completions。

常用字段包括:

  • model:公开 GPT / Codex 模型 ID
  • inputinstructions:字符串或 Responses 输入项
  • max_output_tokensstream
  • toolstool_choiceparallel_tool_calls
  • reasoningtext 等模型原生配置
  • function_call_output 等后续轮次输入项

参数是否被具体模型接受,仍以该模型的原生 Responses 能力为准。推荐 Codex 配置:

model = "gpt-5.6-sol"
model_provider = "ccsub"

[model_providers.ccsub]
name = "CCSub"
base_url = "https://ccsub.xyz/openai"
env_key = "CCSUB_API_KEY"
wire_api = "responses"

Claude 原生 Messages 参数

原生入口 https://ccsub.xyz/api/v1/messages 保留 Anthropic Messages 请求体和 SSE 事件。Claude Code 把 Base URL 设置为 https://ccsub.xyz/api 后会自动拼接 /v1/messages

常用字段包括:

  • modelmessagessystem
  • max_tokensstream
  • toolstool_choice,以及消息中的 tool_use / tool_result
  • thinking:使用 Anthropic 原生结构控制扩展思考
  • temperaturetop_ptop_kstop_sequencesmetadata
curl https://ccsub.xyz/api/v1/messages \
  -H "Authorization: Bearer sk-你的CCSub密钥" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 2048,
    "thinking": {"type": "enabled", "budget_tokens": 1024},
    "messages": [{"role": "user", "content": "分析这个问题"}]
  }'
thinking 的可用取值与约束由具体 Claude 模型决定;CCSub 不会把它自动换算成 OpenAI 的 reasoning_effort

推理参数:与统一翻译网关的差别

有些聚合网关提供一套跨厂商推理规范:接收 reasoning_effortreasoning.effortreasoning.max_tokens,再自动映射到 GPT、Claude、Gemini 等模型,并额外返回 reasoning_content / reasoning_details

CCSub 当前没有做这层跨厂商统一映射,而是优先保持官方协议:

能力统一翻译网关CCSub 当前行为
跨厂商 reasoning_effort 映射自动换算不统一换算
精确 thinking budget可由统一字段换算Claude 原生接口直接使用 thinking
GPT 推理配置统一字段Responses 原生接口直接使用 reasoning
reasoning_content / reasoning_details网关自定义统一返回不承诺这两个扩展字段;返回模型原生事件与字段
多轮工具调用由网关转换推荐用对应厂商的原生工具格式,减少转换损失

因此,从提供统一 reasoning_effort 的平台迁移时,不要默认这些扩展字段在 CCSub 兼容端点具有相同行为。把 GPT Agent 切到 /openai/responses,把 Claude Agent 切到 /api/v1/messages,并使用各自官方参数。

最小调用示例

通用 OpenAI Chat Completions:

curl https://ccsub.xyz/v1/chat/completions \
  -H "Authorization: Bearer sk-你的CCSub密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [{"role": "user", "content": "只回复 OK"}],
    "max_tokens": 64,
    "stream": false
  }'

原生 OpenAI Responses 推理请求:

curl https://ccsub.xyz/openai/responses \
  -H "Authorization: Bearer sk-你的CCSub密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "比较两种实现并给出结论",
    "reasoning": {"effort": "medium"},
    "max_output_tokens": 1024,
    "stream": true
  }'

响应、计费与错误

  • 兼容接口返回对应的 OpenAI Chat、Responses 或 Anthropic Messages JSON/SSE 结构。
  • 原生接口保留工具调用和终止事件;流式客户端应读取到完整终止事件后再结束本轮。
  • 只有确认上游产生可用输出或带用量的 Token 上限结束时才会计费;线路连接失败和无效空响应不会按成功调用扣费。
  • 401 通常表示 API Key 无效,402 表示 CCSub 余额不足,429 表示请求过于频繁,5xx 表示线路暂时不可用。

可通过 使用记录 核对每次请求的 Token 与费用;持续异常请参考 故障排查