1. Conduid
  2. RAG
  3. Xiajiao
MCP server · RAG

Xiajiao

AI Agent team collaboration platform — npm start, no Docker needed

34Low

Scored 6 months ago · breakdown

About Xiajiao

Xiajiao is an MCP server in the RAG category: aI Agent team collaboration platform — npm start, no Docker needed.

Install

From source
git clone https://github.com/moziio/xiajiao

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (7)

call_agentInvoke another agent (3-level nesting protection)

Parameters not published.

manage_channelCreate, start, stop external platform connectors (Feishu / DingTalk / WeCom / Telegram)

Parameters not published.

manage_scheduleCreate and manage cron-driven scheduled tasks

Parameters not published.

memory_searchRecall from past memories

Parameters not published.

memory_writeSave to persistent memory

Parameters not published.

rag_querySemantic retrieval from your knowledge base

Parameters not published.

web_searchSearch the web (6 engines: auto / DuckDuckGo / Brave / Kimi / Perplexity / Grok)

Parameters not published.

Ask AI

✦

Ask AI about Xiajiao

Powered by Claude · Grounded in docs

I know everything about Xiajiao. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

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

🧠 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

🔌 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

MIT


README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Xiajiao

How do I install Xiajiao?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Xiajiao safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Xiajiao still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.