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 |
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 & parameter_extractor: Expose custom tools/plugins and extract structured data.human node): Place manual intervention checkpoints in the visual flow to request human decisions, form submissions, or variable modifications before proceeding.xdotool). The agent monitors framebuffer screen feeds and handles mouse/keyboard events.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. |
1.77.2 or later18.x or laterClone the Repository
bash
git clone https://github.com/Onelevenvy/flock.git
cd flock
Install Frontend Dependencies
bash
cd flock-ui
npm install
Start Development App
bash
npm run tauri dev
Run Backend Tests
bash
cargo test --workspace
Licensed under the Apache License, Version 2.0. See LICENSE for details.
$ claude mcp add flock \
-- python -m otcore.mcp_server <graph>