AionClaw通过上下文快照、结构化对比报告和人工抽检三步实现可验证清洗:先执行openclaw context snapshot --full保存清洗前状态;再用--report-diff或clawdbot report diff生成字段级变更统计;最后核查类型漂移、归档残留和多表关联断裂。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在AionClaw中执行数据清洗任务后,能明确说出“字段A空值率从42.7%降到0.3%”“重复记录减少896条”,而不是只靠肉眼比对两份Excel文件。这需要清洗动作本身生成可验证、可回溯的前后快照,而非依赖人工导出再开两个窗口手动翻查。
用内置上下文快照锁定清洗前原始状态
第一步:在发起清洗指令前,强制保存当前会话完整上下文快照。
执行命令:openclaw context snapshot --full。
该命令会输出类似 /tmp/claw_ctx_7f8a1e.md 的临时路径,文件内【Entities】区块将固化清洗前所有输入源路径、表名、字段列表及初始统计摘要。
第二步:打开快照文件,定位【Constraints】区块,确认其中已显式记录清洗前提条件,例如:
“仅处理 sheet_name = '主表'”
“忽略 header 行数 = 1”
“字段 'phone' 必须保留原始格式,不标准化”
【若此处为空或仅含模糊描述如‘清理脏数据’,说明AionClaw未捕获你的真实意图,必须重写清洗指令并重拍快照】
第三步:将该快照文件复制一份,重命名为 before_cleaning_summary.md,存入本次任务专用目录。这一步不可跳过——AionClaw不会自动归档旧快照,/tmp 下的文件可能在下次重启后被系统清除。
让清洗结果自带结构化对比报告
方法一:调用清洗技能时启用内置对比模式
在指令末尾添加参数 --report-diff,例如:clean csv /data/input.csv --drop-empty-rows --report-diff
执行后除输出清洗后文件外,还会生成同名的 input.csv.diff.json,内含字段级变更统计(新增/删除/修改行数、空值变化量、类型转换次数)。
方法二:用CLI命令批量提取清洗元数据
清洗完成后立即执行:clawdbot report diff --session-id [你的会话ID] --format markdown
该命令会聚合本次会话中所有清洗操作的输入输出哈希、行数变化、字段映射关系,输出一份带时间戳的 Markdown 对照表,可直接粘贴进周报。
人工抽检三类高危变更点
方法一:查字段口径漂移
在清洗后生成的 .diff.json 文件中搜索 "type_changed" 字段,重点核对是否出现 "string" → "number" 类型强转。AionClaw对含前导零的编号(如“00123”)默认转为数字会丢零,若业务要求保留字符串形态,需在清洗指令中显式声明 --keep-as-string phone,id。
方法二:查逻辑覆盖漏删
打开清洗前快照中的【Entities】区块,提取所有被识别的原始文件路径;再用 ls -l 检查这些路径当前是否仍存在。若某路径在快照中存在但本地已消失,说明清洗过程触发了 【默认启用的自动归档机制】 ——AionClaw把原始文件移到了 ~/.openclaw/archive/ 下带时间戳的子目录,而非真正删除。此时需检查归档目录确认内容完整性。
方法三:查多表关联断裂
若清洗涉及多张表(如 user.csv + order.csv),在 .diff.json 中搜索 "foreign_key" 相关条目。常见错误是清洗 order.csv 时删掉了 user_id 为空的订单,但未同步清理 user.csv 中已无订单关联的用户,导致下游 JOIN 结果缺失。此时必须回退到清洗前快照,用 clawdbot join validate --left user.csv --right order.csv --on user_id 预检关联健康度。


















