(无侵入版本)Any牌路由器 SubAgent 和 Haiku 模型无法正常调用的解决办法
- 内容介绍
- 文章标签
- 相关推荐
基于哈雷彗星大佬 原帖 #1991311 的优化版。原方案用 AST 补丁改 cli.js,每次 Claude Code 升级都得重打;本版不动 Claude Code 本体,外挂一个本地反向代理,Claude Code 升级自动生效,还顺带兼容 v2.1.116+ 新的请求形态。
问题回顾(两种形态)
Claude Code 的 SubAgent 请求在不同版本里,发给 AnyRouter 的 thinking 字段有两种错配形态,AnyRouter(new-api 后端)对 Haiku / Opus 4.7 [1M] / Sonnet 4.6 这些 reasoning 模型都会 500(nil pointer dereference):
-
v2.1.112 ~ v2.1.115:cli.js 里 SubAgent 启动器
_u把 thinking 硬编码为{type:"disabled"}:thinkingConfig: D ? _.options.thinkingConfig : { type: "disabled" }D = useExactTools只有 Fork agent 为 true,所有带subagent_type的 SubAgent 永远走 disabled 分支。 -
v2.1.116+:SubAgent 请求完全不带 thinking 字段(
thinking absent)。但 AnyRouter 对 Haiku 仍要求 thinking 字段存在 —— 缺失就直接 crash。
基于哈雷彗星大佬 原帖 #1991311 的优化版。原方案用 AST 补丁改 cli.js,每次 Claude Code 升级都得重打;本版不动 Claude Code 本体,外挂一个本地反向代理,Claude Code 升级自动生效,还顺带兼容 v2.1.116+ 新的请求形态。
问题回顾(两种形态)
Claude Code 的 SubAgent 请求在不同版本里,发给 AnyRouter 的 thinking 字段有两种错配形态,AnyRouter(new-api 后端)对 Haiku / Opus 4.7 [1M] / Sonnet 4.6 这些 reasoning 模型都会 500(nil pointer dereference):
-
v2.1.112 ~ v2.1.115:cli.js 里 SubAgent 启动器
_u把 thinking 硬编码为{type:"disabled"}:thinkingConfig: D ? _.options.thinkingConfig : { type: "disabled" }D = useExactTools只有 Fork agent 为 true,所有带subagent_type的 SubAgent 永远走 disabled 分支。 -
v2.1.116+:SubAgent 请求完全不带 thinking 字段(
thinking absent)。但 AnyRouter 对 Haiku 仍要求 thinking 字段存在 —— 缺失就直接 crash。

