加密备份并逐字节校验恢复会话历史与附件
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add leoainc-ops/dsh-history-keeper该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
为 DeepSeek Harness 提供加密、可验证的历史记录:快照、校验并恢复你的 DSH 会话。不用 git,也不依赖外部二进制文件。
README
由 DeepSeek 最新模型翻译生成dsh-history-keeper
你的 DeepSeek Harness 历史回来了——而且你能证明它。
Español: README-es.md
状态:pre-alpha(0.1.0 开发中)。 引擎已经能跑:snapshot、verify 和 restore 在真实 DSH 日志上运行,已在 8 个会话上逐字节验证。宿主插件集成和实时同步是接下来的里程碑。
问题
你的对话只存在一个地方:单台机器上的 ~/.dsh/sessions。这台机器一坏,对话就跟着没了。没有副本能说明为什么会这样——也没法证明你手上那份副本完好无损。
dsh-history-keeper 就是来解决这个问题的:捕获历史、加密、验证、恢复——逐字节还原。
这包括附件:粘贴的图片或文件不在会话日志里,而在 ~/.dsh/attachments。捕获的会话引用某个附件时,blob 会一并捕获,按文件名声称的哈希校验,再恢复到对话旁边。没有你粘贴过的图片,历史就是不完整的历史。
展开完整文档(README 剩余 1 节)
dsh-history-keeper 你的 DeepSeek Harness 历史回来了——而且你能证明它。 Español: README-es.md 状态:pre-alpha(0.1.0 开发中)。 引擎已经能跑:snapshot、verify 和 restore 在真实 DSH 日志上运行,已在 8 个会话上逐字节验证。宿主插件集成和实时同步是接下来的里程碑。 问题 你的对话只存在一个地方:单台机器上的 ~/.dsh/sessions。这台机器一坏,对话就跟着没了。没有副本能说明为什么会这样——也没法证明你手上那份副本完好无损。 dsh-history-keeper 就是来解决这个问题的:捕获历史、加密、验证、恢复——逐字节还原。 这包括附件:粘贴的图片或文件不在会话日志里,而在 ~/.dsh/attachments。捕获的会话引用某个附件时,blob 会一并捕获,按文件名声称的哈希校验,再恢复到对话旁边。没有你粘贴过的图片,历史就是不完整的历史。 它要做什么 | 里程碑 | 交付内容 | | 0.1 | 从共享文件夹执行 snapshot、verify 和 restore,命令行无需 DSH 运行即可工作 | | 1.0 | 机器间实时同步、按设备生成清单、显式冲突处理、设备配对与吊销 | 现在就试(从检出开始) 命令行只需要 Node——不需要 DSH,不需要 git,不需要外部二进制。 export KEEPER_PASSPHRASE='a passphrase of at least 8 characters' node bin/keeper.js init --store ./vault node bin/keeper.js snapshot --store ./vault --home ~/.dsh node bin/keeper.js verify --store ./vault node bin/keeper.js restore --store ./vault --home /tmp/restored-home restore 在 sessions/ 下还原宿主自己的目录结构,校验每个哈希,绝不覆盖已有日志。 在 DSH 里使用 安装 bundle,然后在任意对话里运行一次 /keeper init。设置就这么多:它创建 vault(默认 ~/.dsh/history-keeper),在你还没选口令时生成一个,并写入 ~/.dsh/history-keeper.key。 不需要打配置档补丁。下面的 YAML 只用来覆盖默认值: - insert: - id: history-keeper name: dsh-history-keeper config: store: C:\Users\you\keeper-vault # default: ~/.dsh/history-keeper sessionsRoot: C:\Users\you\.dsh\sessions # default: ~/.dsh/sessions autoSnapshotOnFlush: true # capture after each closed turn debounceMs: 2000 # settle time before a capture runs snapshotMinIntervalMs: 30000 # coalesce a burst of turns (0 disables) maxChunkBytes: 1048576 # target chunk size; frames are never split secretScan: true # quarantine a session that looks like it holds a credential secretScanAllow: [] # rule ids to ignore, e.g. [openai-key] secretScanEntropy: false # long high-entropy runs (noisy; off by default) captureAttachments: true # capture the blobs sessions reference autoCompact: true # checkpoint the chain when the policy approves compactMinManifests: 50 # manifests since the last checkpoint before it acts keyFile: C:\Users\you\.dsh\history-keeper.key passphraseFile: null # wins over the key file and the env var passphraseEnv: KEEPER_PASSPHRASE deviceName: my-laptop 口令永远不会写进补丁:它来自 passphraseFile、init 创建的密钥文件,或 KEEPER_PASSPHRASE。然后在会话里: text /keeper init create the vault (generates a passphrase when none is configured) /keeper status what the vault holds, what is pending, what this machine is missing /keeper snapshot capture new session bytes now /keeper verify check every object, hash and chain /keeper help restore 故意不在 DSH 内部提供:它会写入正在使用的会话存储,而运行中的宿主不会察觉。它始终是命令行操作,需要先关闭 DSH —— 这正是恢复工具的要点。 密钥闸门 捕获时,只要会话的新增字节看起来像凭据,就绝不会发布。闸门会隔离,而不是脱敏,因为改写字节会破坏逐字节一致的承诺:该会话不写入任何内容,/keeper snapshot 只报告命中的规则和行号 —— 绝不报告具体的值。想强行发布,用 --force;想静默某条规则,用 --allow-rule <id>。 它能识别结构化密钥(API key、token、密钥赋值、私钥块)。写在散文里的密码无法靠模式识别:闸门是安全网,不是保证。 最小配置 每个键都是可选的。完全不写 config 时,插件会在 ~/.dsh/history-keeper 找存储,从 ~/.dsh/sessions 读会话,存储不存在时告诉你如何创建。 时间戳以 UTC 存储(同一时刻在不同机器上必须无歧义),显示时转换成本地时区,并附上偏移量。 设计原则 1. 不依赖外部二进制。 只用 node: —— 不需要 git,不需要 age,什么都不用装。 2. 失败即关闭。 没有密钥就不同步。冲突时绝不写入。加密绝不降级为明文。 3. 绝不覆盖,绝不删除。 恢复只做创建;已存在且内容不同的,一律搁置到一边。 4. 只追加,可验证。 每个对象都不可变,并以内容命名;分块链让任何人都能审计完整性,即使没有密钥。 5. 每台设备各存副本,绝不共用可变文件。 6. 传输层保持简单。 文件夹(或任何服务商)只搬运 blob:不解析、不排序、不合并。 7. 你可以亲自审计。 用 verify 和一份可读的报告 —— 不必信任我们。 隐私历史记录离开本机之前就已加密,元数据同样加密:文件名和大小不会暴露你在做哪些项目。没有密钥,存储内容不可读。没有服务器,也没有账号。 安装 尚未发布。0.1 发布后: sh dsh plugin --profile web add dsh-history-keeper 兼容性 基于 DeepSeek Harness 0.2.0-rc.2 开发。包内声明了 engines.dsh,宿主版本不兼容时会直接拒绝,而不是带病运行。 开发 sh node --test "test/*.test.mjs" # unit tests, no dependencies to install npm run guard # refuses committed session logs 设计说明与路线图见 docs/。发布历史(包括从未发布的版本及其原因)见 CHANGELOG.md。 许可 本仓库采用分拆许可模式: - 源代码(bin/、lib/、scripts/、test/、package.json、cordis.patch.yml):采用 PolyForm Noncommercial License 1.0.0 许可。见 LICENSE-CODE。 - 文档(README.md、README-es.md、CHANGELOG.md、docs/):采用 CC BY-NC 4.0 许可。见 LICENSE-DOCS。 未经作者明确许可,不得将源代码用于商业用途。 许可变更历史 0.1.0-rc.1 到 0.1.0-rc.7 各版本以 MIT 发布,已获取这些版本的人仍可按 MIT 使用。上述分拆模式从 0.1.0-rc.9 起生效;0.1.0-rc.8 因误用 MIT 元数据发布,已废弃。截至 2026-10-24,本项目没有 fork。完整时间线、fork 状态与贡献条款见 LICENSING-HISTORY.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
leoainc-ops/dsh-history-keeper
加密备份并逐字节校验恢复会话历史与附件
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9