ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

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

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/can4hou6joeng4/configure-openclaw-anyrouter-model-and-fix-baseurl
Or

配置 OpenClaw 的 AnyRouter 模型并修复 baseUrl 可用性

这个技能帮助你把 anyrouter/claude-opus-4-6 正确接入 OpenClaw、切换小肠 Agent 默认模型,并用真实日志与实测调用区分“配置已生效”和“上游实际可用”这两件事。

When to use this skill

  • 当你需要把用户提供的一段 JSON 合并进 openclaw.json,并把小肠 / main Agent 的默认模型切到指定供应商模型。
  • 当配置看起来已经写对,但运行时仍报 403500invalid claude code request,需要结合日志判断是不是 baseUrl、协议端点或 key 权限问题。
  • 当用户要求“确认当前小肠 Agent 到底是什么模型”“配置是否真的生效”“是否只是 fallback 在回答”。
  • 当你还需要顺手检查 ClaudeCode 本地配置,避免它仍指向旧网关地址。

Steps

  1. 先读取当前 OpenClaw 配置基线,再决定是新增还是覆盖 anyrouter
    这样做是为了避免盲写导致已有 provider、默认模型、agent 列表配置被误覆盖。
    本次执行中先确认了:

    • 当前配置里已经存在 anyrouter
    • baseUrl 仍是旧值
    • 小肠默认模型仍是 openai-codex/gpt-5.4
  2. 按用户给定 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
              }
            ]
          }
        }
      }
    }
    
  3. 把默认模型切到 anyrouter/claude-opus-4-6,并同时确认 agents.defaultsagents.list.main 都已对齐。
    只改默认值不检查 main.model,容易出现“默认写了但主 Agent 仍走旧模型”的假生效。
    本次确认后的生效状态是:

    • agents.defaults.model.primary = anyrouter/claude-opus-4-6
    • agents.list.main.model = anyrouter/claude-opus-4-6
  4. 记录当前密钥写入方式:是环境变量引用,还是明文写入。
    这是后续排查权限与可维护性问题的关键,因为“能否解析环境变量”和“key 本身是否可用”是两回事。
    本次两种形式都出现过:

    • 环境变量版:"apiKey": "${AnyRouterKey}"
    • 明文版:"apiKey": "[REDACTED]"
  5. 重启 OpenClaw,并先回答“当前小肠 Agent 是什么模型”。
    先确认静态配置状态,能快速回答用户最关心的问题,也为后续日志比对建立基线。
    本次实际结论是:

    • 当前小肠 Agent:anyrouter/claude-opus-4-6
  6. 当用户怀疑 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
    
  7. 基于日志判断 fcapp.run 链路高概率不兼容后,把 baseUrl 切回 https://anyrouter.top
    这样做不是因为域名“更短”,而是因为日志已经显示原链路存在网关兼容或鉴权异常,继续保留会让所有请求落入 fallback。
    修复后保留不变的内容:

    • api = "anthropic-messages"
    • 模型仍是 claude-opus-4-6
    • 小肠默认模型仍是 anyrouter/claude-opus-4-6

Metadata

Stars4072
Views0
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-configure-openclaw-anyrouter-model-and-fix-baseurl": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.

Related Skills

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

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

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