前言¶
用 DeepSeek Harness(DSH)寫自動化或智能體流程時,經常會碰到需要引用 API Key、站點密碼或 TOTP 的場景。把祕密直接貼進對話,明文會進會話歷史,也可能被模型上下文帶走;讓模型去「猜」配置同樣不可靠。本插件把本機 MimaVault(密匣) 接到 DSH:提供檢索、剪貼板複製、代發 HTTP、生成口令等能力,設計上讓庫中密碼與種子默認不進入模型上下文。
這是什麼¶
dsh-mimavault(顯示名「MimaVault 密匣」)由 startime-ltk 維護,歸類爲 admin-security。它是 DSH 與密匣本地 API 之間的橋:插件側只做 HTTP 客戶端,不碰加密數據;解密留在 MimaVault 進程內。倉庫:https://github.com/startime-ltk/dsh-mimavault。社區目錄頁:https://www.skillhub.cn/plugins/startime-ltk/dsh-mimavault(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。
當前包版本爲 0.3.1(見倉庫 package.json),許可證 MIT。
工作方式概覽¶
DSH Host 中的插件通過 Bearer Token 訪問僅監聽 127.0.0.1 隨機端口的 LocalApiServer(須在密匣解鎖且勾選 Local API (DSH) 後可用)。常用工具包括 vault_search、vault_entry、vault_copy、vault_totp、vault_generate、vault_call_api;v0.3.0 起還支持 builtin 內置明文庫模式(與默認 external 互斥、數據不互通)。
| 關切 | external(默認) | builtin |
|---|---|---|
| 數據位置 | PC 密匣加密庫 | %APPDATA%/MimaVault/builtin-vault.json(明文 JSON) |
| 是否需安裝密匣 | 需要 | 不需要 |
| 明文是否進入 DSH 進程 | 否 | 是(文件可讀即可見全部條目) |
下面分節以 external 爲主;內置模式的安全邊界見後文「適用場景與注意」。
核心功能¶
面向模型的工具¶
| 工具 | 作用 | 會向模型返回庫中明文嗎 |
|---|---|---|
vault_search |
按關鍵詞/分類檢索元數據(備註可命中但不返回內容) | 否 |
vault_entry |
單條元數據;敏感字段如 api_key 打碼爲 *** |
否 |
vault_copy |
指定字段寫入剪貼板(external 由密匣側執行) | 否 |
vault_totp |
6 位動態碼 + 剩餘秒數 | 僅短時效驗證碼 |
vault_generate |
生成新隨機口令 | 是(新生成,非庫內祕密) |
vault_call_api |
用庫中令牌代理 HTTP,僅把對方響應給模型 | 否 |
vault_clear |
僅發起清空內置庫請求,須人工確認 | 否 |
安全模型要點(README 歸納):vault_search / vault_entry 不傳密碼、備註全文與 TOTP 種子;vault_call_api 限目標域名爲條目 api_endpoint 的域名、不自動跟隨 3xx;未解鎖時插件提示未運行/未解鎖;密匣約 3 分鐘無操作自動登出後 API 立即失效。
側欄面板「密匣」¶
註冊在 sidebar.panellist,打開行時會嘗試 POST /plugins/dsh-mimavault/launch 拉起密匣。面板展示連接狀態(已連接 / 已啓動未就緒 / 未運行 / 未找到);未找到時可在配置中填寫 appPath。builtin 模式下可切換數據源、CSV 導入、條目列表與帶二次確認的清空;面板只顯示元數據,不顯示密碼明文。側欄「關於」區塊可檢查更新(多源讀 version.txt,只提示不自動覆蓋 link: 開發目錄)。
安裝與啓用¶
資料中的部署方式爲:將包加入 profile 依賴並在 bundle 中啓用,不是憑插件名拼接 dsh plugin add。
- 在
%USERPROFILE%\.dsh\profiles\<profile>\package.json中加入依賴與 bundle(開發期可用link:指向本地目錄):
{
"dependencies": {
"dsh-mimavault": "link:D:/path/to/dsh-mimavault"
},
"dsh": {
"profile": {
"bundles": [
"dsh-mimavault"
]
}
}
}
-
在 profile 目錄執行
pnpm install並重啓 DSH。 -
external 模式:需 MimaVault v8.35.5 或更高,登錄後托盤勾選
Local API (DSH),確認生成%APPDATA%\MimaVault\api.json。 -
運行環境:
package.json要求 Node >= 22.19.0,peer 依賴@deepseek-ai/cordis與@deepseek-ai/dsh-tools版本區間見倉庫。
配置¶
在 profile 的 cordis.patch.yml 中覆蓋插件項,例如:
- id: dsh-mimavault
name: dsh-mimavault
config:
requestTimeoutMs: 8000
maxResponseBytes: 20000
allowedHosts:
- "*.openai.com"
apiJsonPath: ""
appPath: ""
storePath: ""
enableBuiltinCallApi: false
updateTimeoutMs: 8000
allowedHosts 爲 vault_call_api 額外放行域名;enableBuiltinCallApi 默認 false,builtin 下不建議開啓。
典型用法¶
經過上面的步驟連接 external 密匣後,可在會話中讓 DSH 調用工具(具體由模型與 profile 工具策略決定),例如:
vault_search:用服務名或分類縮小條目,再vault_entry看端點、用戶名等元數據(無密碼明文)。- 填表:對目標字段調用
vault_copy,在用戶本機剪貼板取用(external 下密匣側約 30 秒條件清除)。 - 調第三方 API:在條目已配置
api_endpoint與密鑰時,用vault_call_api發起單次請求,模型只見響應體(受maxResponseBytes等限制)。 - 雙因素:對帶 TOTP 的條目調用
vault_totp取當前 6 位碼。 - builtin 遷移:在密匣中「導出 CSV(明文)」→ 側欄粘貼並「導入 CSV」;解析在 Host 內完成,不把明文發給模型。不要用「讓 AI 轉格式」的方式導入整庫。
內置庫清空:側欄或 vault_clear 僅發起請求,須在確認框點「確認清空」;執行前會寫 builtin-vault.json.backup。
適用場景與注意¶
適合誰:已在用或願意用 MimaVault、又需要 DSH 在編排裏引用憑據但不希望祕密進入對話的開發者;可接受本機常駐密匣與手動解鎖的 external 流程。
務必知情:
- 插件以當前 DSH 進程權限運行;安裝前請閱讀源碼與 MIT 許可證,自行評估信任邊界。
- external:主密碼不經過 DSH;插件無法代理解鎖。
- builtin:明文存盤,任何能讀
builtin-vault.json的程序(含 DSH 的 shell 工具)可見全部祕密;vault_call_api默認關閉;剪貼板複製依賴 Windows PowerShell,非 Windows 不支持。 - 同 Windows 用戶下的惡意程序仍可能讀取 API 描述文件中的 Bearer token;設計主要防範 CSRF 與誤操作。
vault_call_api不支持重定向與分頁;兩套數據源切換不會自動遷移條目。
結尾¶
dsh-mimavault 把「搜條目、複製字段、代發 API、讀 TOTP」收成 DSH 工具,並在 external 模式下把解密與剪貼板寫回留在密匣進程。若你已在 profile 裏用 link: 做本地開發,側欄檢查更新只會提示新版本,需自行拉代碼並重啓 DSH 或重新安裝。
- 目錄頁:https://www.skillhub.cn/plugins/startime-ltk/dsh-mimavault
- GitHub:https://github.com/startime-ltk/dsh-mimavault