Flux

🌊 多智能体共享状态的事件溯源引擎

Flux 是一个基于事件溯源的共享状态引擎,允许多个智能体通过发布不可变事件来协调观察、追踪实体状态,实现跨系统的实时数据共享与协作。

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

使用说明

核心用法

Flux 采用事件溯源(Event Sourcing)架构,智能体通过发布不可变事件(如温度读数、状态变更)到指定流(Stream),Flux 自动派生出权威实体状态供所有智能体查询。核心操作包括:

  • 发布事件:flux.sh publish <stream> <source> <entity_id> <properties_json>
  • 查询实体:flux.sh get <entity_id> 获取当前派生状态
  • 批量操作:支持批量事件发布和实体删除
  • 实时订阅:WebSocket 端点 /api/ws 提供实时更新

关键设计:属性合并更新——只需发送变更的属性,现有属性自动保留,大幅降低网络开销。

显著优点

1. 多智能体协调天然适配:基于流(Stream)和命名空间(Namespace)的隔离机制,支持大规模 Agent 集群安全共享状态
2. 事件溯源保证可追溯性:完整历史事件链,便于审计、回放和调试

3. 部署灵活:支持本地实例(localhost:3000)和托管公共实例(flux-universe.com),环境变量即可切换

4. 性能优化:NATS JetStream 持久化 + 快照机制,重启不丢状态;批量 API 支持 10MB 事件包

5. 细粒度权限:命名空间级 Token 认证,可选管理员令牌进行运行时配置调整

潜在局限

  • 学习曲线:需理解事件溯源 vs CRUD 的思维转换,属性合并逻辑可能引发意外覆盖
  • 网络依赖:实时协作依赖稳定连接,离线场景需额外缓存层
  • 公共实例成本:命名空间需购买,高频写入可能触发速率限制(默认 5000/分钟)
  • 生态锁定:专用 CLI 工具 flux.sh 绑定,迁移至其他事件总线需适配层

适合人群

  • 多 Agent 系统开发者:需要跨实例共享世界状态的 AI Agent 团队
  • IoT/SCADA 场景:传感器数据汇聚、设备状态追踪的工业物联网项目
  • 实时协作应用:需低延迟状态同步的分布式系统(如游戏状态、监控大屏)
  • 事件驱动架构迁移者:希望用轻量级方案替代 Kafka + 自建状态服务的团队

常规风险

  • 命名空间前缀强制:实体 ID 必须含 namespace/ 前缀,遗漏会导致认证失败
  • 时戳精度敏感:API 要求 epoch 毫秒(i64),手动构造事件易因单位错误(秒 vs 毫秒)导致排序异常
  • 批量操作不可逆:DELETE 和批量删除直接移除实体及历史派生状态(事件流保留但状态重建成本高)
  • Token 泄露风险:FLUX_TOKEN 和 FLUX_ADMIN_TOKEN 需妥善保管,公共实例泄露可能导致命名空间数据被篡改

Flux 内容

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