diff --git a/server/services/wechat/HANDOFF.md b/server/services/wechat/HANDOFF.md index 321b99e..3c1f1d8 100644 --- a/server/services/wechat/HANDOFF.md +++ b/server/services/wechat/HANDOFF.md @@ -290,6 +290,8 @@ pkill -f auto-reply.js | 守护脚本里 `pgrep -f node.*auto-reply.js` 永远返 true(导致永远不重启 / 0 次启动)或永远返 false(导致 spawn 风暴) | `pgrep -f` 在 `su -c "..."` 包装下会**自匹配**自己 shell 的 cmdline;如果改用 PID 文件,`$!` 抓到的是 `sh -c` wrapper PID(comm=sh)而不是 node 子进程 | 用 `su -c "ps -ef \| grep -E node.auto-reply.js \| grep -v sh.-c \| grep -v grep"` 精确匹配 "node auto-reply.js" 实进程;pattern 用 `.` 占位单字符避免嵌套引号 | | 部署 JS 后 node 启动报 `SyntaxError: Invalid regular expression flags` 指向不存在的行号(文件 wc 看是干净的) | phone 上某 claude-run/hermes 会话的 shell snapshot hook 在 dash 启动时尝试写 `/data/local/tmp/hermes-snap-*.sh` 失败,错误以**追加方式注入到 hermes-wechat/*.js 末尾** | 部署用 `dd if=src of=dst` 而不是 `cp`;启动 node 时直接 `su -c 'cd X && env... nohup node ...'`,不经 start-ar.sh / dash wrapper | | `[HERMES] API timeout` / `socket hang up` 在 turns=9 多上下文场景下偶发 | Moonshot kimi-k2.6 长 context LLM call 可达 60s+,旧的 `HERMES_TIMEOUT=120000` 偶发不够 | 启动 env 设 `HERMES_TIMEOUT=180000`(3 分钟),keepalive.sh 已内联 | +| A11y 状态机 `CHAT_LIST → click → WRONG_CHAT → BACK` 循环死磕直到 cap=6 给出 | 群聊页 `obn` (id=`/obn`) 标题带成员数后缀(如 `"宜创AI全员群(60)"`),而 broadcast 传的 `toUserDisplayName` 是 `"宜创AI全员群"`(chatroom.displayname 不带后缀),`equals` 永远 false | `classifyState` 拿 `obn.text` 后用正则 `\\(\\d+\\)$` 剥成员数后缀再比对(带/不带都接受) | +| WeChat `LauncherUI` 不在主"会话" tab,`FLAG_ACTIVITY_CLEAR_TASK` 也无法回去 | LauncherUI 是 fragment 容器,CLEAR_TASK 重置 task 但不重置内部 fragment 状态。从聊天页或其它主 tab 调 startActivity 不会跳回会话列表 | 状态机的 `NO_CHAT_VIEW` 处理优先 `findBottomNavTab("微信")` 点击(按 Y 坐标取最下方那个,区分标题栏同名 text),fallback `GLOBAL_ACTION_BACK` | ---