pi- 流量
将多剂工作流程管弦乐添加到 pi 的 pi- package. 设计为YAML DAGs,以自动并列排程运行,并用活的TUI仪表盘观看一切——而主会话则保持完全交互.
概览
流动是 可重复使用的工作流程模板 通过结构化投入和产出协调多个AI代理商. 每个代理运行在一个孤立的会话中,带有范围化工具和文件系统访问.
最佳做法:
- 研究 计划 执行 核查 周期
- 代码审查 有核查/固定环路的管道
- 文档生成 包含多领域研究
- 正在重构 具有交互式分支
安装
pi install npm:pi-flows
或来自本地克隆人:
pi install /path/to/pi-flows
Anthropic OAuth( 订阅) 模型
pi-flows不使用Anthropic特有的即时或电线处理. 流程代理获得pi的默认系统即时加上代理即时,工具保留其平面pi名. 当Claude订阅需要系统及时调整时, Pi-agent-dashboard 处理它: 它通过 flow:register-agent-extension,该扩展重写提示区域 before_agent_start. pi-流量不再装入 pi-anthropic-messages。 。 。 .
快速启动
-
创建代理 (单位:千美元)
.pi/flows/agents/reviewer.md:--- name: reviewer description: Reviews code for quality issues model: anthropic/claude-sonnet-4-5 tools: read, grep, find inputs: - target_path --- Review the code for: ${{task}} Focus on: ${{input.target_path}} -
创建流程 (单位:千美元)
.pi/flows/flows/review/flow.yaml:name: review description: Research then review code task_required: true task_prompt: "What should I review?" steps: - id: research agent: project-context-reader task: Investigate the codebase for ${{task}} - id: review agent: reviewer blockedBy: [research] inputs: target_path: "${{result.research.summary}}" task: Review based on research findings -
运行它:
/review Fix the auth middleware
命令和密钥绑定
| 命令 | 说明 |
|---|---|
/flows | 列出和管理流量( 运行, 删除) |
/skill:manage-flows | 装入流程/代理创建和编辑参考技能 |
/flows:delete | 删除流程 |
alt+a | 切换自动路由( 代理自动决定分叉分支) |
alt+x | 中止运行中的流程/ 丢弃流程摘要 |
alt+o | 检查代理(进入仪表板/摘要导航模式) |
alt+t | 在代理- 细节上切换思维 |
密钥绑定在 alt+<letter> 避免与 pi相撞的命名空间 ctrl+<letter> 默认值,可通过 ~/.pi/agent/keybindings.json。 。 。 .
流程还登记为基于目录路径的斜线命令 : .pi/flows/flows/review/flow.yaml → /review每个流动都是自成一体的目录——它的 flow.yaml 加上任何位于同一地点的代码-节点处理器(<id>.ts) (中文(简体) ).
核心概念
- 探员 —— 有 YAML 前事( 配置) 和正文( 系统提示) 的 Markdown 文件 。 在孤立的会话中运行,并带有范围工具和文件访问.
- 流量 —— YAML 文件定义连接步骤的 DAG
blockedBy。引擎平行地安排独立的步骤,直到max_concurrent。 。 。 . - 模板变量 —— 说
${{task}}, (中文(简体) ),${{result.step-id.summary}}, (中文(简体) ),${{input.name}}发送时台阶之间的有线数据. - 模型 —— 说
model:是可选的:字面模型,可选@name化名(由安装的model:resolve解析器,如 pi-agent-dashboard, 命令列表, 或无。 不可解别名回落到会话模式. - 设置 (单位:千美元)
.pi/settings.json,项目覆盖全球)——flows.modelFallback数字 :"session"(违约)或"error"· ;flows.decisionAgent: 用于不自行决定步骤的剂agent:(流量)decision_agent:赢得它;flows.decider:默认决定链,例如.["system-one", "agent"](见docs/flows.md) (中文(简体) ). - 编辑流量 在主会话中使用
flow_agents财务报告和审定财务报表flow_write工具。 这些工具默认关闭; 允许每个项目使用(/flows:edit-mode on,或flows.editFlow: true内.pi/settings.json或全球(~/.pi/agent/settings.json) (中文(简体) ). 设置是每个回合重读, 并控制模型是否看到包manage-flows技术。 pi- flows 从不写入 repo, 除非您明确切换编辑模式 。 装入/skill:manage-flows格式参考.
写入代理
探员是 .md 文件在 .pi/flows/agents/ (项目-当地), ~/.pi/agent/flows/agents/ (用户级别,所有项目;流量进入) ~/.pi/agent/flows/flows/; 工程覆盖用户)或软件包 agents/ 目录.
---
name: backend-dev
description: Implements backend changes
model: anthropic/claude-sonnet-4-5
thinking: high
tools: read, write, edit, grep, bash
inputs:
- research_context
outputs:
- verdict
access:
read: ["src/**"]
write: ["src/main/**"]
bash:
deny: ["rm -rf"]
card:
label: "Backend Dev"
metric: developer
---
You are a backend developer. Task: ${{task}}
Context: ${{input.research_context}}
关键字段 : model (作用层次), tools (allolllaylast - 警卫挡住其他一切), inputs编号 :outputs (类型数据流动), access (文件系统沙盒), card (TUI仪表板渲染).
写入流程
步骤类型
每个步骤都明确宣布 type: (解说者不推出. 有五个: agent, (中文(简体) ), fork, (中文(简体) ), agent-decision, (中文(简体) ), code, (中文(简体) ), code-decision。 。 。 .
探员 派遣一个指定代理人,任务是:
- id: impl
type: agent
agent: backend-dev
blockedBy: [research]
inputs:
research_context: "${{result.research.summary}}"
叉头 ——向用户(或让代理以自动路由模式决定)提出选择:
- id: choose
type: fork
question: "Which approach?"
options: [Quick fix, Full refactor]
branches:
Quick fix: quick-step
Full refactor: refactor-step
agent: flow-decision # used when alt+a (AUTO) is active
代理决定 - 代理电话 finish({ branch }) 到路由;指向更早一步的分支是一个环(由 max_iterations:
- id: verify-loop
type: agent-decision
agent: flow-decision
task: "Check iteration ${{loop.verify-loop.iteration}}/${{loop.verify-loop.max}}"
branches:
fix: fixer # backward target → loops
done: done # forward target → exits
max_iterations: 3 # required when a branch points backward
代码 ——以节点(无 LLM)方式运行决定性的 TypeScript 处理器 :
- id: validate
type: code
inputs:
invoice: "${{result.extract.canonical}}"
outputs:
- name: valid
blockedBy: [extract]
代码决定 a 包括: code 返回路线的节点 branch (≥2个分行):
- id: route
type: code-decision
inputs:
valid: "${{result.validate.valid}}"
branches:
approve: finalize
reject: notify
输入线
步骤通过数据 inputs + 模板变量 :
- id: researcher
agent: researcher
task: Investigate ${{task}}
- id: developer
agent: developer
blockedBy: [researcher]
inputs:
context: "${{result.researcher.summary}}"
spec_path: specs/api-spec.md # pass a path; the agent reads it via its `read` tool
代理机的快速引用输入为 ${{input.context}}在代理前题中申报的已打入的输出(outputs:)可读取为: ${{result.step-id.outputName}} 并且作为全值参考物被接线时作为真正的JSON类型交付给代码-节点处理器. 文件备份数据作为路径传递,并在运行时读取(将消耗代理给 read ——没有 file:// 内容注入.
TUI 盘
当流量运行时,在网格布局中会出现带有代理卡的活盘. 每张卡都显示状态,经过时间,以及特定域的度量标准(文件被修改,测试通过等). 以箭头键导航,扩展代理细节视图,并查看完成后的全部流量摘要.
卡片类型(card.metric: developer, (中文(简体) ), researcher, (中文(简体) ), tester, (中文(简体) ), verifier, (中文(简体) ), writer, (中文(简体) ), default -或通过下列方式登记自定义渲染器: flow:register-card。 。 。 .
与 Pi- agent- dashboard 合并
pi- flows 是 (pi- flows ) (pi-flows is the 引擎。浏览器仪表板渲染流出事件 pi-agent-dashboard 作为单独的工作空间插件( e)packages/flows-plugin/) (中文(简体) ). 两个回放是故意分割的: pi-flows 发出 flow:* 事件;仪表板对此作出反应.
见 docs/dashboard-integration.md 用于架构图,线-protocol桥,以及如何添加新流事件端到端.
内设特工
| 探员 | 作用 | 说明 |
|---|---|---|
flow-decision | 路由器 | 制作分行/滚动决定叉和循环步骤 |
project-context-reader | 研究员 | 阅读和总结项目结构 |
开发者 Docs
详细文件 docs/ 文件夹 :
- 参考文献 – 有语法和实例的完整步骤类型参考
- 代理人 - 代理前题计划、型号等级、牌型
- 流程写入 – 代理和流程文件的完整格式引用
- 建筑 ——内部设计:DAG执行,代理隔离,子扩展
- 事件 API ——注册自定义卡,工具,并收听流出事件
- 公共 API ——方案使用的核心类型和功能
- 技能和扩展 - 技能包和扩展登记
- 工具参考 - 特工可用的内置工具
- 创建软件包 ——用自定义代理和流量构建域包
- 扩展 pi 流量 - 高级定制
- 板板集成 – Pi- 流量和 Pi- agent- dashboard 连接方式
释放
释放是自动通过 .github/workflows/publish.yml。两种途径:
工作流程调度(建议). 打开 GitHub 动作 UI, 运行 Release 工作流程,键入版本(如. 0.2.2) (中文(简体) ). 工作流程起伏 package.json,日期匹配 ## [Unreleased] (或未注明日期) ## [X.Y.Z]) 节入 CHANGELOG.md 改为 ## [vX.Y.Z] - <today>,承诺,标签,推,然后发布到 npm 来源 通过 npm 信任出版,并与 ChangeGELOG 机构起草 GitHub 发行版.
塔克按键. 本地键入版本 + 变换组、 承诺、 标记 vX.Y.Z,以及 git push --follow-tags。同一出版物+发布工作起火.
在第一次发布之前,确保:
- Npm 软件包
@blackbelt-technology/pi-flows有一个 信任的出版商 配置指向此 repo +publish.yml+该npm-publish环境. - 一个 GitHub 仓库环境
npm-publish存在(地址 = 环境)。 如果您想要在每次发布前有一个手动闸门, 请在此添加需要的审查者规则 .
准备您的更改条目 ## [Unreleased] 在触发工作流程之前——标题定时步骤重写到位.
见 docs/releasing.md 操作员运行本.
许可证
麻省理工学院