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. SessionRunner 与 BoundedUUIDSet 各防什么?

术语总表 ​

英文中文
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 所有。