DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@aiwayds/dsh-vault

Vault

dsh-plugin:通过私有 GitHub 仓库对 dsh home 配置进行加密备份 / 恢复 / 迁移

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @aiwayds/dsh-vault@0.7.0
README兼容性版本

兼容性与来源证明

Vault 以 @aiwayds/dsh-vault 发布,当前版本为 0.7.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.7.0stable
2026/9/29
0.6.0stable
2026/9/24
0.5.0stable
2026/9/11
查看其余 6 个版本收起版本
0.4.1stable
2026/9/9
0.4.0stable
2026/9/8
0.3.1stable
2026/9/5
0.3.0stable
2026/9/3
0.2.0stable
2026/9/1
0.1.0stable
2026/9/1

相关插件

正在加载相关插件…

最新版
0.7.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
180.5 kB
文件数
45
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
163
安全扫描
✓ v0.7.0 扫描通过
最近提交
2026/11/3
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Experimental Auto Review@deepseek-ai/dsh-experimental-auto-review针对每个工具的 LLM 授权审查,适用于 DeepSeek Harness Auto 权限预设Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。

README

dsh-vault

English | 中文

A dsh plugin that backs up your dsh home config — encrypted — to your own private GitHub repo, and pulls it flat onto a new machine with one command: restore the config, reinstall plugins from the manifest. Cross-machine restore doubles as migration.

Requires dsh >= 0.2.0-rc.2 — this plugin targets the dsh RC/stable line only (CI and releases resolve the newest of the latest/next dist-tags at runtime). The alpha line is no longer supported.

Zero npm dependencies: encryption uses only Node's built-in crypto (scrypt + AES-256-GCM); GitHub transfer goes through the REST API.

Commands

/vault backup [passphrase]        Back up and push (creates the private repo if missing)
/vault list                       Table of every machine's backup in the vault
                                  (machine / description / snapshot time / file count / size, ← this machine)
/vault restore [machine] [--yes] [passphrase]
                                  No machine name = list snapshots
                                  Picking another machine = migration; --yes actually executes
/vault config                     Show current settings
/vault set repo <owner/name>      Override the default vault repo name
/vault set machine-desc <desc>    Machine description (recorded in the snapshot manifest,
                                  for identification when picking across machines)
/vault set remember-passphrase on|off
                                  When on, the next backup with a passphrase stores it in
                                  the macOS keychain for automatic reuse

Configuration

Since dsh 0.1.7 a legacy settings.yaml is imported once at boot and renamed settings.yaml.imported; plugin settings live in the profile patch instead. The config entry is dsh-vault in ~/.dsh/profiles/<profile>/cordis.patch.yml — the same entry /vault set writes back to (hot, no restart):

- id: dsh-vault
  name: '@aiwayds/dsh-vault'
  config:
    repo: ""                        # owner/name override; empty = default dsh-backup-<login>
    machineDescription: ""          # human label recorded in the snapshot manifest
    rememberPassphrase: false       # store the passphrase in the macOS keychain on backup

A pre-upgrade top-level vault: section in settings.yaml does not migrate automatically (the entry id is dsh-vault, the old section was vault) — the original lines survive in settings.yaml.imported; re-enter them with /vault set.

Passphrase sources, in order: inline command argument (never logged) → $DSH_VAULT_PASSPHRASE → the macOS keychain (when rememberPassphrase is on). GitHub credentials come from $GITHUB_TOKEN or a logged-in gh CLI.

The plugin ships a bundled skill (dsh-vault-config): ask the agent to configure backups or run a first backup and the guide loads automatically — it walks the choices interactively (repo, machine description, passphrase memory) and writes the dsh-vault config entry for you.

Uninstall

dsh plugin --profile tui remove @aiwayds/dsh-vault

The host cleans up the profile automatically: the dsh.profile.bundles entry is spliced and the plugin's patch layer drops. This is a secrets/backup plugin, so be explicit about what outlives the removal — none of it is touched by remove:

  1. The macOS Keychain item (service + account dsh-vault) holding a remembered passphrase. Turn it off before uninstalling with /vault set remember-passphrase off, or delete the item afterwards in Keychain Access.
  2. The private GitHub repo dsh-backup-<login> holding your encrypted snapshots (auto-created on first backup) — delete it on GitHub if unwanted.
  3. ~/.dsh/vault/stash/ — up to 3 pre-restore stashes of the full config, including .credentials.yaml (mode 0600). Purge with rm -r ~/.dsh/vault.
  4. The dsh-vault config entry in the profile patch (cordis.patch.yml) and the archived vault: section inside ~/.dsh/settings.yaml.imported — remove the lines by hand.

Backup set

In: settings.yaml, settings.yaml.imported (the archived pre-0.1.7 settings; backed up when present), .credentials.yaml (API keys), APPEND_SYSTEM.md, agents/, each profile's manifest four-pack (package.json / pnpm-lock.yaml / pnpm-workspace.yaml / cordis.patch.yml — the patch is where 0.1.7+ plugin settings live), the home-level cordis.patch.yml, and models-store.json.

Out: sessions/, storages/, every node_modules (reinstalled from the manifest), cordis.yml (unconditionally rewritten by the host at startup), .anonymous-user-id, usage stats.

Security model

  • Snapshots are encrypted whole before leaving the machine: passphrase → scrypt-derived key → AES-256-GCM (vault format v1; the header carries its KDF parameters and a version).
  • The private repo is only the first door (token leakage); encryption is the data door. A lost passphrase means the snapshot is unrecoverable — the plugin offers no recovery.
  • Three ways to supply the passphrase: inline in the command (recordInput: false, never lands in session logs) → the $DSH_VAULT_PASSPHRASE env var → the macOS keychain (stored automatically when remember-passphrase on).
  • Before backup, an encrypt-then-decrypt self-check ensures a bad snapshot never replaces a good one; before restore, the current config is stashed to ~/.dsh/vault/stash/ (last 3 kept).
  • GitHub credentials: reuses $GITHUB_TOKEN or a logged-in gh CLI; login is not this plugin's job.

Vault layout

dsh-backup-<github username>/          ← private; override with /vault set repo
└── machines/<hostname>/
    ├── snapshot.enc               ← encrypted snapshot (latest only, overwrite by design)
    └── manifest.json              ← plaintext metadata (machine / description / time / file
                                       list — no key material)

Known limitations

  • file: absolute-path deps in a profile manifest (locally linked plugins) are invalid on another machine; restore warns about them and you handle those manually.
  • .env and storages/ (machine-absolute paths) don't migrate; session history doesn't migrate.
  • Only the latest snapshot per machine is kept (deliberate, see ADR 0003) — adding history would be a format-level change.
  • Restore's plugin reinstall needs the dsh CLI and pnpm on PATH.

Development

pnpm install && pnpm build && pnpm test   # unit tests (24)
node scripts/smoke-boot.mjs               # real-host boot smoke (scratch profile)
node scripts/e2e-host.mjs                 # real GitHub round-trip (sandbox home + scratch repo)
./e2e/run-e2e.sh                          # podman container e2e (isolated ~/.dsh)

Design docs: CONTEXT.md (glossary) and docs/adr/ (backup-set boundary, encryption scheme, overwrite snapshots, single-repo multi-machine layout).