Bridge/IDE 集成
REPL Bridge、远程控制与会话管理
Bridge 系统让 Claude Code 能与 IDE(VS Code、JetBrains)集成,并支持远程控制。它通过 REPL Bridge 传输层在本地进程和 IDE 之间双向通信。
核心要点
设计亮点
睡眠检测自动重置——不惩罚合盖
笔记本合盖(睡眠)会导致所有网络连接超时。普通系统可能会因为超时把连接标记为'失败',需要手动重连。但 Bridge 能检测到系统睡眠事件,知道这不是网络故障而是正常的睡眠。打开笔记本时自动平滑恢复,不需要任何手动操作。
最多同时开 32 个会话
Claude Code 支持最多 32 个并发会话,每个会话有独立的运行环境。这让你可以在 VS Code 中同时开多个 Claude 对话窗口,或者在 IDE 中边写代码边让另一个会话跑测试。会话管理器像酒店前台,分配房间(进程),处理入住(创建),退房(归档),打扫(清理资源)。
Bridge 选择轮询而非推送
Bridge 用轮询(每隔几秒问一次'有新任务吗?')而非 WebSocket 推送获取任务。看似低效,实则是深思熟虑的选择:轮询能穿透几乎所有防火墙和企业代理,不需要保持长连接,断线恢复也更简单。对于 IDE 集成这种对延迟不太敏感的场景,可靠性比实时性更重要。
模块架构图
bridge/bridgeMain.ts3,500 LOCBridge 主事件循环(115K)
bridge/replBridge.ts3,000 LOCREPL Bridge 通信(100K)
bridge/remoteBridgeCore.ts1,200 LOC远程 Bridge 核心(39K)
bridge/bridgeApi.ts600 LOCBridge API 客户端
bridge/sessionRunner.ts500 LOC会话执行器
bridge/types.ts400 LOCBridge 类型定义
关键代码
深入解析
Bridge 是 Claude Code IDE 集成的核心,bridgeMain.ts 和 replBridge.ts 共约 215K,是代码量最大的模块——比很多独立项目的全部代码都多。
支持 3 种会话模式:single-session(单会话,最常用)、worktree(Git Worktree 隔离,适合并行任务)、same-dir(同目录多会话)。
设备信任机制确保只有授权设备可以通过 Bridge 执行操作。每个设备首次连接需要通过身份验证,之后用设备令牌免验证。
Bridge 采用轮询(polling)而非推送模式获取任务——定期向后端查询'有没有新任务给我?'。虽然不如 WebSocket 实时,但更可靠,穿透防火墙和代理也更容易。
笔记本电脑合盖(睡眠)再打开时,Bridge 会检测到系统睡眠事件并自动重置连接状态。不会因为网络超时而惩罚性断开——识别到是睡眠导致的断开,平滑恢复。
最多同时支持 32 个活跃会话(MAX_SESSIONS = 32)。像酒店前台管理房间一样,每个会话有独立的运行环境,互不干扰。
权限请求的转发是 Bridge 最复杂的部分之一——IDE 端弹出权限对话框,用户做出选择,选择结果通过 WebSocket 传回本地 Claude 进程。整个过程需要超时处理和错误恢复。
归档系统自动清理完成的会话,释放资源。长时间不活跃的会话也会被自动归档。