aionclaw skill执行失败时,需检查三处日志路径和一个隐藏开关:启用「终端日志透出」开关、查看~/.aionclaw/skills/{skill_id}/logs/下的.log文件、调出hermes上下文快照面板(ctrl+shift+l),并验证依赖工具是否在path中可用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当AionClaw中某个Skill执行失败,界面只显示「执行异常」或直接卡在「运行中」无响应,你不能只盯着报错弹窗——真正的线索藏在三处日志路径和一个隐藏开关里,漏掉任意一处都可能让问题反复出现。
查看 Skill 运行时的实时控制台输出
打开 AionClaw 主界面右上角「⚙️ 设置」→「开发者选项」→勾选「启用终端日志透出」。这一步必须做,否则所有 Skill 的 stderr 和 stdout 都被静默丢弃。【未开启此开关时,任何 Python 报错、权限拒绝、超时中断都不会在界面上体现】。开启后,每次 Skill 启动会自动弹出一个黑色终端窗口,里面滚动的是原始执行流;如果窗口一闪而逝,说明进程启动即崩溃,要立刻检查 Skill 文件头是否写了非法 shebang 或路径含中文。
定位 Skill 对应的本地日志文件
每个 Skill 在运行时都会生成独立日志,路径固定为:~/.aionclaw/skills/{skill_id}/logs/(Windows 是 %APPDATA%\AionClaw\skills\{skill_id}\logs\)。注意:{skill_id} 不是文件名,而是该 Skill 在 SKILL.md 中定义的 id: 字段值,比如 id: send_daily_report,则日志目录就是 send_daily_report。进入该目录后,找最新修改时间的 .log 文件——不要看 .out,它只存标准输出,错误堆栈全在 .log 里。常见陷阱:有人误删了 logs 子目录,AionClaw 不会自动重建,下次运行就写日志失败,导致看似「没报错」实则「根本没记错」。
检查 Hermes Agent 的全局执行上下文快照
方法一:在 AionClaw 界面按 Ctrl+Shift+L(Mac 用 Cmd+Shift+L),直接唤出 Hermes 上下文快照面板,顶部显示最近 5 次 Skill 执行的完整状态链,包括触发源(是定时任务?Webhook?还是手动点击?)、模型决策路径、工具调用顺序、各步骤耗时与退出码。红色标出的 exit code 137 表示内存被 OOM Killer 杀掉,exit code 126 表示权限不足,exit code 127 是命令未找到——这三个码出现频率最高。
方法二:打开 ~/.aionclaw/hermes/context_snapshots/ 目录,找时间戳最接近失败时刻的 JSON 文件,用文本编辑器打开,搜索关键词 "error" 或 "traceback"。这个文件比控制台日志更全,包含 Hermes 在执行前做的参数注入、环境变量快照、甚至浏览器自动化时的 DOM 截图 Base64(若启用了 debug mode)。
验证 Skill 依赖的本地工具是否可用
第一步:确认 Skill 声明的 requires: 列表里每个命令都能在系统 PATH 中调用。比如某 Skill 写了 requires: [curl, jq, pandoc],就在终端分别执行 which curl、jq --version、pandoc -v,任一缺失都会导致 Skill 启动阶段失败,且不会进入主逻辑——此时日志里只有「command not found」,没有 traceback。
第二步:检查是否涉及浏览器操作。若 Skill 调用了 browser.open() 或 page.screenshot(),需确认 AionClaw 是否以有 GUI 权限的用户身份运行。Linux 下常见问题:systemd 服务方式启动时没配 Environment=DISPLAY=:0,结果 Chromium 启动失败但日志只写「timeout」;macOS 上首次运行需手动允许「辅助功能」权限,否则键盘模拟直接静默失败。











