BoxAgnts is an open-source AI Agent ToolBox built with Rust, dedicated to delivering an ultimate out-of-the-box experience. Leveraging WebAssembly sandbox, it provides a runtime environment that balances security and flexibility, helping users effortlessly tackle a wide range of complex tasks and thus becoming an efficient and trustworthy personal AI assistant.
Core Architecture #
π― AI Agent ToolBox
BoxAgnts is a fully-featured AI Agent toolkit providing:
Multi-model support: Compatible with major AI model providers including OpenAI, Anthropic, CodeX, Google, Deepseek, MiniMax, OpenCode - Tool system: Built-in file operations, web access, code execution, and many other tools - Skill system: Create specialized AI skills through simple configuration
π‘οΈ WebAssembly SandBox
Build a secure runtime environment using WebAssembly technology:
Isolated execution: All custom tools and skills run in a WASM sandbox - Security control: Fine-grained permission management and network access control - Cross-platform: Compile once, run everywhere - High performance: Based on Wasmtime runtime, near-native performance
β¨ Out of the Box
Out-of-the-box experience:
Zero-configuration startup: Download and run, no complex configuration - Web interface: Built-in beautiful Dashboard for visual management of all features - Built-in extensions: Pre-configured with commonly used tools and skills, ready to use - Quick start: Simple API and intuitive workflow
Key Features #
π€ AI Chat and Agents
- Chat with multiple AI models
- Create and manage custom Agents
- Save and manage chat history
- Support for streaming responses
π§ Tool Execution
- File read/write and editing
- Shell command execution
- Web content scraping
- Code review and analysis
π¦ Skill System
- Quickly create specialized skills
- Skill combination and reuse
- Built-in skills including code review, weather query, front-end component generation, etc.
β° Automatic Tasks Cron
- Create and manage scheduled tasks
- Support for standard Cron expressions
- Task execution logs and status tracking
- Flexible task configuration and triggering methods
π Web Service
- Custom website deployment
- Static file serving
- API endpoint management
Quick Start #
Download Executable
Download the latest compressed package from the Releases page, extract and run.
Start Service
boxagnts
boxagnts --workspace-dir /path/to/workspace
boxagnts --workspace-dir /path/to/workspace --port 30002
Suggestion: BoxAgnts supports multiple workspaces, each with its own configuration file and data directory. It is recommended not to run in the default directory, but to specify a workspace directory or workspace-dir.
Command line arguments:
BoxAgnts is an open-source AI Agent ToolBox built with Rust.
Usage: boxagnts [OPTIONS]
Options:
--port <PORT> Port to run the web server on [default: 30001]
--host <HOST> Host to bind to (0.0.0.0 for all interfaces) [default: 127.0.0.1]
--workspace-dir <DIR> Set workspace dir, default current dir
--app-dir <DIR> Set app dir, default Boxagnts executable file dir
--admin-user <USERNAME> Set admin username
--admin-pass <PASSWORD> Set admin password
-h, --help Print help
-V, --version Print version
Access Dashboard
Open your browser and visit http://127.0.0.1:30001
Configure Model
Add AI models and API Keys in the settings page
Project Structure and Source Code Compilation #
This project is developed based on claurst project code
Directory Structure
boxagnts/
βββ boxagnts/ # Rust backend core code
β βββ api/ # AI model API (multi-provider support)
β βββ core/ # Core types, constants, and basic functions
β βββ gateway/ # API gateway (includes Cron task scheduling)
β βββ mcp/ # MCP protocol implementation (optional)
β βββ server/ # Web server and Dashboard interface
β βββ tools/ # Tool system and built-in tools
β βββ tools-manager/ # Tool manager
β βββ query/ # Query orchestration
β βββ wasm-sandbox/ # WebAssembly sandbox runtime
β βββ wasm-tools/ # WASM tool wrappers
β βββ workspace/ # Workspace and configuration management
βββ boxagnts-dashboard-web/ # Vue 3 frontend source code
β βββ src/
β β βββ api/ # API interface wrappers
β β βββ components/ # Vue components
β β βββ composables/ # Composables
β β βββ stores/ # Pinia state management
β β βββ views/ # Page components
β β βββ router/ # Router configuration
β βββ package.json # Frontend dependencies
βββ app/ # Application resources
β βββ dashboard-web/ # Compiled web interface static assets
β βββ extensions/ # Extensions (tools/skills)
βββ Cargo.toml # Rust workspace configuration
Backend Code Analysis
The backend is developed in Rust using Tokio async runtime. The main modules are:
api/: Wraps APIs from multiple AI providers including OpenAI, Anthropic, Google, Azure, Bedrock, providing unified interface calling and message format conversion - core/: Defines core data types, constants, error handling, and system prompts - gateway/: API gateway layer, handles HTTP requests, includes Cron task scheduling system (cron/ subdirectory), supporting scheduled task creation, management, and execution - server/: Web server, providing Dashboard REST API and WebSocket support - tools/: Tool system, implements execution framework for built-in tools and skills - wasm-sandbox/: WebAssembly sandbox based on Wasmtime, implementing secure code execution environment - workspace/: Workspace management, handles configuration, authentication, and history storage
Frontend Code Analysis
The frontend uses Vue 3 + TypeScript + Vuetify technology stack:
- Uses Pinia for state management (stores/ directory) - Uses Vue Router for routing management (router/ directory) - Main pages: Chat, Agents, Cron tasks, Files, Skills, Tools, Sites, Settings, etc.
- Supports Markdown rendering, code editor (CodeMirror), charts (Chart.js), etc.
- Communicates with backend via REST API and WebSocket
Source Code Compilation Method
Environment Requirements
- Rust 1.75+ (Install: https://www.rust-lang.org/tools/install) - Node.js 18+ (Install: https://nodejs.org/) - npm or pnpm
Compile Backend
cd boxagnts-pub
cargo build
cargo build --release
Compile Frontend
cd boxagnts-dashboard-web
npm install
npm run dev
npm run build
Complete Build Process
cd boxagnts-dashboard-web
npm install
npm run build
cd ..
cargo build --release
./target/release/boxagnts
License #
Repository: https://github.com/guyoung/boxagnts