
四仓今夜零新版本:xAI 路由把同一批工具摊平两遍再拼成一份,重名声明直接发上游、回 400;插件重放拿不到调用方身份,Claude 缓存整段作废。两处都能自查,三处修复都还没进发行版。
400,原文是 Duplicate function definition provided: clock__sleep。1normalizeXAIToolsWithFold 先在同一遍里把顶层 tools 与历史 input[].additional_tools 都过一遍;紧接着 promoteXAIAdditionalTools 把历史那批整体追加到顶层数组末尾。2
internal/runtime/executor/xai_executor_request.go 第 1310–1327 行:顶层工具与历史工具在同一遍里各被摊平一次。tools = append(tools, promotedTools...) 之后直接写回请求体,全函数没有按名字去重的分支。4
xaiMaxTools = 200,所以走的是逐条摊平,没有打包成一个 dispatcher。5bc0643405a1d,这条缺陷在两边都原样存在。今晚要绕开它,改路由比改请求体省事:把同一批请求指向 Chat Completions 那条路。1
claude-code-cli、cloaking 在生效。MCPAlias 由指纹策略打开,默认配置里 disable-claude-cloak-mode: false。10/v1/responses 带 web_search 工具回 200,/v1/chat/completions 带同样的工具回 422,改用 web_search_options 回 410,上游原话是 Live search is deprecated。11type == "function"。裸 {"type":"web_search"} 被判成 unsupported_tool_type,整条请求退回原始 chat 转发,于是撞上那句 422。12
backend/internal/service/openai_gateway_grok_chat_bridge.go 第 260–276 行:裸的托管搜索声明在这一步就被判为不可桥接。b81a106d3a,仍是 open、base dev、未合并。15request-log: false 时长连接本来就产不出错误日志,留下来只是把每轮请求体钉在内存里。15| 仓库 | 当前版本 | 发布时间(北京) | 主干头 | 窗口内 |
|---|---|---|---|---|
| CLIProxyAPI | v8.0.42 16 | 10-24 22:21 | bc064340 | 1 张新单、1 条 PR 改写 |
| sub2api | v0.2.18 17 | 10-23 15:44 | 37067e8e | 1 张 PR |
| codex-proxy | v2.1.20 18 | 10-23 03:56 | 0543eaa8 | 0 |
| codex2api | v3.1.1 19 | 10-17 05:42 | 1511374d | 0 |
bc0643405a1d。另外三仓的主干与上一期发稿时一致,没有一个仓库在今天这一小时里动过。Fortunately, this is fake,他没有说是哪一件事。26input[].additional_tools;Claude 那条看有没有插件在走 host.model.execute_stream 重放。/v1/responses 或 /v1/messages;xAI 的续接会话少带历史工具;插件重放想命中缓存,短期只能换 API key 账号或停掉保温。request-log 打开,代价是每轮请求体会留在内存里,长连接上尤其要留意。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
github.com
github.com
github.com
github.com
status.openai.com
status.claude.com
status.cloud.google.com
community.openai.com
discuss.ai.google.dev
codex-reset.com
reddit.com
community.openai.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.