dsh-vault:DeepSeek Harness 的加密憑據倉庫插件

前言

做 DeepSeek Harness(DSH)插件時,一個很具體的問題是:模型需要讀取用戶名、郵箱、電話、密碼、TOTP 密鑰,以及 SSH/API key/OAuth 開發者憑據,但這些信息不宜散落在提示詞、臨時腳本、聊天上下文或普通配置文件裏。

dsh-vault 解決的就是這件事:它是一個面向 DSH 的加密憑據倉庫插件,把上述敏感信息加密存儲在磁盤上,並通過模型工具和 Settings UI 提供受控存取。

這是什麼

Ox0400/dsh-vault 是 DeepSeek Harness 的加密憑據倉庫插件,作者爲 Ox0400,許可證爲 MIT。

它的主要定位是:

  • 存儲敏感憑據,且加密保存在磁盤上。
  • 暴露 CRUD、搜索、密碼生成、TOTP 工具給模型。
  • 提供 Settings UI 頁面。
  • 支持後續維護類能力,例如密碼歷史、恢復碼、rekey、備份、導入導出、附件、過期、輪換、健康檢查和批量操作。

核心能力

加密存儲範圍

根據已覈實事實,dsh-vault 可存儲:

  • 用戶名
  • 郵箱
  • 電話號碼
  • 密碼
  • TOTP 密鑰
  • SSH connections
  • API keys
  • secrets
  • OAuth access/refresh tokens

這些憑據在落盤時是加密存儲的。

模型工具

插件會向模型暴露憑據管理工具,常見工具包括:

  • vault_add:新增一條憑據,可組合填寫不同字段。
  • vault_get:按 id 讀取完整條目,包括密文字段。
  • vault_search:按標題、分類、用戶名、郵箱、電話、主機、端口、URL、備註、標籤、自定義字段等搜索,返回不含密文的摘要。
  • vault_update:按 id 更新字段;空字符串會清空對應字段。
  • vault_totp:爲已存儲的 otpSecret 生成當前 6 位 TOTP 碼。
  • vault_generate_password:生成強隨機密碼,或生成易記的 passphrase。
  • vault_lock / vault_unlock:鎖定憑據倉庫,或重新解鎖。

搜索不返回密文

vault_search 只返回摘要,不返回密碼、密鑰、token 或 TOTP 密鑰。

如果需要讀取完整憑據,必須顯式通過 vault_getid 獲取。

這能把“找條目”和“讀密文”分開:模型可以先搜索定位,再決定是否需要讀取完整內容。

實現細節

dsh-vault 使用 Node 內置的 node:crypto,不引入額外加密依賴。

已覈實事實中提到:

  • AES-256-GCM 加密
  • scrypt 密鑰派生
  • RFC 6238 TOTP

主密碼派生出的密鑰使用方式爲:

key = scrypt(master password, salt)

派生後的密鑰緩存在進程中,密鑰本身不落盤。重啓後會重新派生。

另外,已覈實事實還提到:

  • 軟刪除條目會進入 trash,並且仍然加密保存在磁盤上。
  • 批量刪除默認是 dry-run,需要 confirm: true
  • vault_breach_check 使用 Have I Been Pwned k-anonymity;只有 SHA-1 前綴會離開本機,並且有離線常見密碼兜底。

安裝與啓用

已覈實材料中沒有給出可確認的官方安裝命令,因此這裏不直接給出安裝命令。

不要憑倉庫名拼接類似 dsh plugin add github:owner/repo 的命令。請先從倉庫 README 或插件目錄頁確認安裝方式。

下面列出與安裝前檢查相關的已覈實信息:

name: dsh-vault
version: 1.10.9-rc.1
license: MIT
node engine: >=20
dependencies: playwright-core
peer dependencies: @deepseek-ai/* packages

啓用前建議確認本機 Node 版本滿足 >=20,並檢查所需的 @deepseek-ai/* peer 依賴是否已經安裝。

典型用法

下面按實際操作順序說明。

1、先搜索,不直接讀密文

當模型只知道某個賬號的郵箱、主機名、標籤或標題時,先使用 vault_search

它會返回不含密文的摘要。

這樣做的好處是:搜索過程不會把密碼、API key、OAuth token 或 TOTP 密鑰帶進模型上下文。

2、確認條目後再讀取

如果搜索結果中出現了目標條目,再用 vault_getid 讀取完整條目。

只有顯式讀取時,纔會獲取完整憑據。

3、新增憑據

需要保存新的登錄信息、SSH 連接、API key 或 OAuth token 時,使用 vault_add

vault_add 支持任意字段組合,適合一次性錄入用戶名、郵箱、密碼、主機、端口、密鑰、token、備註、標籤等信息。

4、更新字段

需要修改某個條目時,使用 vault_update

未提供的字段會保留;如果某個字段傳空字符串,該字段會被清空。

5、生成密碼或 passphrase

需要爲新賬號生成密碼時,使用 vault_generate_password

它可以生成強隨機密碼,也可以生成易記的 passphrase。

6、獲取 TOTP 碼

如果條目中保存了 TOTP 密鑰,可以使用 vault_totp 生成當前 6 位動態碼。

這適合需要臨時讀取 MFA 碼的場景。

7、鎖定與解鎖

當憑據倉庫不再被模型使用,或需要清除進程內緩存密鑰時,使用 vault_lock

需要再次訪問時,使用 vault_unlock

適用場景與注意

適合使用 dsh-vault 的場景:

  • 爲 DSH 插件或智能體提供憑據訪問能力。
  • 需要管理用戶名、郵箱、電話、密碼、TOTP 密鑰等身份憑據。
  • 需要管理 SSH connections、API keys、secrets、OAuth access/refresh tokens。
  • 希望搜索憑據時不直接暴露密碼、密鑰、token 或 TOTP 密鑰。
  • 希望把憑據維護放到 Settings UI 和模型工具中,而不是散落在普通配置文件中。

需要注意:

  • 插件會以當前 dsh 進程權限運行。
  • 安裝前建議檢查源碼、依賴、許可證和使用方式。
  • 已覈實材料未給出官方安裝命令,不要憑空拼接安裝命令。
  • 搜索只返回摘要,完整憑據仍需要顯式 vault_get
  • 批量刪除默認 dry-run,需要 confirm: true

結尾

dsh-vault 的價值在於把“模型能搜索憑據”和“模型能讀取完整密文”分成兩個步驟,同時把敏感信息以加密形式保存在磁盤上。

對於需要在 DSH 中管理賬號、開發者憑據和 MFA 密鑰的插件開發場景,它是一個值得檢查的加密憑據倉庫插件。

倉庫地址:

https://github.com/Ox0400/dsh-vault
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜