Workflows 是一个 Rust 库(crate 名为
tinyflows),将自动化流程建模为有向图 WorkflowGraph。你构建图→结构验证→编译成 CompiledWorkflow→在 tinyagents 引擎上执行。数据流以 JSON 条目数组形式在节点间传递,合并归约器确保并行分支不冲突。节点类型完整:trigger、agent、tool_call、http_request、code、output_parser、sub_workflow、condition、switch、merge、split_out、transform。每节点支持=-prefixed表达式引用运行状态。
核心特性:主机无关——通过 Rust trait 抽象LlmProvider、ToolInvoker、HttpClient、CodeRunner、StateStore,库本身不硬编码供应商、不发起网络请求。凭据以不透明的connection_ref传递,宿主方解析,避免泄露。相同编译工作流可在 CI 用 mock,生产环境用真实能力,无需分支逻辑。
审批流:节点可标记requires_approval,执行到此处暂停并暴露为RunOutcome::pending_approvals,宿主方通过engine::resume恢复。错误处理:per-node 策略(stop / continue / 路由至错误输出),有限重试,tracing 可观测性,并提供RunObserver钩子。
已实现:完整节点目录、结构验证、每次编译、条目数据流与表达式、条件/分支/归并路由、审批门控、可观测性、版本化线格式(schema_version + type_version)及迁移框架。#![forbid(unsafe_code)],MSRV 1.85,Rust 2024 版。
尚未实现:真正的 jq/jaq 表达式引擎(当前仅基本点路径评估)、重试退避与超时、持久化检查点断点续跑、可视化和 agent-first 创作工具(属于宿主层,由 OpenHuman 产品提供)。OpenHuman 宿主集成本身(Phase B)在独立仓库,尚未公开。
许可证 GPL-3.0-or-later。
GitHub
#开发者 #工具 #Rust #开源 #工作流 #agentic #tinyflows #Workflows
@DevToolboxHub