DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Secrets Manager — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

@local/dsh-secrets-manager

Secrets Manager

DeepSeek Harness 的项目机密管理:发现单体仓库中的所有 .env 文件(根目录和工作区包),在设置页面中安全编辑密钥,并向模型提供 DSH_ENV_FILE / DSH_ENV_FILES 指针,以便 shell 命令加载正确的环境。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:lifecoder1988/dsh-secrets-manager#48b13dd86df64c6f29915c64561eed6dd3bc69fa
README兼容性版本

兼容性与来源证明

Secrets Manager 以 @local/dsh-secrets-manager 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/18

版本

1.0.0stable
2026/9/18

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。Codex Subscriptiondsh-codex-subscription通过 OAuth 在 DeepSeek Harness 中使用 ChatGPT 和 Codex 订阅,支持配额管理、安全重置、网页搜索、图像和快速模式

README

dsh-secrets-manager

DeepSeek Harness(下称 DSH)插件。

项目密钥管理:扫描 monorepo 里所有 .env(根目录 + 各 workspace 包),在 Settings 页面里安全编辑,并把 DSH_ENV_FILE / DSH_ENV_FILES 交给 bash。

安装

最省事的方式是用 DSH 自带的 plugin_manager 工具安装(会自动写 profile 并把插件行插进 composition):

# 或者手工装进当前 profile
cd "$DSH_HOME/profiles/<profile>"
pnpm add github:lifecoder1988/dsh-secrets-manager

本仓库自带的 cordis.patch.yml 就是它的 composition 行;手工接的话在 profile 的 cordis.patch.yml 里加:

- insert:
    - id: secrets-manager
      name: '@local/dsh-secrets-manager'

装完重启 DSH(host 半边改动需要重启;只有 client 半边的话刷新页面即可)。

为什么需要它

「项目要有密钥」和「密钥不能进对话」是矛盾的:模型要用某个 token,就得知道它存在、并且能在 bash 里直接用,但不能把值念出来。本插件把密钥留在 .env 里,只给模型指针:

装好之后,每个 bash 调用都会拿到三个环境变量:

变量内容
DSH_ENV_FILE离 cwd 最近的那个 .env
DSH_ENV_FILES从仓库根到 cwd 的完整链(: 分隔)
DSH_ENV_KEYS链上所有 key 的名字(不含值)

于是模型可以这样用,而永远看不到值:

set -a; for f in ${DSH_ENV_FILES//:/ }; do [ -f "$f" ] && . "$f"; done; set +a

功能

  • monorepo 发现:仓库根 + pnpm-workspace.yaml / package.json workspaces 里的每个包目录,各自的 .env / .env.local / .env.<mode> 都进索引(maxPackages 兜底)。
  • 按目录查看:每个目录一张卡片,列出 key 名(值默认遮蔽),并显示它在 shell 里的生效顺序。
  • 安全写入:新增 / 修改 / 删除 key 时保留注释、顺序与原有引号风格;写文件用原子替换。
  • 刷新:外部改过 .env 后一键重建索引。
  • 会话头部速查:本会话 shell 会拿到哪些 key(只列名字)。

模型工具:project_secrets

action关键参数说明
listcwd?索引到的目录与各自的 key 名;带 cwd 时同时给 shell facts
files—所有 .env 文件路径
setpath?, key, value写入(保留注释与顺序)
removepath?, key删除 key

HTTP 路由(前缀 /secrets-manager)

方法路径说明
GET/state?cwd=&sessionId=发现索引 + 每个目录的 key 名
POST/file读一个目录的 key(值遮蔽)
POST/write写入 / 删除 key
POST/refresh重建索引

界面注入点

slotidorder
settings.sectionsecrets-manager32
conversation.session.header.utilitiesplugin-secrets53

会话头部(图标 → 面板):原地增删改查

图标点开就是一个可写的密钥面板,不用进设置页:

  • 文件切换:当前项目发现到的每个 .env(含它有几个键)。
  • 显示 / 隐藏:值按需从 /file 读,只在你点「显示」时进入内存,永不进模型上下文。
  • 改:填新值 → 保存(走同一套注释/顺序保留写入)。
  • 删:二次确认后删除该键。
  • 新增键:KEY_NAME + 值;键名按 [A-Za-z_][A-Za-z0-9_]* 校验。
  • 项目里一个 .env 都没有时,提供**「在仓库根创建 .env」**。
  • 右上角同样有**「打开管理页」**。

配置

config:
  maxPackages: 200    # 单次索引的包目录上限

自检

node test/local-check.mjs

文件结构

index.js              host 半边:发现索引、注释保留写入、shellEnv 贡献、路由、project_secrets 工具
client.js             浏览器半边:Settings 页面 + 会话头部速查
cordis.patch.yml      bundle patch
package.json          dsh.bundle.patch / dsh.client 声明
test/local-check.mjs  离线自检

安全边界

  • 值只进 /write 的请求体与 .env 文件,不进任何模型可见的输出(list / /state 只给 key 名)。
  • 插件的检查接口(inspect provider)同样只报 key 名与文件路径。

许可

MIT