dsh-token-vault: 本地凭证库插件

前言

在 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 或导入已有凭证。

安全机制

该插件的安全设计基于三个层面:

  1. 存储层:使用 DSH 的凭证记录空间(路径为 dsh-token-vault/<name>),采用原子写入(modifyRecord),不生成任何明文文件。
  2. 使用层:vault_run 仅将 Token 放入子进程的环境变量中,标准输出、标准错误及日志文件中均不会包含 Token 值。
  3. 控制层:插件会自动注入 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜