@agent_forge/forge-linux-x64 1.40.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/README.md CHANGED
@@ -190,7 +190,7 @@ Layer 3: 会话结束验证
190
190
  Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑 task JSON 等方式绕过——bash-guard 拦截工具层,file-sentinel 监控文件层,task-guard 保护配置层。
191
191
 
192
192
  <details>
193
- <summary><b>📖 内置 Hook 完整清单(19 个)</b></summary>
193
+ <summary><b>📖 内置 Hook 完整清单(22 个)</b></summary>
194
194
 
195
195
  | Hook | 触发时机 | 功能 |
196
196
  |------|----------|------|
@@ -203,7 +203,10 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
203
203
  | **auto-compile** | Write/Edit 后 | advisory 提醒用对应技术栈编译命令自检(go build / cargo check / mvn / tsc 等),不强制编译 |
204
204
  | **workflow-test-guard** | Write/Edit 后 | 改 `.github/workflows/*.yml` 后自动跑 `internal/ci` 守护测试,把"沙盒异常"即时反馈给 agent(不依赖 CI 兜底),是 release.yml test→goreleaser→npm needs 链的实时守护层 |
205
205
  | **file-sentinel** | Bash 后 | 监控文件变更,未授权修改隔离到 DataDir/quarantine/(`forge data-dir` 查看路径,可恢复,不删除) |
206
- | **tool-track** | Read 后 | 静默记录 Read 调用到 toollog,供 task-verify 的 read-before-edit 门禁判断(agent 是否先读代码再改) |
206
+ | **tool-track** | Read/Skill/Agent/Bash 后 | 静默记录工具调用到 toollog(Read/Skill/Agent 记名称、Bash 记截断命令),供 read-before-edit 门禁与 efficiency 维度评分判断(agent 是否先读代码再改、质量 skill 是否被驱动) |
207
+ | **failure-track** | 命令失败后(PostToolUseFailure) | 记录 CheckToolFailure 观察;失败文本命中编译/测试类指纹(`undefined:`/`error TS`/`error[E`/`--- FAIL` 等)时注入 compile-fix-loop skill 事实性指针(advisory 不阻断——失败已发生) |
208
+ | **subagent-track** | 子 agent 结束(SubagentStop) | 记录 agent_id/agent_type/交付长度+首行摘要到 checklog(归因数据——此前子 agent 活动 forge 侧零记录);纯观察,无输出无阻断 |
209
+ | **test-nudge** | Write/Edit 后(活跃任务内) | 事中测试提醒:连写 ≥3 个源码文件且无配对测试写入时注入一次 test-discipline skill 事实性提示(advisory,每连写只提示一次);测试写入重置计数;无任务静默;执法仍在 task-verify 门禁 |
207
210
  | **task-verify** | 会话结束 | advisory:任务门禁/主分支保护到 stderr+checklog(不阻塞会话结束) |
208
211
  | **review-stop** | 会话结束 | code-review-gate 自动挡:未审源码变更 block 会话结束。task 模式不重复拦(task-complete 门禁 ReviewPassed 硬前置已强制),非 task 模式按 diff stamp 决策;并发会话检测——其他 session 有活跃任务时放行(调研 session 不被拦) |
209
212
  | **skill-scan** | 会话开始 | advisory:扫描 ~/.claude/skills 安全性(`forge skills audit`,21 条安全规则),补 install 门控缺口(手动 clone/junction/git pull 进入的 skill),全局 hook 不依赖 forge project |
@@ -212,7 +215,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
212
215
  | **task-resume** | 会话开始 | advisory:自动注入活跃任务的接续上下文(目标/计划/决策/阻塞/门禁进度/git 已改未提交)+ 锚定当前 session——接手方冷启动即知任务在哪一步,无需手动 forge task resume;无活跃任务静默;项目级 hook |
213
216
  | **compact-resume** | 压缩后(claude-code only) | PostCompact 时设 `ResumeStale=true` 标志(PostCompact 不在 additionalContext 注入点,只设标志等下个 prompt 重注入),context-rot 抗机制根治层·设标志半边 |
214
217
  | **resume-reinject** | 用户提交时(claude-code only) | 检测 `ResumeStale=true`(刚压缩过)→ 输出完整接续上下文并清标志。补 task-resume 缺口(SessionStart 只注入一次,会话中途压缩不补),context-rot 抗机制根治层·重注入半边 |
215
- | **skill-trigger** | 多事件(Pre/PostToolUse、SessionStart、Stop、UserPromptSubmit,按宿主能力接线) | 通用声明式 skill 触发判定:按各 skill `metadata.triggers` 的 event/when 条件(coding_intent / source_changed_uncommitted / test_command_failed / task_active_no_review / skill_file_touched)匹配上下文,advisory 注入 skill 加载指引;Go 原生实现(其余 18 个为内嵌 bash 脚本) |
218
+ | **skill-trigger** | 多事件(Pre/PostToolUse、SessionStart、Stop、UserPromptSubmit,按宿主能力接线) | 通用声明式 skill 触发判定:按各 skill `metadata.triggers` 的 event/when 条件(coding_intent / source_changed_uncommitted / test_command_failed / task_active_no_review / skill_file_touched)匹配上下文,advisory 注入 skill 加载指引;Go 原生实现(failure-track/subagent-track/test-nudge 亦然,其余 18 个为内嵌 bash 脚本) |
216
219
 
217
220
  </details>
218
221
 
@@ -226,7 +229,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
226
229
  | `forge init` | 初始化项目(默认**零项目写入**:登记全局注册表 `~/.forge/projects.json`,hooks/指令/skill 全在用户级,protocol.yml + runtime state 在 `~/.forge/projects/<key>/`;`--project` 团队模式把指令资产写项目目录供 git 共享;旧的 `--mode` 标志已废弃为 no-op) |
227
230
  | `forge status [--json] [--system]` | 查看项目状态(任务管道 + 质量信号);`--system` 跑系统级健康检查(~/.forge、PATH、孤儿 hook、skills manifest) |
228
231
  | `forge verify` | 项目完整性检查 + 回归测试 |
229
- | `forge update [--plugin]` | 自更新到最新版本;加 `--plugin` binary 更新后打印 plugin marketplace 重装指引(marketplace 镜像同步 hook 时建议重装) |
232
+ | `forge update [--plugin]` | 检查并更新到最新版本(按安装通道分流:npm 安装自动检测包管理器 npm/pnpm/yarn,查 npm registry 并打印对应更新命令——npm 包不可变,原地替换会被下次 install 还原,故不代下载,可用 `FORGE_NPM_REGISTRY` 覆盖 registry;GitHub Release/手动安装从 GitHub 下载自替换);加 `--plugin` 在更新后打印 plugin marketplace 重装指引(marketplace 镜像同步 hook 时建议重装) |
230
233
  | `forge suggest decline/status/reset` | 管理 init-suggest hook 的项目 init 提示状态(decline 永久静默当前项目 / status 查看 / reset 清除重新提示) |
231
234
  | `forge uninstall [--restore]` | 一键反装:剥除全部用户级 hooks(claude/codex/cursor/windsurf/opencode/kimi/reasonix/cline)+ 用户级指令段(CLAUDE.md/AGENTS.md/global_rules.md)+ forge-quality skill + 清 npm global `@agent_forge/forge` + 删 init-suggest 标记(默认 `~/.forge/.init-suggested/`,设 `FORGE_DATA_HOME` 时落该根下);`--restore` 把用户级文件回滚到 forge 修改前字节(备份在 `~/.forge/backups/`);plugin 卸载须在 agent CLI 内交互运行(不可脚本化) |
232
235
  | `forge migrate [--dry-run] [--force]` | 把旧 `.forge/` runtime state(tasks/gates/checklog/toollog/act/sessions/quarantine/active-task-ref 等)迁到用户级 DataDir(`~/.forge/projects/<key>/`)——升级到 runtime state 外迁版本后的迁移路径;未改过的 `.forge/protocol.yml` 由 autoSync 自动迁 DataDir,用户改过的保留为团队共享覆盖层;迁移的 task 文件落地即剥离外来门禁信号(review/验收/评分/完成/逃生舱/generic 须本机重挣,验收命令带外来标记);幂等,`--dry-run` 预览,`--force` 覆盖 DataDir 已有同名 |
@@ -359,7 +362,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
359
362
  | 命令 | 说明 |
360
363
  |------|------|
361
364
  | `forge health [--json]` | 项目级质量趋势——聚合所有任务结论(分数走势/证据盲区率/复发低分维度,task→project 粒度联动) |
362
- | `forge doctor [--json]` | 跨 agent 环境一致性审计(只读)——扫 9 个 agent host 的 forge hook 接线、解析各 host hook 实际调用的 forge 二进制并对照版本(ok/drift/nover/missing 四态),并列出 PATH 上全部 forge 可执行文件(多个并存 = 游离 exe/shim 抢路,PATHEXT 事故形状);copilot 无稳定配置路径约定,刻意不在列 |
365
+ | `forge doctor [--json]` | 跨 agent 环境一致性审计(只读)——扫 9 个 agent host 的 forge hook 接线、解析各 host hook 实际调用的 forge 二进制并对照版本(ok/drift/nover/missing 四态),并列出 PATH 上全部 forge 可执行文件(多个并存 = 游离 exe/shim 抢路,PATHEXT 事故形状);并审计 skills 分发态(canonical vs 全局各目标,missing/drift 附修复命令——canonical 新增 skill 后未重装的目标缺失即在此暴露);copilot 无稳定配置路径约定,刻意不在列 |
363
366
  | `forge trace <task-ref>` | 查看任务的完整质量事件时间线(checklog + toollog + token) |
364
367
  | `forge dashboard [--port <n>] [--no-open]` | 本地全局质量看板(Pulse 面板)——在任意目录运行都聚合 `~/.forge/projects.json` 登记的全部项目(`forge init` 自登记),渲染事件流(任务/gate/skill 触发/结论)、任务评分与证据链、skills 聚合(localhost 只读,自动开浏览器,Ctrl+C 退出,面板内按项目过滤);项目目录被移走/删除后注册表条目自动淡出(读时惰性精简),不留幽灵路径 |
365
368
  | `forge sync [--force]` | 同步 forge 资产到当前二进制版本(用户级 hooks/指令/skill 重生成 + 存量项目级残留收敛;注意:名字易误读——跨机器迁移项目数据用 `forge project export/import`,与本命令无关) |
@@ -367,6 +370,7 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
367
370
  | `forge plugin pack [--out <dir>]` | 生成多 host plugin pack(.claude-plugin/.cursor-plugin marketplace + plugins/\<name\>/ 树:claude manifest + reasonix native manifest + 每 host 安装 README),让各 agent 一键 `plugin install forge` 跨工具接线(薄 manifest + 共享内容,单仓即 marketplace) |
368
371
  | `forge plugin status` | 报告 forge plugin 是否在 user-level 已装(exit 0=已装,非零=未装;供 init-suggest hook / 脚本检测) |
369
372
  | `forge plugin dedupe [dir] [--keep-empty]` | plugin 已装时清理 project-level 重复 hooks + 旧项目 .mcp.json forge server 残留,并清理 user-level `settings.local.json` 的重复 forge hooks;幂等 no-op;init-suggest SessionStart 自动调用(传 `--keep-empty` 保留项目 `settings.local.json` 为 `{}`);user-level 始终保留文件壳(绝不删用户全局配置);手动不传则项目级清完删空文件 |
373
+ | `forge plugin kimi-manifest [--write]` | 渲染/再生成已提交的 kimi plugin manifest(`.kimi-plugin/plugin.json`)——version 读 `npm/package.json`(单一真相源)、hooks 从 ForgeHookSpec 派生、description 与守卫测试共享常量;默认打印 + 报漂移(退出码恒 0,执法归 `TestKimiPluginManifestMirrorsSpec`),`--write` 逐字节比对后重写(in sync 不改写);forge 仓库维护命令(从 cwd 向上找 `npm/package.json`) |
370
374
 
371
375
  </details>
372
376
 
package/bin/forge CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent_forge/forge-linux-x64",
3
- "version": "1.40.0",
3
+ "version": "1.41.0",
4
4
  "description": "Forge native binary for linux-x64. Auto-installed via optionalDependencies of @agent_forge/forge; do not depend on directly.",
5
5
  "os": [
6
6
  "linux"