Balanov/skein
AI 工程面向本地智能体集群的失败关闭执行控制面,按 epoch 隔离工作并在停止后拒绝迟到完成。
项目介绍
Skein 是面向本地智能体集群的执行控制面。它按照显式的 JSON 任务图运行,支持有界并发,并维护持久的 epoch 栅栏:紧急停止会作废已排队任务,同时拒绝属于旧 epoch 的迟到完成结果,而不是只把任务标记为已取消。
它明确不做智能体框架,也不做模型运行时,重点在依赖图、可复用的多轮执行块、单轮超时、worker 限制以及对受跟踪进程树的停止处理。适合需要在本地多智能体工作流里获得比“取消标记”更可靠停止保证的开发者。
快速使用
使用 Go 1.26 及以上从源码构建,或使用安装脚本和预编译 release 二进制。安装脚本会按操作系统和架构选择二进制,用 SHA256SUMS 校验后装入用户目录;可用 SKEIN_INSTALL_DIR 覆盖安装位置。
curl -fsSL https://raw.githubusercontent.com/Balanov/skein/main/install.sh | sh
也可以用 Go 构建:
go build -trimpath -o bin/skein ./cmd/skein
运行示例图、停止、查看状态并重置:
skein run --state .skein --workers 2 --include-tasks examples/fanout.json
skein stop --state .skein --reason "manual emergency stop"
skein status --state .skein
skein reset --state .skein
status 会返回类似 {"stopped":true,"epoch":2} 的 JSON。运行产物(report.json、events.jsonl、租约和载荷数据)写入 .skein/runs/<run-id>/。退出码 0 表示成功,3 表示任务失败,4 表示运行被停止,1 是运行错误,2 是用法错误。任务清单格式和 Go 嵌入 API(import skein "github.com/Balanov/skein")见集成文档。
使用约束
停止保证覆盖单次本地运行的调度、可重复的停止闩锁、按 epoch 隔离的排队工作、迟到完成拒绝,以及 Linux、macOS、Windows 上受跟踪本地进程树的终止。它不负责沙箱化任意命令、认证或签名租约、语义校验智能体输出、外部副作用恰好一次、自动崩溃恢复、分布式共识,也不处理远程或已脱离的工作。租约是栅栏令牌而非凭据,外部系统要通过网关校验它。命令以操作系统用户权限运行,不可信负载需要操作系统级沙箱。
README 将 0.2.0 标为早期版本,并建议在依赖其进行生产运行前,先用自己的负载验证停止证明。检查方式包括 go test -count=1 ./...、go vet ./...,以及可选的 go test -race -count=1 ./...(需要 CGO 和 C 编译器)。项目采用 MIT 许可证。README 中的测量是在 Windows 11 / Ryzen 9 5950X 上的本地观察,不是通用排名;在 100 个独立任务这一项上,asyncio 的中位数更低(0.740 ms 对 1.040 ms)。
HotRepo 点评
该项目出现在新项目榜上:在 2026 年 11 月 2 日至 3 日约四小时的统计窗口内新增 134 颗星,单条快照记录到 134 颗星。这属于早期关注度,而不是长期趋势数据。更有参考价值的是设计范围:有界并发加 epoch 栅栏停止,并明确列出非目标。评估生产使用时,应把 0.2.0 的早期版本提示,以及缺少沙箱、签名租约和崩溃恢复这些条件,与控制工作流自身的需求放在一起权衡。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。