《Cursor文檔》-Cursor SDK Bridge

SDK Bridge 是一個小型本地服務器,內嵌 TypeScript SDK,並通過穩定的 Connect/protobuf 協議提供相同的智能體功能。您可以使用它通過沒有第一方 SDK 的語言編寫腳本來調用 Cursor 智能體。

如果您使用 TypeScript 或 Python,請改爲安裝第一方 TypeScriptPython SDK。Python 可直接與隨附的 bridge 副本通信。

協議、獨立二進制文件和 adapter 指南位於 cursor/sdk-bridge。固定一個發佈版本,然後讓 Cursor 智能體基於該倉庫構建一個輕量級 adapter。

Cursor 發佈並支持 sdk.v1 合約和 bridge 二進制文件。
其他語言的 adapter 並非第一方 SDK。除非需要這些 package 未覆蓋的語言,
否則請優先使用 TypeScript 或 Python。

適用場景

路徑 適用場景
TypeScript SDK 使用 TypeScript 或 JavaScript 開發。
Python SDK 使用 Python 開發。
SDK Bridge 需要使用 Go、Rust、Java、C# 或其他語言。
Cloud Agents API 只需通過 HTTP 使用雲端代理,無需本地代理運行時。

Bridge 面向 SDK 作者和平臺團隊。應用代碼應依賴 @cursor/sdkcursor-sdk

工作原理

flowchart LR
  adapter["您的適配器"]
  bridge["cursor-sdk-bridge"]
  api["Cursor API"]
  adapter -->|"sdk.v1 連接 RPC"| bridge
  bridge -->|"HTTPS"| api
  bridge -->|"工具和存儲回調"| adapter

你的適配器會啓動 cursor-sdk-bridge,或連接到平臺已運行的實例。Bridge 會綁定一個本地迴環 HTTP/1.1 端口,並提供 sdk.v1 服務。由於 Bridge 內嵌 @cursor/sdk,新的智能體功能會先合入 Bridge。適配器只需升級二進制文件即可獲得這些功能。

傳統的基於 HTTP/2 的 gRPC 無法連接。請使用 Connect 客戶端,或發送包含 protobuf 或 JSON 請求體的普通 POST 請求。

快速入門

獲取 API 密鑰

SDK 運行支持用戶 API 密鑰和服務賬戶 API 密鑰,暫不支持團隊管理員 API 密鑰。

export CURSOR_API_KEY="your-key"

固定 Bridge 版本

每個 GitHub 發佈標籤都對應 TypeScript 和 Python SDK 的版本。從 GitHub releases 下載適用於你平臺的獨立歸檔文件。每個歸檔文件解壓後包含:

  • bin/cursor-sdk-bridge (Windows 上爲 .exe)
  • proto/sdk/v1/ (該二進制文件的合約)
  • manifest.json

使用 darwinlinuxwin32,並搭配 x64arm64。Windows 僅支持 x64

同一二進制文件也包含在 cursor-sdk wheel 包中。執行 pip install cursor-sdk 後,cursor-sdk-bridge 會添加到你的 PATH 中。

讓智能體使用代碼倉庫

打開 Agent 並運行以下提示詞。它會讓 Cursor 瞭解 cursor/sdk-bridge 和適配器構建指南。

閱讀 https\://github.com/cursor/sdk-bridge,並遵循 README 中的“Agent: start here”指南。使用此代碼倉庫的主要語言構建一個精簡的 Cursor SDK 適配器。涵蓋從 proto/sdk/v1 進行代碼生成、Bridge 進程生命週期、流式傳輸、錯誤和回調服務器。

調試適配器代碼前,先確認二進制文件是最新的:

cursor-sdk-bridge --help

如果 RPC 失敗且你的適配器無法確定原因,請使用 --verbose 運行 Bridge (或設置 CURSOR_SDK_BRIDGE_LOG=1) ,以將每個 RPC 的名稱、結果、耗時和完整錯誤記錄到 stderr。請求和響應負載絕不會被記錄。

該代碼倉庫還提供了一個僅用 curl 的冒煙測試,無需編寫適配器代碼即可測試 spawn、PingMeCreateAgentSend

適配器結構

適配器是一個庫,其他開發者無需瞭解 Bridge 的存在即可安裝。第一方 SDK 均採用以下結構:

組成 職責
Bridge 管理器 查找或啓動二進制文件,完成 ready-line 握手,並在結束時關閉它。支持連接到現有端點。
傳輸層 通過 HTTP/1.1 連接:使用一元 POST 和流式響應,併爲每次調用添加 Bearer 認證。
客戶端 提供面向智能體、運行、模型和倉庫的底層強類型 RPC。
智能體和運行句柄 公共 API:創建、發送、流式接收事件、等待和取消。
錯誤 將 Connect 代碼和 sdk.v1 錯誤詳情映射爲所用語言中的異常或結果類型。
回調服務器 可選的迴環服務器,讓用戶能以所用語言定義自定義工具和存儲。

提供單提示詞助手 (創建、發送、等待、關閉) ,以及上下文管理器或 RAII 形式,避免 Bridge 進程泄漏。

協議

線纜協議合約爲 protobuf 包 sdk.v1

Proto 作用
sdk_agent_service.proto 創建和恢復智能體、發送提示詞,以及流式傳輸運行、產物和用量。
sdk_cursor_service.proto 身份、模型和倉庫。
sdk_bridge_control_service.proto Ping、版本、關閉和工具回調註冊。
sdk_custom_tool_callback_service.proto 由您的適配器託管。bridge 會調用它來運行用戶定義的工具。
sdk_store_callback_service.proto 由您的適配器託管,用於自定義智能體存儲。
sdk_messages.proto 共享消息和運行流封裝。
sdk_errors.proto 結構化錯誤詳情。

通過 vendor 引入時,請勿修改 proto/。Cursor 會在每次 SDK 發佈時重新生成這些文件。

詳細說明請參閱倉庫:

身份驗證

兩種獨立的機密信息:

  1. Cursor API 密鑰。 在 create、resume 和 ListModels 等 catalog 調用中設置 options.api_key。還需在橋接進程的環境中導出 CURSOR_API_KEY。Catalog 調用需要爲每次調用提供密鑰。
  2. Bridge Bearer 令牌。 在 ready-line 握手期間爲每個進程生成。每次 RPC (包括流式傳輸) 都應發送 Authorization: Bearer <token>。默認情況下,橋接服務監聽 127.0.0.1

有關 spawn 標誌、ready line 和關閉順序,請參閱 protocol.md

版本管理

sdk.v1 僅以增量方式演進。現有字段不會重新編號或複用。破壞性更改將以 sdk.v2 的形式與 v1 並行上線。

將 codegen 固定到發佈標籤,並優先選擇 manifest.jsonsdkVersion 相匹配的 bridge。較早的適配器仍可與較新的 bridge 配合使用。新的 RPC 在重新生成前不會生效。

需要在運行時根據 protocol_versioncapabilities 進行條件控制時,請調用 SdkBridgeControlService.GetVersion

支持

  • **支持範圍:**已發佈的 sdk.v1 proto、獨立的 cursor-sdk-bridge 二進制文件,以及第一方 TypeScript 和 Python SDK。
  • **您的責任:**基於橋接器構建的社區或內部適配器。您負責這些庫的版本管理、支持和安全評審。

SDK 運行與 IDE 和雲端代理適用相同的定價、請求用量池和隱私模式規則。費用會顯示在用量儀表盤的 SDK 標籤下。

相關內容

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜