v1.4.6 — 🚀 多卡分布式与云端训练执行面
🚀 训练从「单机跑一跑」走到「多卡并行 + 云端 VM 受监督执行」,同时把不属于约束层的行李卸到仓外——卸下负担之后,缰绳反而更紧了。
TL;DR (EN): Multi-GPU distributed training + cloud-VM execution under harness supervision (train_multi / train_cloud), plus engine slim-down: recipes external, installs to shell, downloader removed, spawn behind TrainExecutor. 84 MCP tools · 4,088 tests · 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.4.6 --doctor
# 一条命令装全四大功能包(本版新:裸名总包)
npm i -g sofagent
# GitHub Action(PR 自动审计)
uses: KongFangXun/sofagent@v1.4.6
🔨 核心变更
🚀 多卡 / 分布式训练(train_multi)
- 多卡命令构造 + rank 汇总(最慢 rank 决定进度),job.json schema v2 兼容 v1、拒未知字段
- GPU 队列双轴拓扑感知 + NCCL 第八类分布式故障处方,显存预算防 OOM
☁️ 云端 VM 执行面(train_cloud)
- 控制面本地 / 执行面云上:数据分拣三档「宁拦勿漏」+ 批量整批拦截,合规闸先于入库
- 云 VM 失联止损 5min + 成本向上取整计入预算;新增 MCP tool
train_cloud - 标准数据推送接口(schema 校验 + 分拣/合规双闸)+ 保密证书编号挂链(技术 + 法律双证据)
🧹 边界收缩(开源仓瘦身,约 −1.2k 行)
- 训练配方数据迁出为外部装载(
--recipes <dir>),场景判定语义SCENARIO_MATCH_HINTS留开源 - 环境安装编排归 shell 脚本(
tools/train/train-env-init.sh),引擎只留探测 / 体检 / 清单 - 删除自建 model-downloader,基座获取归推理服务与云端通道
- train-scheduler 经
TrainExecutor接口隔离本地 spawn,缰绳核心(提交 / 事件归一 / 回收)保留
📦 npm 裸名总包(umbrella)
npm i -g sofagent一次装全四大功能包——裸名总包薄转发(bin 转发零编译期耦合),与 install.sh 等效- 流程加固四防线:守卫的守卫(门禁自身故障注入自检)/ 分支收编标记对账 / 空 diff message 审计 / driver 冻结窗口锁
🔒 BugFix(上版遗留)
- ruleset A0 汇总行编号渲染、版本动态读路径、uninstall 平台配对、PERSPECTIVES 双清单自检——四处检查锚点对齐实际实现
- 工具数 83→84 十一处活文档同步;DSH 依赖锁对齐 npm latest
✅ 质量验证
| 检查项 | 结果 |
|---|---|
| npm test | 4088 tests 全绿 ✅ |
| acceptance-test | 311/311 场景全绿(392 断言 · SKIP 0)✅ |
| shellcheck | 零 error ✅ |
| check-version | 109/109 全绿 ✅ |
| 回归检查 | 100 维度 ✅ |
| release-gate | verdict=PASS ✅ |
| fresh-eyes | 2 轮独立审查 ✅ |
⚠️ 破坏性变更
- 删除导出(@sofagent/orchestrator):
trainEnvInit/downloadModel及 model-downloader 全套——如遇import { downloadModel }报错,基座改用ollama pull手动放置或走云端通道;环境安装改用bash tools/train/train-env-init.sh - 训练配方数据结构变化:
TRAIN_SCENARIO_TEMPLATES由 8 个全量模板收缩为 4 个参考模板(每场景 1 个)+ 外部装载——如遇「找不到某场景模板」,执行train templates --recipes <你的配方目录>装载(schema 校验,坏资产跳过不炸引擎) - 新增导出:
TrainExecutor/LocalSpawnExecutor/createLocalSpawnExecutor——本地 spawn 编排的接口化入口,默认实现保持原行为 - MCP 工具数 83→84:新增
train_cloud(纯新增,既有 83 个 tool 签名不变) - 升级后需重装 git hook:本版 hook 行为有变更(空提交纳入审计 + fresh-eyes 冻结窗口锁)——
sofagent-audit --install-hook(每个装过 hook 的仓库逐个重装)
🔗 深入了解
| 想看什么 | 链接 |
|---|---|
| 全部变更明细 | CHANGELOG |
| 上手指南 | HANDBOOK |
| 有问题 / 晒场景 | Discussions · good first issues |
| npm 包 | @sofagent/audit · 共 14 包(npm) |
📖 详细开发日志