Flux

🔄 事件溯源状态引擎 · 多智能体实时协同

Flux 是持久化的共享事件溯源状态引擎,支持多智能体跨系统协调、实时状态同步与双向设备控制,适合构建分布式观测与控制中枢。

收藏
10.8k
安装
2.4k
版本
1.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Flux 提供事件驱动的共享世界状态能力,智能体通过发布不可变事件(Events)来驱动实体(Entities)状态的派生与更新。核心操作包括:

1. 事件发布:通过 flux.sh publish <stream> <agent> <entity-id> <json> 将观测数据写入指定流(如 sensors、system、loadtest)
2. 状态查询:使用 flux.sh get <entity-id> 或 flux.sh list [prefix] 获取派生后的实体属性(Properties)

3. 批量管理:支持前缀过滤删除、命名空间隔离及 WebSocket 实时订阅

4. 双向控制:通过 command + cmd_id 模式实现设备指令下发与状态反馈

典型应用场景包括:多智能体消息协调(Agent A 写入消息 → Agent B 读取响应)、IoT 传感器聚合、分布式任务状态追踪及基础设施监控告警。

显著优点

  • 最终一致性保证:基于 NATS JetStream 的持久化日志 + 周期性快照,重启后状态可恢复
  • 低耦合协作:智能体无需直接通信,通过共享状态空间实现间接协调
  • 实时性:WebSocket 原生支持,可订阅单实体、全量实体或接收系统指标(2s 间隔)
  • 灵活命名体系:支持前缀分组(host-*、sensor-*)、类型分隔符(:)及命名空间隔离(/)
  • 轻量部署:单 Docker 容器即可运行,提供公共沙箱环境降低试用门槛

潜在局限

  • 无内置冲突解决:属性更新采用 last-write-wins 策略,高并发写入同一属性可能导致竞争丢失
  • 查询能力有限:仅支持前缀过滤,无复杂查询、全文检索或历史事件回溯能力
  • 认证为可选:默认关闭鉴权,生产环境需手动开启 FLUX_AUTH_ENABLED 并配置命名空间令牌
  • 生态成熟度:相对小众,社区规模与周边工具链不及 Redis、etcd 等成熟方案
  • 单点风险:未提及集群部署模式,默认实例可能成为可用性瓶颈

适合人群

  • 多智能体系统开发者(MCP Agent 间需共享上下文)
  • IoT/边缘计算场景需轻量级状态同步的工程师
  • 原型验证团队(公共沙箱支持快速上手)
  • 事件溯源架构的尝鲜者

常规风险

| 风险类别 | 说明 |
|---------|------|
| 数据持久化 | 依赖 NATS JetStream 配置,不当的保留策略可能导致数据丢失 |
| 并发安全 | last-write-wins 语义下,高频争用场景需应用层补偿 |
| 网络暴露 | 默认无认证,公网部署需强制开启 `FLUX_AUTH_ENABLED` 并配合 TLS |
| 命名空间隔离 | 虽有命名空间概念,但误配置可能导致跨租户数据可见 |
| 版本兼容性 | CLI 脚本与 API 演进可能不同步,生产环境建议锁定版本 |

Flux 内容

references文件夹
scripts文件夹
手动下载zip · 7.3 kB
api.mdtext/markdown
请选择文件