AstrBot is an open-source all-in-one Agent chatbot platform that integrates with mainstream instant messaging apps. It provides reliable and scalable conversational AI infrastructure for individuals, developers, and teams. Whether you're building a personal AI companion, intelligent customer service, automation assistant, or enterprise knowledge base, AstrBot enables you to quickly build production-ready AI applications within your IM platform workflows.
This repository is a modernized fork of AstrBot. The code, commands, deployment files, and compatibility expectations documented here describe this fork only: Python 3.14+, uv for backend workflows, pnpm for the dashboard, and no legacy compatibility shims.
- 💯 Free & Open Source.
- ✨ AI LLM Conversations, Multimodal, Agent, MCP, Skills, Knowledge Base, Persona Settings, Auto Context Compression.
- 🤖 Supports integration with Dify, Alibaba Cloud Bailian, Coze, and other agent platforms.
- 🌐 Multi-Platform: QQ, WeChat Work, Feishu, DingTalk, WeChat Official Accounts, Telegram, Slack, and more.
- 📦 Plugin extensions with a community marketplace and a sandboxed Dashboard Extension Protocol.
- 🛡️ Agent Sandbox for isolated, safe execution of code, shell calls, and session-level resource reuse.
- 💻 WebUI Support.
- 🌈 Web ChatUI Support with built-in agent sandbox and web search.
- 🌐 Bilingual WebUI: Simplified Chinese and English.
| 💙 Role-playing & Emotional Companionship | ✨ Proactive Agent | 🚀 General Agentic Capabilities | 🧩 Community Plugins |
|---|---|---|---|
This fork currently publishes neither a PyPI package nor prebuilt release assets. The package named astrbot on PyPI, AUR packages, and upstream container images do not represent this branch. Run the current code from a checkout:
git clone https://github.com/Xero-Team/AstrBot.git
cd AstrBot
uv sync --locked
cd dashboard
pnpm install --frozen-lockfile
pnpm build
cd ..
uv run python scripts/sync_dashboard_dist.py
uv run main.pyInstall uv, Node.js 26.5.0, and pnpm 11.21.0 first. The checkout pins Python 3.14.6 and the required pnpm version. On first startup, open http://localhost:6185 and use the random password printed in the log; the default username is astrbot.
If you enable local text-to-image or plugin HTML rendering, also run uv run astrbot install-browser once. See Deploy AstrBot from Source for updates, remote access, and security guidance.
This fork does not publish an official prebuilt image. Build from the current checkout. Compose binds the containerized Dashboard to 0.0.0.0, while host ports bind to 127.0.0.1 by default. For remote access, explicitly set ASTRBOT_BIND_ADDRESS=0.0.0.0 and configure a firewall or HTTPS reverse proxy.
Then build and start it:
git clone https://github.com/Xero-Team/AstrBot.git
cd AstrBot
docker compose up -d --build
docker compose logs -f astrbotCompose builds the complete runtime by default. To omit optional browser,
document-conversion, media, OCR, Node.js, or Docker CLI assets, set the
ASTRBOT_FEATURES build argument and rebuild the image:
The minimal profile still serves the WebUI: the Dashboard is compiled into
static files during the image build and served by AstrBot's Python/FastAPI
runtime. Add node only for Node-based MCP launchers and other Node.js
integrations.
# Minimal runtime for a smaller image
ASTRBOT_FEATURES=minimal docker compose up -d --build
# Enable only Chromium, Node.js, and Docker CLI
ASTRBOT_FEATURES=browser,node,docker docker compose up -d --buildTo persist the choice, add for example
ASTRBOT_FEATURES=browser,media,fonts to .env in the repository root.
The NapCat stack accepts the same argument:
ASTRBOT_FEATURES=browser,node,docker \
docker compose -f compose-with-napcat.yml up -d --buildIf you want to start AstrBot and NapCat together from this repository:
docker compose -f compose-with-napcat.yml up -d --buildBinding to 0.0.0.0 is an explicit exposure choice. Restrict access with a firewall and preferably an HTTPS reverse proxy. More details: Deploy AstrBot with Docker.
Connect AstrBot to your favorite chat platform.
| Built-in integration | Adapter type(s) |
|---|---|
| QQ Official Bot | qq_official, qq_official_webhook |
| OneBot v11 | aiocqhttp |
| NapCat | napcat |
| Telegram | telegram |
| WeCom / WeCom AI Bot | wecom, wecom_ai_bot |
| WeChat Official Account / Personal | weixin_official_account, weixin_oc |
| Lark / DingTalk | lark, dingtalk |
| Slack / Discord | slack, discord |
| LINE / Satori / KOOK | line, satori, kook |
| Misskey / Mattermost | misskey, mattermost |
| Built-in browser chat | webchat |
This table reflects the current built-in adapter discovery map. Plugins can add more adapters; the Bots → Create Bot list in the running WebUI is authoritative. See Messaging Platforms.
| Service type | Current built-in range |
|---|---|
| Chat models | OpenAI Chat Completions/Responses and compatible APIs, Anthropic, Gemini, Zhipu, Xiaomi, MiniMax, Kimi Code, xAI, Groq, OpenRouter, and others |
| Local models | Ollama and LM Studio through their supported APIs |
| Agent Runners | Built-in local Agent plus Dify, Coze, Alibaba Cloud Bailian applications, and DeerFlow |
| Speech | Whisper, SenseVoice, Xiaomi MiMo, Xinference, OpenAI/Gemini/Edge/Azure/ElevenLabs TTS, GPT-SoVITS, FishAudio, DashScope, and others |
| Embedding / Rerank | OpenAI, Gemini, NVIDIA, Ollama, vLLM, Xinference, and Alibaba Cloud Bailian |
Provider templates come from the code registry and evolve over time. Treat Providers → Add Provider Source in the running WebUI as authoritative; see Model Providers.
Issues and Pull Requests are always welcome. Please target this fork's repository and keep documentation aligned with the current branch behavior rather than upstream historical behavior.
You can contribute by reviewing issues or helping with pull request reviews. Any issues or PRs are welcome to encourage community participation. Of course, these are just suggestions—you can contribute in any way you like. For adding new features, please discuss through an Issue first.
Use the repository's reproducible toolchain and checks:
git clone https://github.com/Xero-Team/AstrBot.git
cd AstrBot
make doctor
make bootstrapFor the complete Linux workflow, including tool installation, development servers, logs, checks, and NapCat code generation, see Linux Development.
Special thanks to all Contributors and plugin developers for their contributions to AstrBot ❤️
Additionally, the birth of this project would not have been possible without the help of the following open-source projects:
- NapNeko/NapCatQQ - The amazing cat framework
Tip
If this project has helped you in your life or work, or if you're interested in its future development, please give the project a Star. It's the driving force behind maintaining this open-source project <3
Companionship and capability should never be at odds. What we aim to create is a robot that can understand emotions, provide genuine companionship, and reliably accomplish tasks.
私は、高性能ですから!





