English | 简体中文
A multi AI agent desktop application built with Rust and Tauri.
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.
Flock is a desktop application that provides an interactive interface for AI agents with tool orchestration capabilities. It supports multiple LLM providers and features a rich set of built-in tools, skills system, and memory management.
- Multi-Provider Support: OpenAI-compatible, Anthropic, AWS Bedrock, Google Vertex
- Tool Orchestration: Built-in tools (Read, Write, Edit, Bash, Grep, Glob) + MCP server integration
- Skills System: Reusable prompt templates with YAML frontmatter, hot-reload support
- Memory System: Persistent cross-session memory (user, feedback, project, reference types)
- Session Management: Conversation history with SQLite-backed persistence
- Desktop UI: Modern interface built with React, TypeScript, and Mantine UI
- Internationalization: Multi-language support (Chinese/English)
| Crate | Purpose |
|---|---|
flock-core |
Core types, configuration, database, IPC interface, cryptography |
flock-agent |
Agent engine, session management, tool execution, memory, graph orchestration |
flock-tools |
Tool registry, built-in tools, MCP integration, math/weather tools |
flock-skills |
Skill discovery, loading, frontmatter parsing, hooks, permissions |
flock-ui/src-tauri |
Tauri desktop app backend |
- React 18 + TypeScript
- Mantine UI v8
- Zustand (state management)
- React Query (server state)
- react-markdown + react-syntax-highlighter
- i18next (internationalization)
- Rust 1.77.2+
- Node.js 18+
- npm or yarn
This project relies on langgraph-rs, which is automatically resolved as a Git dependency in Cargo.toml.
# Clone the repository
git clone https://github.com/Onelevenvy/flock.git
cd flock
# Install frontend dependencies
cd flock-ui
npm install
cd ..
# Build and run the desktop app
cd flock-ui
npm run tauri dev# Build Rust backend
cargo build
# Run tests
cargo test
# Lint
cargo clippy --workspace
# Frontend development
cd flock-ui
npm run dev
npm run lintThis project leverages langgraph-rust for agent graph orchestration. The LangGraph framework provides:
- State management for agent conversations
- Tool execution flow control
- Checkpointing for conversation persistence
- Pre-built agent patterns
While langgraph-rust is not the official LangGraph Rust implementation, it provides the core features needed for building AI agents with tool orchestration capabilities.
- Workflow: Visual workflow builder for complex agent orchestration
- Multi-Agent: Support for multiple agents collaborating on tasks
- Scheduled Tasks: Automated task execution with cron-like scheduling
- Sandbox: Isolated execution environment for code and commands
- Browser Tools: Web browsing and interaction capabilities for agents
- Extensions: Integration with Claude Code, OpenCode, OpenClaw, Hermes, and other third-party agents
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.
- LangGraph - The original Python framework that inspired langgraph-rust
- Tauri - Desktop application framework
- Mantine - React UI component library
Contributions are welcome! Please feel free to submit a Pull Request.
For questions or feedback, please open an issue on GitHub.



