plaita¶
Plaita 逻辑编排系统的官方 Python 运行时。
plaita 将 JSON 格式的逻辑流程定义解析为可执行的 Flow,并以插件化的 Node 体系驱动执行。它把流程定义与执行逻辑分离,支持同步阻塞、生成器单步、以及可跨进程挂起/恢复(Distributed)三种执行模式——从「一次请求即返回」到「等外部事件再继续」;Distributed 不是默认具备至少一次投递的容错引擎。
核心特性¶
- JSON 流程定义 —— 用节点 +
next/分支描述控制流,平台可视化编排或手写皆可 - 插件化节点 —— 默认注册表 23 种内置节点(
CodeNode需显式注册),自定义节点只需实现execute,支持 entry_points 自动发现 - AI Agent 编排(典型场景) —— LLM 规划 + plaita 执行是最常见的使用场景之一;
@flow/ JSON 有构建期校验,flow_from_source让 AI 生成的流程编译期就拦错 - 三种执行模式 —— Normal 同步、Generator 单步调试、Distributed 跨进程断点续执
- 超时与错误策略 —— 节点级/流程级 ISO 8601 超时、
abort/continue/continue_with错误策略与重试 - 事件系统 —— EventBus 抽象;生产推荐 memory(测)/ redis(跑),sqlalchemy 为 experimental
- Python 同构 —— 基于 Pydantic,全异步内核,3.10+
快速上手¶
{
"flow_id": "echo",
"inputType": { "dataType": "object" },
"nodes": [
{ "type": "start", "id": "start", "next": "end" },
{ "type": "end", "id": "end", "output": "$INPUT.name", "resultType": "success" }
]
}
from plaita import Flow
flow = Flow.from_string(open("echo.json").read())
print(flow.run(name="kongjie")) # => "kongjie"
想要更完整的入门?前往 快速开始。
它适合做什么¶
| 场景 | 推荐模式 | 说明 |
|---|---|---|
| AI Agent 多步工具编排 | Normal / Distributed | LLM 规划 + plaita 执行;parallel/child 多工具与子 Agent,approval 人工介入 |
| 运行期执行 AI 生成的流程 | Normal + flow_from_source |
@flow 源码编译期校验,再交给运行时,比直接生成可执行代码更安全 |
| 请求-响应的即时逻辑 | Normal | 同步阻塞,一次返回结果 |
| 流程可视化调试器 | Generator | 每节点 yield,可单步、检查上下文;天然即 Agent trace |
| 人工审批 / 外部回调 / 定时延迟 | Distributed | 挂起-持久化-事件恢复(见 可靠性边界) |
| 跨进程挂起/恢复的长时流程 | Distributed | 上下文序列化后 resume;任务队列 at-least-once(须幂等) |
详见 应用场景。
我想…¶
让 LLM 规划 + plaita 执行,用 @flow / flow_from_source 安全地运行 AI 生成的流程:
单步执行、检查中间状态、构建调试器:
文档导览¶
| 章节 | 内容 |
|---|---|
| 指南 | 安装、快速开始、流程编写、表达式、执行模式、错误处理、回调、调试 |
| 架构 | 分层设计、执行引擎、状态管理、时序图 |
| 节点系统 | 内置节点手册、自定义节点、注册表与插件 |
| AI 集成 | MCP、工具节点与数据源、ReAct/FoT Agent、Skill |
| 断点续执 | Checkpoint、事件系统、FlowWorker、扩展节点 |
| 应用场景 | Agent 编排、HTTP 集成、审批流等端到端示例 |
| API 参考 | 由源码 docstring 自动生成 |