@ 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-execute | PreToolUse | {kind:'deny', reason} |
tools/post-execute | PostToolUse | {kind:'block', feedback} (错误结果) |
agent/pre-step | UserPromptSubmit | {kind:'reject'} |
agent/session-start | SessionStart1个 | 上下文已排队,随下一条一起交付 agent/pre-step2个 |
agent/turn-stopping | Stop | agent.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 之前是惰性
曝光相应的事件点( 预览所构建的没有) .
所需资源
- 这个
forgeCLI(英语: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,则aforge.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}并声称调度命令 短路语义,
有效载荷形状, 和每个决定映射.