前言¶
用 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