Flock 多智能体工作台
在桌面端可视化编排、运行并监督多智能体自动化流程。
README 声明文件写入、Bash 和配置修改等关键操作需要批准,并描述容器隔离、VNC 检查、SQLite 历史以及加密工具;Cargo 也包含 AES-256-GCM 所用的 ring,并针对已列明的 RUSTSEC 公告固定 rustls-webpki。这些证据支持部分确认、敏感数据和依赖安全措施。扣分在于代理同时具有完整文件系统、Shell、浏览器、MCP 和无人值守定时任务能力,未给出权限范围、网络/API 密钥流向、密钥存储生命周期、各操作批准策略或恢复流程。工作流版本历史并不等同于外部副作用回滚。README 对 langgraph-rust 有归属说明,但仓库对象为 Onelevenvy/flock,Cargo repository 却指向 iOfficeAI/flock,且发布者身份未知,因此来源归属不够一致。
Rust、Node、Tauri、React 和 langgraph 的总体叙述与 Cargo 工作区及发布工作流部分相互吻合,依赖声明和跨平台构建矩阵也较具体。扣分在于 README 要求 Rust 1.77.2 或更高,而 workspace 使用 edition 2024,工具链兼容要求可能不一致;README 使用 npm,发布流程使用 pnpm 且允许非冻结锁文件。所给材料没有用户可见错误、拒绝、超时、恢复或诊断消息的证据,因此 failure_messages 为 0。
README 清楚面向需要桌面多代理编排、可视化工作流、浏览器自动化、人工介入和定时任务的用户,并列出多种模型提供商、MCP、技能扩展和三大桌面平台,普通场景与环境适配有一定覆盖。扣分在于未说明不适用场景、支持边界、资源要求、容器/VNC 前提或各平台差异;批准触发只以“关键操作”等概括描述,而定时任务又可无人值守,未精确定义何时暂停、继承工具或绕过交互。
README 的快速导航、功能分区、架构图和 crate 职责表结构清楚,安装步骤和测试命令足以作为基础开发入口。Apache-2.0 同时出现在元数据、Cargo、README 和完整 LICENSE 中,故许可满分。版本 0.2.0 及基于标签同步多个清单和 Release Drafter 的流程提供了较好的版本机制。扣分在于没有 FAQ、端到端示例、故障排查或已知限制;README 的 npm 与发布流程的 pnpm 不一致,仓库所有者路径也不一致。只有个人实现说明和仓库地址,未明确维护者、支持渠道或安全更新责任。
可视化编辑器、执行历史、流式执行、人工节点和 VNC 接管若按描述实现,可使代理输出更易检查,并相较普通聊天客户端提供有意义的工作流编排价值。扣分在于材料主要是功能宣称和截图引用,未提供具体产出样例、质量指标或静态实现片段来证明输出可直接使用;“性能、可靠性和体验显著改善”等主张没有证据。虽称免费开源和零配置,但仍需要 API 密钥,并可能涉及模型、容器、浏览器及持续定时执行成本,未进行成本或资源权衡。
架构、crate 名称、版本、依赖和发布平台等若干声明可由 Cargo 与 GitHub Actions 文件交叉印证,许可证也得到多源一致支持,因此具备有限的跨文件核验性。扣分在于大多数安全、功能、节点数量、审批行为和性能声明只存在于 README,没有对应代码、配置或测试证据;营销性结论未与可观察事实明确分开。仓库 URL、包管理器和最低工具链信息的不一致进一步降低可追溯性。
- 在授予真实文件、Shell、浏览器或 MCP 权限前,应核实批准机制是否覆盖所有高影响操作,以及无人值守定时任务是否能够绕过批准。
- 确认 API 密钥的加密密钥来源、静态存储位置、日志脱敏、导出和删除策略;现有材料仅能证明存在加密相关声明和依赖。
- 核对实际最低 Rust 版本及应使用 npm 还是 pnpm,并采用锁定依赖的安装方式。
- 确认 Onelevenvy 与 iOfficeAI 仓库路径之间的关系、当前维护者和安全更新渠道。
- 容器隔离、VNC、Playwright 和跨平台支持均未经本次静态评估执行验证。
这个 Agent 能做什么,适合哪些场景?
Flock 是采用 Rust、Tauri 和 React 构建的桌面多智能体执行平台,核心图执行能力来自 langgraph-rust。用户通过 ReactFlow 编辑器连接智能体、模型、条件、代码、人工介入、插件和参数提取等节点,并查看流式执行过程与历史记录。后端由 flock-agent、flock-workflow、flock-tools、flock-skills 和 flock-core 等 Rust crate 组成,使用 SQLite 保存检查点,并通过 Tauri IPC 与界面通信。智能体可以操作文件、执行 Bash、调用 MCP 工具、控制 Playwright 浏览器,也能在隔离环境中运行代码并通过 VNC 展示桌面。它以本地桌面应用为交付边界,可连接 OpenAI、Gemini、Anthropic Claude、AWS Bedrock 或 Ollama/本地模型,适合希望自行掌控执行过程与模型选择的团队。
用户先在 ReactFlow 画布中创建工作流,使用 start 接收输入,再由 llm、agent、classifier、ifelse、code、human、plugin、parameter_extractor 和 answer 等节点完成推理、路由、变换、人工确认与结果交付。flock-workflow 将工作流 JSON 编译为 LangGraph AST,flock-agent 通过 langgraph-rust 状态机执行节点,并用 SQLite Checkpointer 保存状态。执行期间,flock-tools 可读取和写入文件、运行 Bash、执行 grep/glob、调用已连接的 MCP Server,也可通过隔离容器使用 Playwright、xdotool、X11 和 VNC 操作浏览器或虚拟桌面。涉及写文件、运行脚本或修改配置等关键操作时,界面提供审批提示;human 节点还能在流程中暂停并收集人工输入。最终结果由 answer 节点交付,界面同时保留工作流版本、执行路径和历史状态;任务也可用标准 cron 语法定时运行。
- 需要把模型推理、条件分支、代码转换和人工审批串成固定流程的自动化团队,可在可视化画布中构建并调试流水线。
- 希望让智能体整理本地文件或执行维护脚本、但要求高风险动作先经人工批准的个人开发者或运维人员。
- 需要周期性汇总文件、生成报告或执行系统维护的团队,可通过原生 Cron 调度器运行无人值守任务。
- 需要抓取网页、填写表单或操作虚拟桌面的研究与运营人员,可在隔离环境中结合 Playwright、xdotool 和 VNC,并在验证码等环节人工接管。
- 拥有多个专业智能体的团队,可让 Flock 自动识别并编排团队网络,同时查看各步骤的执行状态。
- 已经部署第三方 MCP Server 的用户,可一次连接服务器,让多个助手和工作流继承其工具与 schema。
这个 Agent 有哪些优点和局限?
- 同时提供多智能体执行和 ReactFlow 可视化编排,内置 10 类节点,并支持流式执行、版本管理和历史路径调试。
- 关键文件、Bash 和配置操作带交互式审批,human 节点与 VNC 接管又为长流程提供了两种人工介入方式。
- 可在隔离环境中组合 Playwright、xdotool、X11 与 VNC,既支持网页自动化,也能让用户观察和接管图形界面。
- 明确支持 OpenAI、Gemini、Anthropic Claude、AWS Bedrock 与 Ollama/本地模型,模型选择不依赖单一提供商。
- MCP 工具可被助手和工作流共享,并且内置标准 Cron 调度,覆盖交互式任务与定时无人值守任务。
- 从源码启动需要同时维护 Rust 1.77.2+、Node.js 18.x+、npm、Tauri 前端和多个 Rust crate,部署复杂度高于普通聊天客户端。
- 除 Ollama/本地模型外,云模型路径需要用户自行提供 API Key,并依赖相应服务的网络可用性与计费规则。
- 任意 JS/Python、Bash、文件写入、浏览器和桌面控制具有较高权限;即使有审批与隔离环境,采用者仍需设计权限和容器安全策略。
- 文档未说明预编译包、支持的具体桌面操作系统版本、生产打包流程,也未给出完整 UI 配置教程。
- 项目已从 Python、LangGraph、LangChain 和 FastAPI 后端完全重写为 Rust/Tauri;依赖旧版行为或扩展的用户需要评估迁移成本,旧代码仅保留在 legacy/python 分支。
如何安装或部署这个 Agent?
先安装 Rust 1.77.2 或更高版本、Node.js 18.x 或更高版本以及 npm。执行:
git clone https://github.com/Onelevenvy/flock.git
cd flock/flock-ui
npm install
npm run tauri dev如需验证 Rust 后端,可从仓库根目录执行 cargo test --workspace。首次使用还需准备 OpenAI、Gemini、Anthropic Claude 或 AWS Bedrock 的 API Key;也可以选择 Ollama/本地模型。源码未给出预编译安装包命令、各操作系统的额外依赖或生产构建与发布步骤。
如何使用这个 Agent?
运行 npm run tauri dev 启动桌面应用后,在应用中粘贴受支持提供商的 API Key,或配置 Ollama/本地模型。随后可直接使用内置智能体,或在 ReactFlow 编辑器中以 start 节点开始,连接 llm、agent、条件、代码、human、plugin 等节点,并以 answer 节点定义最终交付。执行工作流时查看流式状态;遇到写文件、Bash 或配置变更提示时检查计划并批准或拒绝。浏览器或桌面自动化可在隔离环境中运行,并通过 VNC 接管鼠标和键盘。需要外部工具时连接 MCP Server;需要周期运行时使用标准 cron 表达式创建计划任务。源码没有给出这些界面的逐项点击路径或完整示例工作流。
这个 Agent 与同类方案有什么区别?
与 README 所指的传统聊天客户端相比,Flock 不只提供对话,还支持 ReactFlow 可视化工作流、文件和 Shell 操作、多步 LangGraph 自主执行、Cron 定时任务以及多智能体协作。代价是它需要本地开发运行环境、模型凭据,并要求用户管理更广泛的执行权限与沙箱边界。