Repository navigation
v1.5.1 — ⚡ 编排模块 · 事件驱动
⚡ 编排模块升级「事件驱动」——业务事件来了自己跑(四类事件源 + on: 声明式订阅 + 死信重放)、AI 异常进总线分诊(可重试 / 需人工 / 需回滚三分类路由)、设备 OTA 远程升级走事件总线(拉取验签灰度回滚)、auto-PR 必须解释「为什么这么做」(引 decision-log 因果链);sofagent demo 五分钟看完全部能力。MCP 工具面保持 105。
TL;DR (EN): The orchestration module goes event-driven — business event triggers (upstream outputs / mail arrival / form submission / timer — four event sources + on: declarative subscriptions + dead-letter replay), an AI exception bus (retry / human / rollback routing), device OTA remote upgrade over the event bus (pull-verify-gray-release-rollback), and comprehension-debt response (auto-PR explanation blocks citing decision-log causal chains); plus a five-minute sofagent demo drama arc. MCP tools stay at 105. 5083 tests · 105 MCP tools · MIT.
⚡ Install / Upgrade
# 新装(五形态任选:FDE 插件 / Skill / MCP / CLI / GitHub Action)
curl -fsSL https://raw.githubusercontent.com/KongFangXun/sofagent/main/install.sh | bash
# 已装用户升级到本版
npx @sofagent/audit@v1.5.1 --doctor
# 一条命令装全四大功能包(裸名总包)
npm i -g sofagent
# GitHub Action(PR 自动审计)
uses: KongFangXun/sofagent@v1.5.1
🔨 核心变更
⚡ 业务事件触发(事件驱动执行)
- workflow 节点声明
on:事件订阅——事件到达自动派发下游节点,编排从「人来派活」变成「事件来了自己跑」 - 四类事件源:上游节点产出 / 邮件到达 / 表单提交 / 定时器(复用 v1.3.8 cron)
- 事件投递全程审计留痕(每条事件触发链可追溯);失败进死信队列可重放(复用 stop_reason 分类 + 退避)
🧠 理解债务应对
- auto-PR 决策解释块——AI 节点产出 PR 时强制解释「为什么这么做」,引用 decision-log 因果链
- daemon 周报自动落盘(节点执行统计 + 决策高亮链式叙事 + 异常与介入汇总)——按因果链深度排序,最多 5 条
🚨 AI 异常处理总线
- 异常统一三分类路由:可重试 → 重试队列 / 需人工 → HITL 审批队列 / 需回滚 → 回溯能力
- 异常进总线即挂 causedBy 因果边入 decision-log——异常处理决策可追溯
📡 设备 OTA 远程升级 + 任务下发二期
device.upgrade/device.deploy事件类型:升级指令与 skill/模板下发共用一套推送底座- daemon 拉取 → 验签(Ed25519 fail-closed)→ 灰度执行(非核心先行,健康探针通过再核心)→ 失败自动回滚;窗口外/离线挂起补升
- 任务下发推送直达 + 离线回落心跳捎带 + 领任务回执进审计链
🛡 上行管线三层敏感检测 + 灰度分流
device_data_push/router_session_push上行管线内嵌三层敏感检测(L0 正则 → L1 词典 → L2 NER,逐层降漏 fail-closed)——命中项脱敏后才落盘- 采样数据 canary hash 稳定分流(新版权重灰度),分流决策入审计链(routeReason 可解释)
📋 审计输入双通道 + sofagent demo
- 意图流落
intent.jsonl(调用意图与结果文本双通道;参数经既有脱敏管线,原始参数不入盘)+ 同链 HMAC 留痕——举证时可对照「当时想干什么」与「实际改了什么」 npx -y -p @sofagent/audit sofagent-audit demo——五分钟五幕沙箱演示:写规则 → 注入约束 → 拦截重头戏(三类违规真实命中)→ 快照回滚 → 举证导出;--speed fast60 秒精简版,固定种子跑一万次结果一致
🔒 BugFix(上版遗留)
- v1.5.0 发版后独立审查修复批收编(50 项 + 14 回归用例):守卫与门禁假绿、语义面执行链、安装器裸相对路径、发版态口径四族
- 存量断链修复:daemon 两处仍在传已退役
--legacy实参(到期任务消费每 5 分钟 100% 失败且零告警的活死循环)——调用方清零 + 全仓防复发断言 - 5 个零接线符号处置:
sortEventsByTime删除(死导出除根)、4 个收窄@internal——迁移指引见下方破坏性变更
✅ 质量验证
| 检查项 | 结果 |
|---|---|
| npm test | 5083 tests 全绿 ✅ |
| acceptance-test | 448/448 passed · SKIP 0 · EXIT 0 ✅ |
| shellcheck | 零 error 零 warning ✅ |
| check-version | 131/131 全绿 ✅ |
| 回归检查 | 87 维度 PASS ✅ |
| release-gate | verdict=Conditional PASS(有条件放行 · P1 全清 · 遗留项归属 tag 前/发版后跟踪)✅ |
| fresh-eyes | 20 视角审查闭环(零信任复验 + 修复批 4 提交错层收口)✅ |
⚠️ 破坏性变更
sortEventsByTime从 orchestrator @public 移除(全仓零引用死导出,除根)——如有按时间排序需求请自行sort();setDefaultAnomalyBus/createWebhookAdapter/createTimerAdapter/onDeviceOnline收窄为@internal(运行期宿主装配落版时随版本 bump 重升 @public)device-events回执枚举新增device.upgrade/device.deploy/device.task.dispatch事件类型——对枚举做穷举处理的消费者需补默认分支(MCP 工具总数不变,105)- 审计数据目录新增
intent.jsonl(意图流落盘,参数经脱敏)——审计数据管道如有文件白名单需补该文件
🔗 深入了解
| 想看什么 | 链接 |
|---|---|
| 全部变更明细 | CHANGELOG |
| 上手指南 | HANDBOOK |
| 有问题 / 晒场景 | Discussions |
| npm 包 | @sofagent/audit · 共 15 包(npm) |
📖 详细开发日志