手把手教你搭建astrbot
什么是 AstrBot?
AstrBot 是一个易于上手的多平台聊天机器人及开发框架。通过它,你能够在多种消息平台上部署一个支持大语言模型(LLM)的聊天机器人。并以此实现但不限于 AI 知识库问答、角色扮演、群聊管理、LLM Agent 等功能。
AstrBot 更是强大的 Agent 运行平台。支持子代理 (Sub-Agent) 协同工作、复杂任务编排、工具调用与上下文管理,让 AI 具备真正的行动力。
多 AI 提供商兼容支持 OpenAI、Google、Anthropic 及兼容 OpenAI API 的服务商,自由切换模型与推理能力。
AstrBot 能够提供富有温度的情感交互体验,分段回复与主动对话模拟真实人类的聊天节奏,支持长文本分段发送。通过插件,可以在适当时机主动发起对话,不再只是冷冰冰的问答机器。
多平台可接入 QQ、微信生态、企业微信、飞书、钉钉、Telegram、Discord、Slack、KOOK 等平台,一套能力多端复用。
完善的插件系统:AstrBot 提供了完善、及其易于上手的插件系统,你可以通过插件实现自己的功能。开发一个插件,只需要几行代码。
开始部署(使用Docker部署)
mkdir astrbot
cd astrbot
sudo docker run -itd -p 6185:6185 -p 6199:6199 -v $PWD/data:/AstrBot/data -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --name astrbot soulter/astrbot:latest通过以下命令查看 astrbot 日志
sudo docker logs -f astrbotWindows 下不需要加 sudo
🎉 大功告成
如果一切顺利,你会看到 AstrBot 打印出的日志。
如果没有报错,你会看到一条日志显示类似 🌈 管理面板已启动,可访问 并附带了几条链接。打开其中一个链接即可访问 AstrBot 管理面板。
由于 Docker 隔离了网络环境,所以不能使用
localhost访问管理面板。首次登录请使用启动日志中打印的随机初始密码(用户名通常为
astrbot)。登录后请立即修改密码。如果部署在云服务器上,需要在相应厂商控制台里放行对应端口。
更多部署方式请参考官方文档
FAQ
当管理面板打开时遇到 404 错误
在 release 页面下载 AstrBot-vxxxxx-dashboard.zip,解压拖到 AstrBot/data 下。还不行请重启电脑(来自群里的反馈)
首次登录的默认账号和随机密码
首次启动时,WebUI 的默认账号为 astrbot,默认密码会随机生成,不会写死为固定值。请在启动日志中查找以下内容并使用日志中的随机初始密码登录:
[00:27:40.590] [Core] [INFO] [dashboard.server:523]:
✨✨✨
AstrBot v4.24.3 WebUI is ready
➜ Local: http://localhost:6185
➜ Initial username: astrbot
➜ Initial password: UiYVpZxnW8k22IWqf0ru5pOy
➜ Change it after logging in
✨✨✨
Set dashboard.host in data/cmd_config.json to enable remote access.其中的 UiYVpZxnW8k22IWqf0ru5pOy 就是默认密码。在使用默认密码登录后,会自动进入设置账户环节。
管理面板的密码忘记了
如果你忘记了 AstrBot 管理面板的密码,你可以直接使用CLI工具astrbot password来更改密码
另外,你也可以在 AstrBot/data/cmd_config.json 配置文件中找到 "dashboard" 字段,如下:
"dashboard": {
"enable": true,
"username": "astrbot",
"password": "81e0c3dxxxxxxxxxxx78862e78",
"pbkdf2_password": "pbkdf2_sha256$600000$1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"password_storage_upgraded": true,
"password_change_required": true,
"jwt_secret": "5e1b0280bcxxxxxxxxxxxxxxxxf4a",
"host": "127.0.0.1",
"port": 6185,
"disable_access_log": true,
"ssl": {
"enable": false,
"cert_file": "",
"key_file": "",
"ca_certs": ""
}
},删除 username, password, pbkdf2_password, password_storage_upgraded, password_change_required, jwt_secret 六个字段(连同值一起),然后保存。上述片段修改类似如下:
"dashboard": {
"enable": true,
"host": "127.0.0.1",
"port": 6185,
"disable_access_log": true,
"ssl": {
"enable": false,
"cert_file": "",
"key_file": "",
"ca_certs": ""
}
},重启后 AstrBot 将会自动生成随机的密码以及固定的用户名 astrbot,请在日志查看。


