[Bug] QQ 官方机器人开启引用回复后,手机 QQ 在同一气泡内重复显示正文(v4.29.4)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 22/100
Línea de trabajo
The relevant setting is platform_settings.reply_with_quote, and the log line Prepare to send comes from the respond stage (respond.stage, around line 237). Start by checking whether the outgoing QQ official payload contains the body twice when quoting and mentioning are both enabled, and only then examine the client-side rendering. Done means you can state which layer produces the duplicate, with a trace or HTTP-level log to support it; the issue does not yet establish this, and it overlaps with #10650.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
问题描述
使用 QQ 官方机器人适配器在 QQ 群中回复消息,开启「回复时引用发送人消息」(platform_settings.reply_with_quote)后,手机 QQ 会在同一个消息气泡内重复显示一遍完整回答,电脑 QQ 查看对应消息则正常,只显示一份回答。
手机端可见的结构大致为:
[引用用户提问]
回答正文
@提问者 回答正文(相同内容再次出现)
电脑端对应消息为:
[引用用户提问]
@提问者
回答正文(仅一份)
已通过实际排查将触发条件定位到「回复时引用发送人消息」选项。希望保留引用回复时,两端均只显示一份正文。
如何复现?
- 在 AstrBot 中接入 QQ 官方机器人(WebSocket),并在 QQ 群中使用。
- 在该机器人实际使用的配置中开启「回复时引用发送人消息」(
reply_with_quote: true)。本次出现问题时同时开启了reply_with_mention: true。 - 在群中发送
@机器人 你能做什么,等待机器人回复。 - 分别使用手机 QQ 和电脑 QQ 查看对应消息:手机端同一气泡内正文重复,电脑端正常。
AstrBot 版本
4.29.4(WebUI v4.29.4)
操作系统
Linux,x86_64,内核 5.10.134-19.1.al8.x86_64。
部署方式
Docker,Python 3.12.13。
使用的消息平台适配器
QQ 官方机器人(WebSocket),qq_official。
错误日志
诊断包中未见这次回复对应的异常堆栈。以下为相关 INFO 日志节选,用户昵称和 OpenID 已替换为占位符:
[2026-11-02 17:41:54.887] [Core] [INFO] [core.core_lifecycle:167]: AstrBot v4.29.4
[2026-11-02 17:48:08.950] [Core] [INFO] [respond.stage:237]: Prepare to send - <USER>/<USER_OPENID>: [引用消息] [At:<USER_OPENID>]
我可以解答 BigBirdTouch 电脑端版与单机版的使用操作和故障排查问题,包括连接与硬件识别排查、软件及按键映射配置、投屏与光标设置、高级版激活以及常见游戏适配问题。遇到具体问题时直接发送现象或报错,我会为你提供排查步骤。
这条 Prepare to send 日志中的正文只有一份。当前日志级别为 INFO,未开启 trace,也没有最终 QQ HTTP 请求/响应记录,因此上述日志不能证明底层接口调用次数或直接确定重复发生在哪一层。
辅助信息
相关配置节选:
{
"platform_settings": {
"reply_with_quote": true,
"reply_with_mention": true,
"segmented_reply": {
"enable": false
}
},
"provider_settings": {
"streaming_response": false
}
}
诊断包显示加载了内置插件 astrbot、builtin_commands,以及本地插件 astrbot_plugin_bot_manager 1.0.0。尚未提供禁用全部第三方插件后的复测结果。
与已有报告的关系及尚待确认的信息
- 与 #10650 描述的现象一致;该报告的环境为 v4.29.1,本次环境为 v4.29.4。
- 已看到 #10650 中关于「升级手机 QQ 客户端可以解决」的反馈。本次尚未提供手机 QQ 的系统类型、具体版本,以及升级客户端后的复测结果,不能据此认定是 AstrBot 的回归问题或断言最新手机 QQ 仍然受影响。
- 电脑 QQ 的具体版本也尚未记录。
- 现阶段确认的是引用回复选项与手机端重复显示之间的关联,具体根因仍需结合客户端版本和发送载荷进一步确认。
- 原始诊断包包含凭据及无关聊天记录,未公开上传;以上仅保留与问题相关的配置和脱敏日志。
- Lenguaje dominante
- Python
- Estrellas
- 46.4k
- Forks
- 3.4k
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 120
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AstrBotDevs/AstrBot
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
AstrBotDevs/AstrBot#11038 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
AstrBotDevs/AstrBot#11034 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
AstrBotDevs/AstrBot#10999 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug] OpenAI-compatible Gemini 工具 schema const 导致 400Posiblemente ocupada @arccat-114 la tomó hace 17 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
AstrBotDevs/AstrBot#10720 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug] Discord slash command sync aborts with KeyError when a plugin handler is defined in a submodulePosiblemente ocupada @yuexia5 la tomó hace 22 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
AstrBotDevs/AstrBot#10626 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de AstrBotDevs/AstrBot
Issues similares
-
area: providers/aws priority: p2 size: S type: bug type: testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
finos/open-resource-broker#851 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
sandialabs/atlas-ui-3#1196 ·
Los mantenedores suelen responder en 1 día
-
enhancement triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ShaftHQ/SHAFT_ENGINE#7902 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: GraphML export writes invalid XML when a value contains a control character (e.g. form feed)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
topoteretes/cognee#6646 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
DOI-USGS/pywatershed#428 ·