@agent_forge/forge-dsh

中文文档
1.84.5发布于 2026/10/25Apache-2.0ES Module构建来源已验证近 30 天下载 2837

为 DeepSeek Harness (dsh) 伪造质量门:任务门,读取前编辑,击打危险截取和质量评分,由伪造的CLI通过DSH的打出截取点来驱动.

中文使用文档
文档目录7 节
  1. 如何运作
  2. 所需资源
  3. 安装
  4. 配置
  5. 未履行的合同
  6. 已知的监视项目( dsh 预览)
  7. 发展

@ agent forge/ forge-dsh (英语)

伪造质量门 深层空间( dsh) 任务门 编辑前读取, 在DSH会话中执行撞击危险截取和质量评分 绳子的打出截取点.

福尔吉 是一个AI码质量门引擎。 这个 插件是一个细的 Cordis 包装器: 它将 DSH 工具/会话事件转发到 forge CLI 并翻译出 伪造的判决 回DSH决定。 所有门逻辑都存在 伪造二进制——插件本身有 没有第三方运行时间依赖关系 (qq;它唯一的依赖是被钉住) @agent_forge/forge 软件包 二进制(见下文要求).

如何运作

下面的映射表和本次README结束时的失败打开的合同 这是 双面桥梁合同,在 contract.json 并用伪造的相容快照执行 (表层) bridges) (中文(简体) ). 将所有三个一起改变 : contract.json这个读取, 和两边的试验.

DSH 拦截点伪造钩子事件伪造块变成
tools/pre-executePreToolUse{kind:'deny', reason}
tools/post-executePostToolUse{kind:'block', feedback} (错误结果)
agent/pre-stepUserPromptSubmit{kind:'reject'}
agent/session-startSessionStart1个上下文已排队,随下一条一起交付 agent/pre-step2个
agent/turn-stoppingStopagent.steer(reason) - 另一步 - 别走

1个 source:'compact' 此外,火 伪造 PostCompact 组 - 预览 建筑没有暴露专用的收缩点.

2个 agent.inject() 在会话开始时观察到会默默地放下上下文,所以它们会骑着 改为: startWaitMs (默认1500) 会话启动运行,一个被拒绝的步骤会保留下一场的队列.

Claude 代码名称上的 DSH 工具名称地图 (单位:千美元)write/edit/str_replace_editor→Write/Edit, (中文(简体) ), bash/pwsh→Bash, (中文(简体) ), read/read_image→Read, (中文(简体) ), skill→Skill; 未放大的工具通过ungated. 有线钩子的花名册镜 伪造的光谱( a)lib/spec.json被福尔格号的GO测试保护 (repo)——冻结护卫,任务护卫,断言检查,编辑前读取,出击护卫, 危险防护、自动编译、工作流程测试防护、档案测试、工具跟踪、, 测试- 冲动、 故障轨道( 后工具使用失败) , 子剂轨道( 子剂停止) , 任务核查、审查-停止、技能触发、doc-lint、公约-写作、门-立方体、, 任务驱动、恢复-注入、紧凑-再接、常规文本和 届会启动组. 失败轨迹/ 增生- 轨迹在光谱中反射, 而在 DSH 之前是惰性 曝光相应的事件点( 预览所构建的没有) .

所需资源

  • 这个 forge CLI(英语:CLI). 插件取决于 @agent_forge/forge (按插件键) ),因此通过DSH安装来安装伪造并解码去除 - 没什么 PATH。捆绑的二进制没有打开 PATH因此,在会议上 启动代理 forge … 命令使用。 覆盖 与 forgeBin,或 FORGE_BIN,使用不同的伪造。 项目还需要 forge init 用于任务门有状态执行.
  • 深搜索策略 0.1.0-rc.7 – 说吧 – 0.2.1-rc.2,节点.js 18. 桥梁合同是 被钉住 0.1.0-rc.7 (单位:千美元)contract.json(三); 0.2.1-rc.2 这是 桌面构建此插件运行于( 预工具截取已校验存在; a) 跨范围的全面五事回归仍有待解决.
  • Windows在框外工作:捆绑的二进制是 forge.exe,则a forge.cmd 来自全局 npm 安装的 shim 是通过 cmd.exe (裸出产卵不能) 执行它; 超时杀死整个孩子树通过 taskkill /T。 。 。 .

安装

<profile> 是实际运行的 dsh 配置文件 . 桌面应用程序运行 desktop 配置文件 ——安装到任何其他配置文件(例如:. web)成功,但成绩 插件从不装入应用程序 。 列出您的配置 ~/.dsh/profiles/。 。 。 .

# from npm
dsh plugin --profile <profile> add @agent_forge/forge-dsh

# or straight from the Forge repo (subdirectory install)
dsh plugin --profile <profile> add "github:MjxUpUp/Forge#main&path:/plugins/forge-dsh"

# local development (run from this directory; `link:.` works on Windows too)
dsh plugin --profile <profile> add "link:."

插件热入运行中的 dsh — 添加或删除捆绑重装 简介。 如果给定的构建不取出,则重新启动主机一次. 开始新的 切换会话开始上下文,并检查桥的状态 /forge-status (检测结果,有线组织,最近的判决). 要卸载 : dsh plugin --profile <profile> remove @agent_forge/forge-dsh - 捆绑的伪造物走了 用它,或用它,或用它安放,或用它安放,或用它安放 enabled:false。 。 。 .

配置

密钥在档案的捆绑条目上 cordis.patch.yml ——用户编辑器 补丁层。 不编辑生成的 cordis.yml: 加载器重写根于 每个靴子,所以任何写在那里的东西都会丢失(桌面应用程序管理自己的配置) 下级 ~/.dsh/profiles/<profile>/:

# ~/.dsh/profiles/<profile>/cordis.patch.yml
- id: forge-quality
  name: "@agent_forge/forge-dsh"
  config:
    forgeBin: forge      # binary name/path. Precedence: this key > FORGE_BIN > bundled forge > PATH `forge`
    timeoutMs: 30000     # per-hook ceiling; timeout kills and FAILS OPEN
    startWaitMs: 1500    # first pre-step waits this long for session-start contexts
    welcome: true        # one first-turn line telling the user Forge is active (false = silent)
    checkLatest: true    # /forge-status compares the plugin version with the registry's latest (false = never ask)
    locale: auto         # language of the plugin's own messages: en | zh | auto (env FORGE_DSH_LOCALE, then system)
    batch: auto          # one forge process per matcher group: auto (default, needs a forge of the plugin's own version) | true | false
    enabled: true        # false unwires every listener
    debug: false         # log fail-open hook errors to console.error

未履行的合同

块从伪造的 Stdout JSON 读取(decision:"block"),从未从 退出代码:判决理由及其 additionalContext 只存在于JSON, 并伪造2号出口的再利用 也用于硬错误 每一次基础设施故障(forge) 缺失、 产卵出错、 无法分割输出、 超时) 无法打开: 伪造废品 永远不要将代理从自己的工具中锁出. 这样的钩跑失败是沉默的 设计;用 /forge-status 或者说 debug:true。 。 。 .

一个不见了 forge 二进制是沉默的一个例外:每次会话开始 探测器 forge --version 一次(直到一个探测器成功——答案随后被缓存) 当探测器失败时, 排入一个可见的通知 (以第一个步骤交付) 命名已配置 forgeBin。没有它,一个未安装的CLI 将完全看起来 像一个健康的插件 咬什么。 通知是信息,不是开关 当二进制缺失时,每一次钩子尝试都会自己打开,所以门是 无论探测器是否运行, 均不活动 。 安装伪造不需要重新启动主机: 接下来的会话再次探测,并恢复吉特.

二常分而可知. 匹配组可运行为 一个 forge hook batch 进程 (forge按顺序运行该组的钩子,并在第一个区块停止)而不是一个进程 每个钩子——在测得的PreTooLuses/Bash组(716ms vs 1720ms)上约快2.4× (原始内容存档于2018-10-21). Dev machine. 默认 batch: auto 只有探测器显示有伪造的 插件自己的版本: 批量要求用插件的匹配字符串来选择组, 以及一个伪造 或静静地运行着 空组,所以任何其他的伪造都停留在每头路径上,这只取决于钩名. batch: true 部队批量 并给予保护 (使用不匹配的伪造组可以空出,而无需 任何错误);只使用您知道匹配的伪造. false 部队每小时。 无论模式如何,一个失败的批次从不被视为 允许: 该组为调用而每钩重运行( 按已运行的批次可能再次运行 ); 仅限观察者通过伪造来消除重复。 连续三次故障 切换批次; 批次 那个 时间流出 保持每只鲸鱼的组 十分钟,然后再试一次,因为批量给 整个第一组 timeoutMs 一只被吊起的钩子 就会把后面的大门饿死 这个 三失分数为每组. /forge-status 显示 这一切。 和合法超过 timeoutMs (例如:. auto-compile 大块块块 project profile past 30s)默默地丢失了运行的反馈以失败打开(可见于 /forge-status) (中文(简体) ). 提升 timeoutMs 在大型项目.

门一直开不通的会话 看上去很健康 却一无所获 之后 插件在一个会话中三次打开失败运行 一次,在下一个停止,这不是 已经引导到一个真正的块 : 有多少运行丢失了反馈, 在哪里查看 (单位:千美元)/forge-status和如何筹取timeoutMs) (中文(简体) ). 这是咨询,没有任何东西受到阻碍。 这批货 至每小时降级不计数 : 运行仍然执行它的门.

插件提供桥梁和(作为一个依赖)伪造的CLI, 不是技能库 DSH 读取自 ~/.agents/skills。当该目录不具有技能时,首轮登入会添加 一行提供 forge skills install --global --target agents; 模型运行到 用户同意,因为它会写主目录。 提议是每个主机程序发出一次,所以 每次新会话都不再询问拒绝的用户。 恢复、子剂和 welcome: false 疗程没有报价.

是否要求每个项目一次伪造接管一个项目——每个东道主都一样。 福尔吉 不推断“ 插件已安装” 是否同意(init-suggest是因为 takeover 偏好为 因此 DSH 安装像 Claude 代码插件安装在这里; 模型中继 从伪造本身的问题 init-suggest 咨询,下面的接收过滤器永远不会下降.

只有状况的收据,在无话可说时伪造指纹(no weakening detected, (中文(简体) ), all skills SAFE, (中文(简体) ), no .mcp.json )在注射前被丢出——主机会转动每一个允许的 上下文输入合成用户消息,这些消息没有指示。 其他一切,包括: 注意插件从未见过,通过.

/forge-status 以 plugin: <installed> latest: <registry> - 一个旧的安装继续工作,但 默默地错过了修正,而这是用户在发现某些东西时所看到的一个地方. 是个单身汉 仅在命令运行时( 从未在装入或会话中) 有3秒超时读取请求 ; 离线、 私人注册或奇数答案显示 unknown,以及 checkLatest: false 从不问. 它还报告a dispatch: 线条(批或每节)和探测线 页眉 : probe: ok (forge version …), (中文(简体) ), probe: FAILED — gates inactive (…),或 not run yet 在进程第一次会话开始之前。 上面还列出每次拦截的墙壁时间 点(运行,平均,最大)和每个最近的运行时间.

已知的监视项目( dsh 预览)

  • 没有止步环护 在预览构建中 (0.1.0-rc.7 – 说吧 – 0.2.1-rc.2(b) —— 每站边界处都有一个永久起伏的停车门。 伪造的城门 他们的门一过就会自我限制 但一个被卡住的门会转弯.
  • 会话启动上下文在第一个步骤上: 正在等待解开运行 多数 startWaitMs;其第一步比跑步快完成的会话 获得下一个步骤的背景,而不是第一个步骤.
  • DSH 是开发者预览; 将此插件的版本与您的 dsh 版本并列 .

发展

npm install --no-package-lock   # @deepseek-ai/cordis for the wiring tests (+ the bundled forge, unused by them)
npm test      # mapping, runner (incl. cross-OS planSpawn units), decision folding, real-cordis wiring

test/doubles/fake-forge.mjs 代表伪造二进制; 接线套件 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}用脚踏实的绳索运行时间 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}并声称调度命令 短路语义, 有效载荷形状, 和每个决定映射.

版本与发布记录

@agent_forge/forge-dsh 共发布 75 个版本,首次发布于 2026/08/20;过去 12 个月发布了 75 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.84.5latest2026/10/2513 天前
1.84.42026/10/2513 天前
1.84.32026/10/2414 天前
1.84.22026/10/2414 天前
1.84.12026/10/2216 天前
1.84.02026/10/2216 天前

关于 @agent_forge/forge-dsh 的常见问题

@agent_forge/forge-dsh 是什么?

为 DeepSeek Harness (dsh) 伪造质量门:任务门,读取前编辑,击打危险截取和质量评分,由伪造的CLI通过DSH的打出截取点来驱动.

如何安装 @agent_forge/forge-dsh?

在项目目录运行 npm install @agent_forge/forge-dsh,或使用 pnpm add / yarn add / bun add。

@agent_forge/forge-dsh 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/agent_forge__forge-dsh 是否存在。

@agent_forge/forge-dsh 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@agent_forge/forge-dsh 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@agent_forge/forge-dsh 可以商用吗?

@agent_forge/forge-dsh 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@agent_forge/forge-dsh 的下载量有多少?

根据 npm 官方下载统计,@agent_forge/forge-dsh 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,837 次,日均约 95 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@agent_forge/forge-dsh 还在维护吗?

最新版本 1.84.5 发布于 2026/10/25(13 天前);至今共发布 75 个版本,其中过去 12 个月发布了 75 个;首次发布于 2026/08/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。