TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 570 subscribers
Post #1376 8
Workflows:Rust 开源 agentic 工作流引擎

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
More from @devtoolboxhub
  1. Sep 30, 2026AMSI 绕过技术 2026 开发者指南 AMSI(Antivirus Malware Scan Interface)是 Windows 的恶意脚本扫描接口,覆盖 PowerShe…
  2. Sep 30, 2026AI Agent 为什么记不住事 和 AI Agent 协作时最容易注意到的一点是:它们很擅长回答问题,却不擅长记住昨天发生过什么。你可以和它长聊一轮,做出一堆决定、说明偏好、一起…
  3. Sep 30, 2026wpipe:面向 Python 开发者的轻量编排库 wpipe 是一个纯 Python 可嵌入的编排库,目标是让数据管道的开发回到「编辑—运行—调试」的快速循环,而不必为验证业务逻…
  4. Sep 29, 20262,916 个 AI 网站 8 月流量:转录与图生 3D 起飞 Anjin Radar 追踪了 2,916 个 AI 网站的月度访问量,数据截至 2026 年 9 月 28 日。访…
  5. Sep 29, 2026Python 虚拟环境其实是个软链接 在 Linux 和 macOS 上执行 python3 -m venv .venv,并不会复制一份 Python。venv 里的 python…
  6. Sep 29, 2026Will It Focus:相机自动对焦兼容性查询 Agent 这是一个面向摄影器材的自动对焦兼容性查询工具,但它真正的看点在于工程实现:如何让模型引用厂商原文时,保证引用的确实是…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →