3.1 KiB
3.1 KiB
Persistent Chat · 对话中途停止 / interrupted
v1.6.47(2026-06-14 · 融合 6/12)
现象
Read/GenerateImage/StrReplace/Shell … interrupted by the user- 卡若没点停止,Agent 写到一半就停
- 常卡在
select_conversation/verify_karuo_ai_gate/wait_for_user_input - 或 Shell/mdfind 跑很久、同轮并行 StrReplace+生图+MCP 后整轮被掐
v1.6.49(2026-06-14 · 对话不断硬修)
| # | 原因 | 修复 |
|---|---|---|
| A | hubPollUntilReply ≤24s 内循环 → 超 30~45s → interrupted |
仅 hubPollOnce ~10s |
| B | re-wait 时 flushSteerQueue 清掉【对话续接】→ 空窗 |
neverStop 保留 steerQueue |
| C | RENEWAL 仍打 sync/verify HTTP | renewalOnly 快路径 |
| D | Hub 异常 → 错误文案停循环 | 改 renewal 不断环 |
| B | 全局 MCP 队列:新一轮 select 排在旧 wait 后面,堵 70s+ |
快速通道:select/gate/init 绕过队列;新消息 abort 旧 wait poll |
| C | 每轮 select 打 Hub HTTP + 读 vscdb 争用 |
本地 thread-binding 优先;gate 磁盘缓存 10min |
| D | 磁盘上代码已更新,Cursor 未重载 旧 server.js | 必须 Cmd+Q 重启 Cursor(见下) |
| E | Cursor 宿主单工具超时(~30~45s):全盘 mdfind、大目录 find、大文件 StrReplace 挂起 |
Agent 禁止单命令 >25s;禁止 Shell+StrReplace+生图+MCP 同批并行 |
| F | 误报 interrupted by the user |
不等于卡若点了停止;续跑任务 不要停问「要不要继续」 |
| G | 单轮 REQ 过多 + RENEWAL 间夹执行 → 多段 renewal 链 / 超 30~45s | 单轮少 REQ;RENEWAL 零工立刻再 wait;同 turn 最多 wait→RENEWAL→renewalOnly wait |
一次性生效(必做)
bash "/Users/karuo/Documents/个人/卡若AI/01_卡资(金)/金仓_存储备份/Cursor持久对话/脚本/一键重载MCP.sh"
然后 Cmd+Q 完全退出 Cursor → 再打开。
验证:Settings → MCP → persistent-chat 绿点;grep 1.6.49 ~/.persistent-chat-local/server.js
Agent 防中断习惯(强制 · 写稿/生图/找文件均适用)
- 每轮 最多 2 次 MCP(select + gate);gate 同 ct_ 10min 内命中缓存
- 不要 与 Read/生图/StrReplace 同批并行 调 MCP
- 单轮少 REQ(v1.6.71):执行集中在前、一次完整 wait 在后;禁止同轮多次 wait
[RENEWAL]零工:不读文件、不 Shell、不 verify;立刻 renewalOnly 再 wait- 禁止多级 renewal 工:同 turn 只允许 wait → RENEWAL → renewalOnly wait → 收 turn
- GenerateImage 一张一轮;改稿 一次一个 StrReplace 大块
- Shell:禁止全盘
mdfind;find必须-maxdepth+ 明确目录;block_until ≤25s - 工具报
interrupted by the user→ 当轮续跑,不当作任务结束、不反问卡若
自检
bash check-mcp.sh
tail -20 ~/.persistent-chat-local/logs/server.log
日志应见:fast:select_conversation、wait poll aborted、verify_karuo_ai_gate CACHE_HIT