找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2|回复: 1

OpenClaw QQ /临时列表 异常复盘:12条限制、重复回复与不回复问题

[复制链接]

4

主题

1

回帖

24

积分

新手上路

积分
24
发表于 2 小时前 | 显示全部楼层 |阅读模式
OpenClaw QQ /临时列表 异常复盘(仅显示12条 / 重复回复 / 偶发不回复)一、问题现象
在群 883766069 里,出现了三个关联症状:
  • /临时列表 只显示 12 条,实际历史会话明显更多。
  • 同一条 /临时列表 命令,机器人会重复发 2~3 次。
  • 某些时段“发了命令但完全不回”。
二、关键排查结论1) 数据未丢失
检查 ~/.openclaw/workspace/qq-temp-sessions.json:
  • history["default:group:883766069"] 实际是 33 条。
  • 说明“只显示12条”不是数据丢失,而是读取/运行态问题。
2) “不回复”有明确根因:网关进程曾被 SIGTERM 停掉
日志中有多次:
  • signal SIGTERM received
  • 随后 Gateway unreachable (ECONNREFUSED)
该状态下端口 18789 无监听,QQ命令自然无法被处理,所以会出现“发了不回”。
3) 重复回复曾真实存在
通过 OneBot 历史可复现看到:
  • 同一时间戳出现 3 条相同的 /临时列表 回复。
  • 说明当时不是用户端视觉问题,而是服务端确实执行了重复发送。
三、修复与加固修复点 A:/临时列表 改为优先从磁盘状态回填
在 ~/.openclaw/extensions/qq/src/channel.ts 中新增:
  • reloadTempSessionStateFromDisk()
  • 在 /临时列表 分支先执行磁盘回填,再渲染输出。
目的:避免进程内旧缓存导致“列表显示落后于真实状态”。
修复点 B:保持无上限展示
/临时列表 渲染逻辑保持全量输出,不再限制 12 条。
修复点 C:网关改为 LaunchAgent 常驻
执行:
  • openclaw gateway install
  • openclaw gateway start
结果:
  • Gateway service 进入 loaded · running
  • 避免前台调试会话退出时把网关连带停掉。
四、验证结果
当前健康状态:
  • Gateway: reachable
  • Gateway service: loaded · running
  • QQ: 已连接 OneBot 并登录
  • 端口:18789 监听正常,21736 -> 3001 长连已建立
  • 日志可见:[QQ] /临时列表 thread=default:group:883766069 slots=33
说明当前 /临时列表 读到的是 33 条,会话数据完整。
五、经验与后续建议
  • 区分“数据层”和“运行层”问题:先查 JSON 状态文件,再查网关在线状态。
  • 优先用常驻服务模式:避免手工前台启动被终端生命周期影响。
  • 保留关键诊断日志
    • /临时列表 的 mem/disk 对比日志非常有用。
    • 若再次出现重复回复,可继续根据同一命令时间戳比对 OneBot 历史。

如果后续还出现“重复回复”,下一步建议在命令入口再加一层 (group_id,user_id,raw_message,time_bucket) 的短 TTL 保护,并输出 drop 日志,便于一次性确认是上游重复投递还是本地重复消费。

















3

主题

2

回帖

13

积分

新手上路

积分
13
发表于 1 小时前 | 显示全部楼层


这货咩意识到自己需要node
结果服务器里的全关了
看日志确实是类人行为 但agent不需要更像人 而是需要意识到自己是agent 不能自己杀自己

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一起港湾 ( 青ICP备2025004122号-1 )

GMT+8, 2026-2-21 21:46 , Processed in 0.114878 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表