Install
openclaw skills install dichen技能与记忆维护技能。被调用时自动扫描所有已安装技能和记忆文件, 诊断技能脚本/代码/文件结构中的问题与冗余,从分散的每日记录中提取 有长期价值的记忆,并向用户提出可操作的修改建议。 核心原则:诊断为主,修改为辅;无问题时不勉强提意见。 名称「涤尘」意为涤荡尘埃、清理冗余。
openclaw skills install dichen定期(或按需)对平台的技能系统和记忆系统进行全面的健康检查,发现问题、找出改进点、向用户汇报。
用户用任何方式表示需要检查/清理/维护/整理技能或记忆时。包括但不限于:
同时运行两个扫描脚本,获取原始数据。
定位 managed Python: 寻找当前平台管理的 Python 解释器。路径因平台而异,通常位于平台内置运行时的 python 目录下。可通过 system prompt 中 Available binaries 列出的具体路径获得。
执行命令(按当前平台使用对应 shell 语法):
# 扫描所有已安装技能(用户级 + 项目级)
MANAGED_PYTHON="<上一步找到的 python 路径>"
$MANAGED_PYTHON scripts/scan_skills.py \
--user-dir <用户级技能目录> \
--workspace-dir <项目级技能目录> \
--output-dir <输出目录>
# 扫描记忆文件
$MANAGED_PYTHON scripts/scan_memory.py \
--memory-dir <记忆文件目录> \
--output-dir <输出目录>
扫描结果会同时在 stdout 打印人类可读摘要(供 AI 在对话中直接引用形成报告) 并写入
{workspace}/scan_skills_report.json和{workspace}/scan_memory_report.json(供后续参考)。
关键原则:在对话中报告。 扫描脚本输出的 stdout 摘要已包含关键信息,AI 应以此为素材,在对话中形成详细、结构化的报告给用户,而不是让用户自己去查看 JSON 文件。
将扫描结果组织成清晰的结构化报告,分为三部分展示给用户。
按照三个严重级别分类发现:
| 级别 | 含义 | 举例 |
|---|---|---|
| error | 影响正常使用,需要修复 | 缺少 SKILL.md、YAML 解析错误 |
| warning | 可能有问题,建议检查 | 缺少 name/description、脚本引用路径不存在 |
| info | 仅供参考,可选的改进空间 | 使用 python/node 裸命令、硬编码绝对路径(需确认是否过时) |
对每个发现:
如果没有任何发现(零 error、零 warning、零 info),直接告诉用户「所有技能看起来都正常」。
从扫描结果中提取关键发现:
即使文件未满 14 天,也会通过以下两个机制参与分析:
- 可合并候选:行数较多(>20 行)且涉及 ≥2 个主题的文件会被标记,不论天数
- 缺失主题回溯:所有每日记录文件都会被检查关键词是否在 MEMORY.md 中有对应 所以不会因为天数短而漏掉需要提炼的内容。
consolidation_candidates 中的文件,内容较多且关联多个主题,可能值得提取进 MEMORY.md。orphaned_topics 的结果,显示哪些关键词在每日记录中出现但不在 MEMORY.md 中。对每个建议:
- 全量写入 MEMORY.md — 适合频繁引用的活跃主题(如当前研究方向)
- 建立独立子文件
XXX_memory.md— 适合已完成的大项目(如 grant 申请),MEMORY.md 只留指针- 智能混合 — AFMEMORY.md 放摘要 + 独立文件放完整细节,MEMORY.md 指针写明读取条件
如果没有任何可提炼的内容,直接告诉用户「记忆文件结构良好,暂无需整理」。
如果技能和记忆的扫描都没有发现问题,总结:「系统状态良好,无需处理。」
用户逐条确认后,执行以下操作:
技能修改:
__pycache__)记忆整理:
Edit 工具或在文件末尾追加){topic}_memory.md 并更新 MEMORY.md 中的引用向用户报告执行结果:
| Path | Purpose |
|---|---|
scripts/scan_skills.py | 扫描技能目录,检查 SKILL.md、脚本引用、文件结构 |
scripts/scan_memory.py | 扫描记忆目录,分析主题分布、存档候选、遗漏回溯 |
pyyaml(自动安装尝试,失败则有健壮的简易解析器兜底)os.path 处理路径分隔,不使用平台特定命令pyyaml(脚本启动时自动尝试安装,失败则用内置简易解析器兜底)| 和 > 多行 YAML 值,不再出现误报__pycache__ 不检测——自动生成的字节码缓存,清理无实际收益--output-dir 参数指定输出目录(默认当前目录),不使用硬编码路径STALE_DAYS),可在 scan_memory.py 顶部调整consolidation_candidates 机制参与分析{workspace}/scan_skills_report.json 和 {workspace}/scan_memory_report.json,供后续分析