Skip to content

Review 修复阶段失败:Failed to start dialog turn: Unknown session mode: ReviewFixer(#2106 修复不完整) #2124

Description

@YodonTan

现象

review 会话可以正常创建并产出 review 结果(#2100 已修复),但从 review 结果点击「开始修复」时报错:

审核失败
Failed to start dialog turn: Unknown session mode: ReviewFixer

根因:PR #2106 的修复不完整

#2106(修复 #2100)只放行了会话创建/首轮使用的 CodeReview / DeepReview 两个 agent。但 review 流程的「修复阶段」由前端以 agentType='ReviewFixer' 提交(DeepReviewActionBar.handleStartFixing → sendMessage(..., 'ReviewFixer', 'agentic')),后端 turn 启动路径的 primary-agent 解析(resolve_primary_agent_for_turn)白名单中不包含 ReviewFixer,导致:

Failed to start dialog turn: Unknown session mode: ReviewFixer

与原 issue #2100 的关联

影响面(同一解析函数的全部路径)

  • turn 启动:scheduler start_turn → coordinator.rs resolve_session_primary_agent 报错(用户所见)
  • 手动压缩:coordinator.rs 手动压缩路径同样失败
  • 会话恢复:session_manager.rs 恢复路径解析失败后会把会话 agent_type 静默改写为 agentic(修复中途重启会丢失 ReviewFixer 绑定,后续修复轮以 agentic 运行且持久化改写)

修复建议

在后端共享解析层放行 ReviewFixeris_builtin_session_primary_agent 白名单加入 REVIEW_FIXER_AGENT_TYPE,常量已存在于 bitfun-agent-runtime::deep_review::constants)。ReviewFixer 注册为 hidden(["CodeReview","DeepReview"]),普通模式不可选,放行不会暴露给普通会话;ReviewWorker/ReviewJudge 等 team 角色保持受限。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions