taskmeld
v0.2.5
Published
Agent pipeline orchestration platform — CLI, HTTP/WS backend, React console
Maintainers
Readme
[!TIP] 技术栈:
- OpenClaw — Agent 执行运行时(流水线节点)
- TaskMeld — 流水线编排引擎(DAG、调度、产物)
- Wevra — 内置 Agent(通过自然语言操作流水线)
🏗️ 架构概览
┌─────────────────────────────────────────────────────────────┐
│ 用户 / Wevra Agent │
│ (自然语言流水线管理) │
└───────────────────────────┬─────────────────────────────────┘
│
┌───────────────────────────▼─────────────────────────────────┐
│ TaskMeld(本仓库) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 流水线引擎 (DAG · 调度器 · 状态机) │ │
│ │ • 节点依赖图 │ │
│ │ • 并行组和路由分支 │ │
│ │ • 节点级重试和产物追踪 │ │
│ └──────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Wevra Agent (40 工具 · ReAct 循环 · 记忆) │ │
│ │ • 流水线 CRUD 和监控 │ │
│ │ • Agent 生命周期管理 │ │
│ │ • 故障诊断和优化 │ │
│ └──────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ OpenClaw 管理 (自动检测 · 安装 · Gateway 生命周期) │ │
│ │ • 自动检测本地 OpenClaw 安装 │ │
│ │ • 一键自动安装(npm install -g openclaw) │ │
│ │ • Gateway 启动/停止/状态检查 │ │
│ └──────────────────────────────────────────────────────┘ │
└───────────────────────────┬─────────────────────────────────┘
│ Gateway RPC
┌───────────────────────────▼─────────────────────────────────┐
│ OpenClaw Gateway │
│ (Agent 注册 · 会话管理 · 事件中继) │
└───────────────────────────┬─────────────────────────────────┘
│
┌───────────────────────────▼─────────────────────────────────┐
│ OpenClaw Agent 运行时 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 节点 1 │ │ 节点 2 │ │ 节点 3 │ │ 节点 4 │ │
│ │(Agent A) │ │(Agent B) │ │(Agent C) │ │(Agent D) │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ (每个流水线节点绑定一个 OpenClaw Agent) │
└─────────────────────────────────────────────────────────────┘工作原理:
- TaskMeld 将流水线编排为 DAG,包含依赖、路由和重试
- 每个流水线节点绑定一个 OpenClaw Agent 执行实际工作
- Wevra Agent 通过自然语言操作整个技术栈
- OpenClaw 管理模块自动处理本地安装检测、一键安装和 Gateway 生命周期
🚀 为什么选择 TaskMeld?
问题
管理复杂的 Agent 流水线需要持续的手动干预:创建配置、监控运行、诊断故障、迭代设计。这既耗时、容易出错,也无法扩展。
解决方案:三层技术栈
| 层级 | 组件 | 角色 | |------|------|------| | 执行层 | OpenClaw | Agent 运行时 — 每个节点运行一个 OpenClaw Agent | | 编排层 | TaskMeld | 流水线引擎 — DAG、调度、状态管理 | | 智能层 | Wevra | Agent — 通过自然语言操作流水线 |
为什么不用 OpenClaw 直接调用?
OpenClaw 支持 Agent 之间直接通信(需配置 OpenClaw 配置文件),为什么还需要 TaskMeld?
仅使用 OpenClaw:
- 点对点调用 — Agent 直接通信,无编排能力
- 需手动配置 — Agent 互相调度需要编写 OpenClaw 配置文件,不够灵活
- 手动协调 — 每次都需要在代码中定义流程
- 无重试恢复 — 失败后需要从头开始
使用 TaskMeld:
- DAG 编排 — 声明式定义复杂依赖、并行组和路由分支
- 状态持久化 — 记录每次执行;重试失败节点、恢复中断运行
- 产物追踪 — Agent 间数据流转的完整血缘
- 定时执行 — 基于 Cron 或事件驱动的触发器
- Wevra Agent — 通过自然语言管理整个技术栈
简单说: OpenClaw 执行 Agent;TaskMeld 编排它们。
结果: 从你来操作流水线转变为Wevra 操作流水线,你来指挥。
✨ 核心特性
🔧 流水线引擎(核心)
- DAG 编排 — 节点依赖图、并行组、路由分支
- 节点级重试 — 可配置策略的自动重试
- 状态持久化 — 所有状态以 JSON 文件存储,零外部数据库
- 产物追踪 — 流水线输出的完整血缘
- OpenClaw 集成 — 通过 Gateway 无缝执行 Agent
🤖 Wevra Agent
- 40 个内置工具 — 流水线 CRUD、通过 Gateway 管理 Agent、系统监控、记忆、技能
- 自然语言接口 — "列出所有流水线"、"运行数据处理流水线"、"上次运行哪里失败了?"
- 多 LLM 提供商支持 — DeepSeek、OpenAI 和自定义提供商
- ReAct 循环 — 标准的推理 + 行动模式,用于智能任务执行
- 实时流式传输 — 基于 WebSocket 的思考过程和执行结果流式传输
- 权限控制 — 三种模式:Plan(只读)、Normal(确认写入)、Auto(完全访问)
- 跨会话记忆 — 记住偏好、模式和解决方案
🔌 OpenClaw 集成
- Agent 注册 — 通过 Gateway 列出、创建、更新、删除 Agent
- 会话管理 — 发送消息、追踪对话、查看历史
- 事件中继 — 来自 Agent 执行的实时事件
- 委托执行 — 流水线节点将工作委托给 OpenClaw Agent
- 自动检测与安装 —
init命令自动检测本地 OpenClaw,一键安装并生成 Gateway 配置
🖥️ 多接口访问
- Web 控制台 — React 19 仪表盘,含 DAG 可视化、WevraChatPanel 和监控
- CLI 工具 — 用于自动化和脚本的全生命周期管理
- WebSocket API — 19 个方法用于实时控制和可观测性
🎯 使用场景
1. 智能流水线管理
你:创建一个使用 OpenClaw Agent 处理每日销售数据的流水线
Wevra:[创建包含 4 个节点的流水线,每个节点绑定一个 OpenClaw Agent]
流水线创建完成。每个节点将通过 OpenClaw Agent 执行。
要我设置每天早上 9 点自动运行吗?2. Agent 生命周期管理
你:列出所有 OpenClaw Agent 及其状态
Wevra:[通过 Gateway 调用 agent_list]
你有 5 个 Agent:DataCollector、Analyzer、Reporter、Cleaner、Notifier
你:为客户细分创建一个新的 OpenClaw Agent
Wevra:[通过 Gateway 创建 Agent]
Agent "Segmenter" 创建完成,可以分配到流水线了。3. 自主故障恢复
你:昨晚的销售流水线失败了,怎么回事?
Wevra:[分析流水线状态和 OpenClaw Agent 日志]
根本原因:OpenClaw Agent "DataCollector" 在节点 2 超时。
影响:3 个下游节点被跳过。
措施:我已经增加了超时时间并添加了备用 Agent。4. 跨系统编排
你:创建一个链接 3 个 OpenClaw Agent 的流水线:收集 → 分析 → 报告
Wevra:[创建包含依赖关系的 DAG]
流水线配置完成。Agent 执行顺序:
1. DataCollector (OpenClaw) → 产物
2. Analyzer (OpenClaw) → 消耗产物 → 产生分析
3. Reporter (OpenClaw) → 消耗分析 → 生成报告📦 环境要求
| 类别 | 要求 | 说明 |
|------|------|------|
| 必备 | Node ≥ 18 | 运行时环境 |
| 可选 | OpenClaw ≥ 5.20 | Agent 执行运行时 — 可通过 taskmeld init 自动安装,也可手动安装后使用 |
| 平台 | Windows | macOS 和 Linux 尚未完整测试 |
[!IMPORTANT] 流水线执行需要 OpenClaw。TaskMeld 的
init命令可自动检测本地安装或一键安装 OpenClaw 并生成 Gateway 配置。你也可以手动安装 OpenClaw 后使用init连接,或配置远程 Gateway 地址。
🔧 安装
1. 安装 TaskMeld
npm install -g taskmeld2. 初始化(首次设置)
taskmeld initinit 命令将引导你完成以下步骤:
- 选择界面语言(中文 / English)
- 自动检测本地是否已安装 OpenClaw
- 发现本地 OpenClaw → 自动连接已运行的 Gateway
- 未安装 OpenClaw → 提供三种选择:
- 自动安装 — 通过 npm 安装 OpenClaw 并生成配置
- 远程 Gateway — 配置远程 OpenClaw Gateway 地址和 Token
- 手动安装 — 自行安装 OpenClaw 后再次运行
init
- 可选的模型配置(自动安装后)
配置保存至 ~/.taskmeld/config.json。
非交互式模式
# 自动安装 OpenClaw 并配置
taskmeld init --auto-install
# 指定远程 Gateway
taskmeld init --remote ws://your-gateway:18789 --token your-token
# 直接指定地址和 Token(适用于 CI/CD)
taskmeld init --url ws://127.0.0.1:18789 --token your-token🚀 快速开始
标准流程
# 初始化 — 自动检测 OpenClaw、安装(如缺失)、配置 Gateway
taskmeld init
# 启动后端守护进程(自动启动本地 OpenClaw Gateway)
taskmeld server start
# 打开浏览器访问 Web 控制台
# 访问 http://127.0.0.1:54320 使用 Wevra 聊天面板管理流水线无人值守流程(CI/CD 等自动化场景)
# 一步完成安装 + 配置 + 启动
taskmeld init --auto-install && taskmeld server start命令参考
初始化
| 命令 | 说明 |
|------|------|
| taskmeld init | 交互式初始化 — 自动检测/安装 OpenClaw,配置 Gateway |
| taskmeld init --auto-install | 非交互式 — 自动安装 OpenClaw 并配置 |
| taskmeld init --remote <url> --token <token> | 非交互式 — 配置远程 Gateway |
| taskmeld init --url <url> --token <token> | 非交互式 — 直接指定 Gateway 地址和 Token |
| taskmeld init --skip-model-config | 跳过模型配置(自动安装后) |
服务器
| 命令 | 说明 |
|------|------|
| taskmeld server start | 启动后端守护进程(自动启动本地 OpenClaw Gateway) |
| taskmeld server status | 查看服务器运行状态 |
| taskmeld server stop | 停止后端守护进程 |
流水线与管理
| 命令 | 说明 |
|------|------|
| taskmeld pipeline list | 列出可用流水线 |
| taskmeld pipeline start <id> | 启动流水线(执行 OpenClaw Agent) |
| taskmeld pipeline watch <id> | 通过 WebSocket 实时跟踪运行 |
| taskmeld pipeline status <id> | 获取当前流水线状态 |
| taskmeld pipeline stop <id> | 停止运行中的流水线 |
| taskmeld pipeline retry-node <id> <node> | 重试失败的节点 |
| taskmeld agent list | 列出已注册的 OpenClaw Agent |
| taskmeld artifact list | 浏览流水线产物 |
完整命令参考:taskmeld --help 或 CLI 文档。
💬 与 Wevra 对话
启动服务器后,访问 http://127.0.0.1:54320 的 Web 控制台,使用 Wevra 聊天面板:
你:我有哪些 OpenClaw Agent?
Wevra:你有 5 个已注册的 Agent:DataCollector、Analyzer、Reporter、Cleaner、Notifier
你:使用 DataCollector 和 Analyzer 创建一个流水线
Wevra:[创建包含 2 个节点的流水线,绑定这些 OpenClaw Agent]
流水线创建完成。节点 1 使用 DataCollector,节点 2 使用 Analyzer。
你:运行流水线并监控执行
Wevra:流水线已启动。正在监控 OpenClaw Agent 执行...
节点 1 (DataCollector):✅ 完成
节点 2 (Analyzer):✅ 完成
所有 Agent 执行完成。📚 文档
架构
- 后端架构 — 服务器实现,含 Wevra 和 OpenClaw 集成
- Wevra Agent 指南 — 用于流水线管理的 Agent
- 流水线引擎 — DAG 编排、调度、状态机
API
- CLI 参考 — 命令行接口
- WebSocket API — 19 个方法
- 前端架构 — React 仪表盘
指南
🏗️ 目录结构
| 目录 | 说明 |
|------|------|
| src/openclaw/ | OpenClaw 管理 — 自动检测、安装、Gateway 生命周期 |
| src/wevra/ | Wevra Agent — Brain、Loop、Tools、Memory、Skills |
| src/pipeline/ | 流水线引擎(DAG、调度器、执行) |
| src/transport/ | WebSocket 传输层(19 个方法) |
| src/services/ | 服务层(PipelineService、AgentService、SessionService) |
| src/gateway/ | OpenClaw Gateway 集成 |
| src/init/ | 初始化编排器 — 检测、安装、配置流程 |
| web/ | React 前端,含 WevraChatPanel |
🛠️ 开发
npm install # 安装依赖
npm run build # 构建
npm run typecheck # 仅类型检查
npm run lint # 代码检查
npm run format # 格式化代码
npm run format:check # 检查代码格式
npm test # 运行测试
npm run dev # 启动后端开发服务器(tsx 热重载)
npm run dev:cli # 启动 CLI 开发模式
npm run dev:web # 启动前端开发服务器(Vite HMR)| 层面 | 技术 |
|------|------|
| 语言 | TypeScript(strict, CommonJS) |
| 运行时 | Node.js |
| Agent | Wevra(自定义,零依赖) |
| Agent 执行 | OpenClaw |
| 后端 HTTP | Node.js 内置 http |
| WebSocket | ws |
| 前端 | React 19 + Vite 7 |
| CSS | Tailwind CSS 4 |
| 测试 | Vitest |
🌟 路线图
当前
- ✅ DAG 流水线引擎,含 OpenClaw Agent 执行
- ✅ Wevra Agent,40 个工具
- ✅ 通过 OpenClaw Gateway 管理 Agent 生命周期
- ✅ OpenClaw 自动检测、安装与 Gateway 管理
- ✅ CLI、WebSocket API 和 Web 控制台
- ✅ 服务器绑定 localhost 安全加固
即将到来
- 🔶 流水线范围会话
- 🔶 跨流水线访问控制
- 🔶 增强的记忆系统
未来
- 📋 多 Agent 协作模式
- 📋 高级调度(cron、事件驱动)
- 📋 插件生态系统
🤝 参与贡献
我们欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。
需要帮助的领域:
- macOS 和 Linux 测试
- 额外的 LLM 提供商集成
- OpenClaw Agent 工具实现
- 文档改进
📄 许可证
MIT — 详见 LICENSE
