https://github.com/guyoung/boxagnts
BoxAgents is an open-source, Rust-based AI Agent ToolBox offering an ultimate out-of-the-box experience. With WebAssembly sandbox, it balances security and flexibility, letting users effortlessly tackle complex tasks as an efficient, trustworthy personal AI assistant.
https://github.com/guyoung/boxagnts
agent ai rust vue vuetify wasm wasmtime webassembly webassembly-component
Last synced: 3 days ago
JSON representation
BoxAgents is an open-source, Rust-based AI Agent ToolBox offering an ultimate out-of-the-box experience. With WebAssembly sandbox, it balances security and flexibility, letting users effortlessly tackle complex tasks as an efficient, trustworthy personal AI assistant.
- Host: GitHub
- URL: https://github.com/guyoung/boxagnts
- Owner: guyoung
- License: other
- Created: 2026-05-16T14:04:18.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2026-05-27T04:59:44.000Z (4 days ago)
- Last Synced: 2026-05-27T06:23:46.676Z (4 days ago)
- Topics: agent, ai, rust, vue, vuetify, wasm, wasmtime, webassembly, webassembly-component
- Language: JavaScript
- Homepage: https://github.com/guyoung/boxagnts
- Size: 13.6 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BoxAgnts
[English](README.md) | [δΈζ](README.zh.md)
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 Tool**Box**
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 Sand**Box**
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](https://github.com/guyoung/boxagnts/releases) page, extract and run.
### Start Service
```bash
# Start service
boxagnts
# Specify workspace directory
boxagnts --workspace-dir /path/to/workspace
# Specify port
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:
```bash
BoxAgnts is an open-source AI Agent ToolBox built with Rust.
Usage: boxagnts [OPTIONS]
Options:
--port Port to run the web server on [default: 30001]
--host Host to bind to (0.0.0.0 for all interfaces) [default: 127.0.0.1]
--workspace-dir Set workspace dir, default current dir
--app-dir Set app dir, default Boxagnts executable file dir
--admin-user Set admin username
--admin-pass 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](https://github.com/Kuberwastaken/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
```bash
# Enter project root directory
cd boxagnts-pub
# Compile Debug version
cargo build
# Compile Release version (optimize for size and performance)
cargo build --release
# Compiled executable is located at target/release/boxagnts
```
#### Compile Frontend
```bash
# Enter frontend directory
cd boxagnts-dashboard-web
# Install dependencies
npm install
# Start development mode (hot reload)
npm run dev
# Compile production version
npm run build
# Compiled static files will be output to app/dashboard-web/
```
#### Complete Build Process
```bash
# 1. Compile frontend
cd boxagnts-dashboard-web
npm install
npm run build
# 2. Compile backend
cd ..
cargo build --release
# 3. Run
./target/release/boxagnts
```
## License
[MIT](LICENSE)
---
**Repository**: [https://github.com/guyoung/boxagnts](https://github.com/guyoung/boxagnts)