@truett 在 claude code /v1/messages 转OpenAI /v1/responses 时的缓存问题(可以魔改sub2api) 中发帖
把 /v1/messages 请求转换成 /v1/responses 请求时,除了转换:
model
system
messages
tools
这些结构字段外,还应该处理好缓存相关参数。
其中一个关键点是:
prompt_cache_key 要写到 /v1/responses 的请求体顶层
最终生成的 /v1/responses 请求体应该是这种形式:
{
“model”: “gpt-5.4”,
“input”: […],
“stream”: true,
“prompt_cache_key”: “xxx”
}
这里的 prompt_cache_key 是 请求体参数,需要显式写进去。
———
这个值怎么得到
转换 /v1/messages 时,可以按这个顺序生成 prompt_cache_key:
1. 先取现成的会话标识
优先从请求头读取:
sessi...