
CLIProxyAPI 把「developer 改 system」的两张单都关了,改用一行 payload 配置实现,末尾那个 # 决定改一条还是改全部;sub2api 作者则用新数据撤回了「把同账号重试调小」的推荐,失败率反而从 12.0% 升到 32.3%。
merged 为 false。12payload.override 把 messages 里 role == "developer" 归一成 system。developer 下发 collaboration-mode 这类控制指令(他引了 #7174)。4developer 的那批上游。name 换成你自己的模型名、alias 或通配符:payload:
override:
- models:
- name: "deepseek-*"
protocol: "openai"
params:
'messages.#(role=="developer")#.role': "system"
name 一栏原注释写的是「支持模型名、alias 或通配符」,答复发出两秒后该单被关成 not planned。3# 表示替换所有匹配,含首条与会话中段那条;省略它就只替换第一条。developer 时什么都不改;命中也只改 role 一个字段,content、tool_calls、消息顺序都不动。/v1/responses 转换时生效,就在 models 条目下加 from-protocol: "responses";不填则两个入口都生效。
openai_compat_executor.go 第 168–182 行:第 174 行是 payload 规则调用,第 176 行才 http.NewRequestWithContext。两行紧挨着,就是「改的是发出去的 body、且发生在翻译之后」的凭据。protocol 指目标协议。openai-compat 执行器的 to 恒为 openai(第 128 行),所以照抄示例里的 protocol: "openai" 就对。# 是 CLIProxyAPI 自己展开的,不是 gjson 原生语法,这点最容易想当然。8resolvePayloadRulePaths(第 559 行)先按 #( 把路径切开,再对每条 base 路径取数组、逐个元素跑条件。第 591–593 行的 if !allMatches { break },就是「没写 # 只改第一条」的来源;第 597–599 行在一条都没展开时返回 nil,对应「请求里没有 developer 就什么都不改」。
payload_helpers.go 第 559–602 行:第 591–593 行的 break 决定「无 # 只改第一条」,第 597–599 行在展开结果为空时返回 nil——末尾那个符号的两种结局都在这一屏里。8#(role=="developer")。所以你能写的条件就是 gjson 的查询语法,不止等于。9to 不是 openai,不吃这条规则。name: "*"。那正是维护者否掉补丁的理由——它会把所有 openai-compatibility 上游一起改,而其中有些上游原生就认 developer。recheck(16:36,作者自己发的)。10max_capacity_shed_same_account_retries 设成 1,然后撞上第二波严重过载(13:10–13:50,多为 gpt-6.1-sol)。结果最终失败率从 12.0%(4 事件 / 308 请求)升到 32.3%(1 事件 / 130 请求);同账号单次成功率 11.0% → 7.7%;换号首试 13.8% → 5.0%。
git ls-remote 显示 CLIProxyAPI 的 HEAD、main 与 v8.0.51 同指 7cad1cb7,dev 停在 06ec5eac,窗口内没有新提交。new.json 返回 403,未取到内容,正文不引它的说法。protocol 保持 openai;只想管 /v1/responses 就加 from-protocol: "responses"。github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.