[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80953":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":12,"stars7d":12,"stars30d":15,"stars90d":12,"forks30d":12,"starsTrendScore":12,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":12,"starSnapshotCount":12,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},80953,"mchat","windinwing\u002Fmchat","windinwing","MChat is a lightweight, embeddable, multi-tenant AI customer service platform. It integrates a powerful Bot Engine, RAG knowledge base, Skill plugin system, and an embedded chat Widget — with support for 10+ LLM providers and multi-channel connectivity (Web Widget, WebSocket, REST API, and extensible channel adapters for messaging apps).",null,"Python",34,0,31,1,4,40.4,"MIT License",false,"main",true,[],"2026-06-12 04:01:31","# MChat — Multi-Tenant Vertical RAG Platform\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n[![Python 3.12+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.12+-blue.svg)](https:\u002F\u002Fwww.python.org\u002F)\n[![Node 20+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-20+-green.svg)](https:\u002F\u002Fnodejs.org\u002F)\n\n**[中文文档](README.zh.md)** · **[GitHub](https:\u002F\u002Fgithub.com\u002Fwindinwing\u002Fmchat)**\n\nMChat is a **lightweight, embeddable, multi-tenant vertical RAG platform**. It combines a streaming Bot engine, RAG knowledge base, Skill plugin system, and an embeddable chat Widget — with support for **10+ LLM providers** and multi-channel connectivity (Web Widget, WebSocket, REST API, WeChat Official Account, and more).\n\nThe platform ships with **AI customer service** as a built-in base channel, and supports **custom vertical channels** — pre-configured domain RAG packages (e.g. patent search, medical consultation, legal Q&A) that bundle domain knowledge bases, specialized skill packs, and tuned retrieval strategies. Embed with a single `\u003Cscript>` tag.\n\n## Live websites\n\n- [English main site](http:\u002F\u002Fmchat.chat)\n- [Chinese main site](https:\u002F\u002Fmchat.9235.net)\n- [Full screenshot tour](docs\u002Fproduct-tour.en.md)\n- [Product roadmap](docs\u002Froadmap.en.md) (knowledge base, Widget, channels, API, ops, RBAC)\n\n## UI preview\n\nClick any screenshot to open the full image.\n\n### Homepage and admin zones\n\n[![MChat homepage and admin zones](docs\u002Fimages\u002Fmchat.home.zone.en.png)](docs\u002Fimages\u002Fmchat.home.zone.en.png)\n\n### Conversation management\n\n[![Conversation management](docs\u002Fimages\u002Fmchat.conversations.en.png)](docs\u002Fimages\u002Fmchat.conversations.en.png)\n\n### Vertical channel configuration (Agent)\n\n[![Customer agent configuration](docs\u002Fimages\u002Fmchat.customer.en.png)](docs\u002Fimages\u002Fmchat.customer.en.png)\n\n### Knowledge base\n\n[![Knowledge base](docs\u002Fimages\u002Fmchat.knowledge.en.png)](docs\u002Fimages\u002Fmchat.knowledge.en.png)\n\n### Widget demo\n\n[![Widget demo](docs\u002Fimages\u002Fmchat.widget.en.png)](docs\u002Fimages\u002Fmchat.widget.en.png)\n\n### Widget chat panel\n\n[![Widget chat panel](docs\u002Fimages\u002Fmchat.chat.en.png)](docs\u002Fimages\u002Fmchat.chat.en.png)\n\n### Channel management\n\n[![Channel management](docs\u002Fimages\u002Fmchat.channel.en.png)](docs\u002Fimages\u002Fmchat.channel.en.png)\n\n## Features\n\n- **Bot engine** — Streaming LLM inference + tool calling; OpenAI, Anthropic, Google, DeepSeek, Ollama, Groq, and more\n- **Skill plugins** — Hot-reload `SKILL.md` packages from disk\u002Fzip\u002FURL, including OpenClaw-compatible formats. Premium skill packs available as vertical channel add-ons\n- **RAG knowledge base** — Multi-strategy chunking, multi-provider embeddings (OpenAI \u002F local \u002F Ollama), hybrid retrieval (vector + BM25 + RRF), multi-provider rerank, query rewriting, parent-child context\n- **Embeddable Widget** — One `\u003Cscript>` tag for branded vertical RAG chat on any website\n- **Multi-tenant** — Independent channel configurations with isolated AI config, skills, and knowledge bases\n- **Vertical channels** — Pre-configured domain RAG packages: AI model, system prompt, knowledge base, rerank strategy, skill packs, widget theme — one-click creation\n- **Multi-channel** — Web Widget, REST, WebSocket, WeChat Official Account (DingTalk\u002FWhatsApp\u002FTelegram [planned](docs\u002Froadmap.en.md#3-channels))\n- **Speech input** — Voice-to-text via OpenAI Whisper (optional local models)\n- **Security** — JWT authentication, API key management, RBAC\n- **Docker** — `docker compose up -d` for full stack deployment\n\n## Quick start\n\n### Docker (recommended)\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwindinwing\u002Fmchat.git\ncd mchat\n\ndocker compose -f ops\u002Fdocker\u002Fdocker-compose.lite.yml up -d\n\n# Admin UI:  http:\u002F\u002Flocalhost:5173\n# API docs:  http:\u002F\u002Flocalhost:3001\u002Fdocs\n# Landing:   http:\u002F\u002Flocalhost:5173\u002F\n```\n\n**Default admin credentials** (created on first startup): `admin` \u002F `admin123`  \nChange the password under **Admin → Users** after sign-in. Override via `ADMIN_USERNAME` \u002F `ADMIN_PASSWORD` in `.env`. Set `SHOW_BOOTSTRAP_CREDENTIALS=false` to hide the hint on the login page in production.\n\n### Embed the Widget\n\n```html\n\u003Cscript\n  src=\"http:\u002F\u002Flocalhost:5173\u002Fwidget-loader.js\"\n  data-mchat-url=\"http:\u002F\u002Flocalhost:3001\"\n  data-agent-id=\"YOUR_AGENT_ID\"\n  data-primary-color=\"#3b82f6\"\n  data-welcome-message=\"Hello! How can I help you?\"\n  data-bot-name=\"Assistant\"\n>\u003C\u002Fscript>\n```\n\n### Local development\n\n```bash\nmake install   # install dependencies\nmake dev       # start backend + frontend\n\n# Backend:  http:\u002F\u002Flocalhost:3001  (\u002Fdocs for Swagger)\n# Frontend: http:\u002F\u002Flocalhost:5173\n```\n```bash\nmake test      # run tests\nmake lint      # lint\nmchat run      # start via CLI\n```\n\n## Project structure\n\n```raw\nmchat\u002F\n├── src\u002F\n│   ├── backend\u002F          # FastAPI (Python 3.12+)\n│   │   └── app\u002F\n│   │       ├── api\u002F      # REST routes\n│   │       ├── bot\u002F      # Bot engine + LLM providers\n│   │       ├── knowledge\u002F# RAG + Milvus\n│   │       ├── skill\u002F    # Skill system\n│   │       └── channels\u002F # WeChat & channel adapters\n│   └── frontend\u002F         # React + Vite + Tailwind\n│       └── src\u002F\n│           ├── i18n\u002F     # zh \u002F en (react-i18next)\n│           └── pages\u002F    # Landing + admin console\n├── skills\u002F               # Skill packages\n├── channel_templates\u002F    # Vertical channel templates (patent, medical, etc.)\n├── docs\u002F                 # Architecture, API, deployment\n├── ops\u002Fdocker\u002F           # Docker Compose\n└── Makefile\n```\n\n## Supported LLM providers\n\n| Provider | Default API base | Notes |\n|----------|------------------|-------|\n| `openai` | https:\u002F\u002Fapi.openai.com\u002Fv1 | GPT-4o, o1, etc. |\n| `anthropic` | https:\u002F\u002Fapi.anthropic.com | Claude |\n| `google` | https:\u002F\u002Fgenerativelanguage.googleapis.com | Gemini |\n| `deepseek` | https:\u002F\u002Fapi.deepseek.com | OpenAI-compatible |\n| `ollama` | http:\u002F\u002Flocalhost:11434\u002Fv1 | Local models |\n| `groq` | https:\u002F\u002Fapi.groq.com\u002Fopenai\u002Fv1 | Fast inference |\n| `zhipu` \u002F `moonshot` \u002F `siliconflow` \u002F `together` | *(configure `api_base`)* | Regional \u002F hosted APIs |\n| `openai-compatible` | *(configure `api_base`)* | Any OpenAI-compatible endpoint |\n\n## API overview\n\n| Group | Path | Description |\n|-------|------|-------------|\n| Chat | `\u002Fapi\u002Fchat\u002F*` | Conversations and messages |\n| Agents | `\u002Fapi\u002Fagents\u002F*` | AI configuration |\n| Knowledge | `\u002Fapi\u002Fknowledge\u002F*` | Documents and retrieval |\n| Widget | `\u002Fapi\u002Fwidget\u002F*` | Embedded chat API |\n| Skills | `\u002Fapi\u002Fskills\u002F*` | Skill management |\n| Channels | `\u002Fapi\u002Fchannels\u002F*` | WeChat and other channels |\n| Channel Templates | `\u002Fapi\u002Fchannels\u002Ftemplates\u002F*` | One-click vertical channel creation |\n| Speech | `\u002Fapi\u002Fspeech\u002F*` | Voice transcription |\n| Auth | `\u002Fapi\u002Fauth\u002F*` | Login \u002F JWT |\n| WebSocket | `\u002Fws` | Real-time streaming |\n| Health | `\u002Fapi\u002Fhealth` | Service status |\n\nSee [docs\u002Fapi.md](docs\u002Fapi.md) or `\u002Fdocs` (Swagger) after startup.\n\n## Internationalization\n\nThe admin console and landing page support **English** and **简体中文**. Language preference is stored in `localStorage` (`mchat_lang`). Switch language from the header or sidebar.\n\n## CLI\n\n```bash\nmchat init\nmchat run\nmchat config show\nmchat skill list\nmchat skill create \u003Cname>\nmchat skill install \u003Curl-or-name>\nmchat db init\nmchat db seed\n```\n## Skill compatibility\n\n- Supports standard frontmatter `SKILL.md` skill packages\n- Supports OpenClaw-style `SKILL.md` locale blocks\n- Admin can install skills by zip upload or URL (`\u002Fapi\u002Fskills\u002Finstall-url`)\n- CLI supports direct URL or ClawHub name install, for example: `mchat skill install patent-search`\n- **Premium skill packs**: Vertical channels can bundle specialized skills as value-added services\n\n## Docker variants\n\n| File | Services | Use case |\n|------|----------|----------|\n| `docker-compose.lite.yml` | MySQL + Backend + Frontend | Dev \u002F lightweight |\n| `docker-compose.yml` | + Milvus, etcd, MinIO, Redis | Full RAG |\n| `docker-compose.prod.yml` | + Nginx HTTPS | Production |\n| `docker-compose.dev.yml` | Hot reload | Local dev |\n\n## Tech stack\n\n**Backend:** FastAPI, SQLAlchemy 2.0, Milvus, OpenAI \u002F Anthropic SDKs, JWT, Loguru  \n\n**Frontend:** React 19, TypeScript, Vite, Tailwind CSS 4, Zustand, react-i18next\n\n## License\n\n[MIT License](LICENSE)\n\n## Contributing\n\nContributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) if present.\n","MChat 是一个轻量级、可嵌入的多租户AI客户服务平台。它集成了强大的Bot引擎、RAG知识库、技能插件系统和可嵌入聊天小部件，支持10多种LLM提供商及多渠道连接（Web小部件、WebSocket、REST API以及消息应用的可扩展通道适配器）。其核心功能包括流式处理LLM推理与工具调用、热加载技能插件包、多策略分块和混合检索的知识库管理等。MChat特别适用于需要在网站上快速部署AI客服解决方案或构建垂直领域问答系统的场景，如专利搜索、医疗咨询、法律问答等领域。通过简单的脚本标签即可轻松嵌入到任何网页中使用。",2,"2026-06-11 04:02:58","CREATED_QUERY"]