TIP
GitHub 仓库:https://github.com/ruvnet/ruflo 当前版本:v3.6.27 | 6,000+ commits | 300+ MCP tools | 32 插件
项目简介
Ruflo 是一个面向 Claude Code 的多智能体编排层。它做的事情用一句话概括就是:让 Claude Code 从一个「问答助手」变成一个「能协作、能记忆、会自进化」的 AI 团队。
Ruflo 最早叫 Claude Flow,由 RuvNet 开发(创始人有 Rust 背景,取名结合了 Ruv + flow 的意象)。底层用 Rust 写的 WASM 内核负责策略引擎、向量嵌入和证明系统,保证高性能。最新稳定版 [email protected] 已经是一个完整的企业级产品:
- 300+ MCP 工具 直接注入 Claude Code
- 60+ 种专业 Agent 角色(coder、tester、architect、security-architect……)
- 自学习内存:AgentDB + HNSW 向量索引,搜索比暴力法快 150 倍~12,500 倍
- 跨机器联邦协作:Agent Federation,基于 mTLS + ed25519 的零信任安全通信
- 自进化能力:SONA 神经学习模块,从历史轨迹中提取模式、持续优化
- 32 个插件 覆盖安全、成本追踪、浏览器自动化、GitHub 集成等
它的设计哲学很有意思——装完之后你不需要学习 300 个 MCP 工具,Hooks 路由层会自动把任务发给合适的 Agent。你继续写代码,Ruflo 在后台协调一切。
难度/时长/收获
- 难度:★★☆☆☆(安装 5 分钟即可跑起来)
- 时长:约 20 分钟
- 收获:掌握 swarm 拓扑与生命周期管理、理解 HNSW 向量记忆原理、学会让 Agent 之间通过 SendMessage 通信
目标读者画像
- 1-5 年经验开发者
- 想把 AI 从「聊天工具」变成「干活团队」
- 已用或计划用 Claude Code 做开发的个人开发者或小团队
核心依赖与环境
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| Node.js | ≥20.0.0 | 必须,V8 worker threads 依赖 |
| npm / pnpm | ≥9 / ≥8 | 包管理器 |
| Git | 任意稳定版 | 用于验证签名 |
| AI API Key | 至少一个 | Claude / GPT / Gemini / Ollama 等 |
WARNING
Node.js 低于 20.0.0 的用户请先升级,否则 MCP 服务无法正常启动。可以运行 node -v 检查当前版本。
完整项目结构树
ruflo/
├── bin/
│ ├── cli.js # CLI 入口(ruflo 命令)
│ └── mcp-server.js # MCP 服务端
│
├── v3/@claude-flow/ # 核心模块包
│ ├── cli/ # 26 个顶层命令(140+ 子命令)
│ ├── memory/ # AgentDB + HNSW 向量搜索
│ ├── swarm/ # 统一协调器(15-agent hierarchical mesh)
│ ├── security/ # CVE 修复、输入校验、路径安全
│ ├── neural/ # SONA 自学习模块
│ ├── hooks/ # 17 个 Hook + 12 个后台 Worker
│ ├── guidance/ # 治理控制平面(compile/enforce/prove/evolve)
│ └── shared/ # 类型、事件、核心接口
│
├── plugins/ # 32 个官方插件
│ ├── ruflo-core/ # 基础(服务器、健康检查、插件发现)
│ ├── ruflo-swarm/ # 多 Agent 团队协调
│ ├── ruflo-federation/ # 跨机器安全协作
│ ├── ruflo-agentdb/ # 向量数据库记忆
│ ├── ruflo-intelligence/ # 自学习神经模式
│ └── ... # 其余 27 个插件
│
├── .claude/ # Claude Code 配置(MCP 服务器、settings.json)
├── .agents/ # Agent 技能定义($skill-name 语法)
└── mcp/ # MCP 工具定义(agent-tools.ts、memory-tools.ts 等)
手把手实战
步骤 1:一键安装
一行命令搞定初始化,带引导式配置向导:
npx ruflo@latest init --wizard
这个命令会依次做:
- 在当前目录生成
CLAUDE.md,写入 Hooks 路由规则 - 注册 MCP 服务器到 Claude Code 配置
- 在
.claude-flow/下写入默认配置和内存种子文件
如果你是第一次安装,选「full」安装配置文件把所有可选模块都装上。
步骤 2:注册 MCP 服务
如果上一步没有自动注册 MCP,手动补上:
claude mcp add ruflo -- npx -y @claude-flow/cli@latest mcp start
验证是否注册成功:
claude mcp list
# 期望看到类似输出:
# Name Command Args Status
# ruflo npx -y @claude-flow/cli@latest mcp enabled
步骤 3:初始化第一个 Swarm(hierarchical + 5 个 Agent)
npx ruflo swarm init --topology hierarchical --max-agents 8
npx ruflo agent spawn --type architect --name arch-1
npx ruflo agent spawn --type coder --name coder-1
npx ruflo agent spawn --type coder --name coder-2
npx ruflo agent spawn --type tester --name tester-1
npx ruflo agent spawn --type reviewer --name reviewer-1
TIP
topology 有四种选:hierarchical(推荐,反-drift)、mesh(全对等)、hierarchical-mesh(混合)、adaptive(动态切换)。hierarchical 下 Queen Agent 作为 leader,通过 Raft 共识维持权威状态,最适合有明确分工的开发任务。
步骤 4:让 Agent 之间通过 SendMessage 通信
这是 Ruflo 最核心的设计——命名的 Agent 之间通过 SendMessage 实时通信,不需要轮询或共享内存池:
// 在 Claude Code 的 Task tool 中使用:
Task({
prompt: "设计 REST API 方案。完成后 SendMessage 给 'coder-1',把方案发过去。",
subagent_type: "system-architect",
name: "arch-1",
run_in_background: true
})
Task({
prompt: "等待 arch-1 发来的设计。实现了之后 SendMessage 给 'tester-1' 报告代码路径。",
subagent_type: "coder",
name: "coder-1",
run_in_background: true
})
Task({
prompt: "等待 coder-1 发来的代码。写集成测试。完成后 SendMessage 给 'reviewer-1' 报告结果。",
subagent_type: "tester",
name: "tester-1",
run_in_background: true
})
// 启动流水线——发消息给第一个 Agent
SendMessage({
to: "arch-1",
summary: "开始 API 设计",
message: "设计一套用户管理的 CRUD REST API,包含增删改查。设计好后发给 coder-1。"
})
管道流向:arch-1 → coder-1 → tester-1 → reviewer-1,每个 Agent 知道下一步该发给谁。
步骤 5:存入第一条记忆(AgentDB + HNSW)
npx ruflo memory store \
--key "pattern-auth-service" \
--value "JWT 认证:Bearer Token,express-jwt 做中间件,refresh token 存 Redis,6 小时过期" \
--namespace patterns
存进去的内容会自动生成向量嵌入,存入 AgentDB 供后续语义检索。
步骤 6:语义搜索验证记忆
npx ruflo memory search --query "authentication patterns" --namespace patterns
输出会显示匹配条目和相似度分数(0-1,越高越相关)。分数 > 0.7 说明匹配很强,可以直接用。
TIP
HNSW 索引在这里发挥作用——6,000 条记忆的检索在毫秒级完成,比暴力遍历快 150 倍~12,500 倍。
步骤 7:启动后台 Daemon + 运行健康诊断
# 启动后台守护进程(12 个自动 Worker 开始运行)
npx ruflo daemon start
# 一键诊断(检查 Node 版本、API Key、MCP 连接、磁盘空间)
npx ruflo doctor --fix
doctor --fix 会自动修复它能修复的问题(比如缺失的依赖),并在终端输出完整的健康报告。
步骤 8:安装插件(按需)
插件装起来很方便,选你需要的功能:
# 添加插件市场
/plugin marketplace add ruvnet/ruflo
# 安装联邦协作插件(跨机器 Agent 通信)
/plugin install ruflo-federation@ruflo
# 安装自学习插件(SONA 神经模式)
/plugin install ruflo-intelligence@ruflo
# 安装安全审计插件
/plugin install ruflo-security-audit@ruflo
# 安装成本追踪插件
/plugin install ruflo-cost-tracker@ruflo
或者用 CLI:
npx ruflo plugins install ruflo-federation
npx ruflo plugins list # 查看所有可用插件
步骤 9:进阶——调用自进化能力(SONA)
# 让 SONA 从最近的成功案例中提取模式并训练
npx ruflo hooks post-task --task-id "abc-123" --success true --train-neural true
# 查看当前学习的模式
npx ruflo neural patterns
# 让路由层使用智能路由(89% 准确率)
npx ruflo hooks route --task "写一个 API 中间件"
SONA 会在后台运行 4 步管道:RETRIEVE(HNSW)→ JUDGE(成功/失败判决)→ DISTILL(LoRA 蒸馏)→ CONSOLIDATE(EWC++ 防止灾难性遗忘)。
常见问题排查
1. MCP 连接失败:claude mcp list 里 ruflo 显示 disabled
通常是 Node 版本问题或端口被占用:
# 检查 Node 版本
node -v # 必须 ≥20.0.0
# 手动重启 MCP 服务
claude mcp remove ruflo
claude mcp add ruflo -- npx -y @claude-flow/cli@latest mcp start
# 确认端口占用
lsof -i :3000 # macOS
netstat -tlnp | grep 3000 # Linux
2. API Key 未配置,报 ANTHROPIC_API_KEY is not set
Ruflo 需要至少一个 LLM 提供者的 API Key:
# 临时设置(当前 session 有效)
export ANTHROPIC_API_KEY=sk-ant-xxxx
# 永久写入 ~/.bashrc 或 ~/.zshrc
echo 'export ANTHROPIC_API_KEY=sk-ant-xxxx' >> ~/.zshrc
# 或者通过配置文件(init --wizard 会引导你写入 .env)
# 支持 Claude / GPT / Gemini / Ollama 多 provider
npx ruflo providers add anthropic --key sk-ant-xxxx
npx ruflo providers test anthropic # 测试连接
3. Node 版本不达标:ruflo: requires Node.js >=20.0.0
# 方法一:使用 nvm 升级
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
nvm install 20
nvm use 20
# 方法二:Windows 上用 nvm-windows
# 下载安装包:https://github.com/coreybutler/nvm-windows/releases
nvm install 20
nvm use 20
# 验证
node -v # 应该显示 v20.x.x
4. memory search 查不到结果
可能是命名空间写错了,或者记忆还没存进去:
# 查看当前所有命名空间
npx ruflo memory list --namespace
# 列出 patterns 里的所有 key
npx ruflo memory list --namespace patterns
# 直接 retrieve 已知 key
npx ruflo memory retrieve --key "pattern-auth-service"
# 如果是空库,先存一条试试
npx ruflo memory store --key "test-entry" --value "hello world" --namespace patterns
npx ruflo memory search --query "test" --namespace patterns
5. swarm 启动后所有 Agent 都是 idle
这说明任务还没有发下去。检查几点:
# 查看所有 Agent 状态
npx ruflo agent list
# 检查 swarm 是否初始化了
npx ruflo swarm status
# 如果你是用 Claude Code Task tool 启动的,确认发了启动消息:
# SendMessage({ to: "arch-1", message: "开始干活" })
# 没有 SendMessage,第一步 Agent 不会自动启动
6. ruflo doctor 报 MongoDB not running
Docker Compose 方式启动时(ruflo/src/ruvocal/)需要 MongoDB:
# 方式一:用 Docker 启动完整依赖
cd ruflo/src/ruvocal
docker compose up -d
# 方式二:用ruflo 内置的单机模式(不需要 MongoDB)
npx ruflo start --mode standalone
# standalone 模式用 sql.js (WASM) 替代 MongoDB,完全离线可用
扩展阅读 / 进阶方向
1. Agent Federation——跨机器零信任协作
最酷的功能之一。让不同机器上的 Agent 协作,PII 会被自动过滤后才发出:
npx ruflo federation init
npx ruflo federation join wss://other-team.example.com:8443
npx ruflo federation send --to team-b --type task-request --message "分析交易模式"
架构细节:每个出站消息经过 14 类型 PII 检测 → BLOCK / REDACT / HASH / PASS 四级策略 → mTLS + ed25519 签名验证对方身份。恶意行为自动触发信任降级,不需要人工介入。
2. RuVector HNSW 向量搜索原理
不是简单的关键词匹配,是把文本编码成 384 维向量,在向量空间中用 HNSW(Hierarchical Navigable Small World)算法找最近邻。每次 memory store 会自动生成嵌入,每次 memory search 用余弦相似度排序结果。
3. 32 插件生态速查
| 插件 | 用途 |
|---|---|
ruflo-federation | 跨机器 Agent 安全协作 |
ruflo-agentdb | 持久化向量记忆 |
ruflo-intelligence | SONA 自学习 |
ruflo-security-audit | CVE 扫描 |
ruflo-aidefence | 阻止 prompt injection |
ruflo-cost-tracker | 追踪 token 消耗、设置预算 |
ruflo-ruvllm | 连接本地 Ollama 模型 |
ruflo-goals | 目标分解与进度追踪 |
ruflo-browser | Playwright 浏览器自动化 |
ruflo-docs | 自动生成文档 |
4. 在线体验(无需安装)
- 多模型聊天 UI:https://flo.ruv.io/ — 支持 Qwen 3.6 Max / Claude Sonnet / Gemini 2.5 Pro,在线并行调用 MCP 工具
- 目标规划 UI:https://goal.ruv.io/ — 把你说的「把 Auth 重构跑起来并写测试」拆成 GOAP A* 路径
- Live Agent 仪表盘:https://goal.ruv.io/agents — 实时查看每个 Agent 的状态、内存命名空间、token 预算
5. 官方文档索引
| 文档 | 适用场景 |
|---|---|
| STATUS.md | 当前能力清单 + 测试状态 |
| USERGUIDE.md | 完整命令参考(287KB,详尽到每个 flag) |
| verification.md | 密码学验证(Ed25519 签名) |
| ADR-096 | 磁盘加密(AES-256-GCM) |
6. Discord 社区
遇到问题或者想分享你做的 Skills?RuvNet 在 Agentics Foundation Discord 维护了一个活跃社区:
里面有大量用户自制的 $skill-name 技能,可以直接拿过来用。