A desktop multi-agent harness built with Rust, Tauri, and React, powered by langgraph-rust.
Visual Workflow | Multi-Agent Harness | Built-in Agent | Safe Sandbox & VNC | Cross-Platform | Any API Key
English | 简体中文
Note: This project is built on top of langgraph-rust, which is my personal Rust implementation of the LangGraph framework.
Refactoring History: Flock has been completely rewritten from the ground up. The original version was a Python-based application using LangGraph, LangChain, and FastAPI as the backend. The current version is a native desktop application with a Rust backend, powered by Tauri for the desktop shell. This rewrite brings significant improvements in performance, reliability, and user experience.
Legacy Code: The original Python codebase is preserved in the
legacy/pythonbranch for reference.
Multi-Agent Harness & Workflow · Core Features · Architecture · Quick Start
Flock is more than just a chat client. It's a comprehensive multi-agent harness combined with a powerful Visual Workflow Editor. It orchestrates and runs AI agents locally or inside sandbox containers to read/write files, execute bash commands, browse the web, and run complex pipelines. You see everything the agent does, and you're always in control.
| Capability / Feature | Traditional Chat Clients | Flock (Multi-Agent Harness) |
|---|---|---|
| Visual Workflow Builder | No | Yes — ReactFlow editor with 10+ node types & streaming execution |
| AI Operating on Files | Limited or No | Yes — Built-in agent with full filesystem, grep, and glob access |
| Multi-Step Autonomy | No | Yes — Autonomous LangGraph-rust execution loop with approval prompts |
| Scheduled Task Automation | No | Yes — Native Cron scheduler for 24/7 unattended workflows |
| Multi-Agent Collaboration | No | Yes — Auto-detects & orchestrates multiple agents in team networks |
| Open Source & Extensible | Rarely | Yes — Free, built with Rust & Tauri, fully extensible |
- Drag-and-Drop Canvas: Design complex pipelines visually by connecting custom agent and logic nodes.
- 10 Node Types Shipped:
start&answer: Define workflow inputs and final delivery parameters.llm&agent: Pure inference nodes and tool-enabled LangGraph agents.classifier&ifelse: Semantic routing routers and conditional branch checkers.code: Custom JS/Python code runners to execute arbitrary transformations.human: Interactive interrupts asking for manual feedback or input.plugin¶meter_extractor: Expose custom tools/plugins and extract structured data.
- Version Control & Execution History: Easily manage multiple versions of your visual workflows, track historical execution paths, and debug states incrementally.
- Interactive Tool Approvals: Crucial actions (like writing files, running bash scripts, or modifying configurations) require explicit user approval before execution. You can inspect the plan, approve, or deny on the fly.
- VNC Screen Takeover: Directly interact with sandboxed browser and OS interfaces. When the agent gets stuck on captchas, you can take over mouse/keyboard controls seamlessly.
- Workflow Breakpoints (
humannode): Place manual intervention checkpoints in the visual flow to request human decisions, form submissions, or variable modifications before proceeding.
- Playwright Browser: Scrape web data, click links, and bypass forms using an isolated browser execution engine.
- Computer Use: Command virtual desktops using OS-level commands (
xdotool). The agent monitors framebuffer screen feeds and handles mouse/keyboard events.
- Out of the box: No external CLI tools to download or configure. Paste any API Key (OpenAI, Gemini, Anthropic Claude, AWS Bedrock, or Ollama/local) and start immediately.
- Skill Extensions: Extensible via YAML-frontmatter prompts that support Hot-Reloading on file changes.
- Isolated Environment: Executes risky shell scripts and code execution safely inside isolated environment containers.
- VNC Streaming: Stream sandbox desktops directly into the UI via WebSockets for full visual inspection of the running environment.
- MCP (Model Context Protocol): Connect to third-party MCP servers once; all assistants and workflows automatically inherit the newly exposed schemas and tools.
- Scheduled Cron Tasks: Set it once, the agent executes scheduled tasks on autopilot. Supports standard cron syntax for automated system maintenance, daily file aggregation, or report generation.
graph TD
UI[Tauri Desktop UI - React + Mantine] <-->|IPC / Tauri Command| TauriHost[src-tauri Core]
TauriHost <-->|IPC Interface / JSON Protocol| AgentEngine[flock-agent - LangGraph Core]
AgentEngine -->|Graph State Machine| StateGraph[langgraph-rust]
AgentEngine <-->|SQLite Checkpointer| DB[(SQLite Database)]
AgentEngine <-->|Discovery / Frontmatter| Skills[flock-skills]
AgentEngine <-->|Tool Execution| Registry[flock-tools - Tool Registry]
Registry <-->|Local Host| Builtin[Built-in Tools: Bash, Files, Grep]
Registry <-->|Model Context Protocol| MCP[MCP Server Registry]
Registry <-->|Isolated Container| Sandbox[Sandbox Client]
Sandbox <-->|X11 / VNC Server| VNC[x11vnc + websockify] <-->|Websocket Stream| UI
Sandbox <-->|Playwright / xdotool| Browser[Browser & OS Controls]
| Crate | Directory | Purpose |
|---|---|---|
flock-core |
crates/flock-core |
Shared configuration schemas, SQLite DB models, encryption utilities, and IPC channels. |
flock-agent |
crates/flock-agent |
The core agent executor loop, LangGraph state engine, checkpointer, and memory system. |
flock-workflow |
crates/flock-workflow |
Workflow node logic and JSON-to-LangGraph AST compiler. |
flock-tools |
crates/flock-tools |
Built-in and sandboxed tools, VNC web socket proxies, and sandbox managers. |
flock-skills |
crates/flock-skills |
System prompts loader supporting variable injection and watcher-based hot-reload. |
flock-ui |
flock-ui |
React application featuring Zustand, i18next, and ReactFlow editor. |
- Rust:
1.77.2or later - Node.js:
18.xor later
-
Clone the Repository
git clone https://github.com/Onelevenvy/flock.git cd flock -
Install Frontend Dependencies
cd flock-ui npm install -
Start Development App
npm run tauri dev
-
Run Backend Tests
cargo test --workspace
Licensed under the Apache License, Version 2.0. See LICENSE for details.




