前言¶
在 DSH(DeepSeek Harness)會話中,模型經常需要訪問密碼、用戶名或 TOTP 動態碼。與其在每次對話中都讓用戶手動輸入,不如讓模型先在本地憑據庫中檢索。jindom/dsh-bitwarden 插件通過在 DSH 會話中內置 Bitwarden 憑據庫及管理工具,實現了這一需求。
功能¶
該插件爲 DSH 提供了以下能力:
- 設置卡片:在 DSH 插件配置中提供圖形化表單,用於配置連接參數。
- 管理工具:
bitwarden_find:檢索條目列表(不含密碼)。bitwarden_get:獲取特定條目的密碼、用戶名、TOTP 或自定義字段。bitwarden_status:檢查配置狀態、連通性及解鎖狀態。
- 系統提示詞注入:在全局注入一段引導,要求模型在需要任何賬號、密碼、API key 時,優先自查憑據庫。
- 配置表單:在 DSH 設置界面中渲染配置項,支持主密碼與 API 密鑰的加密存儲。
配置¶
配置支持三種方式,優先級從高到低:用戶設置(GUI) > 插件組合配置 > 環境變量 > 默認值。
1. DSH 設置界面(推薦)¶
進入 設置 → 插件 → 插件配置 → Bitwarden / Vaultwarden 憑據庫,使用插件提供的卡片進行配置。主密碼與 API 密鑰爲只寫字段,保存後不會回傳明文。
| 字段 | 說明 |
|---|---|
serverUrl |
服務器地址,默認 https://bitwarden.jindom.cc。 |
email |
登錄郵箱。必須與賬號一致,它是 KDF 的鹽值。 |
masterPassword |
主密碼(secret)。用於派生主密鑰,僅存在內存。 |
apiKeyClientId |
可選。Bitwarden 網頁端 → 賬戶設置 → 安全 → 密鑰 的 client_id。填入後可繞過兩步驗證。 |
apiKeyClientSecret |
可選。對應的 client_secret(secret)。 |
cacheMinutes |
解鎖後的內存緩存時長,默認 30 分鐘。 |
2. 環境變量¶
支持以下環境變量名(也支持去掉 DSH_ 前綴的寫法):
DSH_BITWARDEN_SERVERDSH_BITWARDEN_EMAILDSH_BITWARDEN_MASTER_PASSWORDDSH_BITWARDEN_CLIENT_IDDSH_BITWARDEN_CLIENT_SECRET
3. 組合配置¶
在 profile 的 cordis 配置中,給插件傳入同名字段,作爲 settings 的 base 層。
用法¶
模型側調用工具時使用 JSON 格式。bitwarden_get 的 field 參數支持 all(默認)、password、username、totp、notes、fields。
檢索條目¶
bitwarden_find { "query": "github jindom" }
返回條目列表(id/名稱/用戶名/網址),不含密碼。
獲取憑據¶
bitwarden_get { "id": "...", "field": "password" }
獲取 TOTP¶
bitwarden_get { "name": "GitHub 工作賬號", "field": "totp" }
返回當前 6/8 位動態碼。
檢查狀態¶
bitwarden_status { "refresh": true }
丟緩存重新登錄同步並報告狀態。
安全說明¶
- 數據存儲:主密碼、用戶密鑰及解密後的條目僅存在內存,不寫盤、不打日誌。插件只持久化用戶填寫的配置。
- 憑證流轉:工具返回的明文憑據會進入會話上下文。提示詞要求模型不要回顯或寫入文件。如需更嚴格,可只用
field: "password"進行窄查詢。 - 證書信任:服務器證書必須受信任(本機 Node 的 CA 策略)。自簽證書需替換爲受信任證書。
裝配方式¶
本插件以 profile bundle 的方式裝配。在 package.json 中配置 dsh.bundle.patch 和 cordis.patch.yml 的 insert 條目,並在 profile 的 bundles 中列出包名。
注意:同一插件只能有一條裝配路徑。如果已經通過 bundle 裝配,不要再使用注入器的
dev_inject_plugin運行,否則client-modules會在啓動期因組合錯誤拒絕啓動。熱更代碼請使用dev_reload_package。
依賴說明¶
- Argon2id KDF:插件默認支持 Argon2id。如果服務器使用該算法且未安裝可選依賴,插件會報錯。可在服務器端將 KDF 改爲 PBKDF2-SHA256,或安裝
hash-wasm(npm install hash-wasm)。
項目地址:
* 生態目錄:https://www.skillhub.cn/plugins/Jindom/dsh-bitwarden
* GitHub:https://github.com/Jindom/dsh-bitwarden