DeepSeek Harness Hub
← 返回列表

凭据安全交接xiaohj233/dsh-credential-handoff

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

让 agent 弹窗索要密钥,只写凭据服务不进上下文

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档

为 DSH 提供的会话本地凭据交接,通过凭据服务写入而不暴露密钥。

综合分
27.5
GitHub 分
27.5
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xiaohj233/dsh-credential-handoff
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-credentials@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/dsh-user-questions@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-credential-handoff

状态:功能插件,已在 DeepSeek Harness 0.1.0-rc.6 上测试。

dsh-credential-handoff 让 agent 向用户索要一个指定名称的凭据,而无须把秘密放进模型上下文。浏览器会弹出会话局部的密码对话框,把值写入 DSH 的凭据服务,最后只向工具调用返回固定的状态元数据。

问题

agent 能发现某个凭据缺失,但让用户把密钥粘进普通聊天,密钥就会落进对话记录和模型上下文。本插件为这个时刻提供一条只写的交接路径。

行为

request_credential 工具接受一个凭据引用(如 TAVILY_API_KEY)、可选的标签和原因。每个会话同一时刻只允许一个待处理的请求;对话框十分钟后过期。工具结果只报告该引用,以及它是新建的还是替换的。

HTTPS 下允许提交凭据;明文 HTTP 下只对精确的回环主机(localhost、127.0.0.1 和 IPv6 回环)放行。非回环的明文 HTTP 提交,界面控件和提交处理都会拦下。

非目标

本包不是保险库、加密提供者、凭据查看器,也不为子进程注入凭据,更不是 DSH 凭据 provider 的替代品。它无法保护被攻陷的浏览器、宿主进程或 DSH 凭据后端。

机制

- Host:注册 request_credential,等待一个带标签的 userQuestions 请求。
- Client:只处理这个带标签的问题,直接调用 credentials.set。
- 结果:用固定文本回答待处理的问题,返回不含值的元数据。

秘密不会出现在本插件产生的问题回答、工具结果、常规日志或会话事件负载里。

兼容性

已在 DeepSeek Harness 0.1.0-rc.6、Node.js ^22.19.0 || >=24、pnpm >=10 上测试。DSH 仍是发布候选版本,后续版本可能改动 question、credential 或 client-slot 的约定。

安装

dsh plugin --profile web add "github:xiaohj233/dsh-credential-handoff#v0.1.0"

安装后重启 Web profile。

配置

无需任何插件设置,模型直接调用:

{"ref":"TAVILY_API_KEY","label":"Tavily API key","reason":"Required for Tavily search"}

凭据引用采用 shell 风格命名:以字母或下划线开头,后面跟字母、数字或下划线。

卸载

dsh plugin --profile web remove dsh-credential-handoff

移除插件会一并移除工具和对话框,但不会删除 DSH 凭据 provider 里已存好的凭据。

安全

不要把 DSH Web 控制面暴露给不可信网络。拦下明文非回环提交,只保证本插件不会经由这条通道把秘密发出去,并不会给 DSH 加上认证;配置的凭据 provider 自身的存储特性需要另行审查。

测试

npm test
npm run check:syntax
npm run scan:secrets -- synthetic-test-value lib/index.js lib/client.js test/validate.test.js
npm pack --dry-run

测试覆盖:引用校验、秘密形态处理、传输分类、问题/结果映射和包语法。

局限性与上游现状

DSH 已提供 resolve、describe、set、unset 凭据服务,本插件只是补了一个会话局部的交接 UI 和模型工具,不会把凭据值读回浏览器或模型。

rc.6 的通用问题 UI 总会提供一个 Other 文本答案;若客户端的接管 bundle 加载失败,回退问题会提醒用户不要粘贴秘密、直接取消,但宿主无法去掉那个通用字段。直接客户端也可以绕过本插件调用 DSH 自己的凭据 API;更广的 Web 控制面的传输与认证仍是上游的职责。

License

MIT。详见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群