前言¶
做 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_get 按 id 獲取。
這能把“找條目”和“讀密文”分開:模型可以先搜索定位,再決定是否需要讀取完整內容。
實現細節¶
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_get 按 id 讀取完整條目。
只有顯式讀取時,纔會獲取完整憑據。
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