🌟 Overview
JiuwenSwarm is an intelligent AI Agent built in Python. As its name suggests, “Swarm” symbolizes multiple intelligent agents working together as efficiently as a swarm of bees, evolving autonomously and accelerating the era of “collective intelligence” in earnest.
✨ Key Features
- Ecosystem Compatible: Full support for Huawei Cloud MaaS and other mainstream model platforms
- Seamless Integration: Native integration with the Xiaoyi Open Platform, enabling Huawei phone users to invoke JiuwenSwarm directly through the Xiaoyi assistant
- Flexible Deployment: Self-hosted deployment with full data sovereignty
- Multi-Platform Access: Interact via web interface, messaging apps, and more
🎯 Design Philosophy
Understands You. Evolves With You.
🤝 Your Personal Task Butler
Whether dealing with task additions, mid-flow interruptions, or shifting requirements, JiuwenSwarm understands your intent precisely — intelligently scheduling and executing tasks in an orderly, stress-free manner.
🔄 Autonomous Evolution
When you express dissatisfaction or an error occurs, JiuwenSwarm automatically refines the relevant skills based on your feedback — continuously improving, always working in your best interest.
⚡ Your always-on, data-sovereign personal AI assistant ⚡
⚠️ Version Upgrade Notice
If you're upgrading from an older version, check the changelog for any breaking changes. You must reinitialize JiuwenSwarm if a breaking change is indicated. The service will fail to start without reinitialization.
Backup Before Upgrading
| Data Type | Source Path | Description |
|---|---|---|
| Memory Data | .jiuwenswarm/workspace/agent/memory |
All your conversation memories |
| Custom Skills | .jiuwenswarm/workspace/agent/skills |
Your custom agent skills |
| Configuration | .jiuwenswarm/config |
Your app settings |
Migration Steps
After upgrading and running jiuwenswarm-init, manually migrate your data:
-
Copy Memory:
cp -r .jiuwenswarm/workspace/agent/memory .jiuwenswarm/agent/memory -
Copy Skills:
cp -r .jiuwenswarm/workspace/agent/skills .jiuwenswarm/agent/skills
🚀 Getting Started
📦 Installation
# Install JiuwenSwarm
pip install jiuwenswarm
# Initialize JiuwenSwarm (first-time setup or after upgrading)
# ⚠️ Remember to backup your data before running this command
jiuwenswarm-init
# Start JiuwenSwarm
jiuwenswarm-start
# Install JiuwenSwarm-tui
pip install jiuwenswarm-tui
# Start JiuwenSwarm-tui
jiuwenswarm-tui
💬 How to Use
1️⃣ Conversation Mode
| Method | Description |
|---|---|
| Web Frontend | After starting the service, visit http://localhost:5173 to chat directly in your browser |
| Xiaoyi Channel | Huawei phone users can invoke Xiaoyi to talk with JiuwenSwarm directly |
| Lark Channel | Once configured, chat with JiuwenSwarm seamlessly inside Lark |
2️⃣ Scheduled Tasks
Set up heartbeat tasks with your to-do items, and JiuwenSwarm will wake up on schedule to execute them automatically — making your time management smarter and more effortless.
📚 Documentation
| Document | Description |
|---|---|
| 📖 Install guide | Full installation paths (pip, source, conda, Docker) |
| 📖 Quick Start | Get up and running with JiuwenSwarm in 5 minutes |
| 📖 Quick Start (TUI) | Get up and running with JiuwenSwarm-tui in 5 minutes |
| ⚙️ Configuration & Workspace | Environment setup and workspace management |
| 📁 Workspace Structure | workspace directory layout, presets, and dynamic content |
| 🔄 Modes | PLAN / AGENT / CODE / TEAM mode switching and configuration |
| 🛠️ Skill System | Guide to developing custom skills |
| 🔄 Skill Self-Evolution | Mechanism for automatic skill evolution |
| 📱 Channel Configuration | Integrating Feishu, Xiaoyi, and other channels |
| 💬 Discord | Discord channel setup and usage |
| WhatsApp channel setup and usage | |
| ⌨️ CLI Commands | Command-line tool usage guide |
| ⏰ Scheduled Tasks | Scheduled task management |
| 💓 Heartbeat | Heartbeat mechanism and configuration |
| 🧠 Memory | Intelligent memory and learning capabilities |
| 💡 Task Memory | Task-level experience retrieval and consolidation |
| 📦 Context Compression | Context compression and unloading |
| 💻 Coding Memory | Code-mode-specific memory system |
| 📋 Task Planning | Chat behavior and task flow |
| 🌐 Browser Automation | Web browsing and automation features |
| 🔌 MCP Configuration | MCP server integration and configuration |
| 🔒 Tool Permissions & Security | Permission model and security configuration |
| 📝 Slash Commands | Slash command reference |
| 🏗️ Slash Command Architecture | Slash command internals and extension guide |
| 📨 E2A Protocol | Gateway ↔ Agent request envelope specification |
| 🤝 A2A Integration | A2A protocol integration guide |
| 🔌 ACP Client Config | ACP client plugin configuration |
| 👥 Distributed Team | Multi-process distributed team mode |
| 🔀 Multi-Instance Operation | Running multiple independent instances on one machine |
| 📦 Packaging Desktop App | Build standalone desktop executables |
| 🚀 Development Practices | Development practices and experience sharing |
🤝 Contributing
We warmly welcome community contributions — whether it's filing bug reports, suggesting new features, or improving documentation, every bit of support means the world to us.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Making intelligence accessible. Making life simpler.
✨ JiuwenSwarm — Your Personal AI Assistant ✨