清理已中止且48小时未更新的子Agent会话及过期备份文件,释放磁盘空间并同步更新索引。
cleanup-sessions是一项面向实际任务的技能,主要用于清理已中止的子 agent 会话文件及备份文件,释放磁盘空间;用户提到:;
清理 sessions 目录;清理备份文件;清理 .deleted / .reset 文件;清理过期会话;预览模式 :列出所有 abortedLastRun: true 的会话文件,显示大小和路径;清理模式 :删除。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
清理已中止的子 agent 会话文件及备份文件,释放磁盘空间。
用户提到:
abortedLastRun: true 的会话文件,显示大小和路径sessions.json 索引中的对应条目.jsonl.deleted.* 和 .jsonl.reset.* 备份文件// 1. 列出所有会话
const sessions = await sessions_list();
// 2. 过滤出 aborted 的子 agent 会话
const abortedSessions = sessions.sessions.filter(s =>
s.kind === 'other' &&
s.key.includes('subagent') &&
s.abortedLastRun === true
);
// 3. 提取会话 ID 并删除对应文件
for (const session of abortedSessions) {
const sessionId = session.sessionId;
const filePath = `/Users/miaofengkai115572/.openclaw/agents/main/sessions/${sessionId}.jsonl`;
// 执行删除
}
sessions_list() 获取会话列表abortedLastRun: true 且 key 包含 subagent 的会话updatedAt > Date.now() - 48*60*60*1000).jsonl 文件sessions.json 中的对应条目*.jsonl.deleted.* 文件(删除备份)*.jsonl.reset.* 文件(重置备份,保留 7 天内)清理策略:
.deleted 文件:全部删除(会话已删,备份无用).reset 文件:删除 7 天前的(保留近期备份)abortedLastRun: true)key 包含 subagent 的会话abortedLastRun === true.jsonl.deleted.* → 会话删除前的备份,可安全删除.jsonl.reset.* → 会话重置/压缩前的备份,建议保留 7 天~/.openclaw/agents/main/sessions/*.jsonlsessions_list() 获取找到 2 个可清理的已中止子 agent 会话: | 会话 ID | 大小 | 标签 | 最后更新 | |---------|------|------|----------| | 46bf8f99-... | 76K | feishu-creator | 7 天前 | | a5348a20-... | 149K | feishu-doc-creator | 7 天前 | 已保护:1 个会话(48 小时内更新) 总计可释放:225KB 确认删除?
扫描备份文件: | 类型 | 文件数 | 总大小 | |------|--------|--------| | .deleted | 18 | 2.1 MB | | .reset (7 天前) | 12 | 4.1 GB | 总计可释放:4.1 GB 确认删除?
sessions_list() - 获取会话列表和状态fs 模块 - 删除会话文件sessions.json 同步更新 - 保持索引一致性// 获取会话列表
const sessions = await sessions_list();
// 过滤条件
const shouldDelete = sessions.filter(s =>
s.key.includes('subagent') &&
s.abortedLastRun === true &&
Date.now() - s.updatedAt > 48 * 60 * 60 * 1000 // 48 小时保护
);
// 用户确认后删除文件并更新索引
--dry-run 模式(预览不删除)相关专题
热门下载
相关下载
精品课程
共0课时 | 0人学习
共74课时 | 139.4万人学习
共8课时 | 8万人学习