LeanCTX Context Time Machine:如何用git锚定签名快照回放、恢复与共享上下文
【免费下载链接】lean-ctxLeanCTX — Context Intelligence for AI systems.项目地址: https://gitcode.com/gh_mirrors/le/lean-ctx
你是否好奇过:你的 AI Agent 在某个 commit 上到底"看到了什么"?为什么它做了那样的决策?LeanCTX 的Context Time Machine(上下文时间机器)正是答案——它把上下文层的瞬时状态变成git 锚定的签名上下文快照(Context Snapshot),让你可以像 git 一样回放、恢复与共享 AI 的上下文。
为什么需要上下文时间机器?
AI 编码过程中,上下文层的状态(模型读了什么、为什么读、花了多少 token、被允许碰什么、证明了什么)天然是短暂且碎片化的——会话一结束就消失了。
Context Time Machine 为这个状态引入了"时间轴",并提供三个核心动词:
| 动词 | 能力 | 一句话解释 |
|---|---|---|
| 回放 Replay | 时间旅行 | 回到任意 commit,看到模型当时的完整视野 |
| 恢复 Restore | 继续工作 | 把快照里的会话状态合并回当前会话,接着干 |
| 共享 Share | 团队协作 | 导出签名快照文件,别人导入后可离线验证 |
一句话总结:"别的工具记录的是对话,LeanCTX 记录的是上下文——蒸馏、签名、可回放。"🕰️
快照里到底装了什么?
一个Context Snapshot(CONTEXT_SNAPSHOT_V1格式)并不是你仓库的拷贝,而是对上下文层在某个 git commit 上的蒸馏、类型化、已签名的投影:
- Git 锚点— 捕获时的 commit SHA、分支名、工作区脏状态
- 模型所见— 从 Context IR 提取的蒸馏视图(谱系 lineage),记录每次工具调用的输入/输出 token 与压缩比
- 决策与知识— 会话中的决策、项目事实
- ROI 切片— 记账到此刻的 token 节省与压缩率
- 会话状态— 任务、触碰的文件、进度百分比
- 签名— Ed25519 签名,绑定来源身份
完整字段定义见 context-snapshot-v1.md,核心结构实现位于 types.rs。
快速上手:7 个命令玩转时间机器
所有能力都通过lean-ctx snapshot子命令暴露(实现见 snapshot_cmd.rs):
一键创建签名快照
lean-ctx snapshot create --sign # 冻结当前上下文状态并签名创建时,builder.rs 会读取实时上下文层、打上 git 锚点,digest.rs 计算BLAKE3 内容寻址 ID——同一个状态永远得到同一个 ID,ID 本身就是内容。
浏览时间线
lean-ctx snapshot list --json # 按时间倒序列出所有快照 lean-ctx snapshot show <id> # 查看某个快照的完整蒸馏状态 lean-ctx snapshot verify <id> # 离线验证签名与完整性时间线是一个只追加、崩溃安全的索引(timeline.rs),通过parent_id把快照串成链——这就是"时间机器"的轨道。
恢复:带着完整记忆回到过去
lean-ctx snapshot restore <id> # 只恢复会话切片 lean-ctx snapshot restore <id> --git # 同时 checkout 到锚定 commit--git模式带有一个贴心保护:工作区有未提交改动时会直接拒绝,绝不悄悄丢掉你的劳动成果(保护逻辑见 restore.rs)。
共享:只传上下文,不传代码
lean-ctx snapshot publish <id> --out ./review.ctxsnapshot.json lean-ctx snapshot import ./review.ctxsnapshot.jsonpublish导出的只是一个签名的 JSON 文件(publish.rs)——你的仓库、提示词、代码永远不会离开机器;接收方import时会自动验证签名,被篡改的文件会被拒绝。
信任模型:离线可验证,不靠口头承诺
一个验证过的快照能回答两个问题,且全部离线完成(signing.rs):
- 完整性— 内容没被改过:BLAKE3 ID 与 Ed25519 签名共同覆盖规范化载荷,改动一个字节验证即失败
- 来源— 由持有特定密钥对的机器产生(agent_identity.rs 中与节省账本共用的机器级密钥)
这和 LeanCTX 的"节省账本"是同一套信任模型——只不过账本回答"你省了多少",快照回答"模型看到了什么、何时看到、花了多少"。Token 节省是收据,时间机器让这张收据动起来。
回放界面:Dashboard 的 Time Machine 标签页
除了命令行,Dashboard 也内置了Time Machine 标签页:左右拖动时间线,每一帧的详情面板展示 git 锚点、ROI、谱系、账本 Φ 分数与会话全貌。只读的 JSON 控制面 API 实现见 snapshots.rs。
和"对话记录器"有什么本质区别?
- 对比无状态代理压缩器:飞行中压缩请求的代理没有跨时间的持久状态,无法重建"三个 commit 前模型看到了什么、为什么"
- 对比原始对话记录工具:LeanCTX 只存蒸馏、类型化、签名的状态,绝不嵌入原始转录——约束本身就是护城河,天然隐私友好
延伸阅读
- 概念全貌:context-time-machine.md
- 用户旅程详解:21-context-time-machine.md
- 快照核心模块:context_snapshot/
从下一个 commit 开始,给你的上下文装一台时间机器吧 ⏪
【免费下载链接】lean-ctxLeanCTX — Context Intelligence for AI systems.项目地址: https://gitcode.com/gh_mirrors/le/lean-ctx
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考