前言¶
在 dsh-TUI 生态系统中,将 .env 片段、部署命令或调试日志粘贴到代理中是泄露活跃密钥的常见途径。dsh-TUI Secret Guard 旨在解决这个问题。它是一个插件,用于在发送给模型之前阻止高置信度的凭据,并符合 DSH 生态系统 manifest v0.15。
它是什么¶
这是一个 dsh-TUI 生态系统的插件。它扫描输入内容,从不存储提示内容,并且仅报告凭据类别。它拦截决策事件以阻止发送。如果需要,它具有兼容性回退机制,在模型请求之前在 agent/pre-step 处拒绝最新的用户消息。
安装与权限¶
安装插件需要执行官方命令。
dsh plugin --profile dsh-tui add ./dsh-tui-secret-guard
在 Community v0.15 中,决策拦截默认为拒绝。需要在 ~/.dsh-tui/extension-grants.json 中声明权限:
{
"grants": {
"community.dsh-tui.secret-guard": [
{
"name": "session.input.intercept",
"scope": "tui/input"
}
]
}
}
该插件请求以下权限:不存储、不观察消息、不进行网络访问、不访问文件系统、不执行命令。
配置¶
插件通过 YAML 配置项控制行为:
enabled: true
genericAssignments: true
minGenericLength: 24
showStatus: true
genericAssignments:检测赋值给API_KEY、CLIENT_SECRET、ACCESS_TOKEN、PASSWORD等名称的值。minGenericLength:仅控制通用赋值。提供者特定的格式保留其自身的严格长度限制。showStatus:显示secret guard: armed和本地进程计数。它不会持久化计数或内容。
占位符(包括 ${ENV_NAME}、YOUR_API_KEY、redacted 和掩码值)会被忽略。被阻止的提示必须编辑并重新提交;有意避免自动重写,因为静默更改代码或凭据可能会产生误导性的模型输出。
核心功能¶
- 本地扫描:在发送前检查输入。
- 不存储内容:插件不保存提示内容。
- 仅报告类别:仅报告凭据类别。
- 拦截决策事件:通过
tui.dsh/v1alpha1#DecisionEvents拦截决策。 - 兼容性回退:回退到
agent/pre-step以拒绝最新用户消息。
注意事项¶
插件以当前 dsh 进程的权限运行。安装前应检查源码和许可证。被阻止的提示必须手动编辑。