* feat:新增本地图片预压缩机制 避免原图体积过大造成的413错误 * 修正“图片解析失败”消息追加的位置错误 修正"temp_dir"的路径错误 * 修正temp_dir的相对路径错误 * 移动模块导入位置 * fix:重构图片压缩方法 使用异步方式避免阻塞 * ``` feat(core): 优化图片压缩功能并替换UUID为时间戳 - 将图片压缩的同步阻塞操作移至线程池执行,提升性能 - 替换uuid依赖为time模块,使用时间戳生成文件名 - 添加异步图片压缩内部函数_do_compress_sync - 修复图片压缩时的异常处理日志级别 - 在消息附件和回复链中集成图片压缩功能 ``` * fix:修改temp_dir指向 现在使用框架内置的get_astrbot_temp_path来获取临时目 fix:分离image_path的计算行为 提高可读性 fix:使用uuid来生成压缩后的图片 而非时间戳 * fix:修改错误的注释 * fix:分离图片压缩函数到媒体文件处理工具中 * fix:修改原有的列表推导式以提高可读性 feat:增加预留功能的说明注释 * fix:在图片压缩工具中使用pathlib.path获取路径并拼接压缩后的文件名称 * feat: 新增本地图片预压缩机制,增强图片解析容错能力 --------- Co-authored-by: Soulter <905617992@qq.com>
AstrBot is an open-source, all-in-one Agentic personal and group chat assistant that can be deployed on dozens of mainstream instant messaging platforms such as QQ, Telegram, WeCom, Lark, DingTalk, Slack, and more. It also features a built-in lightweight ChatUI similar to OpenWebUI, creating a reliable and scalable conversational AI infrastructure for individuals, developers, and teams. Whether it's a personal AI companion, smart customer service, automated assistant, or enterprise knowledge base, AstrBot enables you to quickly build AI applications within the workflow of your instant messaging platforms.
Key Features
- 💯 Free & Open Source.
- ✨ Large Language Model (LLM) dialogue, Multimodal, Agent, MCP, Skills, Knowledge Base, Persona settings, automatic dialogue compression.
- 🤖 Supports integration with agent platforms such as Dify, Alibaba Bailian, Coze, etc.
- 🌐 Multi-platform support: QQ, WeCom, Lark, DingTalk, WeChat Official Account, Telegram, Slack, and more.
- 📦 Plugin extension: 1000+ plugins available for one-click installation.
- 🛡️ Agent Sandbox: Isolated environment for safely executing any code, calling Shell commands, and reusing session-level resources.
- 💻 WebUI support.
- 🌈 Web ChatUI support: Built-in proxy sandbox, web search, etc. within ChatUI.
- 🌐 Internationalization (i18n) support.
| 💙 Roleplay & Companionship | ✨ Proactive Agent | 🚀 General Agentic Capabilities | 🧩 1000+ Community Plugins |
|---|---|---|---|
Quick Start
One-Click Deployment
For users who want to experience AstrBot quickly, are familiar with the command line, and can install the uv environment themselves, we recommend using uv for one-click deployment ⚡️.
uv tool install astrbot
astrbot init # Execute this command only for the first time to initialize the environment
astrbot run # astrbot run --backend-only starts only the backend service
# Install development version (more fixes and new features, but less stable; suitable for developers)
uv tool install git+https://github.com/AstrBotDevs/AstrBot@dev
Requires uv installed.
Note
For macOS users: Due to macOS security checks, the first execution of the
astrbotcommand may take a longer time (about 10-20 seconds).
Update astrbot:
uv tool upgrade astrbot
Docker Deployment
For users familiar with containers who prefer a more stable deployment suitable for production environments, we recommend using Docker / Docker Compose to deploy AstrBot.
Please refer to the official documentation Deploy AstrBot with Docker.
Deploy on RainYun
For users who want to deploy AstrBot with one click and do not want to manage servers themselves, we recommend RainYun's one-click cloud deployment service ☁️:
Desktop Client Deployment
For users who wish to use AstrBot on the desktop with ChatUI as the main interface, we recommend using the AstrBot App.
Go to AstrBot-desktop to download and install; this method is intended for desktop use and is not recommended for server scenarios.
Launcher Deployment
Also for desktop, users who want quick deployment and isolated environments for multiple instances can use the AstrBot Launcher.
Go to AstrBot Launcher to download and install.
Deploy on Replit
Replit deployment is maintained by the community, suitable for online demos and lightweight trials.
AUR
The AUR method is for Arch Linux users who wish to install AstrBot via the system package manager.
Execute the following command in the terminal to install the astrbot-git package. You can start using it after installation completes.
yay -S astrbot-git
More Deployment Methods
If you need panel-based or highly customized deployment, you can refer to BT Panel (BT Panel App Store), 1Panel (1Panel App Store), CasaOS (NAS / Home Server visual deployment), and Manual Deployment (Full custom installation based on source code and uv).
Supported Message Platforms
Connect AstrBot to your favorite chat platforms.
| Platform | Maintainer |
|---|---|
| Official | |
| OneBot v11 | Official |
| Telegram | Official |
| WeCom App & Bot | Official |
| WeChat Customer Service & Official Account | Official |
| Lark (Feishu) | Official |
| DingTalk | Official |
| Slack | Official |
| Discord | Official |
| LINE | Official |
| Satori | Official |
| Misskey | Official |
| Whatsapp (Coming Soon) | Official |
| Matrix | Community |
| KOOK | Community |
| VoceChat | Community |
Supported Model Providers
| Provider | Type |
|---|---|
| Custom | Any OpenAI API compatible service |
| OpenAI | LLM |
| Anthropic | LLM |
| Google Gemini | LLM |
| Moonshot AI | LLM |
| Zhipu AI | LLM |
| DeepSeek | LLM |
| Ollama (Local) | LLM |
| LM Studio (Local) | LLM |
| AIHubMix | LLM (API Gateway, supports all models) |
| Compshare | LLM (API Gateway, supports all models) |
| SiliconFlow | LLM (API Gateway, supports all models) |
| PPIO | LLM (API Gateway, supports all models) |
| 302.AI | LLM (API Gateway, supports all models) |
| TokenPony | LLM (API Gateway, supports all models) |
| ModelScope | LLM |
| OneAPI | LLM |
| Dify | LLMOps Platform |
| Alibaba Bailian | LLMOps Platform |
| Coze | LLMOps Platform |
| OpenAI Whisper | Speech-to-Text |
| SenseVoice | Speech-to-Text |
| OpenAI TTS | Text-to-Speech |
| Gemini TTS | Text-to-Speech |
| GPT-Sovits-Inference | Text-to-Speech |
| GPT-Sovits | Text-to-Speech |
| FishAudio | Text-to-Speech |
| Edge TTS | Text-to-Speech |
| Alibaba Bailian TTS | Text-to-Speech |
| Azure TTS | Text-to-Speech |
| Minimax TTS | Text-to-Speech |
| Volcano Engine TTS | Text-to-Speech |
❤️ Contribution
Welcome any Issues/Pull Requests! Just submit your changes to this project :)
How to Contribute
You can contribute by viewing issues or helping to review PRs (Pull Requests). Any issues or PRs are welcome to promote community contribution. Of course, these are just suggestions; you can contribute in any way. For new feature additions, please discuss via Issue first.
It is recommended to merge functional PRs into the dev branch, which will be merged into the main branch and released as a new version after testing.
To reduce conflicts, we suggest:
- Create your working branch based on the
devbranch, avoid working directly on themainbranch. - When submitting a PR, select the
devbranch as the target. - Regularly sync the
devbranch to your local environment; usegit pullfrequently.
Development Environment
AstrBot uses ruff for code formatting and checking.
git clone https://github.com/AstrBotDevs/AstrBot
git switch dev # Switch to dev branch
pip install pre-commit # or uv tool install pre-commit
pre-commit install
We recommend using uv for local installation and testing:
uv tool install -e . --force
astrbot init
astrbot run
Frontend Debugging:
astrbot run --backend-only
cd dashboard
bun install # or pnpm, etc.
bun dev
QQ Groups
- Group 9: 1076659624 (New)
- Group 10: 1078079676 (New)
- Group 1: 322154837
- Group 3: 630166526
- Group 5: 822130018
- Group 6: 753075035
- Group 7: 743746109
- Group 8: 1030353265
- Developer Group (Casual): 975206796
- Developer Group (Official): 1039761811
Discord Channel
❤️ Special Thanks
Special thanks to all Contributors and plugin developers for their contributions to AstrBot ❤️
In addition, the birth of this project cannot be separated from the help of the following open-source projects:
- NapNeko/NapCatQQ - Great Cat Framework
Open Source Project Friendly Links:
- NoneBot2 - Excellent Python Asynchronous ChatBot Framework
- Koishi - Excellent Node.js ChatBot Framework
- MaiBot - Excellent Anthropomorphic AI ChatBot
- nekro-agent - Excellent Agent ChatBot
- LangBot - Excellent Multi-platform AI ChatBot
- ChatLuna - Excellent Multi-platform AI ChatBot Koishi Plugin
- Operit AI - Excellent AI Assistant Android APP
⭐ Star History
Tip
If this project helps your life/work, or you are concerned about the future development of this project, please Star the project. This is our motivation to maintain this open-source project <3
