遇到任务失败需先区分服务层还是执行层问题:首行日志【agent failed before reply】为服务层故障,【executing tool: xxx】则属本地工具执行失败;须用--verbose启动并验证模型网关与taotoken健康状态,再通过validate、debug打印和手动执行三步定位工具问题。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在 AionClaw 中执行任务时遇到失败,必须快速区分是模型没想对(服务层问题),还是工具根本没跑起来(本地执行层问题),否则排查会陷入无意义的循环——比如反复重配 API Key,其实工具函数连进程都没启。
看日志第一行关键标识
启动 AionClaw 时务必加 --verbose 参数:openclaw start --verbose。终端滚动日志中,首行出现 【agent failed before reply】 表示请求压根没触达模型服务,卡在认证、代理或网络环节;若首行是 【executing tool: xxx】,说明模型已输出结构化调用指令,问题一定出在本地工具执行阶段。
这一步不能靠截图或网页控制台判断——Web UI 日志默认截断前 20 行,关键首行常被隐藏。
验证模型服务是否可达
方法一:绕过 AionClaw 直连模型网关
用 curl 发送最简请求,验证模型端点本身是否响应正常:
curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{"model":"qwen2.5","messages":[{"role":"user","content":"hi"}]}'
如果返回 401 或 connection refused,说明模型服务未就绪或鉴权失败;若返回完整 JSON 响应体(含 message.content 字段),则模型层通畅。
方法二:检查 TaoToken 网关健康状态
访问 http://localhost:8080/health,页面返回 {"status":"ok","models":["qwen2.5","llama3.2"]} 才算真正就绪;若报 502 或空白页,TaoToken 本身未启动或配置错误。
定位本地工具执行失败
第一步:确认工具文件语法合规
运行 openclaw tools validate ./tools/weather.py,该命令会精确指出哪一行、哪个字段不满足 OpenClaw 解析器要求(如 parameters 写成 Parameters、嵌套 schema 含 anyOf)。
第二步:检查工具函数是否被真实调用
在工具脚本开头插入 print("DEBUG: weather tool triggered"),然后执行任务。若终端日志里完全没出现这行输出,说明模型返回的 tool call 指令未被解析——此时要回看 tool_choice="required" 是否强制启用,以及模型是否支持原生工具调用(Gemma4 不支持,llama3.2 支持)。
第三步:验证工具运行环境权限
手动执行 python ./tools/weather.py --city=shanghai,若报 PermissionError 或 ModuleNotFoundError,说明工具依赖未安装或路径权限不足——AionClaw 默认以当前用户身份执行工具,不会自动激活虚拟环境。











