QoderWake在基于C4级别代码目录运行时无响应

Issue Description

QoderWake在基于C4级别代码目录运行时无响应

Steps to Reproduce

将工作目录指定为C4级别代码仓库之后,执行任何命令都会卡死,换成内部dogfooding模型也一样

Actual Behavior

QoderWake自排查:

读完日志了,确实有几处明显异常,全部都和 cwd=/Users/zic/workspace/secondary/HAVS2 强相关:

关键异常发现

1. qodercli-wake 子进程在 HAVS2 启动后立即 Code=1 退出

日志里凡是 cwd=<abs:1:secondary/HAVS2>(即 HAVS2)的会话,子进程都在 1–2 秒内异常退出:

时间 sessionId PID 存活
06-01 18:11:00 qs_01kt1ameq3h8wk27aj0qh6zvsg -– ~2s, Code=1
06-02 18:04:45 / 18:06:27 同上(重启) -– ~2s, Code=1
06-02 18:07:59 qs_01kt3wtabj33a41g0yx9a2r6vz 70945 2s, Code=1
06-02 18:16:04 同上(重启) -– 2s, Code=1
06-02 19:14:55 qs_01kt40p9ejhzwps84r9tq4sndw 1340 0.9s, Code=1

这就是你"一切到 HAVS2 就没响应"的直接根因:CLI 内核进程根本没起来,控制台只能干等。

2. 退出原因:QoderAuthError: auth.getUserInfo failed: invalid token

[ModelListSdk] Direct qodercli control fallback failed:
  qodercli exited before model list response (code=1, signal=null):
  An unexpected critical error occurred:
  QoderAuthError: auth.getUserInfo failed: invalid token
    at openApiJsonRequest (/$bunfs/root/index.js:614:35649)
    at async fetchOpenApiUserInfo
    at async loginWithJobTok...

即子进程在 --cwd /Users/zic/workspace/secondary/HAVS2 启动后,调用 loginWithJobToken → fetchOpenApiUserInfo 拿到 401,然后整个进程 panic 退出。

3. 退出后还要扫 112 个变更文件

每次子进程崩掉,WorktreeChangeListService 都会去 HAVS2 仓库扫一遍 worktree(files=112),加重收尾延迟。

4. 周边连锁错误

  • [WorkPoller] poll failure: AbortError, durationMs=30000+:拉远端会话被 30s 超时打断(多次)
  • [ModelListSdk] Failed to fetch models from SDK for cache, cwd=/Users/zic/workspace/secondary/HAVS2: Transport closed
  • [GatewayClient] Session was already deleted remotely (gateway preempted):本地会话被服务端预占清理
  • [MachineBridge] Console rejected access token ... HTTP 401 (TOKEN_INVALID)emp_01ksq7px4cem77nwfmnqk0hn2b 的 token 校验失败

推断

这不是 git 大小或 hooks 慢的问题。HAVS2 在 qoderwake 后台被打上 C4 标签后,触发了一条特殊的鉴权路径------qodercli-wakeQODER_JOB_TOKENloginWithJobToken 时被 openapi.qoder.sh 拒绝 (invalid token),子进程立即 panic,会话变成 reason: error,前端只看到"无响应"。dpdk 子目录不卡,是因为它的 git remote/路径不在 C4 命中范围,鉴权走的是另一条路径。

建议下一步排查

  1. 直接复现并抓 stderr:

    bash /Users/zic/.qoderwake/qoderwake-repro/qs_01kt40p9ejhzwps84r9tq4sndw.sh 2>&1 | tee /tmp/qodercli-havs2.log
    
  2. 对比一个可工作目录(如 dpdk 子目录或 old_files)跑同样脚本,看 loginWithJobToken 返回有何不同。

  3. 检查 token:cat ~/.qoder/auth/*.json,看 access_token / job_token 是否过期或与 C4 仓库的 region/tenant 不匹配。

  4. 临时绕过:如确认是 C4 鉴权问题,可在 ~/.qoder/.codebase-status/.../c9e748c94c3e5356.json 里把 statusSTILLA_DISABLED 临时改回普通,验证是否解锁。

要我帮你跑 repro 脚本抓 stderr 吗?

Screenshots / Screen Recordings

Operating System

MacOS 26.5 (25F71)
Darwin U-WW67DQXP-2225.local 25.5.0 Darwin Kernel Version 25.5.0: Mon Apr 27 20:41:15 PDT 2026; root:xnu-12377.121.6~2/RELEASE_ARM64_T6041 arm64

Current Qoder Version (Menu → About Qoder → Copy)

QoderWake最新版本

这个集团内部qoderwake使用问题 联系下 洪林 看看呢