- Home
- Plugins
- Security & Permissions
- dsh-safebox
dsh-safebox
jiangzhenguo/dsh-safebox
Adds a DSH Settings panel for write-only local credentials and exposes only secret metadata and references to agents.
Install
dsh plugin --profile web add github:jiangzhenguo/dsh-safeboxREADME
DSH Safebox
Safebox 是一个 DeepSeek Harness(DSH)本地密钥管理插件。它在 设置 → Safebox 密钥管理 中提供独立面板,用于保存账号密码、API Token 和加密文本,并向 Agent 暴露不含秘密明文的引用与使用目标。
当前能力
- 在 DSH 设置中新增、编辑和删除密钥条目;
- 秘密值通过 DSH 凭据服务单向写入,页面不提供回显或导出;
- 支持经用户确认的本地 JSON 导入;
safebox_list只返回白名单元数据:名称、类型、账号、使用目标、引用和时间戳;- Agent 没有
get_secret、秘密导出或授权修改工具。
安全边界
Safebox 防止秘密通过插件配置、页面、Agent 工具结果进入聊天和模型上下文,但当前版本使用 DSH 默认本地凭据存储。同一 OS 用户运行的进程不是绝对隔离边界,本版本不宣称可以抵御读取本机凭据文件的恶意进程。
本地 JSON 导入文件可能包含明文。导入后请按源产品安全指引入库并妥善处理源文件,不要把真实凭据提交到 Git。
环境与安装
- DSH(当前验证版本:
0.2.2-rc.1) - Node.js 20+
- pnpm 11+
安装依赖:
pnpm install --ignore-scripts
在 DSH 插件管理中选择安装本地 Bundle,并选择本项目根目录。安装成功后,打开 设置 → Safebox 密钥管理。
开发验证
pnpm run verify
该命令执行:
- Host 与 Client JavaScript 语法检查;
- Bundle、导出资源、图标和包名一致性检查;
- Node.js 内置测试,包括
safebox_list不泄露额外秘密字段的安全回归测试。
项目结构
.
├── .github/workflows/ci.yml # GitHub Actions 验证
├── locale/ # 插件管理器显示文本
├── scripts/verify.mjs # 清单与静态检查
├── test/host.test.mjs # Host 与安全回归测试
├── client.js # 设置面板
├── cordis.patch.yml # DSH Bundle 组合配置
├── icon.svg # 插件图标
├── index.js # Host 配置和 Agent 工具
├── package.json # 包、脚本和 DSH Client 声明
└── pnpm-lock.yaml # 可复现依赖锁
本地 JSON 导入格式
支持 JSON 数组或带 items 数组的对象,每项包含:
{
"name": "Example API",
"kind": "api-token",
"secret": "replace-with-a-test-value",
"username": "",
"target": "https://api.example.com"
}
kind 支持 account、api-token、secret-text。单次最多 100 条、文件最大 1 MB。请只使用测试数据验证,不要提交真实导入文件。
发布到 GitHub
项目不需要构建即可使用。推送前运行 pnpm run verify,并确认没有真实凭据、.env、凭据 YAML 或 node_modules 被提交。
当前未指定开源许可证;公开仓库前请根据实际需要添加 LICENSE。
Related plugins
dsh-purge
hunyisage/dsh-purge
dsh-infinite-gen-4
minglink/dsh-infinite-gen-4
dsh-purge
mmparko/dsh-purge
cc-safety-net
kenryu42/cc-safety-net