Skip to content

Architecture CN

JAVA-Lw edited this page Oct 10, 2026 · 6 revisions

1flowbase 架构目录

English

源码基线:533d8acfddb1ffdf01700d80a42ba649120a902e。本页维护稳定职责和当前契约;运行验收绑定具体提交与报告,历史测试结果不自动代表当前版本。此次整改与验收见 #2325。

设计原则

  1. 优先复用成熟算法、数据结构、数学模型以及当前 PostgreSQL、Rust、Node.js 和共享 SDK 能力。
  2. 不从客户端行为猜测或开发机资源推导业务容量上限。区分完整业务数据、按页读取、运行背压和部署治理。
  3. 优化顺序为:功能完整性 > 可靠性 > 性能 > 可演进性。缩小单次读取不能删掉继续读取的能力。
  4. 通用通信分发、子进程通知、取消和生命周期归底座或共享 SDK;插件保留业务适配职责。

系统全景

HTTP / SSE / WebSocket / MCP
    → 协议解析与认证(凭据在此终止传播)
    → Canonical Interface / 冻结调用计划
    → typed Handler
    → Control Plane / Orchestration
        ├─ PostgreSQL:事务、业务事实、Outbox、历史读取
        └─ RuntimeExtensionHost:worker、通信与生命周期
              → 共享 SDK → 插件业务适配 → 上游

业务提交、调用终态、协议交付和订阅者 ACK 是不同状态。断开连接不证明业务取消,入队不证明提交或处理完成。

请求、接口与认证

协议入口消费已编译的 Registry、Binding 和权限投影;调用期间冻结身份,不临时拼装路由或以 UI 隐藏代替后端授权。

插件与扩展

HostExtension 是可信启动扩展;RuntimeExtension 与 CapabilityPlugin 通过受管通道使用已开放契约。managed subscriber 可在 Invocation / WorkspaceAssignment 作用域订阅支持的事件,要求精确 contract/version 和逐贡献授权;User 作用域不开放,认证 factory 仍归可信宿主。

治理历史采用 keyset 分页,保留 deliveries / deliveries_truncated,以 next_cursor 续读。默认256条只是候选页大小,不是历史总量上限;过滤后空页也按游标继续。游标绑定安装和工作区,不授予权限。

当前快照工作区、保留快照、冻结引用及退休标记不再使用固定256/4096数量拒绝。关闭、引用排空、显式退休和持久积压检查继续有效。退休标记防止共享 generation 复活,保留到宿主关闭,不按数量淘汰;这不等于恒定内存保证。其他执行通道的并发、帧保护和关闭预算是独立控制,本轮未全面重构这些通道。

Runtime、AI Gateway 与恢复

api-server 是唯一组合根,装配进程内 Host。业务通过稳定 Port 调用;Host 和 SDK 管理 worker 消息关联、背压、取消和退出。AI Gateway 保持映射协议层 → AI Native → 供应商的职责边界。

必要事实提交、对应 generation 终态提交和允许回收之间必须有明确顺序;后台定时刷新不能替代提交证明。冷恢复复用现有持久事实,不重执行已完成工具,不让插件各自实现宿主的日志和恢复基础设施。

数据与前端

后端拥有数据、权限与状态真值;前端消费同名 DTO,不承担输出兼容。PostgreSQL 负责事务与关系查询,列表分页和详情按需读取保留完整访问能力。Outbox 的领取与 fencing 保留既有事务 owner,不以新增中间件替代正确性证明。

证据与维护

仓库架构索引维护当前主题;历史归档保存原阶段范围、命令与候选。研究稿不是实现声明。文档同步不代表部署完成,具体结果见 #2325 的冻结候选与集中 QA 记录。

验收:CI 38019783631,73 个 Rust 测试、8 个 Node 测试通过。此次结果只覆盖 #2325 的有限矩阵,不代表全仓或生产部署验收。

文档维护

仓库索引区分当前契约、研究与历史证据。阶段权限以生命周期契约为主,诊断采集以 AI Gateway 执行证据为主;研究稿注明采纳状态,归档索引补齐 #2228。此次只同步文档,不声明重新执行产品验收。

1flowbase Wiki

Quickstart

License

Use Cases

Evaluation Checklists

插件扩展

Engineering

Project

Clone this wiki locally