把对话与日志存进工作区,随文件夹迁移恢复
27.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add XiaoWind/dsh-vault该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 67 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 20 处,展示前 17 条)
- 读取本地文件lib/index.js:66
return await realpath(path); - 读取本地文件lib/index.js:75
await access(path); - 读取本地文件lib/index.js:415
if (path === undefined || !existsSync(path)) imageIndexes.push(imageIndex); - 写入本地文件lib/vault.js:189
await mkdir(dir, { recursive: true }); - 写入本地文件lib/vault.js:192
await writeFile(tmp, content, "utf8"); - 写入本地文件lib/vault.js:194
await rename(tmp, file); - 删除本地文件lib/vault.js:196
await rm(tmp, { force: true }).catch(() => {}); - 读取本地文件lib/vault.js:204
await access(file); - 写入本地文件lib/vault.js:209
await mkdir(dirname(file), { recursive: true }); - 写入本地文件lib/vault.js:210
await appendFile(file, `${JSON.stringify(headerToLine(header))}\n`, "utf8"); - 写入本地文件lib/vault.js:217
await appendFile(file, `${lines.join("\n")}\n`, "utf8"); - 读取本地文件lib/vault.js:224
text = await readFile(file, "utf8"); - 读取本地文件lib/vault.js:338
await access(file); - 读取本地文件lib/vault.js:366
names = await readdir(dir); - 读取本地文件lib/vault.js:399
const text = await readFile(workspaceFileFor(cwd), "utf8"); - 读取本地文件lib/vault.js:416
await access(workspaceFileFor(cwd)); - 删除本地文件lib/vault.js:435
await rm(tmp, { force: true }).catch(() => {});
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-workspace给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 存放会话与日志
- 随工作区迁移
- 可移植保险库
DeepSeek Harness 插件:可移植的工作区保险库,存放 DSH 会话与日志
README
由 DeepSeek 最新模型翻译生成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 恢复工作区名称。
所有对话——包括工作区名称——都会回来。
展开完整文档(README 剩余 1 节)
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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
XiaoWind/dsh-vault
把对话与日志存进工作区,随文件夹迁移恢复
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目