JiuwenSwarm

Your On-Call AI Butler — Bringing Intelligence to Your Fingertips

Python Version License Huawei Cloud MaaS

🌟 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:

  1. Copy Memory:

    cp -r .jiuwenswarm/workspace/agent/memory .jiuwenswarm/agent/memory
    
  2. 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 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. 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 ✨