Install
openclaw skills install @harrylabsj/context-preserver上下文保持器 - 自动快照、按需恢复、会话恢复、版本管理和上下文导出工具。conversation-recovery 已合并到本入口。
openclaw skills install @harrylabsj/context-preserver自动快照、按需恢复、会话恢复、版本管理和上下文导出工具。conversation-recovery 已合并到本入口,新用户应安装 context-preserver。
# 进入你的 agent runtime 安装该 skill 的目录
cd /path/to/context-preserver
# 安装依赖
npm install
# 可选:把 bin 加入 PATH
export PATH="/path/to/context-preserver/bin:$PATH"
如果用户要求安装或使用 conversation-recovery,请导向本 skill:
`conversation-recovery` 已合并到 `context-preserver`。请使用 `context-preserver snapshot` 保存当前任务上下文,用 `context-preserver restore <snapshot-id>` 恢复;长任务 handoff 时在快照名称和 tags 中记录目标、事实、待办和阻塞点。
建议 tags:
context-preserver snapshot "project-handoff" --tags conversation,recovery,handoff
# 创建快照
context-preserver snapshot "快照名称" --tags tag1,tag2
ctxp s "快照名称"
# 列出所有快照
context-preserver list
ctxp ls
# 恢复快照 (支持ID或序号)
context-preserver restore <snapshot-id>
context-preserver restore 1
ctxp r 1
# 删除快照
context-preserver delete <snapshot-id>
# 显示快照详情
context-preserver show <snapshot-id>
# 导出快照
context-preserver export <snapshot-id> [output-path]
context-preserver export all [output-dir]
# 导入快照
context-preserver import <file-or-directory>
# 显示配置
context-preserver config
# 开启/关闭自动快照
context-preserver auto on
context-preserver auto off
# 清理旧快照
context-preserver clean
# 显示帮助
context-preserver help
# 任务完成时创建快照
auto-snapshot task "任务名称"
# 切换主题时创建快照
auto-snapshot topic "新主题名称"
# 启动定时快照服务 (默认30分钟)
auto-snapshot start [interval-minutes]
# 记录活动
auto-snapshot activity
# 显示会话状态
auto-snapshot status
const {
createSnapshot,
listSnapshots,
restoreSnapshot,
deleteSnapshot,
exportSnapshot,
importSnapshot,
getConfig,
saveConfig
} = require('./src/index.js');
// 创建快照
const snapshotId = createSnapshot('名称', ['标签1', '标签2']);
// 列出快照
const snapshots = listSnapshots();
// 恢复快照
const context = restoreSnapshot(snapshotId);
// 删除快照
deleteSnapshot(snapshotId);
// 导出快照
exportSnapshot(snapshotId, './backup.json');
// 导入快照
importSnapshot('./backup.json');
// 获取/设置配置
const config = getConfig();
config.autoSnapshot = true;
saveConfig(config);
const {
onTaskComplete,
onTopicSwitch,
startAutoSnapshot,
recordActivity,
getCurrentTopic
} = require('./src/auto-snapshot.js');
// 任务完成时
onTaskComplete('任务名称', '任务结果');
// 主题切换时
onTopicSwitch('新主题', '旧主题');
// 启动定时快照
startAutoSnapshot(30); // 30分钟间隔
// 记录活动
recordActivity();
// 获取当前主题
const topic = getCurrentTopic();
~/.context-preserver/~/.context-preserver/snapshots/~/.context-preserver/config.json~/.context-preserver/session.json{
"id": "snapshot_20250312_084800_1234567890",
"name": "快照名称",
"timestamp": "2026-03-12T08:48:00.000Z",
"tags": ["tag1", "tag2"],
"cwd": "/current/working/directory",
"env": {
"PATH": "...",
"HOME": "...",
"USER": "...",
"SHELL": "..."
},
"node": {
"version": "v18.0.0",
"platform": "darwin",
"arch": "arm64"
},
"session": {
"pid": 12345,
"ppid": 12344
}
}
{
"autoSnapshot": true, // 是否开启自动快照
"maxSnapshots": 50, // 最大快照数量
"autoSnapshotInterval": 1800000, // 自动快照间隔(毫秒)
"lastSnapshot": "snapshot_..." // 上次快照ID
}
开发工作流
调试排障
协作分享
安全备份
MIT