Skip to content

v1.5.1 — ⚡ 编排模块 · 事件驱动

Choose a tag to compare

@KongFangXun KongFangXun released this 22 Sep 05:47
· 1884 commits to main since this release

⚡ 编排模块升级「事件驱动」——业务事件来了自己跑(四类事件源 + 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 fast 60 秒精简版,固定种子跑一万次结果一致

🔒 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)

📖 详细开发日志