name: soulflow description: OpenClaw的通用AI工作流框架。为任何任务构建自定义多步骤工作流——开发、运维、研究、内容或自动化。附带开发工作流示例。 homepage: https://github.com/0xtommythomas-dev/soulflow metadata: clawdbot: emoji: “⚙️” requires: bins: [“node”] config_files: - “~/.openclaw/openclaw.json” permissions: config: read: [“~/.openclaw/openclaw.json”] write: [“~/.openclaw/openclaw.json”] gateway: modify agents: create filesystem: read: [“~/.openclaw/workspace”] write: [“~/.openclaw/workspace/.soulflow”, “~/.openclaw/agents/soulflow-worker”] credentials: inherit security_note: “创建一个专用的’soulflow-worker’智能体,具有完整工具访问权限(读取、写入、编辑、执行、浏览器)来执行工作流步骤。读取网关配置(~/.openclaw/openclaw.json)获取认证令牌。修改网关配置以添加/管理工作器智能体。工作器从现有智能体继承authProfiles(授予对GitHub、云提供商等外部服务的访问权限)。所有操作都在本地运行,使用您现有的OpenClaw权限。仅在信任技能作者并已审查代码的情况下安装。”
SoulFlow — OpenClaw工作流框架
用于构建自定义AI工作流的框架。 每个工作流是一系列步骤,在具有完整工具访问权限的隔离智能体会话中执行。在JSON中定义您的工作流,自然地调用它,让智能体处理执行。
您可以构建的内容:
- 开发流水线(安全审计、错误修复、功能开发)
- 内容工作流(研究 → 草稿 → 编辑 → 发布)
- 运维自动化(部署 → 验证 → 失败回滚)
- 研究流水线(收集 → 分析 → 合成 → 报告)
- 任何受益于隔离、专注智能体会话的多步骤任务
附带3个示例开发工作流,向您展示其工作原理。为任何任务构建您自己的工作流。
快速开始
自然语言(最简单): 只需告诉您的智能体您需要什么:
- “在我的项目~/myapp上运行安全审计”
- “修复此错误:用户在~/webapp中无法使用Google OAuth登录”
- “为~/webapp构建推荐系统”
您的智能体读取此SKILL.md并自动调用SoulFlow。
命令行:
cd ~/.openclaw/workspace/soulflow
# 运行安全审计
node soulflow.js run security-audit "审计位于~/project的代码库以查找漏洞"
# 修复错误
node soulflow.js run bug-fix "当电子邮件包含大写字母时,登录返回500错误,位于~/myapp"
# 构建功能
node soulflow.js run feature-dev "为~/myapp中的设置页面添加深色模式切换"
工作原理
SoulFlow通过WebSocket连接到您的本地OpenClaw网关,并将每个工作流步骤作为隔离的智能体会话运行。自动创建一个专用的soulflow-worker智能体,具有最小的上下文——没有来自您主智能体的内存泄漏。
每个步骤:
- 获得一个新的会话(无上下文膨胀)
- 接收任务 + 先前步骤的输出
- 具有完整的工具访问权限(读取、写入、编辑、执行、浏览器)
- 必须完成其工作并报告结果
自动通知(v1.1.0+): 当工作流完成时,SoulFlow会自动将结果通知主智能体会话。无需手动检查状态。
示例工作流(包含)
这些是示例,展示可能性。为任何领域构建您自己的工作流。
security-audit
扫描 → 优先级排序 → 修复 → 验证 开发示例:读取您的源文件,按严重性识别漏洞,应用修复,然后验证它们。
bug-fix
分类 → 修复 → 验证 开发示例:通过读取代码调查根本原因,应用修复,然后验证未引入回归。
feature-dev
计划 → 实施 → 审查 开发示例:架构实施计划,编写代码,然后审查质量和正确性。
想要内容工作流?研究流水线?部署自动化? 创建您自己的.workflow.json——参见下面的自定义工作流。
命令
node soulflow.js run <workflow> "<task>" # 运行工作流
node soulflow.js list # 列出可用工作流
node soulflow.js runs # 列出过去运行
node soulflow.js status [run-id] # 检查运行状态
node soulflow.js test # 测试网关连接
自然语言(通过您的智能体)
智能体知道如何为您调用SoulFlow。 只需描述您想要什么:
安全审计:
- “审计我的应用程序以查找安全问题”
- “检查~/myapp以查找漏洞”
- “扫描代码库以查找安全问题”
错误修复:
- “修复此错误:登录失败当…”
- “支付流程有问题”
- “用户看到500错误当他们…”
功能:
- “构建推荐系统”
- “为设置页面添加深色模式”
- “实现使用Google的OAuth登录”
工作原理:
- 您告诉您的智能体您需要什么
- 您的智能体读取此SKILL.md
- 智能体调用
node soulflow.js run <workflow> "<task>" - SoulFlow运行工作流并报告回来
模式匹配: 智能体将您的消息匹配到工作流:
- 安全审计 → 关键词:“audit”, “security”, “scan”, “vulnerabilit”
- 错误修复 → 关键词:“fix”, “bug”, “broken”, “not working”, “error”
- 功能开发 → 关键词:“build”, “add”, “implement”, “create”, “feature”
没有工作流匹配? 智能体会询问您想要哪个工作流或建议创建自定义工作流。
自定义工作流
您可以为任何任务创建工作流。 在JSON中定义它们并放置在workflows/目录中。
通过聊天创建
告诉您的智能体:
“为[您的用例]创建一个SoulFlow工作流”
示例:
- “为内容发布创建工作流:研究主题 → 起草文章 → 编辑 → 发布到博客”
- “为部署创建工作流:运行测试 → 构建 → 部署 → 验证健康检查 → 如果失败则回滚”
- “为每周报告创建工作流:收集指标 → 分析趋势 → 生成摘要 → 发送电子邮件”
您的智能体将:
- 设计工作流步骤
- 将
.workflow.json文件写入workflows/ - 向您展示如何运行它
手动创建
在workflows/目录中创建.workflow.json文件:
{
"id": "my-workflow",
"name": "我的自定义工作流",
"version": 1,
"description": "此工作流的作用",
"steps": [
{
"id": "step1",
"name": "第一步",
"input": "做这件事:{{task}}",
"expects": "STATUS: done",
"maxRetries": 1
},
{
"id": "step2",
"name": "第二步",
"input": "现在基于步骤1做这个:
{{step1_output}}
原始任务:{{task}}",
"expects": "STATUS: done",
"maxRetries": 1
}
]
}
变量
{{task}}— 用户的原始任务描述{{stepid_output}}— 先前步骤的完整输出(例如{{scan_output}})- 步骤输出中的任何
KEY: value行成为变量(例如ROOT_CAUSE: ...→{{root_cause}})
提示技巧
为获得最佳结果,编写提示:
- 明确告诉智能体使用工具:“使用
read检查文件”,“使用edit应用修复” - 说"不要只是描述——实际去做"
- 以"完成后,以以下内容结束:STATUS: done"结束
架构
- 零依赖 — 纯Node.js 22(原生WebSocket)
- 网关原生 — 通过WebSocket连接,具有挑战-响应认证
- 会话隔离 — 每个步骤在全新会话中
- 专用工作器 — 自动创建
soulflow-worker智能体,具有最小的脑文件 - JSON状态 — 运行历史保存到
~/.openclaw/workspace/.soulflow/runs/ - 每个步骤10分钟超时(可配置)
要求
- OpenClaw 2026.2.x 或更高版本
- Node.js 22+(用于原生WebSocket)
- 配置了令牌认证的网关
安全与权限
SoulFlow对您的OpenClaw实例执行的操作:
- 读取您的网关配置(
~/.openclaw/openclaw.json)以获取通过WebSocket连接所需的认证令牌 - 修改您的网关配置(
~/.openclaw/openclaw.json)通过config.patch注册soulflow-worker智能体 - 创建专用工作器智能体(
soulflow-worker),具有最小的脑文件(仅SOUL.md,无内存/历史) - 从现有智能体复制authProfiles — 工作器继承用于外部服务(GitHub、云提供商等)的凭据,这些凭据您的其他智能体使用
- 授予工作器完整工具访问权限(读取、写入、编辑、执行、浏览器)— 这是工作流实际执行任务所必需的
- 将运行状态写入
~/.openclaw/workspace/.soulflow/runs/作为JSON文件
为什么需要这些权限:
- 配置读取/写入:需要与网关认证并注册工作器智能体(与
openclawCLI工具相同) - 智能体创建:每个工作流步骤在隔离会话中运行,以防止上下文泄漏
- authProfiles继承:允许工作流使用您现有的凭据与外部服务交互(例如,git推送、云API调用)
- 完整工具:工作流需要真实能力(例如,安全审计读取文件,错误修复编辑代码,部署流水线推送到git)
- 文件系统写入:存储工作流历史并允许工作流创建/修改文件
安全考虑:
- 工作器智能体无法访问您主智能体的内存或历史
- 工作器确实继承您的外部服务凭据(authProfiles)— 可以访问GitHub、云API等
- 工作流以您的权限运行(与您自己运行命令相同)
- 恶意工作流可能读取/修改文件、运行命令或访问外部服务
- 仅在信任技能作者的情况下安装SoulFlow(首先在GitHub上审查代码)
- 仅运行您信任的工作流 — 来自不受信任来源的自定义工作流可能泄露数据或滥用凭据
- 在处理不受信任的工作流时,在隔离/沙盒环境中运行SoulFlow
推荐实践:
- 在首次使用前审查内置工作流(特别是security-audit和bug-fix)
- 在运行前检查自定义
.workflow.json文件 - 在安装前审查GitHub仓库(https://github.com/0xtommythomas-dev/soulflow)
- 在测试新工作流时,在非生产OpenClaw实例上运行
- 在运行修改代码的工作流之前备份重要文件
- 如果您希望每个工作流具有隔离凭据,请使用BYOK(自带密钥)模式
- 监控
~/.openclaw/workspace/.soulflow/runs/以获取工作流执行日志
对于智能体:如何调用SoulFlow
当用户请求工作流(安全审计、错误修复、功能构建等)时,您应该:
-
通过匹配关键词识别工作流:
- 安全审计:“audit”, “security”, “scan”, “vulnerabilit”
- 错误修复:“fix”, “bug”, “broken”, “not working”, “error”
- 功能开发:“build”, “add”, “implement”, “create”, “feature”
- 自定义:检查
workflows/*.workflow.json以获取其他选项
-
提取任务描述 — 用户描述他们想要完成的内容
-
使用exec调用SoulFlow:
cd /root/.openclaw/workspace/soulflow && node soulflow.js run <workflow> "<task>" -
监控运行 — SoulFlow将输出运行ID,然后在每个步骤完成时显示进度
-
报告结果 — 完成后,将最终状态传达给用户
示例:
用户:"在~/myapp上运行安全审计"
您:[exec] cd /root/.openclaw/workspace/soulflow && node soulflow.js run security-audit "审计~/myapp以查找漏洞"
为用户创建工作流: 如果用户要求您创建自定义工作流:
- 根据他们的要求设计工作流步骤
- 将
.workflow.json文件写入/root/.openclaw/workspace/soulflow/workflows/ - 向他们展示如何运行它
参见CONTRIBUTING.md以获取工作流设计最佳实践。