前言¶
在 DeepSeek Harness(DSH)的生态中,开发或使用智能体时经常需要调用 GitHub、npm 或各类 API 接口。这些操作通常需要 Token 进行身份验证。直接将 Token 写入对话历史或创建本地明文文件不符合安全规范。dsh-token-vault 插件提供了一种解决方案:将 Token 存储在 DSH 自身的凭证记录空间中,并在运行时通过环境变量注入,确保机密不离开主机。
核心功能¶
插件提供了 7 个面向 Agent 的工具,用于管理凭证的生命周期与使用:
vault_list:列出已存储的 Token 名称,不显示任何值。vault_has:检查某个 Token 是否存在。vault_set:存储或更新 Token,执行过程中不会回显输入的值。vault_remove:删除指定的 Token。vault_import:从gh auth token(源:gh)或~/.npmrc(源:npm)导入 Token。vault_run:运行gh、npm、npx、node或git命令,并将 Token 注入到对应的环境变量(github/gh →GH_TOKEN,npm/node →NPM_TOKEN,可通过env_name覆盖)。vault_show:仅此路径可能泄露 Token,使用时必须设置confirm: true。
安装与启用¶
安装命令如下。插件声明了 dsh.bundle.patch,安装后会自动挂载,但需要重启 DSH Desktop 才能生效。
dsh plugin --profile desktop add @yyfather/dsh-token-vault
安装完成后,可以通过以下方式管理 Token:
* 设置 → 市场 → 已安装:在此处启用、更新或卸载插件。
* 设置 → 凭证库:直接在此页面录入 Token 或导入已有凭证。
安全机制¶
该插件的安全设计基于三个层面:
- 存储层:使用 DSH 的凭证记录空间(路径为
dsh-token-vault/<name>),采用原子写入(modifyRecord),不生成任何明文文件。 - 使用层:
vault_run仅将 Token 放入子进程的环境变量中,标准输出、标准错误及日志文件中均不会包含 Token 值。 - 控制层:插件会自动注入
token-vault-usage提示规则,强制 Agent 在对话中不打印或持久化 Token。
典型用法¶
使用 vault_run 时,Agent 会自动注入环境变量以执行命令。例如,调用 gh 工具时,vault_run 会设置 GH_TOKEN 环境变量,从而在日志中完全不暴露 Token 的情况下完成 GitHub 操作。
适用场景与注意¶
该插件适合需要在 DSH 环境中安全调用外部命令行工具(如 gh、npm)的场景。鉴于插件以当前 DSH 进程权限运行,建议在安装前检查源码与许可证。
结语¶
dsh-token-vault 为 DeepSeek Harness 提供了从存储到使用的全链路凭证安全方案。更多详情、源码及目录信息,请参考以下链接。
- GitHub 仓库: https://github.com/YYfather/dsh-token-vault
- DSH 插件目录: https://www.skillhub.cn/plugins/YYfather/dsh-token-vault