ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

diagnose-openclaw-model-routing-and-fallback-usage

用于分析 OpenClaw 中“某个 provider/模型为什么看起来没被用上”、主模型与 fallback 实际是否生效、以及 ClaudeCodeCLI 协作任务为何中断。遇到这些情况就应触发:用户提到“没请求打到 local-router”“明明注册了模型却没流量”“Agent 到底在用哪个模型”“fallback 有没有发生”“为什么日志里看不到候选切换”“code 143 / SIGTERM / Exec failed”“需要结合当前配置和日志做严谨归因”。也适用于区分“provider 被调用”与“provider 下某个特定模型被调用”这两类常见混淆。

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/can4hou6joeng4/diagnose-openclaw-model-routing-and-fallback-usage
Or

诊断 OpenClaw 的模型路由、fallback 使用情况与 CLI 中断原因

这个技能帮助你把 OpenClaw 的 Agent 配置、provider 注册信息和运行日志串起来,判断“请求到底发到了哪里、为什么某个模型没有被实际使用、fallback 是否真的发生过”,并补充分析 ClaudeCodeCLI 协作执行中断的根因。

When to use this skill

  • 当用户怀疑“模型明明配置了,但实际没在跑”,需要区分“已注册可用”与“已绑定到执行链路”。
  • 当用户要你结合 OpenClaw 当前配置和日志,判断主模型、fallback 链、provider 命中情况,而不是只做静态配置解读。
  • 当用户问“是否所有请求都成功”“有没有进入 fallback”“为什么感觉都在走 GPT / 没走 Claude”。
  • 当 OpenClaw 调起 ClaudeCodeCLI 失败,出现 Exec failedcode 143、中途被杀、无 stdout 等现象,需要给出可执行的规避方案。

Steps

  1. 先区分用户到底在问“provider 没被调用”,还是“provider 下某个模型没被调用”

    • 要做什么:先把问题拆成两层再分析:
      • local-router 这个 provider 是否被请求命中
      • local-router/claude-opus-4-6-thinking 这个具体模型是否被 Agent 主链或 fallback 链使用
    • 为什么:这两件事最容易被混为一谈;provider 有流量,不代表 provider 里的每个模型都有流量。
  2. 读取当前各 Agent 的主模型配置

    • 要做什么:核对 maincoderwriter 当前绑定的模型。
    • 已验证结论:
      • mainlocal-router/gpt-5.4
      • coderlocal-router/gpt-5.4
      • writerlocal-router/gpt-5.4
    • 为什么:用户的体感常来自“回答风格不像预期模型”,而主模型配置是最直接的证据链起点。
  3. 读取默认 fallback 链,而不是只看 provider 的 models 列表

    • 要做什么:核对 agents.defaults.model 的 primary 和 fallbacks。
    • 已验证结论:
      • primary: local-router/gpt-5.4
      • fallbacks:
        1. aigocode-gpt/gpt-5.4-codex
        2. openai-codex/gpt-5.4
        3. local-router/gpt-5.3-codex
        4. aigocode-gpt/gpt-5.3-codex
    • 为什么:模型是否“会自然切到某个候选”,取决于 fallback 链有没有引用它,而不是 provider 是否声明过它可用。
  4. 检查目标模型只是“已注册”,还是“已绑定”

    • 要做什么:确认 local-router/claude-opus-4-6-thinking 所在位置。
    • 已验证结论:
      • 它存在于 models.providers.local-router.models[]
      • 但当前没有任何 Agent 主模型引用它
      • 默认 fallback 链也没有引用它
    • 为什么:provider 中存在 只表示“可选”,不表示“当前执行链会使用”。
  5. 给出第一层诊断结论:为什么用户感觉没请求发到某个模型

    • 要做什么:明确输出这类结论:
      • 如果用户特指 local-router/claude-opus-4-6-thinking,那“感觉没流量”是正确的
      • 因为它当前既不是主模型,也不在默认 fallback 链里
    • 为什么:这能把“错觉”变成“配置导致的必然结果”,降低误判。
  6. 同时纠正另一种常见误解:不能把“没打到目标模型”误说成“没打到 provider”

    • 要做什么:说明当前主模型本身就是 local-router/gpt-5.4,所以请求确实在打 local-router provider。
    • 已验证线索:
      • 日志中大量出现:OpenClaw fallback model: gpt-5.4 via http://localhost:8317/v1
    • 为什么:用户往往观察的是模型风格或某个具体模型名,而不是 provider 维度的流量。
  7. 补充历史与当前状态的区别,避免把旧日志当成当前事实

    • 要做什么:如果系统里有历史上目标模型被调用的痕迹,要明确说明“曾经用过”不等于“现在还在用”。
    • 已验证历史线索:
      • 曾出现过 requested=local-router/claude-opus-4-6-thinking
      • 曾出现 candidate_failed... reason=rate_limit
      • 然后 fallback 到 aigocode-gpt/gpt-5.4-codex
    • 为什么:日志回看很容易把旧配置时期的调用轨迹误判为当前链路。
  8. 检查辅助链路,避免只盯主 Agent

    • 要做什么:同时看 memory/plugin 等辅助组件的模型。
    • 已验证线索:
      • memos-local-openclaw-plugin 的 summarizer 使用 claude-sonnet-4-6
      • endpoint 为 http://localhost:8317/v1
    • 为什么:系统可能“用了 local-router”,但用在插件辅助链路,而不是主 Agent;这会影响用户体感。

Metadata

Stars4072
Views1
Updated2026-04-13
View Author Profile
AI Skill Finder

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 skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-can4hou6joeng4-diagnose-openclaw-model-routing-and-fallback-usage": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.

Related Skills

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 模型路由切换与调用异常排查,也适用。

can4hou6joeng4 4072

diagnose-scheduled-job-trigger-vs-execution-failure

用于排查“定时任务没执行”这类问题,并区分到底是未触发、已触发但执行失败,还是运行环境/授权失效导致的假象。遇到 cron 异常、任务未跑、自动任务失灵、网关重启后要验证恢复、怀疑是模型导致任务失败、需要查看日志作证、需要给出证据口径、要确认 `deactivated_workspace` / OAuth token 失效 / timeout 是否为根因时,都应触发本技能。也适用于“任务其实有 run 记录,但结果是 error”“想确认调度正常还是执行链路坏了”“修复授权后要做回归验证”等场景。

can4hou6joeng4 4072

discord-thread-naming-backstop-workflow

用于执行 Discord 线程命名兜底(backstop)巡检与改名,专门处理某个 guild 下指定 parent channel 中“最近新建但未命名规范”的线程,补上 prehook 漏网,而不是批量回扫历史。遇到“线程重命名兜底”“dispatch 线程命名规范”“只检查最近 20 分钟线程”“JSON 污染标题”“长标题截断”“按规则静默改名或告警”“Discord thread-list / channel-edit / channel-info 重试与一致性检查”等场景时就应触发。即使用户没说 backstop,只要意图是低扰动修正新线程标题,也应使用此技能。

can4hou6joeng4 4072

debug-prompt-driven-cron-agent-zero-output

用于排查“定时任务成功执行但结果全为 0 / 未检索到样本 / 明明有数据却日报为空”这类问题,尤其适合 Discord、Obsidian、cron、agentTurn、prompt 驱动任务、日整理、复盘脚本、采样漏扫、thread starter 漏计、主频道消息未纳入、Snowflake 字符串比较、时区时间窗边界等场景。只要用户提到“任务跑通了但产物为空”“怀疑不是分类错而是采样漏了”“想确认 prompt job 是否没有固定源码”“想定位检索链路断点”,就应触发此技能。

can4hou6joeng4 4072