DeepSeek Harness Hub
← 返回列表

shizhanyu13/dsh-ironbound-policy

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

DeepSeek Harness 的硬门禁守卫。 在危险 shell…

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

@shizhanyu13/dsh-ironbound-policy — DSH 插件:Ironbound 硬门禁守卫。在危险 shell 命令到达工具之前将其拦截,并在 tools/execute 之上带有双层降级计数器。dsh-plugin。

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

README

dsh-ironbound-policy

DeepSeek Harness 的硬门禁守卫。 在危险 shell 命令到达工具之前就将其拦截——并让反复尝试执行这些命令的 agent 逐步降级。

npm version
npm downloads
License: MIT
dsh-plugin
ESM
Status: community port

🚀 安装: npm install @shizhanyu13/dsh-ironbound-policy —— 然后将其接入 cordis.patch.yml(参见下方快速开始)。

为什么需要它

DSH agent 可以运行任意 shell。一次糟糕的调用——rm -rf /、git push --force、curl | sh——模型就已经做了你无法撤销的事情。这就是 Ironbound 问题:在模型和机器之间设置一道硬门禁,而不只是用提示词告诉它要小心。

dsh-ironbound-policy 就是那道门禁。它监听 tools/execute 接缝,在工具运行之前介入,将危险调用替换为结构化的 TOOL_BLOCKED 结果,并应用双层降级计数器,让反复撞上同一堵墙的模型逐步受到更严格的约束——从警告,到人工审核消息,再到硬性拦截。

来源与信任: 这是一个社区维护的移植版本,并非 DeepSeek AI 官方软件包。危险正则表达式移植自 Claude Code 的 block-dangerous-cmd.sh 黑名单。它面向 DSH 插件系统(dsh-plugin)。请自行判断使用——也欢迎提交 issue。

快速开始

npm install @shizhanyu13/dsh-ironbound-policy

将插件添加到某个 profile 的 cordis.patch.yml 中:

- id: ironbound-policy
name: '@shizhanyu13/dsh-ironbound-policy'
config:
denyList: []      # extra regex patterns merged over the built-in deny list
perIssueLimit: 3  # same issue repeated N times -> degrade message
totalLimit: 10    # cumulative denials beyond this -> hard block

就这样。该插件提供预构建的 ESM + .d.ts,因此运行时无需构建步骤。它需要一个提供对等软件包(@deepseek-ai/cordis、@deepseek-ai/dsh-agent、@deepseek-ai/dsh-tools、@deepseek-ai/dsh-invariants)的 DSH 宿主。

它的功能

1. 危险命令拒绝
内置拒绝列表(即 block-dangerous-cmd.sh 黑名单)加上你的 denyList。匹配的 shell 调用永远不会运行;取而代之的是,模型会看到结构化结果:

tool-bash 错误:Ironbound 策略:危险命令已阻止(A:Bypass):rm -rf /
code: TOOL_BLOCKED

2. 双层降级计数器
- 按问题 — 同一问题重复 perIssueLimit 次后降级为人工审核消息。
- 总计 — 累计拒绝次数超过 totalLimit 后硬性阻止该 agent。
- 按问题计数器在干净运行时重置;总计计数器不会。

3. 它是监听器,不是工具
它从不出现在模型的工具目录中,并且没有请求缓存效果。它纯粹是执行接缝上的开销——对提示词零表面积。

配置

| 字段 | 默认值 | 含义 |
|---|---|---|
| denyList | [] | 合并到 BUILTIN_DENY 之上的额外正则表达式模式 |
| perIssueLimit | 3 | 在发出降级消息之前,连续同一问题拒绝的次数 |
| totalLimit | 10 | 在硬性阻止之前的累计拒绝次数 |

默认行为

- 通过 dsh-base 接线时默认启用;每个 profile 都继承这一行。
- 危险的 shell 命令 → TOOL_BLOCKED;该工具永远不会运行。
- 在你的 profile 中作为单一来源接线;覆盖这些限制即可调整它。

已知限制

- ENG-02 外科手术式范围被推迟(需要 ctx.fs 读取接缝)。
- 计数器是进程内按 agent 计的(一个以 Agent 为键的 WeakMap),不持久化——进程重启会重置它。
- 在 agent 循环之外直接调用 ctx.tools.execute() 的调用者会被直接拒绝,且不计入计数。
- GATE-03 的编辑前读取由配套的 @deepseek-ai/dsh-fs-observation-policy 提供——将其一并组合以获得完整的 Ironbound 门控集。

社区与贡献

- 可发现性:用 dsh-plugin 主题标记你自己的插件仓库,以便 DSH 社区能够找到它。
- 上游 PR:DSH 目前不接受外部拉取请求,因此这作为独立插件交付,而不是对 deepseek-ai/deepseek-harness 的补丁。
- 反馈、bug 报告、功能想法:开一个 issue,或发起一个讨论。

许可证

MIT

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

💬 加入 DPharness 群聊

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

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