SDK Bridge 接入
为其他语言构建 Connect/protobuf 适配层,管理本地服务的双重认证与版本。
SDK Bridge 是嵌入 TypeScript SDK 的本地服务,通过稳定的 sdk.v1 Connect/protobuf 协议暴露 Agent 能力。TypeScript 与 Python 应优先用官方 SDK;其他语言适配层由集成方维护,不自动成为官方 SDK。
二进制和版本
在官方 cursor/sdk-bridge release 固定版本,tag 与 TypeScript/Python SDK 版本对应。包内有 bin/cursor-sdk-bridge、proto/sdk/v1 和 manifest.json;Windows 程序带 .exe。
支持 darwin/linux 的 x64 与 arm64,win32 仅 x64。Python wheel 同样自带该二进制,安装后 PATH 可调用:
cursor-sdk-bridge --help连接协议
适配层启动 Bridge 或连接平台已有实例,服务默认绑定 127.0.0.1 的 HTTP/1.1 loopback 端口。使用 Connect client 或 protobuf/JSON POST;传统 HTTP/2 gRPC 不能直接连接。
适配层需要处理 ready-line handshake、进程回收、typed RPC、流、结构化错误,以及自定义 tools/stores 的 loopback callback server。提供 context manager 或 RAII,避免服务进程泄漏。
两类凭据
| 凭据 | 位置与用途 |
|---|---|
| Cursor API key | create/resume/catalog 调用的 options.api_key,同时导出 CURSOR_API_KEY;catalog 要求每次调用传 key |
| Bridge bearer token | 每进程在 ready-line handshake 生成,每个 RPC 和流都带 Authorization: Bearer |
Bridge bearer token 不等于 Cursor key。SDK 接受用户和服务账号 key,Team Admin key 尚不支持。
协议文件
sdk_agent_service 管理 Agent、Run、产物与用量;sdk_cursor_service 管理身份与目录;sdk_bridge_control_service 提供 ping/version/shutdown 和 callback 注册。工具及 store callback 各有服务,sdk_messages 和 sdk_errors 提供共享数据形状。
vendor proto 时保持原文件不改,按 release 重新 codegen。sdk.v1 采用追加兼容,若发生破坏性变化会另出 sdk.v2;新 RPC 仍需重新生成客户端才能使用。尽量让 manifest.json 的 sdkVersion 与生成代码版本一致。
诊断与能力检测
--verbose 或 CURSOR_SDK_BRIDGE_LOG=1 向 stderr 记录 RPC 名称、结果、耗时和完整错误,不记录请求/响应 payload。用 SdkBridgeControlService.GetVersion 检查 bridge_version、protocol_version 和 capabilities,再决定是否调用例如 agent.usage 的能力。
官方支持发布的协议和二进制;自建适配器的版本、支持和实现质量由维护方负责。只需要云端 HTTP 工作流可直接使用REST API。