yincongcyincong/MuseBot
supports Telegram, Discord, Slack, Lark(飞书),钉钉, 企业微信, QQ, 微信, compatible with various LLMs including OpenAI, Gemini, DeepSeek, Doubao, and OpenRouter. It offers intelligent conversation, image generation, video creation, and more. Works seamlessly in both private chats and group settings.
MuseBot – Multi‑platform LLM chatbot
What it is – MuseBot is an open‑source Go application that turns a variety of communication platforms (Telegram, Discord, Slack, Lark/Feishu, DingTalk, Enterprise WeChat, QQ, WeChat) into AI‑powered chat bots. It forwards user messages to a chosen large‑language‑model (LLM) API (OpenAI, DeepSeek, Gemini, OpenRouter, OrcaRouter, 302.AI, etc.) and streams the model’s reply back to the user.
Core features (as listed in the README)
- AI responses via many LLM providers (text, image, video, TTS where supported).
- Streaming output – replies are sent token‑by‑token for a smoother chat experience.
- Multimodal – can send images to the model and receive image generation, voice input, and function‑call handling.
- RAG support – attach external context to prompts.
- Admin platform for managing bots, registration service for auto‑discovering instances, metrics, and cron jobs to trigger LLM calls.
- Easy deployment – run locally with
go runor use the provided Docker images (Docker Hub and Aliyun registry). - Extensive platform coverage – Telegram, Discord, Slack (socket mode & events API), Lark, DingTalk, Enterprise WeChat, QQ (ONEBOT), WeChat Official Account.
Quick start (from the README)
- Clone & build
git clone https://github.com/yincongcyincong/MuseBot.git cd MuseBot go mod tidy # fetch Go dependencies - Set required env vars (example for Telegram + DeepSeek)
export TELEGRAM_BOT_TOKEN="<your‑telegram‑bot‑token>" export DEEPSEEK_TOKEN="<your‑deepseek‑api‑key>" - Run locally
go run main.go -telegram_bot_token=$TELEGRAM_BOT_TOKEN -deepseek_token=$DEEPSEEK_TOKEN - Or run with Docker
(Aliyun image is also available.)docker pull jackyin0822/musebot:latest docker run -d \ -v /home/user/data:/app/data \ -e TELEGRAM_BOT_TOKEN="$TELEGRAM_BOT_TOKEN" \ -e DEEPSEEK_TOKEN="$DEEPSEEK_TOKEN" \ -p 36060:36060 \ --name my-musebot jackyin0822/musebot:latest
Configuration highlights
| Variable | Purpose | Typical value |
|---|---|---|
TYPE |
Which LLM provider to use (e.g., deepseek, openai, gemini, openrouter…) |
deepseek |
MEDIA_TYPE |
Source for image/video/TTS generation | vol (Volcano Engine) |
DB_TYPE |
Persistence backend – sqlite3 (default) or mysql |
|
LANG |
UI language – en or zh |
|
TOKEN_PER_USER |
Per‑user token limit (0 = unlimited) | |
MAX_USER_CHAT |
Max concurrent chats per user | |
LLM_PROXY / ROBOT_PROXY |
Optional HTTP proxy for LLM or bot traffic |
All other platform‑specific tokens (Telegram, Discord, Slack, Lark, DingTalk, WeChat, QQ, etc.) are set via similarly named environment variables.
Documentation & demos
- Video demos – YouTube links for a generic setup and for each LLM provider (deepseek, gemini, chatgpt).
- Platform docs – Markdown files under
static/doc/cover Discord, Slack, Lark, DingTalk, WeChat, QQ, image handling, audio handling, function calls, RAG, admin UI, registration, metrics, and cron. - Multimodal examples – screenshots in the README show image and voice interactions.
Who might use this?
- Developers who need a ready‑made bridge between popular chat apps and any LLM API.
- Teams deploying internal AI assistants across multiple corporate messengers.
- Hobbyists who want a single bot that can answer questions, generate images, or run scheduled LLM tasks.
License
MIT (as indicated by the badge).
Bottom line – MuseBot is a practical, Go‑based framework for turning everyday messaging platforms into AI chat agents, with support for many LLM back‑ends, streaming replies, multimodal input, and operational features like RAG, metrics, and cron scheduling.
Related
- Project
- Project
- Project
- Project
- Project