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 run or 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)

  1. Clone & build
    git clone https://github.com/yincongcyincong/MuseBot.git
    cd MuseBot
    go mod tidy   # fetch Go dependencies
    
  2. Set required env vars (example for Telegram + DeepSeek)
    export TELEGRAM_BOT_TOKEN="<your‑telegram‑bot‑token>"
    export DEEPSEEK_TOKEN="<your‑deepseek‑api‑key>"
    
  3. Run locally
    go run main.go -telegram_bot_token=$TELEGRAM_BOT_TOKEN -deepseek_token=$DEEPSEEK_TOKEN
    
  4. Or run with Docker
    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
    
    (Aliyun image is also available.)

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.

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目