必须在openclaw侧定位并解析其tool_calls_*.log日志,且需以--debug模式启动;日志含时间戳、工具名、输入参数、返回摘要四段结构,可通过grep、sed或openclaw logs --follow筛选分析。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想确认AionClaw是否成功触发了OpenClaw的工具调用、参数是否传入正确、返回结果是否被截断或报错,但找不到对应的执行痕迹——这些记录不会出现在AionClaw自身日志里,必须在OpenClaw侧定位并解析其工具调用日志。
确认AionClaw与OpenClaw的通信已生效
先验证调用链路真实存在:AionClaw作为上游调度器,需通过HTTP请求(默认POST到http://localhost:18789/tool_call)或gRPC方式向OpenClaw网关发起调用。若未看到任何日志,首要检查AionClaw是否真的发出了请求——可在OpenClaw启动时加--debug参数,再用curl -X POST http://localhost:18789/health测试网关连通性。如果连/health都返回404,说明AionClaw根本没连上目标网关地址。
【必须确保OpenClaw以--debug模式启动】否则tool_call事件不会写入日志文件,后续所有排查都将失效。
定位并打开工具调用专属日志文件
OpenClaw将工具调用行为单独记录在logs/tool_calls_*.log文件中,不混入openclaw.log或gateway.log。该文件仅在启用--debug后生成,命名含启动时间戳,例如tool_calls_20260920_153218.log。
进入项目根目录后,运行:ls -t logs/tool_calls_*.log | head -n 1
这条命令会列出最新生成的工具调用日志文件路径。若输出为空,说明要么没启用--debug,要么AionClaw尚未触发任何tool_call请求。
解析日志中的关键字段
每条记录严格按四段结构组织:
① 时间戳(精确到毫秒)→② 工具名称(如file_reader或web_search)→③ 输入参数(JSON格式,注意检查query、path等字段值是否与AionClaw传入一致)→④ 返回摘要(成功时为output_len=xxx,失败时为exception=xxx或status=failed)。
例如这一行:[16:22:03.847] tool=file_reader input={"path":"/tmp/report.pdf"} → output_len=15241
表示AionClaw调用了PDF读取工具,传入路径正确,OpenClaw成功返回约15KB文本。
若看到exception=JSONDecodeError,说明AionClaw发送的JSON格式非法;若output_len=0且无异常,则可能是工具内部静默失败,需进一步查agent.log。
快速筛选AionClaw相关调用记录
方法一:用grep过滤来源标识
执行:grep "aionclaw" logs/tool_calls_*.log
前提是AionClaw在请求头中设置了X-Source: aionclaw或在input JSON中嵌入了"source": "aionclaw"字段——这是最直接的标记方式。
方法二:按时间窗口精准定位
若你知道AionClaw大概在16:15–16:18之间发起调用,可用sed提取对应时间段:sed -n '/16:15:/, /16:18:/p' $(ls -t logs/tool_calls_*.log | head -n 1)
方法三:用CLI命令实时监听新调用
新开终端,执行:openclaw logs --follow --level debug | grep "tool_call"
该命令会持续输出所有调试级日志,并只保留含tool_call关键词的行,适合在AionClaw触发瞬间同步观察。










