Skip to content

12.10 总结:Bridge 桥接全链路检查表

路径docs/part12-bridge/10-summary.md
系列:Claude Code 完全指南 V2 · 第 12 篇


学习目标

完成本节学习后,你应该能够:

  1. 复述 Bridge 端到端链路:IPC → 分帧 → JWT → bridgeMain → 协议 → sessionRunner → Transport → IDE。
  2. 使用 检查表 自检 实现或阅读源码时的遗漏点。
  3. 关联 第 11 篇终端 UI:理解 双前端 产品形态。
  4. 说出 约 31 个 Bridge 文件 在你团队分工中的 模块边界 建议。

生活类比:收工前的安检清单

飞行员 降落前检查表,不按表走 容易漏襟翼。Bridge 交付也同理:协议、安全、资源、可观测 一条条勾掉,才能 长期飞行


全链路一张图


模块→文件分工建议(31 文件级)

模块职责边界
transport/*仅字节与连接,不知业务
protocol/*编解码、类型、错误码表
auth/*JWT、密钥、轮换
bridgeMain*循环、路由、生命周期
session/*Runner、队列、abort
ide/*可选:共享客户端 SDK
util/*BoundedUUIDSet 等

检查表:安全

通过标准
JWT 算法白名单拒绝 none
TLS非本机 TCP 必须
日志脱敏无裸 token
路径校验openFile 根目录限制
重放jti 或短 TTL

检查表:正确性

通过标准
请求 id响应 可关联
通知不阻塞等待响应
错误对象稳定 code
版本握手不兼容则拒绝

检查表:性能与资源

通过标准
背压慢消费者 不无限缓冲
会话上限拒绝或淘汰策略明确
Bounded 集合淘汰指标可观测
JSON大 payload 流式或分块

检查表:可观测性

通过标准
traceId跨 IDE-CLI
method 指标P95 延迟
错误率按 code 聚合

与第 11 篇关系小结

11 篇12 篇
stdout 绘制结构化侧信道
主题令牌可从 IDE 同步
鼠标 OSC8IDE 原生超链接 可替代部分场景

31 文件阅读顺序建议

  1. 04-protocol 类型定义
  2. 07-transport 实现之一
  3. 03-bridge-main
  4. 06-session-runner
  5. 05-jwt-auth
  6. 09-bounded-uuid-set
  7. 08-ide-integration(产品向)

源码片段:启动开关(示意)

typescript
type BridgeConfig = {
  enabled: boolean;
  transport: 'stdio' | 'websocket' | 'tcp';
  jwt: { audience: string; issuer: string };
  sessions: { max: number; idleMs: number };
  dedupe: { maxIds: number };
};

function assertBridgeConfig(c: BridgeConfig) {
  if (c.transport !== 'stdio' && !c.jwt) {
    throw new Error('JWT required for network transports');
  }
}

常见反模式

反模式后果
业务逻辑塞进 Transport不可测试
全局单会话多窗口 串线
无限缓存 uuid内存泄漏
日志打印帧全文密钥与隐私泄露

本篇一句提纲

Bridge = 传输上的 JSON-RPC 风格协议 + JWT 信任 + 会话隔离 + IDE 适配


自测总复习

  1. 画出 粘包分帧 关系。
  2. 解释 通知请求bridgeMain 中的分支。
  3. SessionRunnerBoundedUUIDSet 各防什么

术语总表

英文中文
Bridge桥接
IPC进程间通信
RPC远程过程调用
JWTJSON Web Token
Transport传输层
session会话

团队落地建议

角色关注点
后端/CLI协议、会话、安全
扩展开发UX 映射、spawn 生命周期
SRETLS、端口、日志

与系列其他篇的接口

系列篇接口
权限runTool 鉴权下游
工具系统方法 → 工具编排
多 Agent会话内子 Agent

结语

Bridge 把 Claude Code 从 终端单形态 扩展到 IDE 共生。掌握 12.2–12.7 即可 读懂大部分故障12.5/12.6/12.9 决定 能不能长期跑


附录:最小可行演示(伪)

  1. socat 建 TCP 回显(仅实验)。
  2. ndjson CLI 读写 handshake
  3. 打印 capabilities

下一步学习

回到 第 11 篇主题同步,或回到 第 10 篇会话内多 Agent 编排。


质量门禁建议

  • [ ] 协议 JSON Schema CI 校验
  • [ ] 模糊测试解码器
  • [ ] 渗透:伪造 JWT、目录穿越

致谢读者

若你 逐篇读到 12.10,已具备 通读 Bridge 源码导航能力;剩下是 在仓库里对号入座文件名

本项目仅用于教育学习目的。Claude Code 源码版权归 Anthropic, PBC 所有。