DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-command-guard

Command Guard

DeepSeek Harness 的命令级守卫:默认允许,通过可配置的工作目录和命令规则要求人工审批或直接拒绝。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:john-walks-slow/dsh-command-guard#26a7b93fe79b78f4e9008d7287e1628a89256625
README兼容性版本

兼容性与来源证明

Command Guard 以 dsh-command-guard 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/10/17

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。Codex Subscriptiondsh-codex-subscription在 DeepSeek Harness 中通过 OAuth 使用 ChatGPT 和 Codex 订阅,支持配额、安全重置、网络搜索、图像和快速模式,并可通过 ChatGPT 移动应用(Beta)控制 DSH550c Bootdsh-550c-boot550C 开机动画 + 登录授权界面:启动时播放 550C 片头,之后可走一段可交互的访问授权(UEG 联合政府 / 550C 控制终端两套主题),点击或 Enter 推进、Esc 跳过;通用设置里可切换或关闭。

README

dsh-command-guard

DSH 的命令级守卫:默认一切放行,命中你配置的规则时 ask(弹审批等你点)或 deny(直接拒绝)。

规则两个维度:command(整条命令行的正则)与 workdir(工作目录正则)。两者都填是「且」,只填一个则另一维不限制;第一条命中的规则生效,其余一律放行。

安装

装插件和「让 ask 能弹出来」是两步——DSH 里这是两个独立的旋钮,本插件只管前者。

第一步:装插件

dsh plugin --profile web add github:john-walks-slow/dsh-command-guard

pnpm ≥10 的用户按提示把包名加进 profile 的 pnpm-workspace.yaml → allowBuilds,再重跑一次(插件从源码构建,prepare 是自包含的)。建议 pin 到 commit:github:john-walks-slow/dsh-command-guard#<sha>。

第二步:加一档「全权 + 审批」的权限预设

出厂预设里没有这个组合(danger-full-access 绑死 approval: never;workspace-write 会限制文件写入),所以在 profile 的 cordis.patch.yml 里加一档:

- id: permission
  name: "@deepseek-ai/dsh-permission-presets"
  config:
    presets:
      guarded:
        sandbox: danger-full-access
        approval: ask
        name: Guarded
    defaultPreset: guarded
  • 这一行是整块替换 permission 的 config:若你原本还配着别的预设(read-only / workspace-write / …),要一并写全,否则会被清掉。
  • 不加预设也能用,只要会话的 approval 策略本来就是 ask(DSH 未显式设置时的默认值)。但如果会话落在 never 档(如 danger-full-access 预设),ask 规则会退化成硬拒:命令直接失败,并说明命中哪条规则,不会弹窗。

规则

- id: command-guard          # 行 id 保持 command-guard:设置页按这个 id 找命名空间
  name: dsh-command-guard
  config:
    rules:
      # 丢工作区改动 / 改写历史的 git 命令 → 弹审批
      - name: git-destructive
        command: "(^|[;&|]\\s*)git\\s+((reset|clean|rebase|filter-branch|restore)\\b|checkout\\s+(-f\\b|--\\s+\\.|\\.\\s*($|[;&|]))|push\\s+(-f\\b|--force)|worktree\\s+remove|stash\\s+(drop|pop))"
        action: ask
      # 灾难性形态 → 直接拒绝(不依赖审批策略)
      - name: disk-destructive
        command: "(^|[;&|]\\s*)(sudo\\s+)?(rm\\s+(-[a-zA-Z]+\\s+)*(/(\\s|$|\\*)|~(\\s|$))|mkfs\\.|dd\\s+[^|;&]*of=/dev/|shutdown|reboot)"
        action: deny
      # 某个目录里的一切命令都要问
      - name: system-dirs
        workdir: "^/(etc|opt)(/|$)"
        action: ask

正则匹配的是整条命令行的文本:命令里只要出现这个形态就算命中——脚本里的示例、注释、乃至 grep 的目标都算。所以别把危险命令的原文直接写进命令行。

设置页

插件带 web 端面板:设置页里会多出一节 Command Guard,可以增删改规则、逐字段编辑。改动写回 profile 补丁,profile 热加载后 apply 带着新规则重跑,不用重启 DSH。规则直接用文本编辑器改 profile 同样有效。

权限与兼容

  • 只拦 bash 工具调用,读它的 command / workdir 两个字段;其它工具完全不经过守卫。
  • 不联网、不读写你的文件、不执行任何命令:ask / deny 只是把决定交回 DSH 的审批与工具流水线。
  • 走 DSH 保留的 tools/pre-execute 扩展点;运行时依赖只有宿主供给的 cordis / schemastery。
  • ask 需要应答者(Web 客户端自带审批 UI)。应答者缺失或策略为 never 时按 fail-closed 拒绝——绝不放行。

MIT License.