configure-openclaw-anyrouter-model-and-fix-baseurl
用于在 OpenClaw 中新增或覆盖 anyrouter 模型配置、把小肠 Agent 默认模型切到 `anyrouter/claude-opus-4-6`,并结合运行日志判断是不是 `baseUrl`、网关兼容、鉴权或协议端点导致不可用。遇到“把某个供应商模型写进 openclaw.json”“切换默认模型”“为什么配置生效了但实际没调用上”“查看 fallback 日志”“排查 403/500/invalid claude code request”“同步 ClaudeCode 配置”这类需求时,就应启用本技能;即使用户没明确说 OpenClaw,只要描述的是本地 Agent 模型路由切换与调用异常排查,也适用。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/can4hou6joeng4/configure-openclaw-anyrouter-model-and-fix-baseurl配置 OpenClaw 的 AnyRouter 模型并修复 baseUrl 可用性
这个技能帮助你把 anyrouter/claude-opus-4-6 正确接入 OpenClaw、切换小肠 Agent 默认模型,并用真实日志与实测调用区分“配置已生效”和“上游实际可用”这两件事。
When to use this skill
- 当你需要把用户提供的一段 JSON 合并进
openclaw.json,并把小肠 / main Agent 的默认模型切到指定供应商模型。 - 当配置看起来已经写对,但运行时仍报
403、500、invalid claude code request,需要结合日志判断是不是baseUrl、协议端点或 key 权限问题。 - 当用户要求“确认当前小肠 Agent 到底是什么模型”“配置是否真的生效”“是否只是 fallback 在回答”。
- 当你还需要顺手检查
ClaudeCode本地配置,避免它仍指向旧网关地址。
Steps
-
先读取当前 OpenClaw 配置基线,再决定是新增还是覆盖
anyrouter。
这样做是为了避免盲写导致已有 provider、默认模型、agent 列表配置被误覆盖。
本次执行中先确认了:- 当前配置里已经存在
anyrouter - 但
baseUrl仍是旧值 - 小肠默认模型仍是
openai-codex/gpt-5.4
- 当前配置里已经存在
-
按用户给定 JSON 覆盖
models.providers.anyrouter,并保留models.mode = "merge"。
保留merge可以让新 provider 配置与现有模型体系共存,而不是整块替换掉其他 providers。
首轮实际写入的关键字段是:{ "models": { "mode": "merge", "providers": { "anyrouter": { "baseUrl": "https://a-ocnfniawgw.cn-shanghai.fcapp.run", "apiKey": "[REDACTED]", "api": "anthropic-messages", "models": [ { "id": "claude-opus-4-6", "name": "Claude Opus 4.6", "reasoning": true, "input": ["text"], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 200000, "maxTokens": 8192 } ] } } } } -
把默认模型切到
anyrouter/claude-opus-4-6,并同时确认agents.defaults与agents.list.main都已对齐。
只改默认值不检查main.model,容易出现“默认写了但主 Agent 仍走旧模型”的假生效。
本次确认后的生效状态是:agents.defaults.model.primary = anyrouter/claude-opus-4-6agents.list.main.model = anyrouter/claude-opus-4-6
-
记录当前密钥写入方式:是环境变量引用,还是明文写入。
这是后续排查权限与可维护性问题的关键,因为“能否解析环境变量”和“key 本身是否可用”是两回事。
本次两种形式都出现过:- 环境变量版:
"apiKey": "${AnyRouterKey}" - 明文版:
"apiKey": "[REDACTED]"
- 环境变量版:
-
重启 OpenClaw,并先回答“当前小肠 Agent 是什么模型”。
先确认静态配置状态,能快速回答用户最关心的问题,也为后续日志比对建立基线。
本次实际结论是:- 当前小肠 Agent:
anyrouter/claude-opus-4-6
- 当前小肠 Agent:
-
当用户怀疑
baseUrl异常时,先查日志,不要只看 JSON。
因为配置写进去只说明路由目标被设置了,不代表上游网关真的兼容该协议与模型。
本次日志里实际出现了:HTTP 500 new_api_error: invalid claude code request provider=anyrouter model=claude-opus-4-6以及:
OpenAI ... failed (403): <html><h1>403 Forbidden</h1>...随后回退为:
requested=anyrouter/claude-opus-4-6 ... next=openai-codex/gpt-5.3-codex -
基于日志判断
fcapp.run链路高概率不兼容后,把baseUrl切回https://anyrouter.top。
这样做不是因为域名“更短”,而是因为日志已经显示原链路存在网关兼容或鉴权异常,继续保留会让所有请求落入 fallback。
修复后保留不变的内容:api = "anthropic-messages"- 模型仍是
claude-opus-4-6 - 小肠默认模型仍是
anyrouter/claude-opus-4-6
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-can4hou6joeng4-configure-openclaw-anyrouter-model-and-fix-baseurl": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
diagnose-openclaw-model-routing-and-fallback-usage
用于分析 OpenClaw 中“某个 provider/模型为什么看起来没被用上”、主模型与 fallback 实际是否生效、以及 ClaudeCodeCLI 协作任务为何中断。遇到这些情况就应触发:用户提到“没请求打到 local-router”“明明注册了模型却没流量”“Agent 到底在用哪个模型”“fallback 有没有发生”“为什么日志里看不到候选切换”“code 143 / SIGTERM / Exec failed”“需要结合当前配置和日志做严谨归因”。也适用于区分“provider 被调用”与“provider 下某个特定模型被调用”这两类常见混淆。
diagnose-scheduled-job-trigger-vs-execution-failure
用于排查“定时任务没执行”这类问题,并区分到底是未触发、已触发但执行失败,还是运行环境/授权失效导致的假象。遇到 cron 异常、任务未跑、自动任务失灵、网关重启后要验证恢复、怀疑是模型导致任务失败、需要查看日志作证、需要给出证据口径、要确认 `deactivated_workspace` / OAuth token 失效 / timeout 是否为根因时,都应触发本技能。也适用于“任务其实有 run 记录,但结果是 error”“想确认调度正常还是执行链路坏了”“修复授权后要做回归验证”等场景。
discord-thread-naming-backstop-workflow
用于执行 Discord 线程命名兜底(backstop)巡检与改名,专门处理某个 guild 下指定 parent channel 中“最近新建但未命名规范”的线程,补上 prehook 漏网,而不是批量回扫历史。遇到“线程重命名兜底”“dispatch 线程命名规范”“只检查最近 20 分钟线程”“JSON 污染标题”“长标题截断”“按规则静默改名或告警”“Discord thread-list / channel-edit / channel-info 重试与一致性检查”等场景时就应触发。即使用户没说 backstop,只要意图是低扰动修正新线程标题,也应使用此技能。
debug-prompt-driven-cron-agent-zero-output
用于排查“定时任务成功执行但结果全为 0 / 未检索到样本 / 明明有数据却日报为空”这类问题,尤其适合 Discord、Obsidian、cron、agentTurn、prompt 驱动任务、日整理、复盘脚本、采样漏扫、thread starter 漏计、主频道消息未纳入、Snowflake 字符串比较、时区时间窗边界等场景。只要用户提到“任务跑通了但产物为空”“怀疑不是分类错而是采样漏了”“想确认 prompt job 是否没有固定源码”“想定位检索链路断点”,就应触发此技能。