Xiajiao
AI Agent team collaboration platform โ npm start, no Docker needed
Ask AI about Xiajiao
Powered by Claude ยท Grounded in docs
I know everything about Xiajiao. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
๐ฆ Xiajiao IM
Your AI Agent Team โ One npm start Away
A lightweight, self-hosted, open-source platform to run AI agents as a team โ group chat, @mention routing, tool calling, persistent memory, and collaboration flows.
No Docker. No PostgreSQL. No Redis. Just npm start.
English ยท ็ฎไฝไธญๆ
Quick Start ยท Why Xiajiao ยท Features ยท Docs ยท Changelog ยท Contributing
@mention an agent โ Get a real-time response โ Hand off to another agent โ all in one chat.
๐ฌ Watch it in action (35s demo)
One message triggers an entire agent collaboration chain โ writing, editing, and translating in real time.
๐ธ More screenshots
Agent writes a poem
|
Another agent translates it
|
Tool Calling in action
|
Collaboration flow panel
|
Agent contacts
|
Clean login
|
Xiajiao (่พ้ฅบ) โ named after the Cantonese shrimp dumpling: small, delicate, but packed with flavor.
Minimal dependencies, maximum capability.
โก Quick Start
Option 1: npm (recommended)
Prerequisite: Node.js >= 22.0.0
git clone https://github.com/moziio/xiajiao.git
cd xiajiao && npm install
npm start
Option 2: Docker
git clone https://github.com/moziio/xiajiao.git
cd xiajiao
docker build -t xiajiao .
docker run -d -p 18800:18800 \
-v xiajiao-data:/app/data \
-v xiajiao-uploads:/app/public/uploads \
--name xiajiao xiajiao
Open http://localhost:18800 โ Log in with default password admin โ Settings โ Models to add your API key โ Start chatting!
[!TIP] Password and API keys can all be changed in the web UI โ no config files to edit.
๐ค Why Xiajiao?
Most AI platforms require Docker + PostgreSQL + Redis + vector databases just to get started.
Xiajiao takes a radically different approach โ it's the only IM platform where your agents actually collaborate as a team:
Who is this for?
- Solo developers who want an AI team without the DevOps overhead
- AI enthusiasts exploring multi-agent collaboration patterns
- Small teams needing a self-hosted AI workspace with zero vendor lock-in
- Researchers prototyping agent-to-agent communication and memory systems
| Xiajiao | Dify | Coze | FastGPT | |
|---|---|---|---|---|
| Get started | npm start | docker compose up | Sign up for SaaS | docker compose up |
| External services | None | PostgreSQL + Redis + Weaviate | โ | MongoDB + MySQL |
| npm dependencies | 6 | 100+ | โ | 80+ |
| Multi-agent group chat | โ | โ | โ | โ |
| Inter-agent collaboration | โ chains + visual flow | Workflow | Bot orchestration | โ |
| Persistent agent memory | โ 3-class memory | โ | Variables | โ |
| Tool calling | โ 7 built-in tools | โ | โ 100+ plugins | โ |
| RAG knowledge base | โ BM25 + vector hybrid | โ | โ | โ |
The core difference: Dify and Coze are AI app development platforms. Xiajiao is an AI Agent team collaboration platform โ treat agents as teammates, not tools.
โจ Features
| Feature | Highlight | |
|---|---|---|
| ๐ค | Multi-Agent Group Chat | @mention routing, agent-to-agent dialogue |
| ๐ง | Tool Calling | 7 built-in tools, extensible |
| ๐ง | Persistent Memory | 3-class memory, auto prompt injection |
| ๐ | RAG Knowledge Base | BM25 + vector hybrid, LLM reranking |
| ๐ | Collaboration Flows | Chains, visual panel, workflow engine |
| ๐ | Multi-Model | OpenAI / Claude / Qwen / Ollama / ... |
๐ค Multi-Agent Group Chat
Create groups, add agents, use @mentions to route messages. Agents can talk to each other, hand off tasks, and collaborate โ just like a real team.
๐ง Tool Calling
Agents don't just chat โ they take action. 7 built-in tools with an extensible architecture:
| Tool | What it does |
|---|---|
web_search | Search the web (6 engines: auto / DuckDuckGo / Brave / Kimi / Perplexity / Grok) |
rag_query | Semantic retrieval from your knowledge base |
memory_write | Save to persistent memory |
memory_search | Recall from past memories |
call_agent | Invoke another agent (3-level nesting protection) |
manage_channel | Create, start, stop external platform connectors (Feishu / DingTalk / WeCom / Telegram) |
manage_schedule | Create and manage cron-driven scheduled tasks |
Agents call memory_search to recall context, then memory_write to persist insights โ all visible in real time.
๐ง Persistent Agent Memory
A 3-class memory system that makes agents smarter over time:
- Semantic memory โ facts & knowledge ("User prefers Python")
- Episodic memory โ conversation events ("We discussed deployment last time")
- Procedural memory โ behavioral patterns ("Keep replies concise")
Embedding-based dedup + hybrid search + automatic prompt injection.
๐ Production-Grade RAG
Upload documents โ agents auto-index and auto-retrieve:
- BM25 + vector hybrid retrieval
- Reciprocal Rank Fusion (RRF)
- LLM reranking
- Hierarchical chunking (200-char small chunks + 800-char large chunks)
๐ Collaboration Flows
- Collaboration chains โ agents relay within a group; one's output becomes the next's input
- Visual flow panel โ real-time status, history replay, human intervention (approve / stop / edit)
- Workflow engine โ multi-step, conditional branching, error handling (retry / skip / rollback), human approval
Visual flow panel: Novelist โ Editor โ Translator โ Coder, with real-time progress and human intervention controls.
๐ Multi-Model Support
Works with any OpenAI-compatible API provider:
OpenAI (GPT-4o) ยท Anthropic (Claude) ยท Qwen (้ไน) ยท GLM ยท Kimi ยท MiniMax ยท DeepSeek ยท Ollama
๐ And More
| Capability | Description |
|---|---|
| Markdown rendering | Code highlighting + Mermaid diagrams + LaTeX |
| Full-text search | SQLite FTS5 message search |
| Scheduled tasks | Cron-driven, agents report on schedule |
| AI image generation | DashScope integration, auto-detects drawing intent |
| PWA offline | Service Worker + offline page |
| i18n | Chinese & English built-in |
| RBAC | owner > admin > member > guest |
| Security | CSRF + rate limiting + error sanitization + token revocation |
| MCP protocol | Model Context Protocol support |
| Channel connectors | Feishu (Lark) WebSocket + Webhook |
๐๏ธ Tech Stack
| Layer | Technology | Why |
|---|---|---|
| Runtime | Node.js 22+ | Native node:sqlite, zero native addons |
| HTTP | node:http | Zero framework overhead |
| WebSocket | ws | Real-time bidirectional communication |
| Database | SQLite (WAL + FTS5) | One .db file handles everything |
| Frontend | Vanilla JS + CSS | No build step โ edit, refresh, done |
| Dependencies | 6 total | ws ยท formidable ยท node-cron ยท pdf-parse ยท @larksuiteoapi/node-sdk ยท @modelcontextprotocol/sdk |
| Tests | 53 unit tests | node:test + node:assert, zero test framework |
Why so few? We treat every dependency as a liability, not a feature. If the standard library can do it, we don't add a package.
โ๏ธ Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
IM_PORT | Server port | 18800 |
OWNER_KEY | Admin password | admin |
LLM_MODE | LLM mode (direct / gateway) | direct |
Model Configuration
cp models.example.json models.json
{
"providers": {
"openai": {
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-your-api-key",
"api": "openai-completions"
}
},
"models": [
{
"id": "openai/gpt-4o",
"name": "gpt-4o",
"provider": "openai",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 4096
}
]
}
Supported API types: openai-completions (Qwen / Kimi / GLM / DeepSeek / Ollama) ยท anthropic-messages ยท dashscope-image
[!TIP] You can also add models directly in the web UI under Settings โ Models โ no need to edit files manually.
๐ Project Structure
xiajiao/
โโโ server/ # Backend
โ โโโ index.js # HTTP + WebSocket entry
โ โโโ middleware/ # Auth, logging, rate limiting
โ โโโ routes/ # API routes
โ โโโ services/ # Core services
โ โ โโโ llm.js # LLM + Tool Calling loop
โ โ โโโ rag.js # RAG retrieval engine
โ โ โโโ memory.js # Agent memory
โ โ โโโ workflow.js # Workflow engine
โ โ โโโ collab-flow.js # Collaboration flow state machine
โ โ โโโ tool-registry.js # Tool registry
โ โ โโโ database.js # SQLite + migrations
โ โโโ migrations/ # Database migrations
โ โโโ tests/ # Unit tests
โโโ public/ # Frontend (Vanilla JS, no build step)
โ โโโ js/ # Feature modules
โ โโโ css/
โโโ data/_soul-templates/ # Default agent SOUL.md templates
โโโ models.example.json # Model config example
โโโ im-settings.example.json # System settings example
โโโ agents.example.json # Agent config example (5 built-in agents)
๐บ๏ธ Roadmap
๐ Xiajiao is under active development. Here's what's shipped and what's coming:
| Phase | Status | What |
|---|---|---|
| P1 Core IM | โ Shipped | Conversations, group chat, @mention, Markdown |
| P2 Agent Collaboration | โ Shipped | Workflows, scheduled meetings, community event stream |
| P3 Advanced Capabilities | โ Shipped | Tool Calling, RAG, Agent memory, image gen, SQLite |
| P4 Reliability | โ Shipped | Security hardening, rate limiting, RBAC, PWA, structured logging |
| P5 Channel System | ๐ง Building | WeCom, Feishu (Lark), DingTalk, Telegram |
| P6 Enterprise | ๐ Planned | Multi-process, external state, Electron desktop app |
| P7 Plugin Ecosystem | ๐ญ Exploring | Plugin marketplace, community tools, one-click install |
| P8 Agent Store | ๐ญ Exploring | Pre-built agent templates, one-click clone & customize |
| P9 Multimodal | ๐ญ Exploring | Voice input, image understanding, video analysis |
| P10 Agent Negotiation | ๐ญ Exploring | Structured multi-round dialogue between agents with turn limits |
This is just the beginning. Got ideas? Open an Issue or join the discussion.
๐ค Contributing
We welcome all contributions โ bug reports, feature ideas, code, docs, and translations.
See CONTRIBUTING.md for details.
โญ Show Your Support
[!IMPORTANT] Star this repo โ you'll receive notifications for every new release, and it helps others discover the project!
๐ Security
To protect users, please do not post security issues publicly on GitHub Issues. Instead, please email security concerns to the maintainers directly. We will respond promptly.
๐ License
Xiajiao (่พ้ฅบ) โ Your AI Agent team manager ๐ฆ
Small, delicate, packed with flavor.
