首页/Bridge/IDE 集成

Bridge/IDE 集成

REPL Bridge、远程控制与会话管理

Bridge 系统让 Claude Code 能与 IDE(VS Code、JetBrains)集成,并支持远程控制。它通过 REPL Bridge 传输层在本地进程和 IDE 之间双向通信。

核心要点

bridgeMain.ts — 115K 主事件循环
replBridge.ts — 100K REPL 通信层
多会话支持 — single-session, worktree, same-dir
WebSocket 消息路由
设备信任与会话认证

设计亮点

睡眠检测自动重置——不惩罚合盖

就像闹钟知道你是睡着了而不是故意不接电话——醒来后不会把你标记为'失联'

笔记本合盖(睡眠)会导致所有网络连接超时。普通系统可能会因为超时把连接标记为'失败',需要手动重连。但 Bridge 能检测到系统睡眠事件,知道这不是网络故障而是正常的睡眠。打开笔记本时自动平滑恢复,不需要任何手动操作。

最多同时开 32 个会话

就像酒店最多有 32 个房间——每个房间独立运行,前台统一管理入住和退房

Claude Code 支持最多 32 个并发会话,每个会话有独立的运行环境。这让你可以在 VS Code 中同时开多个 Claude 对话窗口,或者在 IDE 中边写代码边让另一个会话跑测试。会话管理器像酒店前台,分配房间(进程),处理入住(创建),退房(归档),打扫(清理资源)。

Bridge 选择轮询而非推送

就像定期去信箱查信,而不是让邮递员按门铃——虽然慢一点,但任何房子都能收信

Bridge 用轮询(每隔几秒问一次'有新任务吗?')而非 WebSocket 推送获取任务。看似低效,实则是深思熟虑的选择:轮询能穿透几乎所有防火墙和企业代理,不需要保持长连接,断线恢复也更简单。对于 IDE 集成这种对延迟不太敏感的场景,可靠性比实时性更重要。

模块架构图

加载架构图...
核心文件
bridge/bridgeMain.ts3,500 LOC

Bridge 主事件循环(115K)

bridge/replBridge.ts3,000 LOC

REPL Bridge 通信(100K)

bridge/remoteBridgeCore.ts1,200 LOC

远程 Bridge 核心(39K)

bridge/bridgeApi.ts600 LOC

Bridge API 客户端

bridge/sessionRunner.ts500 LOC

会话执行器

bridge/types.ts400 LOC

Bridge 类型定义

数据流程
1
注册环境
Bridge 向后端注册
2
轮询任务
获取新会话请求
3
启动进程
创建本地 Claude 实例
4
消息转发
WebSocket 双向通信
5
权限处理
转发权限请求和响应
6
归档
会话完成后归档

关键代码

加载代码...

深入解析

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 进程。整个过程需要超时处理和错误恢复。

归档系统自动清理完成的会话,释放资源。长时间不活跃的会话也会被自动归档。