* refactor: pipeline routing rules - add routed_by_rule bypass and diagnostic logging - Add routing rules editor (RoutingRulesEditor component) - Add routed_by_rule bypass logic in response rules - Add diagnostic logging for pipeline routing - Database migration for bot pipeline routing rules - Extract RoutingRulesEditor component from BotForm - Revert log levels to debug * feat: add message_has_element routing rule type Support routing by message element type (Image, Voice, File, Forward, Face, At, AtAll, Quote) with eq/neq operators. * test: add unit tests for pipeline routing rules 20 tests covering _match_operator (eq/neq/contains/not_contains/ starts_with/regex/invalid) and resolve_pipeline_uuid (launcher_type/ launcher_id/message_content/message_has_element/first-match-wins/ skip-invalid/default-operator). * fix(web): add missing 'message_has_element' to routing rule type validation The Zod schema and TypeScript type for PipelineRoutingRule.type were missing the 'message_has_element' variant, causing silent form validation failure when saving routing rules with this type. * feat: add pipeline discard functionality and localization support * feat(web): improve drag-and-drop with DragOverlay, add discard monitoring and pipeline icons - Add DragOverlay for smooth cursor-following drag in routing rules editor - Remove transition to eliminate redundant swap animation on drop - Record discarded messages in monitoring system via _record_discarded_message - Display pipeline name (Workflow icon) and runner name (Play icon) on session monitor messages - Show discard badge on discarded messages in session monitor - Add i18n translations for discarded/userMessage/botMessage * fix: ensure discarded messages appear in session monitor and improve icons - Create/update monitoring session for discarded messages so they show in the bot session monitor (was only inserting message rows, not sessions) - Use human-readable 'Discarded' as pipeline_name instead of '__discard__' - Change runner icon from Play to Bot for better AI Agent semantics * fix: merge discarded messages into same session and remove session-level pipeline name - Use LauncherTypes enum for session_id in discarded messages to match the format used by monitoring_helper (fixes duplicate sessions) - Don't overwrite session pipeline info on discard — a session can have messages from multiple pipelines - Remove pipeline_name from session list and chat header since it's now shown per-message and a session is no longer single-pipeline * fix(web): only show save button on config tab in bot detail page * fix(web): scroll to bottom after messages render in session monitor --------- Co-authored-by: RockChinQ <rockchinq@gmail.com>
Production-grade platform for building agentic IM bots.
Quickly build, debug, and ship AI bots to Slack, Discord, Telegram, WeChat, and more.
English / 简体中文 / 繁體中文 / 日本語 / Español / Français / 한국어 / Русский / Tiếng Việt
Website | Features | Docs | API | Cloud | Plugin Market | Roadmap
What is LangBot?
LangBot is an open-source, production-grade platform for building AI-powered instant messaging bots. It connects Large Language Models (LLMs) to any chat platform, enabling you to create intelligent agents that can converse, execute tasks, and integrate with your existing workflows.
Key Capabilities
- AI Conversations & Agents — Multi-turn dialogues, tool calling, multi-modal support, streaming output. Built-in RAG (knowledge base) with deep integration to Dify, Coze, n8n, Langflow.
- Universal IM Platform Support — One codebase for Discord, Telegram, Slack, LINE, QQ, WeChat, WeCom, Lark, DingTalk, KOOK.
- Production-Ready — Access control, rate limiting, sensitive word filtering, comprehensive monitoring, and exception handling. Trusted by enterprises.
- Plugin Ecosystem — Hundreds of plugins, event-driven architecture, component extensions, and MCP protocol support.
- Web Management Panel — Configure, manage, and monitor your bots through an intuitive browser interface. No YAML editing required.
- Multi-Pipeline Architecture — Different bots for different scenarios, with comprehensive monitoring and exception handling.
→ Learn more about all features
Quick Start
☁️ LangBot Cloud (Recommended)
LangBot Cloud — Zero deployment, ready to use.
One-Line Launch
uvx langbot
Requires uv. Visit http://localhost:5300 — done.
Docker Compose
git clone https://github.com/langbot-app/LangBot
cd LangBot/docker
docker compose up -d
One-Click Cloud Deploy
More options: Docker · Manual · BTPanel · Kubernetes
Supported Platforms
| Platform | Status | Notes |
|---|---|---|
| Discord | ✅ | |
| Telegram | ✅ | |
| Slack | ✅ | |
| LINE | ✅ | |
| ✅ | Personal & Official API | |
| WeCom | ✅ | Enterprise WeChat, External CS, AI Bot |
| ✅ | Personal & Official Account | |
| Lark | ✅ | |
| DingTalk | ✅ | |
| KOOK | ✅ | |
| Satori | ✅ |
Supported LLMs & Integrations
| Provider | Type | Status |
|---|---|---|
| OpenAI | LLM | ✅ |
| Anthropic | LLM | ✅ |
| DeepSeek | LLM | ✅ |
| Google Gemini | LLM | ✅ |
| xAI | LLM | ✅ |
| Moonshot | LLM | ✅ |
| Zhipu AI | LLM | ✅ |
| Ollama | Local LLM | ✅ |
| LM Studio | Local LLM | ✅ |
| Dify | LLMOps | ✅ |
| MCP | Protocol | ✅ |
| SiliconFlow | Gateway | ✅ |
| Aliyun Bailian | Gateway | ✅ |
| Volc Engine Ark | Gateway | ✅ |
| ModelScope | Gateway | ✅ |
| GiteeAI | Gateway | ✅ |
| CompShare | GPU Platform | ✅ |
| PPIO | GPU Platform | ✅ |
| ShengSuanYun | GPU Platform | ✅ |
| 接口 AI | Gateway | ✅ |
| 302.AI | Gateway | ✅ |
Why LangBot?
| Use Case | How LangBot Helps |
|---|---|
| Customer Support | Deploy AI agents to Slack/Discord/Telegram that answer questions using your knowledge base |
| Internal Tools | Connect n8n/Dify workflows to WeCom/DingTalk for automated business processes |
| Community Management | Moderate QQ/Discord groups with AI-powered content filtering and interaction |
| Multi-Platform Presence | One bot, all platforms. Manage from a single dashboard |
Live Demo
Try it now: https://demo.langbot.dev/
- Email:
demo@langbot.app - Password:
langbot123456
Note: Public demo environment. Do not enter sensitive information.
Community
Star History
Contributors
Thanks to all contributors who have helped make LangBot better: