第一反应是 tail -f logs/error.log,因为 AionClaw 将崩溃、模型加载失败、技能超时等关键错误统一写入该项目根目录下的 error.log(非 ~/.openclaw/logs/),且为纯文本格式,含时间戳、模块名与堆栈缩略;而 openclaw logs --follow 更可靠,因它自动绑定 Gateway 实例 PID、支持 JSON Lines 解析与 jq 筛选、不受 LOG_LEVEL 干扰,并在服务未运行时明确报错。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

直接看 logs/error.log 和 openclaw logs --follow,别等控制台输出——AionClaw 默认不往终端打日志,所有关键错误都落盘。
为什么 tail -f logs/error.log 是第一反应
AionClaw 继承 OpenClaw 日志架构,但强化了错误隔离:它把运行时崩溃、模型加载失败、技能调用超时等明确归入 error.log,而不是混在主日志里。这个文件在你执行 python main.py 或 npm start 的当前目录下,不是 ~/.openclaw/logs/,也不是 macOS 菜单栏缓存路径。
- 如果
logs/目录不存在,AionClaw 不会自动创建父级路径(比如你在/tmp下启动,但配置指向/home/user/aionclaw/logs,日志就彻底静默) -
error.log是纯文本格式,每行含时间戳、模块名(如skill_web_search)、堆栈缩略(非全量),适合快速扫视 - macOS 用户注意:Spotlight 搜不到
error.log,必须用终端cd进入项目根目录再ls logs/
openclaw logs --follow 为什么比 tail 更可靠
当你用 CLI 方式启动 AionClaw(如 openclaw gateway start),日志实际由 Gateway 子系统统一管理,tail -f 可能漏掉异步写入的中间事件。而 openclaw logs --follow 是官方日志代理命令,它:
- 自动识别当前 Gateway 实例 PID,避免你误跟错进程的日志
- 默认按 JSON Lines 解析,支持后续用
jq筛选(例如openclaw logs --follow | jq 'select(.module == "model")') - 不受
LOG_LEVEL环境变量干扰——即使你没设DEBUG,它也能实时拉取已写入的WARN和ERROR记录 - 若服务未运行,会明确报错
No running gateway found,而不是卡住或输出空行
看到哪些日志内容要立刻停手检查
AionClaw 的错误日志有强上下文标记,以下几类出现即代表底层链路已断裂,不能靠重试解决:
-
"model load failed: connection refused"→ 模型 API 地址填错,或 TaoToken Key 过期(注意:不是填官网 URL,而是https://taotoken.net/api) -
"session queue full"→ 内存溢出或并发配置超限,需检查config.yaml中gateway.max_concurrent_sessions值 -
"Failed to write to ~/.aionclaw/memory.db: database is locked"→ 多个 AionClaw 实例同时写 SQLite,关掉其他终端里的python main.py -
"Skill 'email_fetcher' returned empty result after 3 retries"→ 不是网络问题,是邮箱授权码失效或 IMAP 设置被服务商拦截
真正难排查的不是 ERROR 行本身,而是 ERROR 前 20 秒内那些看似正常的 INFO 日志——比如模型 tokenizer 初始化耗时突然从 800ms 涨到 12s,这种毛刺不会触发告警,但会让后续所有推理排队。所以别只盯着报错,得习惯 --follow 开着,等复现问题时同步观察整条时间线。


















