TinyflowAI 是什么
TinyflowAI 是一个 AI 工作流编排框架。它把工作流分成两个彼此独立、通过 JSON 协作的部分:浏览器中的可视化编辑器负责设计,Java 运行时负责解析、调度和执行。

能力边界
TinyflowAI 不是托管式 AI 平台,也不替业务系统保存用户、权限、模型密钥或工作流版本。它提供可嵌入的编辑器和运行时基础设施,业务系统仍负责发布审批、持久化、鉴权、审计、监控和安全策略。
| 层 | TinyflowAI 提供 | 业务系统负责 |
|---|---|---|
| 前端 | 节点编辑、连线、参数引用、主题、自定义节点 | 页面布局、权限、保存/发布交互 |
| 契约 | nodes、edges、viewport 组成的 JSON | schemaVersion、版本冻结、迁移和发布校验 |
| 后端 | 解析、执行、状态、挂起/恢复、Trigger 扩展点 | 持久化实现、集群协调、超时限流和可观测性 |
| AI | LLM、知识库、搜索等 Provider 接口与适配模块 | 模型实例、密钥、租户隔离、内容安全和费用控制 |
技术栈集成
前端核心由 Svelte 5 和 @xyflow/svelte 编写,并通过无 Shadow DOM 的 Web Component 输出。可直接用于原生 JavaScript,也提供 React、Vue 和 Svelte 封装包。
后端当前是 Java 8+ 多模块运行时,可接入 Agents-Flex、Spring AI、LangChain4j 或 Solon AI。不同 AI 框架通过适配模块接入同一工作流执行模型,而不是要求业务替换现有技术栈。
Node.js 与 Python
当前仓库没有可与 Java 运行时等价的 Node.js 或 Python 执行引擎。它们可以保存和传输工作流 JSON,也可以调用 Java 服务,但不应宣称已经具备原生执行能力。
一次完整流转
text
用户在编辑器中编排
-> getData() 导出 nodes / edges / viewport
-> 业务服务校验、版本化并发布 JSON
-> ChainParser 转成 ChainDefinition
-> ChainExecutor 创建 ChainState 并执行节点
-> 节点输出写入 memory,供后续参数引用
-> 完成、失败,或等待表单输入后恢复设计时和运行时只共享数据契约。前端自定义节点若增加新的 type,后端也必须注册同名 NodeParser 和执行实现,否则当前 parser 会忽略未知节点。
适合的场景
- 在 CRM、ERP、客服或内容平台中嵌入 AI 流程设计器。
- 将 LLM、知识检索、HTTP、模板、代码和人工确认组成可复用流程。
- 需要流程定义由业务系统自主管理,数据和模型调用不经过第三方托管平台。
- 已有 Java AI 技术栈,希望复用模型对象并增加可视化编排。
不适合直接使用的场景
- 希望开箱即用地获得多租户 SaaS 控制台、计费、审批和审计。
- 未准备为动态代码、HTTP 请求和模型调用建立安全边界。
- 仅需要一个固定的单次模型调用,没有流程编排和版本管理需求。
从哪里开始
- 阅读整体架构,理解设计时与运行时边界。
- 完成端到端快速开始。
- 前端接入查阅前端架构与选型。
- Java 接入查阅Java 快速集成。
- 在保存和发布前对照工作流 JSON Schema校验。
