readme.MD
June 11, 2026 · View on GitHub
Synbot
Personal AI bot with performance and safety
Synbot is a personal AI assistant in Rust inspired by nanobot (in Python) and Openclaw.
It is still in experiment stage, be careful to try, please run in sandbox
Features
-
Single small portable execution program for deployment
-
No gateway port exposed
-
Support run app and tool in independent isolated sandbox.
-
Support Windows, Macos, Linux with Intel x86 and ARM64 architecture
-
Multi agents support in parallel
-
Multi workspace support
-
Tool execution with approval
-
Channel pairing: approve new chats via
synbot pairing approve(supplements per-channel allowlists; seedocs/getting-started/configuration.mdand CLI reference) -
Plugin support(Use wasm as plugin created by rust, c/c++, go and so on)
-
MCP (Model Context Protocol) tools: configure MCP servers (stdio or SSE) and expose their tools to the agent
-
ACP (Agent Client Protocol) agent: run
synbot acpfrom editors like Zed to use synbot as a coding agent (seedocs/user-guide/acp.md) -
Desktop app: Native Tauri application bundles synbot and the Admin Dashboard — see Desktop App
-
Memory: Daily memory & Long term memory & Sqlite vec & FTS5 & Auto compression
-
Sandbox support
| Platform | App Sandbox | Tool Sandbox |
|---|---|---|
| Windows | AppContainer | Docker & gVisor |
| Linux | nono.sh (Landlock) | Docker & gVisor |
| macOS | nono.sh (Seatbelt) | Docker & gVisor |
Install
Method 1: From Source (Recommended)
-
Clone the repository:
git clone https://github.com/synvek/synbot.git cd synbot -
Build the project:
cargo build --release -
Install globally:
cargo install --path .
Method 2: Pre-built Binaries
Check the Releases page for pre-built binaries for your platform.
Method 3: Desktop App
Build the native desktop app from source (requires Rust and Node.js):
cd desktop
npm install
npm run prepare:sidecar:release
npm run build
See docs/getting-started/desktop-app.md for details.
Quick Start
Initialization
# Will initialize workspace with default configuration
synbot onboard
For a custom workspace root, use --root-dir:
synbot --root-dir /path/to/workspace onboard
Configuration
See configuration under ~/.synbot/ (or under the root directory when using --root-dir).
Minimal configuration example:
{
"channels": {
"discord": [
{ "enabled": true, "token": "Your bot token" }
]
},
"providers": {
"openrouter": { "apiKey": "Your openrouter key" }
},
"mainAgent": {
"provider": "openrouter",
"model": "openai/gpt-5.2"
}
}
For more options see the documentation.
Channel access: With enableAllowlist on (default), add chats to each channel’s allowlist or approve them with synbot pairing approve <provider> <code> (code from the bot’s hint). Use the same --root-dir as synbot start when pairing. Telegram groups may require @BotUsername at the start of each message when groupMyName / allowlist myName is set.
MCP tools: Add tools.mcp.servers to connect MCP servers and register their tools for the agent. Examples:
- stdio (subprocess):
"tools": { "mcp": { "servers": [{ "id": "fs", "transport": "stdio", "command": "npx", "args": ["-y", "mcp-server-filesystem", "/tmp"] }] } } - SSE (HTTP):
"tools": { "mcp": { "servers": [{ "id": "echo", "transport": "sse", "url": "http://localhost:8000/sse" }] } }
Optional field toolNamePrefix (e.g. "mcp_fs_") prefixes tool names to avoid clashes with built-in tools. Per-server env (stdio), headers (SSE), and timeoutSecs (default 30) are supported; see the tools guide.
Basic Startup (no sandbox)
# Start with default configuration
synbot start
Basic Startup with sandbox
# Start with default configuration
synbot sandbox start
On Windows, run synbot sandbox setup once as Administrator to add network rules; then you can run synbot sandbox start as a normal user.
Channels
- Telegram
- Discord
- Slack
- Feishu (飞书)
- Matrix
- DingTalk (钉钉)
- IRC
- More are still in progress
Providers
-
Openai
-
Anthropic
-
Google Gemini
-
Openrouter
-
Deepseek
-
Moonshot
-
Kimi Code
-
Ollama
-
More are still in progress
Project Status
Important: Synbot is currently in research & experiment stage. Please run in a sandbox environment and be careful when trying it out.
Tools & Skills
Tools
- Built-in Tools
- Filesystem Tools: Read, write, and manage files
- Shell Tools: Execute commands in the shell
- Web Tools: Search the web and fetch content
- Message Tools: Send messages across channels
- Approval Tools: Handle permission-based approvals
- Utility Tools: Various utility functions
Skills
- Put skills under
~/.synbot/skills/(or underskills/in the root directory when using--root-dir)
Important: Synbot is currently in research & experiment stage. Please run in a sandbox environment and be careful when trying it out.
Getting Help
- GitHub Issues - Report bugs and issues
- GitHub Discussions - Ask questions and share ideas
- Documentation Source - Edit documentation
Contributing
We welcome contributions! Please see: