用途:帮助写作者为单个 Scrivener 文档做版本管理。快照是某一时刻该文档文本的副本,存放在项目内,便于回看(回滚功能尚在规划中)。快照按文档存储,与整项目备份(scrivener-integrity)不同。适用于重写前留安全网、查看历史版本、或想把文档回退到旧版本时。
主要能力:
- 列出某文档的快照:python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py snapshots <uuid> --project "<path.scriv>",返回标题与时间戳。
- 创建快照:python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py snapshot <uuid> --title "Before tightening the open" --project "<path.scriv>",捕获当前 content.rtf。建议加 --title 便于识别,否则以时间戳标识。 注意命令名:snapshots(复数)为列出,snapshot(单数)为创建。均以 UUID 定位文档,标题不唯一,需先用 find/outline(scrivener-inspect)把标题解析为 UUID。
自动快照:写入类技能在覆盖文本前默认自动快照,可用 --no-snapshot 跳过;每次编辑都保留已有快照,只追加历史。因此手动快照多用于需要命名检查点的场景。
存储位置:<Project>.scriv/Files/Data/<UUID>/snapshots/,含标题、时间戳与捕获文本的 RTF,随项目一起备份。
限制:snapshot read、snapshot diff、snapshot restore 仍在路线图中,尚未进入 CLI。当前回滚需先整项目备份(scrivener-integrity),用 snapshots 定位目标版本,再以破坏性 set-text 方式处理,并依赖编辑前自动快照。操作前应先在 Scrivener 中关闭项目,并等云同步完成,避免 .scriv 同步冲突。文档可能没有快照,空列表属正常。