AstrBot 全平台聊天记录查看插件,以聊天窗口 WebUI 统一展示用户与机器人的对话记录。
Warning
本插件代码由 AI 全量生成,未包含人工编写代码,可能存在功能、安全、兼容性或数据处理风险。请在部署前自行审查代码,并先在测试环境验证;使用本插件造成的风险与损失由使用者自行承担。
- 按会话展示全平台用户与机器人的完整对话,支持查看机器人推理内容。
- 提供合并消息时间线,包含指令消息及其机器人回复。
- 在 AstrBot 删除临时文件前,持久化聊天中发送和接收的图片、媒体和文件。(但受限于Onebotv11的特殊限制,插件无法显示Onebotv11的图片、媒体和文件)
- 支持平台筛选、关键词搜索、手动和定时清理过期的插件记录与媒体。
- 支持聊天命令、独立 WebUI 端口和 AstrBot Dashboard 插件页面三种访问方式。
安装并启用以下插件后再安装本插件:
astrbot_plugin_message_recorder:必需。该插件提供用户消息查询 API,是本插件的用户消息数据源。
本插件还读取 AstrBot 官方 data_v4.db 的 conversations 表以补充机器人回复;该访问始终为只读,不会修改 AstrBot 主数据库。
- 安装并启用前置插件
astrbot_plugin_message_recorder。 - 将本插件目录放入 AstrBot 的插件目录,例如:
cp -r astrbot_plugin_chatlog_webui /root/AstrBot/data/plugins/- 重启 AstrBot,或通过 Dashboard 重新加载插件。
要求:AstrBot 版本 >=4.16,<5。
/chatlogs 查看最近 10 条对话
/chatlogs 30 查看指定数量的对话,最大 50 条
/对话记录 /chatlogs 的中文别名
默认访问地址:
http://<服务器IP>:6197/
默认独立端口不要求登录。若已设置 public_webui_token,请使用:
http://<服务器IP>:6197/?token=<你的令牌>
登录 AstrBot Dashboard 后,依次打开:插件 -> astrbot_plugin_chatlog_webui -> chatlog 页面。
也可通过以下认证路径访问:
http://<服务器IP>:6185/api/plug/astrbot_plugin_chatlog_webui/ui
在 AstrBot Dashboard 的插件配置中调整:
| 配置项 | 默认值 | 说明 |
|---|---|---|
webui_base_url |
空 | WebUI 完整访问地址前缀;留空自动探测服务器 IP。 |
public_webui_port |
6197 |
独立 WebUI 端口;设为 0 时禁用独立服务,仅保留 Dashboard 认证访问。 |
public_webui_token |
空 | 独立 WebUI 访问令牌;留空表示不限制访问。 |
default_show_count |
10 |
/chatlogs 默认显示的对话数量。 |
cleanup_enabled |
true |
是否自动清理插件自建的过期记录和持久化媒体。 |
cleanup_keep_days |
30 |
自动清理保留天数。设为 0 时不清理。 |
cleanup_interval_hours |
24 |
自动清理检查间隔,单位为小时。 |
| 数据 | 来源 | 说明 |
|---|---|---|
| 用户消息 | astrbot_plugin_message_recorder 的 MessageRecorderAPI |
通过前置插件 API 查询。 |
| 机器人回复 | AstrBot data_v4.db 的 conversations 表;插件自建 records.db |
前者只读;后者用于补充实时发送的机器人文本与媒体。 |
| 媒体文件 | AstrBot 临时目录、message recorder 媒体目录、插件数据目录 | 插件仅将聊天记录相关媒体复制到自己的数据目录。 |
- 独立 WebUI 的默认端口为免认证访问。生产环境请设置
public_webui_token、使用防火墙限制访问来源,或将public_webui_port设置为0后仅通过 Dashboard 访问。 - 聊天记录可能包含敏感信息。请遵循所在平台、组织和地区的数据保护要求,并限制有权访问 WebUI 的人员。
- 本插件不会写入 AstrBot 的
data_v4.db,但会在自身plugin_data/astrbot_plugin_chatlog_webui/目录保存机器人消息记录和媒体副本。
python -m py_compile main.pyMIT