轻量级JSON修复工具,自动修复尾随逗号、单引号、未引号键名等常见语法错误。Use when 需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于需要100%确定性的关键决策。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
编程
报错回顾 - 自动分析并修复工具报错
试用当用户说「报错回顾」时,整理当前 session 中工具调用的所有报错,分析根因并自动修复,含分类/去重/压缩/淘汰机制
它能做什么
当用户说「报错回顾」时,整理当前 session 中工具调用的所有报错,分析根因并自动修复,含分类/去重/压缩/淘汰机制
技能文档
报错回顾 Skill
用户说「报错回顾」时触发。自动整理当前 session 的工具报错历史,分析根因,修复文档。
核心原则
分类
| 类别 | 判断标准 | 修复位置 |
|---|---|---|
| SKILL 问题 | SKILL.md 写了错误/过时的命令、API、参数 | 修 SKILL.md |
| TOOLS.md 缺失 | 缺少个人环境特有的配置、路径、坑 | 记 TOOLS.md 正文区 |
| 模型判断失误 | AI 自己的逻辑错误,文档没问题 | 记 TOOLS.md 报错记录区(带计数器) |
工具使用不当归入模型判断失误。
分类判断:
- 如果下次换个人来执行也会报错 → 文档/配置问题(SKILL 问题 或 TOOLS.md 缺失)
- 如果下次换个人来执行不会出错 → 模型判断失误
三拍机制(去重 → 压缩 → 计数)
每次执行,对每个报错按「错误签名」处理:
① 去重(错误签名匹配)
每个错误有一个唯一「签名」— 人能看懂的摘要(如「clawhub publish 命令格式用错」)。
- 搜索 TOOLS.md 的
## 报错记录区,按签名匹配 - 签名已存在 → 不写新条目,仅计数器 +1
- 签名不存在 → 新建条目,计数器 = 1
例外:
- SKILL.md 修正是因为根因已被永久消除,不参与去重计数
- 如果旧签名对应的内容已被 SKILL.md 修复、不再适用,则删除该条目
② 压缩
每条报错记录固定格式,不超过 1 行:
- **[错误签名]** → 修复说明(N次)
示例:
- [clawhub publish 命令用错] → 改用 `clawhub publish`(2次)
- [npm 全局安装权限拒绝] → 加 `--prefix ~/.npm-global` 安装到用户目录(2次)
⚠️ 签名必须通用化:错误签名要提炼通用规律,不要绑定具体工具名。比如:
- ❌
[weixin-mp-cli npm 权限拒绝]→ ✅[npm 全局安装权限拒绝] - ❌
[tdl session 误删]→ ✅[误删重要配置文件] - ❌
[mcpporter mcporter 命令找不到]→ ✅[全局命令未加入 PATH]
这样下次遇到同类问题时,去重匹配才能命中。
去掉详细报错信息,只留「原因+修复+次数」。
③ 计数规则总结
-
计数 ≥ 10 的条目 → 标记
⚠️ 高频 -
极端情况下条目过多,提示用户手动清理
-
所有报错(含模型判断失误)都记入 TOOLS.md 的
## 报错记录 -
同签名错误重复出现 → 不新增,只累加计数
-
SKILL.md 修正是永久修复,不记入计数
-
汇报时在每条报错后展示当前计数
执行流程
Step 1:获取当前 session 的历史
使用 sessions_history 工具:
sessionKey:"current"includeTools:truelimit: 适当数值(通常 80 够用,超长 session 分页拉取)
Step 2:提取所有报错
遍历历史消息,找到所有 toolResult 且 isError: true 的记录。
每条报错记录提取:
- toolName: 哪个工具报错了
- error: 报错内容(用于生成签名)
- context: 前一条 assistant 消息的 toolCall arguments
- timestamp: 报错时间
Step 3:分析根因并分类
对每个报错按核心原则分为 3 类。
Step 4:修复(按分类执行)
SKILL 问题
- 找到对应 skill 的实际路径:
find ~/.openclaw/skills -name "SKILL.md" -path "*skill名*" - 修改 SKILL.md 中错误/过时的内容
- ⚠️ 不要改
/opt/homebrew/lib/node_modules/openclaw/skills/下的
TOOLS.md 缺失
- 追加到
~/.openclaw/workspace/TOOLS.md正文区(不是报错记录区) - 去重:先 grep 目标关键词,已有 → 跳过或合并;没有 → 新增
模型判断失误 → 写入 TOOLS.md 报错记录区
格式化的新增/更新流程:
- 确定错误签名(简洁摘要)
- 读 TOOLS.md 的
## 报错记录区 - 按签名匹配:
- 已存在 → 计数器 +1
- 不存在 → 在末尾加新条目(计数器 = 1)
- 如果条目过多(>100),提示用户手动清理
- 用
edit工具做文本替换(如遇复杂引号嵌套,分多次edit完成,每次匹配一小段)
Step 5:修改(直接执行)
无需用户确认,直接执行修改。
Step 6:汇报
修改完成后,给用户的结构化汇报:
## 报错回顾
本次共检测到 X 个报错:新增 Y 条,累加 Z 次计数。
1. **[错误签名]**
- 分类:SKILL问题 / TOOLS.md缺失 / 模型判断失误
- 修复:已修改 SKILL.md / 已记录到 TOOLS.md / 计数 +1(当前 N 次)
- 去重:新建 / 累加计数(已有同类记录)
...
### 修改文件清单
- :改了啥
向后兼容
执行前检查:本次 session 中是否已有报错回顾的执行记录。 若有(上次已修复过),则只统计新增报错,不重复报旧的。
注意事项
- ⚠️ 不要修改 OpenClaw 内部 skill(
/opt/homebrew/lib/node_modules/openclaw/skills/),只改~/.openclaw/skills/下的 - SKILL.md 路径确认:
find ~/.openclaw/skills -name "SKILL.md" -path "*skill名*" - 字符串替换用
edit工具,不要用exec跑脚本 - 最终回复不要发原始 JSON,整理成易读的中文汇报
- TOOLS.md 去重匹配用
grep -q或 Shell 字符串匹配,不要目测判断
相关技能
支持学生上传任意学科错题截图、试卷照片或粘贴题目文本,基于真实作答智能整理错题,识别题目科目和题型,定位并区分概念模糊、知识点遗漏、计算或操作失误、审题偏差、推理断点、方法选择不当、表达不规范等错误根因,拆解核心知识点并给出巩固建议。也用于在灵犀 AI 助手本地错题本中保存、更新、检索错题;用户明确要求保存或更新时直接写入,未要求保存时先询问确认,再按科目、题型和日期分类整理,统计高频错误类型和制作错题复盘记录。不要主动生成举一反三练习题或额外训练题。
四类错误分类与处理引擎。自动识别临时错误/永久错误/验证错误/上下文错误,并提供相应处理策略(重试/报告/修复/压缩)。当工具调用失败、API 报错、编译测试出错、上下文超限时自动分类并给出处理建议。
全科错题的归档、错因定位与弱项计数中枢。学生说“我这道题做错了”“帮我分析错误原因”“出一道同类题”“我的错题本里有什么”“帮我整理本章错题”,或发来错题图片并说明做错了时可激活——前提是**有一道具体做错的题**;泛泛说"我总出错""帮我总结一下"而没有题,先问题目,不登记、不分析。错因分四维(概念模糊/计算失误/读题失误/方法用错),并按 shared/vocab.md §5 唯一计数“28 天内同一知识点同一维度累计 3 次”。数学、物理、语文、英语的深度子类型定位不在此处,交给对应学科的错误 DNA;理解是否到位交给费曼学习法,提醒由 IM 智能提醒发送。
Turn conversations, field observations, and follow-up reasoning from complex collaborative projects into evidence-backed analysis of participant understandin...
在当前对话中自动发现 corrections、feature requests、knowledge gaps 和 errors 四类学习信号,并评估其中已经验证、以后可复用的事实、规则、做法和踩坑;用户无需先说“记住”。适用于“不对,实际应该……/that is outdated”“还能不能……/I wish it could……”“原文或现场和理解不符”“命令非零、异常栈、意外输出、超时或连接失败”,也适用于主动要求记住、复盘、纠正、归档或删除。自动发现只启动评估:明确纠正、稳定能力期望、证据闭环或已收敛诊断满足写入条件才保存;临时诉求、猜测、原始报错和未定位事件不写,也不会后台监听或自行改变行为。