项目快照:ruvnet/ruflo,约 68,091 个 Star,8,161 个 Fork;最新推送时间 2026-08-17T09:20:39Z。本文基于仓库公开资料撰写。
项目地址:https://github.com/ruvnet/ruflo · https://Cognitum.One

项目速览(TL;DR)
ruflo 是一个用 TypeScript 编写的智能代理元框架(agent meta-harness),定位在 Claude Code、Codex 等代理运行环境与任务执行基础设施之间。它通过命令行界面(CLI)、模型上下文协议(MCP)、钩子(hooks)、代理编排、记忆、工作流和安全组件,为多个代理提供协作与持续执行能力。
根据给定 GitHub 元信息,仓库默认分支为 main,采用 MIT 许可证,项目语言为 TypeScript,记录的 Star 数为 68091,Fork 数为 8161。README 将项目描述为面向多玩家代理集群、自主工作流和对话式人工智能系统的基础设施;这些规模数据和功能描述均属于资料快照,实际状态应以仓库当前内容为准。
- 仓库:ruvnet/ruflo。
- 包信息:README 展示了
npx ruflo的安装入口;根目录package.json的包名仍为claude-flow,版本为3.38.12。 - 运行要求:根目录
package.json声明 Node.js>=20.0.0。 - 工作方式:用户任务进入 Ruflo CLI 或 MCP,经过路由器分发到代理集群,再结合记忆和模型提供商执行;学习循环将执行结果反馈到系统。
定位与目标用户
Ruflo 解决的不是单次文本生成,而是代理如何获得工具、记忆、循环控制、沙箱和协作机制。README 使用“Agent = Model + Harness”的定义,强调模型负责生成内容,而 harness 负责把模型组织成可持续工作的执行层。
它面向需要在本地开发环境中组织多个智能代理、复用任务流程、保存跨会话记忆或连接不同机器代理的团队。若需求只是调用一次模型接口、生成一段文本,资料没有显示 Ruflo 是必要组件;根据本文作者的经验判断,这类场景应优先评估更小的调用层或单代理工具,以降低部署和运维复杂度。
目标问题
- 把一个复杂任务拆分给不同专业代理,并在集群中协调执行。
- 让任务结果通过自学习记忆机制跨会话保留,而不是每次重新提供全部上下文。
- 通过 MCP 暴露工具能力,使 Claude Code 等宿主能够调用 Ruflo 的编排和记忆功能。
- 通过工作流和后台循环,将多步骤任务从一次性对话转化为可重复执行的流程。
- 在联邦通信场景中,让不同机器上的代理进行协作,并配合项目提供的安全组件。
核心功能
Ruflo 的核心价值在于把“代理调用”扩展为“代理系统运行”。资料中出现的能力并非互相独立的功能清单,而是围绕任务路由、代理执行、记忆反馈和外部模型连接形成闭环。
代理集群与任务协调
README 将代理集群(swarm)描述为多个代理组成的协作单元,用户任务由 Ruflo 入口送入路由器,再由路由器分派给代理。输入是用户任务和可用代理能力,输出是代理执行结果及其协作状态;具体路由规则、调度算法和接口签名,官方仓库资料未完整提供,建议以最新 README 和对应插件文档为准。
README 的快速开始表格列出 CLI 安装路径包含 98 个代理、60 多个命令、30 个技能、MCP 服务器、钩子和守护进程;项目顶部说明还写有“100+ specialized agents”。由于这两处表述的统计口径不同,不能将其合并为单一精确规模。更稳妥的理解是:CLI 路径提供一组规模较大的内置代理与命令体系,具体数量随仓库版本变化。
自主循环与工作流
自主运行依赖代理循环(autonomous loop)或工作流模块。README 插件表中,ruflo-autopilot 用于让代理在循环中自主运行,ruflo-loop-workers 用于按定时器安排后台任务,ruflo-workflows 用于定义可复用的多步骤任务模板。
这类能力的输入通常是任务目标、步骤定义或调度条件,执行过程由代理调用工具并产生中间结果,最终输出任务结果或状态记录。资料没有给出定时器字段、工作流文件格式、重试策略或任务持久化接口,因此不应在生产系统中依据本文自行推断配置格式。
自学习记忆与检索增强生成
项目描述包含自适应记忆、自学习智能和检索增强生成(RAG,Retrieval-Augmented Generation)集成。README 的架构图把 Memory 放在代理与大型语言模型提供商之间,说明记忆既可以为模型提供上下文,也可以接收学习循环产生的反馈。
从插件划分看,ruflo-rag-memory 属于记忆相关扩展;根目录依赖还包含 @claude-flow/neural,可选依赖中出现 agentdb、@ruvector/core、@ruvector/attention 和 @ruvector/sona。资料没有给出嵌入模型、向量维度、相似度算法、数据保留周期或删除接口,因此只能确认组件集成方向,不能据此推导具体检索质量和容量。
联邦通信与多机协作
ruflo-federation 插件用于让不同机器上的代理进行安全协作。README 特别提到联邦通信可在不泄露数据的前提下,让其他机器上的代理参与协作;这属于项目设计目标描述,不等于对所有部署环境的绝对安全保证。
根目录工作区包含 v3/@claude-flow/plugin-agent-federation,依赖中也列出同名联邦插件。其具体身份认证、密钥交换、网络拓扑、消息格式和故障恢复方式,给定资料未提供;跨机器启用前应审阅插件文档、源代码和实际网络策略。
插件化与宿主集成
README 将 Claude Code 插件路径与 CLI 安装路径明确区分。插件路径主要提供斜杠命令、少量技能和代理定义;CLI 路径则额外安装完整 Ruflo 循环、MCP 服务器、钩子、守护进程和工作区文件。
ruflo-core 插件会注册自身的 MCP 服务器,其工具名称采用 mcp__plugin_ruflo-core_ruflo__* 形式,而不是 CLI 路径脚手架使用的裸名称。README 以 mcp__plugin_ruflo-core_ruflo__memory_store 作为示例,并指出其他插件通常不自带 MCP 服务器。
系统架构与关键模块
Ruflo 的架构可以概括为“宿主入口—路由—代理集群—记忆—模型提供商—学习反馈”。这种结构将模型推理与执行控制分离,便于把工具调用、协作状态和安全策略放在模型之外管理。
User
│
▼
Ruflo(CLI / MCP)
│
▼
Router
│
▼
Swarm
│
▼
Agents ───────► Memory
│ │
└───────────────► Learning Loop
│
▼
LLM Providers入口层
CLI 是面向终端用户的初始化和运行入口,MCP 则为兼容的宿主提供工具调用接口。README 提供 npx ruflo init 作为初始化命令;package.json 的依赖中包含 @claude-flow/mcp,说明 MCP 是仓库实现的一部分。
编排层
路由器负责把任务送往合适的代理或代理集群,集群负责协调多个执行单元。资料没有提供路由器的配置优先级、代理选择规则和一致性协议参数;package.json 描述中出现“fault-tolerant consensus”,但没有给出可验证的算法细节,不能将其解释为特定共识协议。
执行与状态层
代理执行任务时需要工具、记忆、循环和控制机制。根目录依赖包括 express、ws、zod、yaml、toml、helmet 和 express-rate-limit,可见项目同时包含服务端通信、配置解析、数据校验和 HTTP 防护相关组件;仅凭依赖清单无法确认每个依赖在所有安装路径中都会启用。
依赖与运行环境
运行环境的硬性信息来自根目录 package.json:项目使用 ECMAScript 模块,Node.js 引擎要求为 >=20.0.0。仓库语言元信息为 TypeScript,开发依赖包含 TypeScript、tsx、Vitest 和 ESLint。
| 项目 | 资料中的值 | 含义 |
|---|---|---|
| 语言 | TypeScript | GitHub 仓库元信息中的主要语言。 |
| Node.js | >=20.0.0 |
package.json 的 engines 声明。 |
| 模块类型 | module |
package.json 的 type 字段。 |
| 构建命令 | npm run build |
执行根目录 TypeScript 构建脚本。 |
| 测试命令 | npm test |
执行 package.json 中定义的 Vitest 测试脚本。 |
| 安全测试 | npm run security:test |
运行 v3/__tests__/security/ 下的安全测试。 |
根目录依赖中还出现 @claude-flow/codex、@claude-flow/security、@claude-flow/shared、@claude-flow/cli-core 和 @claude-flow/neural。可选依赖包括原生模块和向量相关组件,例如 better-sqlite3、@napi-rs/keyring、@ruvector/router 与 agentdb;是否实际安装和启用取决于包管理器、平台和使用路径。
快速开始
README 提供两条安装路径:Claude Code 插件路径适合只试用斜杠命令和代理定义,CLI 路径适合需要完整循环、MCP、钩子和守护进程的场景。以下示例限定在本地测试工作区,不包含远程目标操作和敏感数据。
最小闭环:安装、运行、验证
- 在专用本地测试目录中初始化 Ruflo。
- 根据 README 的 CLI 路径执行初始化命令,使工作区获得对应的配置、钩子和 MCP 注册。
- 通过检查 README 明确列出的工作区路径,确认初始化结果。
mkdir ruflo-local-test
cd ruflo-local-test
# 安装并初始化完整 CLI 路径
npx ruflo init
# 验证初始化生成的工作区入口
test -d .claude
test -d .claude-flow
test -f CLAUDE.md
printf 'Ruflo workspace initialized\n'上述命令中的目录检查只验证 README 已明确提到的初始化产物:.claude/、.claude-flow/ 和 CLAUDE.md。README 没有给出单独的“健康检查”或“版本验证”命令,因此不能擅自补充不存在的 Ruflo 子命令。
插件路径示例
若只需要 Claude Code 插件,可以在 Claude Code 会话中添加市场并安装核心插件。该路径不会把完整 CLI 安装产生的工作区文件全部写入当前工作区,且其他插件通常不提供自己的 MCP 服务器。
# 在 Claude Code 会话中执行
/plugin marketplace add ruvnet/ruflo
/plugin install ruflo-core@ruflo
/plugin install ruflo-swarm@ruflo
/plugin install ruflo-rag-memory@ruflo插件路径中的命令属于宿主 Claude Code 的斜杠命令,不是普通 Bash 命令。若需要 README 所说的 CLI-track 工具名称、钩子、守护进程和完整 MCP 集成,应改用 npx ruflo init 路径。
配置说明
给定资料没有提供 .env.example、完整配置文件样例、端口或模型提供商字段,因此无法列出一套可直接复制的生产配置。下表只整理 package.json 中真实出现的项目级字段,默认值按原文件记录;缺少的配置细节明确标记为未提供。
| 字段名 | 类型 | 默认值 | 作用 |
|---|---|---|---|
name |
字符串 | claude-flow |
根 package.json 声明的包名。 |
version |
字符串 | 3.38.12 |
根 package.json 声明的包版本。 |
type |
字符串 | module |
指定 Node.js 模块类型。 |
main |
字符串 | dist/index.js |
包的主入口路径。 |
bin.claude-flow |
字符串 | bin/cli.js |
package.json 声明的命令行入口。 |
engines.node |
字符串 | >=20.0.0 |
声明支持的 Node.js 版本下限。 |
publishConfig.access |
字符串 | public |
npm 发布配置中的访问级别。 |
README 的初始化路径会在工作区生成 .claude/、.claude-flow/、CLAUDE.md、辅助文件、设置、MCP 注册和钩子。资料没有说明这些文件中的每个键名、默认值或覆盖优先级,配置变更应先在隔离目录中验证。
进阶用法
进阶使用的重点是按需求选择安装面,而不是同时启用所有插件。插件列表将核心编排、自主运行、后台任务、工作流、联邦、记忆和其他领域拆分,便于按任务边界安装。
按职责组合插件
ruflo-core:提供基础服务器、健康检查和插件发现。ruflo-swarm:协调多个代理组成团队。ruflo-autopilot:让代理在循环中自主运行。ruflo-loop-workers:按定时器安排后台任务。ruflo-workflows:组织可复用的多步骤任务模板。ruflo-federation:支持不同机器上的代理进行协作。
例如,需要单机任务拆分时可以优先使用核心、集群和工作流能力;只有在确实存在跨机器协作需求时,才应引入联邦插件。这个选择建议基于 README 的职责划分,联邦通信的具体网络要求仍需查看对应插件文档。
与 Codex 的集成边界
README 将 Ruflo 定义为 Claude Code 和 Codex 的执行层,并展示 Codex 插件入口;package.json 依赖中包含 @claude-flow/codex,开发依赖中还包含 @openai/codex。资料未提供 Codex 插件的完整安装命令、工具清单或认证变量,不能据此编写额外的 Codex 配置。
可观测性与运维
给定资料能够确认项目具有基础健康检查、后台任务、守护进程和安全测试脚本,但没有提供日志格式、指标名称、追踪后端、告警规则或服务端口。运维设计应把“仓库声明的能力”和“部署方自行建设的监控”分开处理。
可验证的仓库级操作
# 在已获取仓库源码的本地测试环境执行
npm run build
npm test
npm run security:test
npm run security:audit这些脚本来自根目录 package.json。npm run build:ts 和 npm run lint 的脚本定义带有 || true,这意味着脚本本身可能在子命令失败后仍返回成功状态,流水线不能仅依据该脚本的最终退出码判断所有检查均已通过。
运维信息的缺口
- 官方仓库未提供端口、监听地址和反向代理配置。
- 官方仓库未提供日志级别、日志字段和日志脱敏规则。
- 官方仓库未提供并发上限、吞吐量、延迟或服务等级协议。
- 官方仓库未提供记忆数据库备份、恢复和迁移流程。
- 官方仓库未提供联邦节点的健康探测和故障切换参数。
安全与合规边界
Ruflo 涉及代理自主执行、跨机器通信、记忆保存和模型工具调用,安全边界应先于功能扩展确定。以下内容仅适用于拥有明确授权的本地、测试或企业内部环境,不提供针对未授权目标的攻击、绕过检测或账号自动化方法。
资料中可核查的安全组件
package.json 依赖包含 @claude-flow/security、@noble/ed25519、bcryptjs、helmet、express-rate-limit 和 zod;项目还定义了 test:security 与 security:audit 脚本。依赖名称只能说明代码包含相关组件,不能证明部署已经满足特定监管、认证或安全等级。
授权、隐私和隔离要求
- 只在拥有授权的代码仓库、主机、模型账户和网络环境中运行代理。
- 不要把生产凭据、个人敏感信息或未脱敏业务数据直接写入跨会话记忆或联邦消息。
- 为代理任务设置独立工作区和最小权限,区分测试凭据与生产凭据。
- 跨机器联邦部署前,应明确节点身份、通信范围、数据流向、审计责任和撤销机制。
- 在引入自主循环前,先验证停止条件、人工审批点和失败后的副作用控制。
项目 README 提到企业安全防护和不泄露数据的联邦协作,但没有提供合规认证、数据处理协议、审计报告或 SLA。涉及隐私、金融、医疗、政府数据时,应由使用方完成法律、隐私和安全评估,不能仅以 MIT 许可证或依赖安全组件替代合规审查。
许可证与商用条款
仓库 LICENSE 文件明确采用 MIT License,版权声明为 Copyright (c) 2024-2026 ruvnet。MIT 文本授予获得软件者使用、复制、修改、合并、发布、分发、再许可和销售软件副本的权限,但必须遵守许可证中列出的条件。
- 可以将软件用于商业用途,前提是遵守仓库 LICENSE 的完整条款。
- 分发软件或其重要部分时,应保留版权声明和许可证声明。
- 软件按“现状”提供,不提供明示或默示担保。
- 许可证包含责任限制条款,具体权利义务以仓库 LICENSE 为准。
MIT 许可证并不自动覆盖第三方模型、插件、可选依赖、外部服务或用户数据的独立条款。package.json 还声明了公开发布配置和 funding 信息,但这些字段不构成商业支持承诺、服务等级协议或数据处理承诺。
局限性与已知限制
当前资料足以说明项目的架构方向和安装路径,但不足以支持完整的生产部署手册。以下限制来自资料缺口或仓库中存在的明确差异,不能用推断补齐。
- README 同时出现“100+ specialized agents”和 CLI 路径的“98 agents”,统计口径未说明。
- 项目介绍、根包名、仓库 URL 和 README 中的历史链接仍出现 Claude Flow 名称,品牌迁移关系在资料中有说明,但包命名并未完全一致。
- README 没有给出完整的环境变量清单、模型提供商配置、端口和部署拓扑。
- 没有给出性能基准、并发指标、成本模型、记忆容量或任务成功率。
- 没有给出所有 35 个插件的完整功能定义;给定 README 片段只展示了部分插件表。
- 联邦通信的加密、认证、密钥轮换和数据隔离细节未在给定资料中展开。
- 可选原生依赖可能带来平台安装差异,但资料没有提供各操作系统的兼容矩阵。
因此,生产决策前应锁定具体提交或发布版本,审阅当前 README、插件文档、测试结果和依赖锁定文件。官方仓库未提供上述缺失信息,建议以最新 README 为准。
适合谁
Ruflo 更适合已经有明确代理编排需求,并且愿意维护 Node.js、插件、MCP 和记忆基础设施的团队。下面的判断信号可用于初步筛选,而不是替代实际验证。
- 团队需要把一个任务拆成多个专业角色,并希望由代理集群协调,而不是只维护一个对话代理。
- 项目需要跨会话保存任务经验、检索历史信息或接入 RAG 记忆能力。
- 团队已经采用 Claude Code 或 Codex,并希望通过 CLI、插件或 MCP 扩展其执行能力。
- 任务包含可重复的多步骤流程,需要工作流模板、后台循环或自主执行机制。
- 确实存在多机器代理协作需求,并能承担节点权限、网络隔离和审计责任。
不适合谁
如果任务不需要多代理协同或持久化记忆,Ruflo 的组件数量和运行面可能超过实际需求。以下信号表明应谨慎引入,或先选择仓库 README 中更轻量的插件路径。
- 团队只需要一次性模型调用、简单问答或单文件代码生成。
- 运行环境无法满足 Node.js
>=20.0.0,且没有升级或隔离运行环境的计划。 - 组织不允许代理写入工作区、保存跨会话记忆或访问外部模型提供商。
- 项目需要明确的端口、SLA、审计报告、合规认证或厂商支持,而资料中没有这些承诺。
- 团队无法维护 MCP、钩子、守护进程、可选原生依赖或跨机器联邦节点。
常见问题与排查(FAQ / Troubleshooting)
排查优先级应从安装路径、Node.js 版本和宿主集成方式开始。CLI 路径与插件路径的功能边界不同,很多“工具不存在”问题首先是路径选择不一致,而不是任务本身失败。
为什么安装后没有完整 MCP 工具和钩子
README 明确区分两条路径。Claude Code 插件路径主要增加斜杠命令和代理定义;完整 MCP 服务器、钩子、守护进程和 CLI-track 工具名称属于 npx ruflo init 路径。
为什么找不到 memory_store 或 swarm_init
在 ruflo-core 插件路径中,README 给出的工具名称带有 mcp__plugin_ruflo-core_ruflo__ 前缀,例如 mcp__plugin_ruflo-core_ruflo__memory_store。裸工具名称属于 CLI-track 脚手架语境,不能把两种名称直接混用。
初始化后应该检查哪些文件
README 列出了 .claude/、.claude-flow/、CLAUDE.md、辅助文件、设置、MCP 服务器和钩子。若这些内容没有出现,应先确认是在目标工作区执行了 npx ruflo init,并检查 Node.js 是否满足 package.json 的引擎要求。
是否存在固定端口或模型 API 配置
给定资料没有提供固定端口、环境变量、API 参数名或模型提供商配置样例。官方仓库未提供该信息,建议以最新 README、当前插件文档和实际生成的配置文件为准,不要根据其他项目的变量名进行猜测。
构建、测试和安全审计如何执行
根目录 package.json 定义了 npm run build、npm test、npm run security:test 和 npm run security:audit。这些命令应在本地源码环境执行;审计结果受依赖解析、锁定文件和网络环境影响,资料没有给出固定结果。
根包名为什么是 claude-flow
README 说明 Claude Flow 已更名为 Ruflo,但根目录 package.json 的 name、bin、homepage 和 repository 字段仍包含 claude-flow。这里应以实际发布包、当前 README 和目标版本的 package.json 共同确认,不应仅凭名称判断功能或兼容性。
项目地址与资源
以下链接均出现在仓库资料、README 或给定项目元信息中。安装和使用前,应优先查看仓库当前默认分支以及与所用版本对应的文档。



