功能指南

会话亲和

文档最后更新于 2026年10月16日 02:29

用请求头 X-CA-Session-ID 让同一会话的多轮请求固定在同一条线路上,以及续接、重置与相关错误码。

同一个模型名背后有多条线路,网关默认按可用性自动分配。多轮对话、Agent 长任务、用 previous_response_id 续接时,往往希望整段会话都落在同一条线路上(思考签名、缓存、上游保存的会话状态都能沿用)。这就是会话亲和:网关把会话和第一次成功的线路绑定,之后同一会话的请求优先发往这条线路。

本站已开启会话亲和。 这是软亲和:带同一个 X-CA-Session-ID 的请求优先回到原线路,原线路报错时照常换线路完成本次请求(续接请求除外,见下文「线路不可用时」);带该请求头时,响应里会返回 X-CA-Session-* 响应头。

怎么用

本页示例为海外模型,地址用国外通道 https://acapi.top;换成国内通道 https://api.acapi.top 同样可用,两个地址均可用,见 调用地址。

在请求头加 X-CA-Session-ID,同一会话的每一轮都带同一个值:

bash
curl https://acapi.top/v1/responses \
  -H "Authorization: Bearer sk-xxxxxx" \
  -H "X-CA-Session-ID: my-task-20261004-001" \
  -H "content-type: application/json" \
  -d '{"model": "gpt-6.1-sol", "input": "先列出提纲"}'

响应头示例(第一次绑定代号为 1;下一轮可用 X-CA-Session-Reset: 1 主动重置):

http
HTTP/1.1 200 OK
content-type: application/json
X-CA-Session-Generation: 1
请求头 / 响应头说明
X-CA-Session-ID(请求)会话标识,自己生成:1–128 位字母、数字、. _ -,每个请求只能带一个。绑定按「API Key + 模型 + 协议 + 会话标识」区分,不同 Key 或不同模型互不影响
X-CA-Session-Generation(响应)当前绑定的代号(整数)。会话换绑一次,代号加一
X-CA-Session-Reset(请求)主动重置绑定:值填最近一次响应里的 X-CA-Session-Generation,网关会为该会话重新选择线路。只能和 X-CA-Session-ID 一起用,续接请求(带 previous_response_id)不能重置
X-CA-Session-Mode(响应,可能出现)excluded:该模型不使用会话绑定,本次按普通请求自动分配;degraded-config:会话服务暂时降级,本次按普通请求处理

绑定多久

  • ·带 `X-CA-Session-ID`:24 小时内有成功请求就一直有效;超过 24 小时没有成功请求,再用同一个标识会返回 409 session_expired,换一个新标识或用 X-CA-Session-Reset 重置即可。
  • ·不带 `X-CA-Session-ID`:网关仍会对同一 Key、同一模型的连续请求做轻量亲和,2 小时内没有成功请求就重新选择线路。
  • ·绑定不会因为请求次数或 token 数而切换线路。

线路不可用时

  • ·普通请求(不续接上一轮):绑定的线路这一次全部失败时,网关自动换一条线路完成本次请求,并把会话换绑到新线路(X-CA-Session-Generation 加一)。
  • ·连续失败自动解绑:绑定的线路在短时间内连续失败达到阈值后,网关自动解除该会话的绑定,下一请求按普通请求重新选择线路并重新绑定;客户端不需要处理。
  • ·福利版不绑定:*-free 模型不使用会话绑定(响应头 X-CA-Session-Mode: excluded),每次按普通请求自动分配。
  • ·续接请求(带 previous_response_id 等上游保存的状态):只能发往原线路,原线路不可用时返回 503 session_supplier_unavailable,请稍后重试或开新会话。
  • ·上游已经接收的请求不会被网关自动重发(无论是否有会话),避免重复执行和重复计费。

支持范围

会话亲和对 /v1/chat/completions、/v1/messages、/v1/responses 都生效。/v1/responses 的 previous_response_id 续接已覆盖本站提供 Responses 原生线路的 GPT 模型(含 gpt-6-sol、gpt-6.1-sol)。会话内 gpt-6 系带 tools 走 Chat Completions 时,网关仍会在同一条线路上自动改走 Responses,不会换线路。会话绑定下同样允许协议转换承接(例如用 /v1/messages 调 GPT、用 /v1/responses 调 Claude),同一会话仍固定回到同一条线路;只有续接请求(带 `previous_response_id`)必须落在原生线路。由平台转换承接的 Responses 请求不保存会话状态,不能用它的 id 续接(会返回 409 session_state_unbound),请在请求里自带历史或新开会话。

会话相关错误(session_*)都在发往上游之前返回,不扣费,绑定保持不变。完整列表见 错误码 的「会话绑定错误码」。

共 30 篇文档。文中出现的模型名与价格以模型广场的实时数据为准。