这个技能帮助你把 OpenClaw 的 Agent 配置、provider 注册信息和运行日志串起来,判断“请求到底发到了哪里、为什么某个模型没有被实际使用、fallback 是否真的发生过”,并补充分析 ClaudeCodeCLI 协作执行中断的根因。
Exec failed、code 143、中途被杀、无 stdout 等现象,需要给出可执行的规避方案。local-router 这个 provider 是否被请求命中local-router/claude-opus-4-6-thinking 这个具体模型是否被 Agent 主链或 fallback 链使用main、coder、writer 当前绑定的模型。main → local-router/gpt-5.4coder → local-router/gpt-5.4writer → local-router/gpt-5.4agents.defaults.model 的 primary 和 fallbacks。local-router/gpt-5.4aigocode-gpt/gpt-5.4-codexopenai-codex/gpt-5.4local-router/gpt-5.3-codexaigocode-gpt/gpt-5.3-codexlocal-router/claude-opus-4-6-thinking 所在位置。models.providers.local-router.models[]provider 中存在 只表示“可选”,不表示“当前执行链会使用”。local-router/claude-opus-4-6-thinking,那“感觉没流量”是正确的local-router/gpt-5.4,所以请求确实在打 local-router provider。OpenClaw fallback model: gpt-5.4 via http://localhost:8317/v1requested=local-router/claude-opus-4-6-thinkingcandidate_failed... reason=rate_limitaigocode-gpt/gpt-5.4-codexmemos-local-openclaw-plugin 的 summarizer 使用 claude-sonnet-4-6http://localhost:8317/v12026-03-14T05:32:22.073+08:00embedded run agent endisError=truemodel=gpt-5.4provider=local-routererror=500 Post "https://chatgpt.com/backend-api/codex/responses": EOFrequested=local-router/gpt-5.4 → 0 条candidate_failed requested=local-router/gpt-5.4 → 0 条candidate_succeeded requested=local-router/gpt-5.4 → 0 条OpenClaw fallback model: gpt-5.4 via http://localhost:8317/v1 不能直接当作 fallback 发生证据local-router/gpt-5.4 是当前主模型Exec failed (..., code 143) 进行归因。143 = 128 + 15SIGTERMmild-breezefailedstdin / heredoc / pipeline 方式不稳/tmp/claude_review_prompt.txtclaude -p < /tmp/claude_review_prompt.txt```bash
claude -p... > /tmp/claude_review_output.txt 2>/tmp/claude_review_error.txt
```
```bash
claude -p "reply with OK"
```
❌ 看到 provider 里注册了某模型,就认定它在被使用
→ 失败原因:models.providers.local-router.models[] 只能证明“可用”,不能证明“某个 Agent 正在引用它”
✅ 先查 Agent 主模型和 fallback 链,再判断模型是否真在执行链路中
❌ 把“没打到 local-router/claude-opus-4-6-thinking”理解成“没打到 local-router provider”
→ 失败原因:provider 命中和具体模型命中是两层概念
✅ 分别判断 provider 流量和模型流量;当前确实在打 local-router,但主走的是 local-router/gpt-5.4
❌ 只看当前 provider 声明,不看 fallback 链
→ 失败原因:某模型不在 fallback 链里,就算主模型失败也不会自然切过去
✅ 核对 agents.defaults.model 的完整 fallback 列表
❌ 看到 OpenClaw fallback model: gpt-5.4 via http://localhost:8317/v1 就断言“本次请求发生了 fallback”
→ 失败原因:这类日志更像配置/调试打印,不一定是逐请求决策日志
✅ 以 requested=...、candidate_failed、candidate_succeeded 这类更强证据为准
❌ 因为没查到标准 fallback 日志,就断言“完全没有 fallback”
→ 失败原因:日志打点可能不完整,错误也可能发生在 provider 适配器层
✅ 表述为“当前没有看到清晰完整的 fallback 决策证据”,避免过度结论
❌ 把一次 500 EOF 失败忽略掉,继续说“所有请求都成功”
→ 失败原因:只要存在一条明确失败日志,就足以推翻“全成功”
✅ 先确认是否有任意失败样本,再谈成功率和 fallback 概率
❌ 把 code 143 当作 ClaudeCodeCLI 自身功能错误
→ 失败原因:143 通常是 SIGTERM,更像外层调度/会话终止
✅ 优先从 exec 包装层、会话回收、超时策略和 stdin 生命周期分析
❌ 直接前台等待长任务 stdout 作为唯一结果来源
→ 失败原因:会话被回收时,stdout 常常拿不到,导致“任务做了但结果丢了”
✅ 把 stdout/stderr 都落盘,并用后台轮询接回结果
❌ 用 heredoc / stdin 重定向跑长时间 CLI,而不做探针
→ 失败原因:包装层对子进程树和输入流生命周期不稳定
✅ 先跑 claude -p "reply with OK" 探针,再启动正式任务
agents:
main:
model: local-router/gpt-5.4
coder:
model: local-router/gpt-5.4
writer:
model: local-router/gpt-5.4
defaults:
model:
primary: local-router/gpt-5.4
fallbacks:
- aigocode-gpt/gpt-5.4-codex
- openai-codex/gpt-5.4
- local-router/gpt-5.3-codex
- aigocode-gpt/gpt-5.3-codex
models:
providers:
local-router:
models:
- local-router/gpt-5.4
- local-router/gpt-5.3-codex
- local-router/claude-opus-4-6-thinking
- claude-sonnet-4-6
local-router/gpt-5.4 并非全成功2026-03-14T05:32:22.073+08:00
embedded run agent end
isError=true
model=gpt-5.4
provider=local-router
error=500 Post "https://chatgpt.com/backend-api/codex/responses": EOF
requested=local-router/claude-opus-4-6-thinking
candidate_failed... reason=rate_limit
fallback -> aigocode-gpt/gpt-5.4-codex
requested=local-router/gpt-5.4 -> 0
candidate_failed requested=local-router/gpt-5.4 -> 0
candidate_succeeded requested=local-router/gpt-5.4 -> 0
memos-local-openclaw-plugin summarizer:
model = claude-sonnet-4-6
endpoint = http://localhost:8317/v1
session = mild-breeze
status = failed
duration ≈ 3m1s
Exec failed (..., code 143)
claude -p < /tmp/claude_review_prompt.txt
claude -p... > /tmp/claude_review_output.txt 2>/tmp/claude_review_error.txt
claude -p "reply with OK"
agents.mainagents.coderagents.writeragents.defaults.modelmodels.providers.local-router.models[]claude CLI,并允许将输出重定向到临时文件。code 143 的分析依赖类 Unix 退出码语义:143 = 128 + 15 = SIGTERM。references/claudecodecli-exit-code-143-sigterm-reference.md — reference documentationreferences/openclaw-fallback-log-interpretation-reference.md — reference documentation共 1 个版本