Aster文档
搜索 Aster 文档
ESC
产品
版本

输入关键词开始搜索。

    文档目录

    ASTER FLOW / 01

    Aster Flow 产品概览

    持久工作流、确定性重放、宿主副作用与等待恢复的职责边界。

    aster-flow 是持久工作流引擎和 Rust SDK,当前源码版本为 2.0.0。它通过追加式历史保存步骤、等待、重试、子工作流和终态,在进程重启或 Worker 替换后重新投影状态。

    Flow 适合跨多次调度、需要等待审批或外部事件的任务。纯内存排队不需要承担完整工作流历史时,可先了解 Lane;需要理解智能体 Harness 的事实折叠,可阅读 Effect。

    架构图Flow 的历史、决策与副作用边界引擎从追加式历史投影状态,工作流返回确定性命令。宿主执行步骤并提交结果,等待时释放 Worker,恢复时重新读取历史。
    Flow 的持久工作流执行循环追加式历史决定状态。引擎校验工作流命令并提交调度事件,再执行宿主操作并保存结果。等待期间不保留计算栈,恢复后再次投影历史。外部状态满足后唤醒追加式事件历史投影 WorkflowRunSnapshotrun_workflow确定性 RuntimeCommand校验命令与历史一致追加调度与生命周期事件宿主 run_step / run_activity执行外部操作按 expected sequence 追加事件持久等待:定时器 / Signal /Hook完成、失败或取消

    决策与操作分开

    FlowRuntime::run_workflow 读取历史投影并返回下一条确定性 RuntimeCommand。外部访问放在 run_step 或 run_activity,不要在每次重放的决策函数里直接调用工具、网络或模型。见 运行时接口 L74 ↗。

    已提交的步骤结果可以重放。相同步骤身份对应的输入、策略或等待条件发生漂移时,引擎拒绝非确定性重放,不会把它解释成同一次操作。

    核心能力

    Flow 的持久生命周期
    能力保存的内容宿主仍需提供
    步骤与 Activity身份、尝试、结果、重试和未明结果工具实现、幂等性和外部结果核实
    等待与审批定时器、命名 Signal、Hook 与回调路由事件来源、审批授权和唤醒调度
    子工作流子身份、策略和终态关联允许启动的工作流与资源额度
    取消与续接取消清理和 continue_as_new 关联清理实现与外部操作核对
    部署恢复运行时 Build 身份、补丁与事件历史兼容实现、Worker 放置和租户策略

    start_with_id 允许同一运行 ID、工作流定义和输入安全重试创建;不同定义或输入会发生冲突。见 持久运行创建 L24 ↗。

    与宿主的边界

    Flow 管理工作流历史和生命周期。宿主负责身份、授权、租户隔离、凭据、可用节点与工具、业务发布和调度资源。一个工作流图通过结构检查,不表示其中的节点已获得执行许可。

    外部副作用的物理边界是至少一次。如果操作已经成功,但结果尚未持久化时进程退出,恢复后可能再次执行。Flow 的持久历史不等于外部系统中的恰好一次效果。

    文档入口

    实现依据