[Bug] WebChat 聊天偏好在刷新后重置:流式输出、显示思考内容及发送快捷键
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
- Ambito
- frontend
Direzione di ricerca
Inizia da dashboard/src/components/chat/Chat.vue, in particolare dall’inizializzazione delle tre preferenze e dalla gestione esistente di localStorage per chat.transportMode nelle vicinanze delle righe indicate. Verifica il comportamento attuale, quindi fai in modo che le tre scelte persistano dopo un aggiornamento della pagina nello stesso browser e conferma che i passaggi per riprodurre il problema non ripristinino più i relativi valori predefiniti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
问题描述
在 AstrBot v4.29.0-beta.1 的 WebChat「设置 → 聊天」中,「流式输出」「显示思考内容」和「发送快捷键」的选择均未在刷新后保留,而同一菜单中的 SSE/WebSocket 传输方式能够保留用户选择。
这些设置集中在同一菜单中,却采用不同的持久化策略,使用上略显反直觉。是否使用流式输出、是否显示思考内容,以及选择哪种发送快捷键,都比较偏向个人使用习惯,因此期望刷新页面后能够保留这些选择。
目前不确定上述三项设置不持久化是有意设计,还是遗漏,希望维护者确认预期行为。如果并非有意设计,我愿意提交 PR,参照同一菜单中 SSE/WebSocket 传输方式的现有做法,使用浏览器本地存储保存这三项偏好。
如何复现?
- 打开 WebChat,进入「设置 → 聊天」。
- 关闭「流式输出」和「显示思考内容」,将「发送快捷键」改为
Shift+Enter。 - 刷新当前网页。
- 再次打开「设置 → 聊天」,观察这三项设置恢复默认值。
对照测试:更改 SSE/WebSocket 传输方式后刷新网页,该选择能够保留。
实际行为与预期行为
| 设置 | 刷新后的实际行为 |
|---|---|
| 流式输出 | 恢复开启 |
| 显示思考内容 | 恢复开启 |
| 发送快捷键 | 恢复为 Enter |
| SSE/WebSocket 传输方式 | 保留用户选择 |
期望行为:在同一浏览器中刷新页面后,保留上述三项聊天偏好,使其与传输方式设置的持久化行为保持一致。
如果刷新后恢复默认值属于预期设计,希望说明这些设置采用不同持久化策略的原因;如果预期应保留,则希望补齐持久化。
AstrBot 版本
v4.29.0-beta.1
操作系统
Windows
部署方式
AstrBot Launcher
使用的消息平台适配器
WebChat(WebUI 内置聊天页面)
其他系统信息
后端系统环境
- OS:Windows 11 Pro,x86_64
- DisplayVersion:
25H2 - Build:
26200.9457
前端系统环境
- OS:Windows 11 Home,x86_64
- DisplayVersion:
25H2 - Build:
26200.9550 - Browser:Microsoft Edge
154.0.4258.48(正式版本)(64 位)
错误日志与辅助信息
目前没有已确认与刷新后状态重置相关的后端错误日志;该现象无需发送聊天消息即可复现。
对发布提交 f20fba64c29623d248629f4d4bb9474bf4e745bc 的代码核对发现:
- 三项设置分别以
ref(true)、ref(true)和ref("enter")初始化,未发现保存和恢复这些偏好的逻辑。对应源码 - 传输方式从
localStorage的chat.transportMode读取,并在选择变化时写回。对应源码
这些代码可以解释当前行为,但不能据此确认不持久化是否属于有意设计。
检查清单
- Lingua principale
- Python
- Stelle
- 41.7k
- Fork
- 3k
- Merge medio
- 22h 53m
- PR unite (30g)
- 138
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di AstrBotDevs/AstrBot
-
[Bug] QQ频道消息无法回复:markdown 回退顺序有误,误用主动消息导致 304049 限频Forse già presa @he-yufeng l’ha presa 9 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
AstrBotDevs/AstrBot#10420 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] 移除「切换到旧版知识库」入口Forse già presa @lingyun14beta l’ha presa 6 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AstrBotDevs/AstrBot#10340 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
AstrBotDevs/AstrBot#10322 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Telegram 群聊中发给其他机器人的命令会误唤醒 AstrBotForse già presa @fzf404 l’ha presa 21 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
AstrBotDevs/AstrBot#10240 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] `<system_reminder>` 每轮写入对话历史且不被清理,导致上下文持续增长Forse già presa @iuiu-py l’ha presa 25 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
AstrBotDevs/AstrBot#10033 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di AstrBotDevs/AstrBot
Issue simili
-
bug needs-triage priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
yeongseon/azure-functions-logging-python#583 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation needs-triage priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yeongseon/azure-functions-validation-python#546 ·
I maintainer di solito rispondono entro 1 giorno
-
PHP workflow streaming requests buffer the full SSE responseForse già presa @Winoren l’ha presa oggi. Apertareview: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
langgenius/dify#44270 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
P4: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
jeffknupp/association#523 ·
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
DarkStarSystems/pcons#229 ·
I maintainer di solito rispondono entro 1 giorno