ARTICLE · 1256854
把 AI 助手接进聊天软件:AstrBot 本地 Docker 部署实测
你可能已经有一个好用的大模型,却还是得反复打开网页、复制资料、切换窗口。真正缺的,往往是一个能把模型、聊天入口和工具接起来的地方。
AstrBot 做的就是这件事。
这次我把它部署到了本地 Docker,接上 DeepSeek,实际跑了两轮中文对话和一条内置指令。先说体验:从启动服务到浏览器聊天,这条路径跑通了;接进 QQ、飞书等消息平台,还需要各平台自己的接入配置。
本文基于 2026 年 10 月 26 日的本地测试,AstrBot 与 WebUI 版本均为 v4.29.3。正文图片是本地实测截图,封面为 AI 生成的概念插画。
01|AstrBot 值得看在哪里?
按项目的定位,AstrBot 是一个开源的 Agent 聊天机器人平台。它把模型服务、消息平台、插件和会话管理放进同一个管理界面。
理解它,可以先分成三层:
○ 入口:接收 QQ、企业微信、飞书、Telegram 等平台的消息,也提供浏览器里的 ChatUI。
○ 模型:接入兼容服务,负责理解问题、生成回复。
○ 能力:通过插件、MCP、Skills、知识库等扩展任务范围。
我更看重的是这套连接和管理能力。你可以先在浏览器里验证模型能否正常工作,再逐步增加聊天渠道和工具,排错时也更容易知道问题落在哪一层。
项目列出了多种消息平台和模型服务,但每个适配器的接入条件并不相同。“项目支持”不等于填完一个 Key,所有聊天软件就自动连上了。
02|先在本地把服务跑起来
本次环境是 Windows + Docker Desktop,运行 Linux 容器。镜像使用官方部署文档指定的 soulter/astrbot,实际拉到的程序版本为 v4.29.3。
如果你也用 PowerShell,可以新建一个测试目录,再执行:
mkdir astrbot-local cd astrbot-local docker run -d --name astrbot-local --restart unless-stopped -p 127.0.0.1:6185:6185 -e TZ=Asia/Shanghai -v "${PWD}/data:/AstrBot/data" --security-opt no-new-privileges:true soulter/astrbot:latest 这里有三个和复现直接相关的细节:
端口只绑定本机。 打开 http://127.0.0.1:6185 就能访问管理面板,适合先在自己的电脑上试用。
数据目录要挂载。 配置、数据库等数据写到宿主机的 data 目录,方便后续备份和重建容器。
这次只开放 6185。 这是 WebUI 端口;官方示例里的 6199 用于可选的 OneBot v11 接入,本次浏览器测试不需要。
查看启动情况:
docker logs astrbot-local 新实例会把随机初始密码写进日志,用户名通常为 astrbot。本次首次登录进入了账户设置流程,完成初始化后才能继续使用。不要照搬旧教程,把默认密码当成固定值。

图 1:本地部署后的欢迎页。模型配置与消息平台接入是独立步骤。
命令里的 latest 会随时间变化。我另外保存了一份固定镜像摘要的 Compose 文件,方便回看这次测试究竟用了哪个镜像。
03|配置模型,别漏掉“选择模型”
服务启动后,还需要一个可用的模型服务。本次配置的是 DeepSeek,ChatUI 显示的提供商/模型标识为 deepseek/deepseek-flash。
按当前官方文档,接入流程是:进入「模型提供商」,新增服务,填写 API Key 与 API Base URL,保存并获取模型,再添加、启用要使用的模型。
如果希望机器人默认使用它,还要到「配置文件」的「AI → 模型」里设置对话模型并保存。这次测试则在 ChatUI 顶部直接选中了该模型。
Key 填好了、模型添加了、当前对话选中了,是三个需要分别确认的状态。 排查“为什么不回复”时,先把这三项对齐。
另一个容易混淆的点:本地部署的是 AstrBot 服务。此次回复仍来自外部模型 API,因此不能据此说整套系统可以离线使用,或消息完全不离开本机。
04|两轮对话,实际表现怎么样?
第一轮,我让它用中文、100 字以内解释 AstrBot 与大模型的分工,并给出两个个人使用场景,要求不使用工具。
它成功返回了中文回答,把平台侧的连接、流程管理与模型侧的理解、生成分开说明,并提出“私人知识助手”和“定时陪伴”两个场景。

图 2:ChatUI 中的真实模型回复,顶部可见本次选用的模型。
这轮证明了 ChatUI → AstrBot → 模型服务 → 返回回复 的链路能工作。不过回答明显超过了 100 字,还追加了一句追问。连通性通过了,严格遵守长度要求则没有做到。
第二轮,我没有重述场景,而是接着问:
只针对你刚才列出的第一个场景,给我一份最小启动清单。只输出三个编号步骤,不使用工具,也不要追加提问。
它承接了前文的“私人知识助手”,返回三个编号步骤,没有追加提问。

图 3:第二轮能理解“第一个场景”指什么,并按要求输出三个步骤。
这个小测试说明当前会话的上下文传递正常,但还不足以评价长对话、跨会话记忆或复杂任务规划。
也别直接把截图里的模型回答当作部署教程。例如,真正建立知识库还需要可用的嵌入模型、资料解析与检索验证,不能只凭一句“上传文档建库”就认为配置完成。
05|再测一条不靠模型生成的指令
接着发送 /help,AstrBot 返回了自身与 WebUI 的版本,以及当前启用的指令列表:包括 /new、/reset、/sid、/stats、/stop 等。

图 4:/help 的实际返回,版本与管理面板一致。
这与前两轮自然语言回复不同:它验证的是 AstrBot 自己的指令处理链路。
我还重启了测试容器,再打开同一个会话。模型选择、两轮问答和帮助指令记录都还在,挂载数据的持久化在这次重启测试中正常。
这些都是轻量验证,没有做并发压测,也没有测试图片、语音或复杂工具调用。不能从三次交互推导出生产稳定性。
06|下一步,我会按这个顺序折腾
先接一个消息入口。 在 WebUI「机器人」里选择平台,按照对应指南准备凭据和连接方式,先完成一收一发。本文没有连接真实 QQ 群、飞书或微信会话。
再加一小份知识库。 用自己熟悉、容易核对答案的资料,分别测试“文档里有答案”和“文档里没有答案”的问题。模型能接话,和它能可靠引用你的资料,是两回事。
最后再接工具。 插件、MCP 和 Skills 的作用不同。以 MCP 为例,服务连接成功后,还要确认模型支持工具调用、当前人格允许使用对应工具,并观察它是否真的调用了工具。
如果你的目标是把 AI 放进日常聊天入口,AstrBot 提供了一条可以逐步验证的路径:先启动,接模型,完成一轮对话,再增加渠道与能力。
这次最有价值的收获,是把“平台装好了”和“助手能工作”分开验证。前者看容器与面板,后者看真实请求、回复和日志。每走通一小段,再往前加一段。
你更想先把它接进聊天群,还是先做一个能查自己资料的助手?
参考资料
AstrBot 官方仓库:https://github.com/AstrBotDevs/AstrBot















































































