DeepSeek Harness Hub
← 返回列表

XiaoWind/dsh-vault

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一个 DeepSeek HarnessDSH

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/28 · 已提供中文文档

DeepSeek Harness 插件:用于 DSH 对话和日志的便携式工作区保管库

综合分
27.8
GitHub 分
27.8
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add XiaoWind/dsh-vault
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-workspace
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-vault

一个 DeepSeek Harness(DSH)
插件,把所有对话和日志保存在工作区文件夹内部,让工作区文件夹成为自包含、
可移植的存档。

安装 dsh-vault 后,每个工作区文件夹里会出现一个 dsh-session-vault/ 目录:

my-project/
dsh-session-vault/
workspace.json          # 工作区名称(标题)+ 保险库标记
sessions/
.jsonl    # 每个会话一个追加式对话日志

- 每个 cwd 指向该工作区的会话都会在发生时被实时镜像到
dsh-session-vault/sessions/。
- 工作区标题被缓存在 dsh-session-vault/workspace.json 里。

为什么这样就能在新电脑上恢复

1. 把工作区文件夹(整个目录,包括 dsh-session-vault/)复制到新电脑。
2. 在新电脑上安装 DSH 和本插件。
3. 把复制的文件夹作为工作区打开。

打开时,dsh-vault 会把保险库里的每个会话导入回 DSH 持久化(并把每个会话的
cwd 重新绑定到文件夹当前所在位置),同时从 workspace.json 恢复工作区名称。
所有对话——包括工作区名称——都会回来。

安装

从 GitHub 安装(立即可用,无需发布到 npm)
dsh plugin --profile web add git+https://github.com/XiaoWind/dsh-vault.git

或发布到 npm 后
dsh plugin --profile web add dsh-vault

dsh plugin 会把参数转发给 web profile 目录内的 pnpm,随后自动把该包加入
dsh.profile.bundles 层级列表(因为本包声明了 dsh.bundle.patch)。安装后请
重启 Web 应用。

本插件注入 sessionPersistence、workspaceRegistry 和 commands 服务,因此
只在包含这些 host 服务的 profile 中生效——官方自带的 web profile 就包含它们。

更新

把已安装的插件更新到 GitHub 最新版:

dsh plugin --profile web update dsh-vault

dsh plugin 会把参数转发给 profile 目录里的 pnpm update dsh-vault,把
github:XiaoWind/dsh-vault 重新解析到默认分支的最新 commit。锁文件按 commit
钉住 git 依赖,因此不必升级 version 也能更新。若 pnpm 因缓存没有拉到新
commit,可显式重新钉一次:

dsh plugin --profile web add github:XiaoWind/dsh-vault

更新后请重启 Web 应用——bundle 层在启动时组合,运行中的 Web 进程不会热更已安装的插件。

用法

保险库全自动运行,无需额外配置。提供了 /vault 斜杠命令用于查看和手动控制:

| 命令 | 作用 |
|---|---|
| /vault status | 查看已保险的工作区及每个工作区的会话数量。 |
| /vault restore | 立即为已知工作区导入保险库中的会话/标题。 |
| /vault export | 立即把当前持久化数据(重新)写入保险库文件。 |
| /vault help | 查看帮助。 |

行为说明

- 持续镜像。 会话每追加事件,就按顺序写入该工作区的
dsh-session-vault/sessions/.jsonl;会话销毁时会把文件重写为一份干净快照。
- 自动恢复。 启动时、以及每次打开工作区时,插件都会导入 DSH 持久化中缺失
的保险库会话,并应用保险库里的标题。在全新电脑上把复制的文件夹作为工作区打开,
同样会触发恢复。
- 路径可移植。 导入时会把会话的 cwd 重新绑定到工作区当前的绝对路径,因此
复制到不同位置的文件夹也能干净恢复。
- 幂等。 已存在于持久化中的会话不会被重复导入;无需变更时,挂载/重命名不会
产生任何写入。

配置

无需配置。插件以空 config 插入;保险库目录名(dsh-session-vault)和 JSONL
格式是固定的,以保证不同机器之间的保险库可以互换。

每个保险库的 workspace.json 还带有 kind: "dsh-vault" 标记,因此插件按内容
识别保险库,而不只依赖目录名。

开发

语法检查
node --check lib/index.js
node --check lib/vault.js

插件是无第三方依赖的 ESM(lib/index.js + lib/vault.js),无需构建步骤。它导出
apply、inject、name,并由 bundle 层 cordis.patch.yml 插入到 profile 组合中。
JSONL 格式是自包含的、独立于 harness,因此 lib/vault.js 可直接做单元测试。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(XiaoWind)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群