Skip to content

feat(fork): 支持 TraeX 会话分身 - #1185

Open
le0tan wants to merge 1 commit into
deepcoldy:masterfrom
le0tan:feat/traex-session-fork
Open

feat(fork): 支持 TraeX 会话分身#1185
le0tan wants to merge 1 commit into
deepcoldy:masterfrom
le0tan:feat/traex-session-fork

Conversation

@le0tan

@le0tan le0tan commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

改了什么

  • traex 纳入 /fork <任务>/fork --create <群名> 的可分身 CLI 范围。
  • TraeX 分身子会话首次启动时调用原生 fork <source-session-id>,由 CLI 创建独立 thread;捕获新 session id 后,后续重启恢复该 child,而不是继续 fork 父会话。
  • TraeX Hybrid RPC 与外部 app-server 会话继续 fail closed,避免拿本地 rollout fork 远端活会话。
  • 更新中英文提示、斜杠命令文档与回归测试。

为什么

BotMux 已有完整的 TraeX adapter,且 TRAE CLI 2.0 的 traecli/traex 提供原生 fork 子命令,但 /fork 的能力白名单没有包含 traex,adapter 也没有消费 worker 下发的 forkSession 标记。只放开白名单会把 child 错误启动成 resume,让两个 BotMux 会话续写同一个 TraeX thread。

本改动复用现有 session fork 生命周期:child 首次冷启动执行原生 fork,现有 transcript bridge 回写 CLI 新 id,并清除一次性的 pendingForkSession 标记。

影响面

  • CLI:仅新增 TraeX 终端模式;Claude 系、Codex、Grok 的现有分身参数不变。
  • 后端:本地 PTY/Tmux 等终端会话可用;Hybrid RPC、外部 app-server、纯远端与 adopt 会话仍拒绝。
  • 会话类型:/fork <任务> 子话题分身与 /fork --create <群名> 新群分身共用同一能力门,因此同步获得支持。
  • 平台:不新增路径、shell 或平台特有逻辑;使用 TraeX 跨平台 CLI 子命令。

验证

本地定向验证

  • bunx vitest run --project unit test/fork-session.test.ts test/cli-adapters.test.ts
    • 2 个测试文件通过
    • 448 个测试通过
  • bun run build
    • TypeScript、scripts typecheck、Dashboard bundle 与 dist audit 全部通过
  • bun run switch:here && bun run daemon:restart
    • supervisor、daemon、dashboard 在线
    • 5 个已有 TraeX 会话恢复成功
    • daemon 日志确认当前 CLI 为 TraeX 0.201.6,实际入口为 traecli

真实 TraeX fork / resume smoke

  • 使用当前安装的 traecli 0.201.6 从现有父 session 执行原生 fork,成功创建独立 child session。
  • child 的 session_meta.forked_from_id 精确指向父 session,且继承工作目录。
  • child 独立完成一轮 prompt;child rollout 新增记录,父 rollout 的修改时间和大小保持不变,确认没有误续写父会话。
  • 终止 child 进程后通过 traecli resume <child-session-id> 冷启动,成功恢复 child 的 smoke 对话;父 TraeX 进程始终存活。
  • 临时 smoke tmux pane 已清理;未创建飞书测试群。

CI

GitHub Actions 已触发完整 CI,以远端检查结果作为合入门槛。

Co-authored-by: TRAE CLI <traecli@bytedance.com>
@le0tan
le0tan requested a review from deepcoldy as a code owner September 1, 2026 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant