Skip to content

Qoder 国行版(qoderclicn)无法被 CodeIsland 识别 / 不计入会话 #289

Description

@someBrown

CodeIsland 文档/README 宣称支持 Qoder,但本机安装的是 Qoder 国行版 qoderclicn,CodeIsland 完全抓不到它的会话(没有会话卡片,hook 事件疑似被丢弃)。怀疑是 codeisland-bridgeCLIProcessResolver 只登记了国际版 qoder 的识别特征,没有国行变体。

环境

  • macOS (Apple Silicon, darwin arm64)
  • Qoder 国行:qoderclicn 1.1.5,安装路径 ~/.qoder-cn/bin/qoderclicn/qoderclicn-1.1.5
  • 配置目录:~/.qoder-cn(国际版为 ~/.qoder
  • 运行时目录:/tmp/qoder-cli-cn-501/-Users-xxx-Qoder

已做的排查

  1. hook 已正确安装:在 ~/.qoder-cn/settings.json 的 12 个 hook 事件里都配置了 ~/.codeisland/codeisland-bridge --source qoder,事件能带 qoder 来源发出。
  2. 但 CodeIsland 不显示该会话。从 codeisland-bridge 二进制提取的识别特征:
    • 国际版 Qoder:qoderclicom.qoder.ide@qoder-ai/qodercli.qoder.qoderwork
    • 国行变体:bridge 里只内置了 CodeBuddy 国行.codybuddycn / codebuddycn / com.tencent.codebuddy.cn)和 Trae 国行.trae-cn / trae_cn / traecn),没有任何 Qoder 国行的条目(没有 qoderclicn / com.qoder.cn / .qoder-cn)。
    • 二进制中存在 no session_id, dropping 分支,符合“进程解析失败 → 事件被丢弃”的现象。

根因判断

国行 qoderclicn 是独立于国际版 qodercli 的构建,进程名/路径/bundle 都不同。CLIProcessResolver 扫描运行中的进程时,只认 qodercli / com.qoder.ide,认不出 qoderclicn,导致会话无法建立或被丢弃。即“支持 qoder”仅覆盖国际版。

建议修复

在 resolver 的 Qoder 识别表里补充国行特征,至少包含:

  • 进程/路径:qoderclicn
  • bundle:com.qoder.cn(如国行有独立 bundle id)
  • 配置路径:~/.qoder-cn
  • 运行时路径:/tmp/qoder-cli-cn-*

可参照已支持的 CodeBuddy 国行 / Trae 国行处理方式,把 qoderclicn 归并到 qoder source 下。

复现步骤

  1. 安装 Qoder 国行 qoderclicn
  2. 启动一个会话;
  3. 观察 CodeIsland 是否出现对应会话卡片(预期:不出现)。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions