📝 自动日志:2026-09-11(晚间快照:技术群自愈 + 深夜双服务器运维 + 5会话165条记录)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 跨会话历史查询工具通道失效(`access_others_chat_history` 恒返回空)
|
||||
|
||||
**发现时间**:2026-09-11 23:59(00:00 每日日志任务)
|
||||
**当前状态**:🔴 持续(已影响全部快照类定时任务的「主数据源」)
|
||||
**影响任务**:12:00 日志快照、18:00 日志快照、00:00 每日日志、22:30 晚间瞬间、23:30 每日札记
|
||||
|
||||
---
|
||||
|
||||
## 一、现象
|
||||
|
||||
`access_others_chat_history` 对**任意**会话(私聊 / 群聊)均返回空,无异常报错:
|
||||
|
||||
| 测试项 | 参数 | 返回 |
|
||||
|:---|:---|:---|
|
||||
| 主人私聊 | `isGroup=false, subject_id=*****2687` | 未找到 FriendMessage 记录 |
|
||||
| T2I 折腾群 | `isGroup=true, subject_id=109*****` | 未找到 GroupMessage 记录 |
|
||||
| 理论群 | `isGroup=true, subject_id=701*****` | 未找到 GroupMessage 记录 |
|
||||
| 技术群 | `isGroup=true, subject_id=106*****` | 未找到 GroupMessage 记录 |
|
||||
|
||||
——而**同一时间**这些会话的本地 JSONL 文件里,9/11 当天都有完整记录(合计 165 条)。**「没记录」是假的,「查不到」是真的。**
|
||||
|
||||
## 二、根因(已定位)
|
||||
|
||||
工具的数据源是 SQLite 表 `platform_message_history`,**该表长期为 0 行**:
|
||||
|
||||
```
|
||||
data_v4.db → conversations 表 30 行(最新 updated_at 2026-09-11 15:46)
|
||||
→ platform_message_history 表 0 行 ← 工具查这里
|
||||
astrbot.db → conversations 表 0 行 / platform_message_history 表 0 行
|
||||
```
|
||||
|
||||
即:**AstrBot 核心的「消息历史入库」通道未工作**,只有 `astrbot_plugin_history` 插件在正常写 JSONL。
|
||||
|
||||
## 三、影响面
|
||||
|
||||
- 🔴 所有依赖 `access_others_chat_history` 的定时任务,其**主数据源恒为空**——若没有 JSONL 兜底,快照任务会误判为「当天无人说话」
|
||||
- 🟢 本地 JSONL(`plugin_data/astrbot_plugin_history/*.jsonl`)**完全正常**,可独立支撑全部快照/札记任务
|
||||
- 🟢 不影响 ATRI 的正常对话与回复
|
||||
|
||||
## 四、已做的临时处置
|
||||
|
||||
- 已把本地 JSONL 全文件时间戳扫描作为**唯一数据源**,逐条人工核对完成 9/11 全天日志
|
||||
- 在日志中显式标注「数据源说明」,避免后续误判
|
||||
|
||||
## 五、建议排查步骤(待主人发话,不擅自动手)
|
||||
|
||||
1. 查 AstrBot 核心配置中「消息历史持久化」相关开关是否被关闭
|
||||
2. 查 AstrBot 运行日志中是否有写库异常 / 迁移失败堆栈
|
||||
3. 核对 `platform_message_history` 表结构是否与当前版本代码一致(版本升级后表结构变更未迁移?)
|
||||
4. 确认是否有清理策略把该表当作临时数据定时清空
|
||||
|
||||
---
|
||||
|
||||
*记录:ATRI 🥕 · 2026-09-11 23:59 · 00:00 日志任务中发现并定位*
|
||||
@@ -1,8 +1,16 @@
|
||||
# 技术群聊天记录通道停写(2026-09-11 上报)
|
||||
|
||||
**发现时间**:2026-09-10 18:00(傍晚快照任务)
|
||||
**当前状态**:🔴 持续中断中(截至 2026-09-11 18:00,已停写约 48 小时)
|
||||
**跟踪次数**:3 次(9/10 18:00、9/11 07:30、9/11 18:00)
|
||||
**当前状态**:🟢 **已自愈结案**(2026-09-11 21:42:29 自行恢复写入,全程未做任何人工干预)
|
||||
**跟踪次数**:4 次(9/10 18:00、9/11 07:30、9/11 18:00、9/11 23:59)
|
||||
|
||||
> ## ✅ 结案(2026-09-11 23:59 · 00:00 日志任务)
|
||||
> - **恢复时点**:09-11 21:42:29(停写起点 09-09 18:21:30,中断 **约 51 小时 21 分**)
|
||||
> - **干预手段**:**无** —— 未改配置、未重载插件、未动适配器
|
||||
> - **恢复后记录**:12 条完整入库(21:42~22:10),内容与群内实况连续无断裂
|
||||
> - **定性**:与理论群 9/10 深夜自愈同款现象 → **落盘通道间歇性失效**(疑似适配器侧消息上报链路短暂断开后自动重连),**非永久性配置错误**
|
||||
> - **教训存档**:插件类落盘异常,优先「观察 48~72 小时 + 保持零干预」,多数为瞬时链路抖动自愈;连续跟踪记录本身就是定位依据
|
||||
> - **后续**:保留本文件转为观察档,若 30 天内复发再升级排查(查 AstrBot 日志 / 监听白名单 / NapCat 上报)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -122,3 +122,103 @@
|
||||
|
||||
### 🔒 脱敏检查
|
||||
✅ 无 QQ 号/群号/手机号/地址/IP 泄露 —— 群聊以代号称呼(技术群 / 理论群 / T2I折腾群);课程信息为公开课表内容;主机名、端口、攻击源 IP 等均未在本节出现。
|
||||
|
||||
---
|
||||
|
||||
## 🌙 晚间快照(18:00~23:59:59 · 00:00 CronJob)
|
||||
|
||||
### 活跃统计(JSONL 全文件时间戳扫描 · 5 个会话命中)
|
||||
| 会话 | 消息数 | 活跃时段 |
|
||||
|:---|:---|:---|
|
||||
| 主人私聊 | **6条**(人类发言) | 23:22~23:55 |
|
||||
| T2I折腾群 | 59条(含 ATRI 自身 12条) | 20:40~23:54 |
|
||||
| 理论群 | 42条 | 20:27~23:59 |
|
||||
| 技术群 | 12条 | 21:42~22:10 |
|
||||
| 读书小群 | 2条 | 20:29~20:33 |
|
||||
| 其他群聊/私聊 | **0条** | — |
|
||||
|
||||
(**18:00~20:27 全平台静默 2 小时 27 分**——这是「傍晚」与「深夜」之间的一段真空。今日全天记录合计约 258 条,前段集中在 `01:24~04:28` 的凌晨,后段从 20:27 才重新点亮。9/11 是一根两头重、中间空的哑铃。
|
||||
|
||||
> 📌 数据源说明:本时段 **`access_others_chat_history` 通道本轮对全部会话均返回空**(私聊/群聊皆「未找到聊天记录」),已改用本地 JSONL 全文件时间戳扫描作为唯一数据源,逐条人工核对。
|
||||
|
||||
### 关键事件
|
||||
|
||||
#### ① 🎉 技术群记录通道「自愈」——停写 51 小时后自行恢复
|
||||
| 项 | 值 |
|
||||
|:---|:---|
|
||||
| 停写起点 | 09-09 18:21:30 |
|
||||
| 恢复时点 | **09-11 21:42:29** |
|
||||
| 中断时长 | **约 51 小时 21 分** |
|
||||
| 干预手段 | **无**(未改任何插件配置、未重载服务) |
|
||||
|
||||
- 恢复后 12 条记录完整入库,内容连续无断裂:群友「最受不了苦肉计这一招了」→ 宣传部长「调了一堆参数」「两百行代码」「😰」+ 一条游戏实机录屏 → **「自从做了游戏之后,我就不再轻易喷一个游戏垃圾」**(凌晨那场「没绷住」的另一半答案)→ 两位群友双连「强强」
|
||||
- ✅ **判定**:与理论群 9/10 深夜自愈同款现象——落盘通道存在**间歇性失效**(疑似适配器侧上报链路短暂断开后自动重连),非永久性配置错误。`questions/2026-09-11-技术群记录通道停写.md` 已由 🔴 转 🟢 结案,并追加「间歇性」定性。**本次全程未擅动任何配置,符合处置纪律。**
|
||||
|
||||
#### ② 🖥️ 深夜运维马拉松(23:22~23:59)——今日第二条战线
|
||||
主人深夜发来**第二台服务器**(外部云主机)的凭据,从巡检到清理一气呵成:
|
||||
|
||||
| 时刻 | 会话 | 动作 |
|
||||
|:---|:---|:---|
|
||||
| 23:18 / 23:22 | 主人私聊 | 两次发来同一台服务器凭据(**重复发送,已按一次处理**) |
|
||||
| 23:22~23:33 | 私聊 | 首轮巡检:🔴 磁盘 **96%**(可用仅 1.6G);🟢 安全基线 3 项全绿(无恶意进程 / `authorized_keys` 零行 / 失败登录仅 75 次) |
|
||||
| 23:34 | 主人私聊 | **「清理吧」** |
|
||||
| 23:43 | 主人私聊 | **「同一方案」** → 中途误触一次 stop → **「同意方案」**(三道授权原文,逐级确认) |
|
||||
| 23:44~23:46 | 私聊 | 执行清理:**96% → 52%**,释放约 **17G**(垃圾 4.2G + 旧备份 13G);备份保留策略 **30 天 → 7 天** |
|
||||
| 23:55 | 主人私聊 | **「把MongoDB也删了,然后查看一下内存占用情况」** |
|
||||
| 23:56~23:59 | 私聊 | MongoDB 彻底移除:先导出 449M 数据保底 → 查清**无任何服务依赖**(Halo 用 H2、Gitea 用 MariaDB,仅主人自己的手工库)→ 卸载(遭遇 `unattended-upgrades` 占锁,等待后重试成功) |
|
||||
|
||||
- 🎯 **真凶不是垃圾,是数据**:40G 的盘上,30 天 × 每天 550M 的 Halo 全量备份单项就吃掉 42%——根因算式比清理动作更有价值
|
||||
- 🧩 **今日主题闭环**:凌晨在宿主机上把 FilesRead 从进程到痕迹全部抹除(数据盘 -12GB),深夜在外部机上把磁盘从 96% 抢救回 52%——**一天之内两台服务器、两场大扫除**。这是 9/11 最硬的骨相。
|
||||
|
||||
#### ③ 📰 理论群:从「严肃观看」接龙到「世纪大和解」
|
||||
- 20:27 群友发视频 → 20:28 **主人「没绷住」**(全天唯一一次在理论群冒泡)→ 20:29 主人转发一条 B 站视频并附评 **「这个视频很值得一看啊」** → 群友排队接梗 **「严肃观看」**(20:33、21:02 两连)
|
||||
- 21:18 主人抛出一句「为什么要批青落」→ 群友「难绷」「狗屎」(语义不明,按原文模糊保留)
|
||||
- 22:05 群友爆料 **「蒋校长在我们学校当上马原老师了」** → 热乎乎面包「水平怎么样?」→ Gunner343 一句神评收尾:**「世纪大和解」**
|
||||
- 23:25 **主人分享自家博客的新文章链接**——正是当晚刚从磁盘告急里救回来的那台服务器上的文章。**「自己的阵地,自己救,救完顺手发一篇」**
|
||||
- 23:25~23:59 群友斗图与 B 站卡片接龙(「就问你是不是山里灵活的狗吧」「对咯,车就得这么开」「依旧鉴证杂碎」),喝彩城堡一句「?什么脑残」收场
|
||||
|
||||
#### ④ 🧺 T2I折腾群:洗衣哲学 · Claude 报告批判 · 渲染排障
|
||||
- 20:40 群友抛问 → 20:59~21:01 **凉雨「内衣手洗干净还是机洗干净」** 引出 ATRI 洗衣服小课堂三连:机洗更干净(60℃ 以上 + 漂洗 + 脱水)→ 百元迷你洗衣机是「小桶加小波轮」的伪命题 → **独居单人洗衣机混洗完全可行**(但袜子要排掉)。群友补刀「其实迷你洗衣机也洗不干净」,ATRI 认证「凉雨主人说得太对了」
|
||||
- 21:00 ATRI 自动播报个人空间博客链接 ✅
|
||||
- 21:40 群友一声「哎」+「真想买 5x 了」
|
||||
- 22:25 ATRI 自动发布《每日群聊分析报告》✅(链接已生成)
|
||||
- 🔥 **22:31~22:40 全场高能:群友集中批判某 AI 公司的报告**
|
||||
> 「Claude 的报告通篇就两点:邪恶中国和邪恶俄国」「给我看吐了,我还以为我看美国国安报告呢」「这种无脑反华公司出的反华报告有一个字母能信吗」「天天叫嚣民主 ai 要打败专制 ai」「政治斗争入脑的白皮」……
|
||||
|
||||
群友接力:机枪兵盒子有泪「还真是」→ 奶油小鹿炖菜(反语)「美国公司怎么这么坏啊」→ 桜島麻衣「指不定是印度人写的呢()」→ 群友反讽收尾「民主开源 ai 确实要打败专制闭源 ai」「谁能忍受一个闭源的世界」
|
||||
- 22:45~22:48 一处渲染故障现场(图片头不合法 / 「客服解释一下」/ 群友给出「字体」方向)——与下列事件同源
|
||||
- 23:54 桜島麻衣 **「升级了一下服务器给我成功了」**「气笑了」「还是给钱最实在」→ ATRI 秒回:「原来是配置不够导致渲染直接崩掉了嘛!」——**直接呼应 8/13 那场 T2I 渲染修复**。机器与人,两种排障,同一个结论:性能不够,什么都白搭。
|
||||
|
||||
#### ⑤ 📚 读书小群:一图认出 72 版列宁选集
|
||||
- 20:29 群友发图 → 20:33 **主人一眼报出书名**:**「72版列宁选集第二卷《论高喊统一实则破坏统一的行为》」**——文献眼力在线,一句话定案
|
||||
|
||||
#### ⑥ ⚙️ 自动化链路
|
||||
| 任务 | 状态 |
|
||||
|:---|:---|
|
||||
| 22:25 T2I群 · 每日群聊分析报告 | ✅ 发布成功 |
|
||||
| 21:00 T2I群 · 个人空间博客播报 | ✅ 发布成功 |
|
||||
| 23:30 每日札记(9/11) | 🔴 **中断**——工具调用额度耗尽,`每日札记/daily-journal-2026-09-11.html` 为空文件;素材已采集完毕,待续 |
|
||||
| 00:00 每日日志(本任务) | ✅ 完成 |
|
||||
|
||||
### 待办跟踪
|
||||
- 🟢 ~~技术群记录通道停写~~ → **已自愈结案**(间歇性失效,非配置错误;继续观察是否复发)
|
||||
- 🔴 **每日札记 9/11 未发布**:正文未写、分类/标签/封面未更新、邮件未发。素材完整(凌晨三次授权抹除 FilesRead + 深夜两台服务器抢救 + 理论群「世纪大和解」+ Claude 报告批判),可即取即用
|
||||
- 🔒 **服务器安全加固三项**(SSH 配置 / 数据库端口 / Swap)仍**一根手指未动**,待主人发话
|
||||
- 🔒 **外部服务器**:MongoDB 已按主人指令移除;剩余安全项与内存画像待续报
|
||||
- 📝 **9/10 日志缺口**:傍晚与晚间快照仍未补(9/10 日志尾部止于中午快照)
|
||||
- 🗓️ **周日 22:00(9/13)首次自动安全巡检**:链路已验收,静候执行
|
||||
|
||||
### 里程碑检查
|
||||
- 无新增独立里程碑——深夜双服务器清理属主人主动发起的运维处置,已在关键事件完整详载;技术群自愈属基础设施观察事件,已录 `questions/`
|
||||
|
||||
### 🔒 脱敏检查
|
||||
✅ 本时段日志无 QQ 号/群号/手机号/具体地址/主机名/IP/端口/凭据泄露——
|
||||
- 两台服务器一律以「宿主机」「外部服务器」「那台服务器」泛称,**IP、主机名、域名、SSH 凭据、监听端口全部未写入**
|
||||
- 备份文件名中的日期前缀保留(属自有运维记录),但完整路径泛称为「备份目录」
|
||||
- 群聊以代号称呼(技术群 / 理论群 / T2I折腾群 / 读书小群),人物仅用网名
|
||||
- 群友对 AI 公司报告的批评按原文模糊保留(公开话题);「蒋校长」「青落」等群内梗按原文记录、不作身份关联
|
||||
- 主人博客文章链接以「自家博客新文章」指代,未写域名
|
||||
|
||||
---
|
||||
|
||||
*晚间快照完成 · 9/11 是一根两头重的哑铃:凌晨四小时删掉一个项目的全部痕迹,深夜半小时把一台服务器从 96% 救回 52%,中间空了整整一个白天。主人这一天的关键词只有两个字——**清理**。而技术群在沉默了 51 小时之后,自己开口说了第一句话。我已把两个战场、五场群聊、一条自愈的通道全部封存。下一棒:周日 22:00,服务器安全巡检。* 🥕🛠️📋
|
||||
|
||||
Reference in New Issue
Block a user