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 chatbot powered by LLM APIs

What it is – MuseBot is an open‑source Go application that turns a variety of communication tools (Telegram, Discord, Slack, Lark/Feishu, DingTalk, Enterprise WeChat, QQ, WeChat, and a generic Web API) into AI‑driven chat bots. It forwards user messages to a large‑language‑model (LLM) service of your choice (OpenAI, DeepSeek, Gemini, OpenRouter, OrcaRouter, 302.AI, etc.) and streams the model’s reply back to the user.

Key capabilities

  • LLM‑agnostic – supports dozens of text‑generation providers and can also call image‑generation, video‑generation, and speech‑to‑text services where available.
  • Streaming responses – the bot pushes partial tokens as they arrive, giving a real‑time feel.
  • Multimodal – you can send images or voice recordings; MuseBot forwards them to the LLM (or to a separate media API) and returns the model’s interpretation.
  • Function‑call bridge – a built‑in “mcp protocol → function call” layer lets you expose custom functions to the LLM.
  • Skill system – plain‑text SKILL.md files can be loaded as task templates for structured workflows.
  • RAG support – optional retrieval‑augmented generation to enrich context from a local SQLite/MySQL store.
  • Admin platform & metrics – a lightweight UI for managing bots and Prometheus‑style metrics for monitoring.
  • Cron jobs – schedule periodic prompts to an LLM (e.g., daily summaries).

Supported platforms (all listed as ✅ in the README)

Platform How it works
Telegram Uses go-telegram-bot-api; supports commands, inline buttons, ForceReply, etc.
Discord Standard Discord bot via the Discord API
Slack Socket Mode / Events API with Block Kit support
Lark (Feishu) Long‑connection SDK handling image/audio download
DingTalk Long‑connection SDK
Enterprise WeChat HTTP callback endpoint
QQ (OneBot) HTTP bridge to OneBot protocol
WeChat (Official) HTTP callback endpoint
Web API Generic REST endpoint you can call from any front‑end

Getting started

  1. Clone & build
    git clone https://github.com/yincongcyincong/MuseBot.git
    cd MuseBot
    go mod tidy   # fetch Go dependencies
    
  2. Configure – set the required environment variables (at minimum a bot token for the platform you’ll use and an LLM token). Example for Telegram + DeepSeek:
    export TELEGRAM_BOT_TOKEN="<your‑telegram‑token>"
    export DEEPSEEK_TOKEN="<your‑deepseek‑api‑key>"
    
    Additional variables let you switch providers (TYPE, MEDIA_TYPE), choose a database (DB_TYPE/DB_CONF), and proxy network traffic.
  3. Run
    go run main.go -telegram_bot_token=$TELEGRAM_BOT_TOKEN -deepseek_token=$DEEPSEEK_TOKEN
    
    Or use the published Docker image:
    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 musebot jackyin0822/musebot:latest
    
  4. Optional extras – enable image handling (IMAGE_CONF), voice (AUDIO_CONF), function calls, RAG, cron jobs, etc., by following the markdown docs linked in the README (static/doc/*.md).

Why you might use it

  • Quickly give any team‑communication tool an AI assistant without writing custom integration code.
  • Centralize LLM credentials; switch providers by changing a single env var.
  • Extend with your own functions or retrieval data via the built‑in skill/RAG system.
  • Deploy with Docker or on a simple VM; the project includes CI via GitHub Actions and a ready‑to‑pull Docker image.

Links & resources


All information above is taken directly from the repository’s README; no additional features have been inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project