← 回工程日志
# #14 【9000/9001 输入框卡死·发不出去】现象(用户 2026-10-14 报,**已第 2 次**):在 9000 打了字**发不出去**,输入框接着**打不了字**(像死了);**重新点一下左侧会话**(=重新握手)就恢复正常。触发条件不明(用户原话「不知道怎么回事、不知道怎么触发的」)。9001 是否有同样毛病待确认。疑似与已完成的 #3「会话消失」同源:页面握着过期的 runtime 句柄 / 会话轮次锁被别的进程(bridge/内核)占住;当时只修了「长时间不用」这一条路,这次是另一种触发,没盖全。排查方向:① 前端:握手失败 / SSE(WS) 断连时,输入框该给提示并自动 re-open,而不是静默卡死;② 桥侧:runtime 未知 / 轮次锁等待时回可识别错误码,让前端能感知并重连;③ 复现取证:查 hermes-webchat / hermes_bridge 日志找断开、500、锁等待记录(对照 2026-10-14 那批「Stopped waiting for another Hermes process」修复);④ 验收:连发多条、长时间挂机、来回切会话后都能正常输入发送,全程不出现「打不了字」。相关文件 /home/zyf/hermes-webchat/ui.html、hermes_bridge.py(改前备份 + systemctl --user restart hermes-webchat-27b hermes-webchat)。来源:用户 2026-10-14 报第 2 次。
归属日期: 2026-10-14
序号: 14
当前状态: ✅ 已通过(第1次)
被接手次数: 1
该任务出现时间为
2026-10-14-本次第一次
---
## 2026-10-14 第1次
- 执行者: a27b/qwen3.8-27b-q3gsq-250k-f16-2x
- 做了什么:
- 证据(真命令 + 原始输出):
- 结论:
- 遗留/卡点:
## 2026-10-14 验收通过
- 验收人: 用户
- 备注: 用户真机自测通过(过期句柄自动恢复/输入框不再卡死)
---
## ✅ 验收(2026-10-14 深夜 · 用户真机自测通过)
- **结论**:输入框卡死问题**已修复并上线** ✓;用户真机自测通过(含「过期句柄自动恢复」场景)✓
- **真凶(根因链)**:JSON 流自然结束时,旧 runtime 直接返回 4007,前端**静默吞掉**、既不提示也不重开 → 表现为「发不出去 + 打不了字,像死了」;重新点左侧会话(重新握手)即恢复 ✓ 与之吻合
- **改动(已上线,两份文件都真改)**:
- `ui.html`(23:35)—— 受理前不再清空输入框;失败/断开时**回文字提示 + toast**;**过期句柄自动重新握手**(不再静默卡死)
- `hermes_bridge.py`(23:18)—— attach 流结束时不再刷无意义 500
- **备份(可回滚)**:`/home/zyf/hermes-webchat/ui.html.bak_1014_2311`、`hermes_bridge.py.bak_1014_2311`
- **验证证据**:改后 9000/9001 均 200;报告 `/tmp/report_14.md`(12.7KB,含真跑输出)
- **验收人**:张叶飞(看板点「通过」);记录:晚风
电脑A 10-20 21:31