dsh-secret-paste:把粘贴到 DSH composer 的密钥替换为 [secret:REF]

前言

在 DeepSeek Harness(DSH)的 Web profile 中,composer 里粘贴密钥、token 等敏感字符串时,明文可能直接进入发送给模型的消息和会话历史。dsh-secret-paste 针对这个场景:检测粘贴进 composer 的密钥,将密钥值存入官方 credentials seam,并在草稿中替换为 [secret:REF] 占位符。模型只有在需要时,才通过专用工具解析真实值。

这是什么

dsh-secret-paste 是一个 DSH 插件,维护者为 zhujiaqi,许可证为 MIT。它用于在 DSH Web profile 中减少敏感字符串以明文出现在消息和会话历史中的情况。

核心能力

  • 检测粘贴进 composer 的密钥。
  • 使用 @sanity-labs/secret-scan 对粘贴文本进行扫描。
  • 将密钥值存入官方 credentials seam:
~/.dsh/.credentials.yaml

文件权限为 mode 0600

  • 在草稿中将匹配范围替换为 [secret:PASTE_N] 占位符。
  • 提供 secret_resolve(ref) 工具供模型按需解析真实值。
  • 支持嵌套占位符的递归解析。
  • medium confidence 命中时保留草稿文本,并提示确认 Hide / Ignore
  • 支持对检测器不识别的文本进行手动标记并 Hide & store
  • 使用碰撞安全的 refs,避免覆盖已配置 ref。

真实值只存在于当前标签页内存和 ~/.dsh/.credentials.yamlmode 0600)。secret_resolve 的工具描述要求模型不要回显、重复或将值写入回复、文件、命令或工具参数。

安装与启用

要求 DSH Web profile;本文示例使用 web

前置条件:

dsh CLI
pnpm

dsh CLI 和 pnpm 需要在 PATH 中。dsh pluginpnpm forwarder。

安装插件:

dsh plugin --profile web add dsh-secret-paste

安装完成后,重启 dsh web 进程,因为服务器端 secret_resolve 工具在启动时加载。然后强制刷新浏览器标签页,使浏览器端 bundle 重新加载。

典型用法

1、在 composer 中粘贴 GitHub token(ghp_...)。检测命中后,文本会被替换为 [secret:PASTE_N],并显示 chip。

2、medium confidence 命中时,草稿文本会保留,并提示确认 HideIgnore

3、对检测器不识别的文本,选中文本并使用 Mark selection as secret,然后 Hide & store

4、模型需要真实值时调用:

secret_resolve(ref)

返回:

{ found, value, source }

5、若选择内容中已经包含 [secret:REF]secret_resolve 会递归解析嵌套占位符。

适用场景与注意

适合在 DSH Web profile 中需要处理密钥、token 等敏感字符串,并希望在消息与会话历史中避免明文出现的场景。

注意事项:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 许可证为 MIT;vendor/secret-scan.cjs@sanity-labs/secret-scan v1.1.0(MIT),许可证保留在:
vendor/secret-scan.LICENSE
  • 安装后需要重启 dsh web 进程,并强制刷新浏览器标签页。
  • 该插件面向 DeepSeek Harness Web profile;示例均使用 web

项目仓库:

https://github.com/zhujiaqi/dsh-secret-paste
羽毛球分组比赛记分
小程序二维码

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

小夜