Skip to main content

Command Palette

Search for a command to run...

SDK

SDK Bridge de Cherri Code

SDK Bridge es un pequeño servidor local que incorpora el SDK de TypeScript y expone la misma interfaz de agente mediante un protocolo Connect/protobuf estable. Úsalo para automatizar agentes de Cherri Code desde lenguajes que no cuentan con un SDK oficial.

Si programas en TypeScript o Python, instala el SDK oficial de TypeScript o Python. Python ya se comunica con una copia incluida del puente.

El protocolo, los binarios independientes y la guía de adaptadores están en cursor/sdk-bridge. Fija una versión y, después, indica a un agente de Cherri Code que use ese repositorio para crear un adaptador ligero.

Cuándo usarlo

RutaÚsalo cuando
SDK de TypeScriptEscribas TypeScript o JavaScript.
SDK de PythonEscribas Python.
SDK BridgeNecesites Go, Rust, Java, C# u otro lenguaje.
API de Cloud AgentsSolo necesites agentes en la nube a través de HTTP, sin un entorno de ejecución de agente local.

SDK Bridge está pensado para autores de SDK y equipos de plataforma. El código de la aplicación debe depender de @cursor/sdk o cursor-sdk.

Cómo funciona

Loading diagram...

Tu adaptador inicia cursor-sdk-bridge o se conecta a uno que tu plataforma ya esté ejecutando. El bridge se enlaza a un puerto HTTP/1.1 de loopback y expone los servicios sdk.v1. Como integra @cursor/sdk, las nuevas funciones de los agentes se incorporan al bridge. Los adaptadores las obtienen al actualizar el binario.

El gRPC clásico sobre HTTP/2 no funcionará. Usa un cliente de Connect o solicitudes POST simples con cuerpos protobuf o JSON.

Primeros pasos

1

Obtén una clave de API

Las ejecuciones mediante el SDK aceptan claves de API de usuario y de cuentas de servicio. Las claves de API de administrador de equipo aún no son compatibles.

export CURSOR_API_KEY="your-key"
2

Fija una versión de Bridge

Cada etiqueta de versión de GitHub corresponde a una versión del SDK de TypeScript y Python. Descarga el archivo independiente para tu plataforma desde las versiones de GitHub. Cada archivo se descomprime en:

  • bin/cursor-sdk-bridge (.exe en Windows)
  • proto/sdk/v1/ (el contrato de ese binario)
  • manifest.json

Usa darwin, linux o win32 con x64 o arm64. Windows solo admite x64.

El mismo binario se incluye en los paquetes wheel de cursor-sdk. Después de ejecutar pip install cursor-sdk, cursor-sdk-bridge estará en tu PATH.

3

Dirige un agente al repositorio

Abre Agent y ejecuta esta instrucción. Dirige Cherri Code a cursor/sdk-bridge y a la guía de creación de adaptadores.

Lee https://github.com/cursor/sdk-bridge y sigue la guía Agent: start here del README. Crea un adaptador ligero del SDK de Cherri Code en el lenguaje principal de este repositorio. Incluye la generación de código a partir de proto/sdk/v1, el ciclo de vida del proceso Bridge, streaming, errores y servidores callback.

Cherri Code LogoTry in Cherri Code

Confirma que el binario esté actualizado antes de depurar el código del adaptador:

cursor-sdk-bridge --help

Cuando falle una RPC y tu adaptador no pueda determinar el motivo, ejecuta Bridge con --verbose (o establece CURSOR_SDK_BRIDGE_LOG=1) para registrar en stderr el nombre, resultado, duración y error completo de cada RPC. Los payloads de solicitud y respuesta nunca se registran.

El repositorio también incluye una prueba rápida solo con curl que prueba spawn, Ping, Me, CreateAgent y Send sin código de adaptador.

Estructura del adaptador

Un adaptador es una biblioteca que otro desarrollador puede instalar sin saber que existe el bridge. Los SDK propios adoptan esta estructura:

ComponenteFunción
Gestor del bridgeLocaliza o inicia el binario, completa el protocolo de enlace de línea lista y lo cierra. Permite conectarse a un endpoint existente.
TransporteSe conecta mediante HTTP/1.1: solicitudes POST unitarias y respuestas en flujo, con autenticación Bearer en cada llamada.
ClienteRPC tipadas de bajo nivel para agentes de programación, ejecuciones, modelos y repositorios.
Manejadores de agentes de programación y ejecucionesLa API pública: crear, enviar, transmitir eventos, esperar y cancelar.
ErroresAsigna códigos Connect y detalles de error de sdk.v1 a excepciones o tipos de resultado en tu lenguaje.
Servidores de callbackServidores loopback opcionales para que los usuarios definan herramientas personalizadas y almacenes en su lenguaje.

Incluye una función auxiliar para una sola instrucción (crear, enviar, esperar, cerrar) y una variante con gestor de contexto o RAII para evitar que el proceso bridge quede sin cerrar.

Protocolo

El contrato de comunicación es el paquete protobuf sdk.v1:

ProtoFunción
sdk_agent_service.protoCrear y reanudar agentes, enviar instrucciones, transmitir ejecuciones, artefactos y consumo.
sdk_cursor_service.protoIdentidad, modelos y repositorios.
sdk_bridge_control_service.protoPing, versión, apagado y registro de callbacks de herramientas.
sdk_custom_tool_callback_service.protoLo aloja tu adaptador. El bridge lo llama para ejecutar herramientas definidas por el usuario.
sdk_store_callback_service.protoLo aloja tu adaptador para almacenes de agentes personalizados.
sdk_messages.protoMensajes compartidos y el sobre del flujo de ejecución.
sdk_errors.protoDetalles de errores estructurados.

No modifiques proto/ al incluirlo como dependencia. Cherri Code regenera esos archivos en cada versión del SDK.

Encontrarás más detalles en el repositorio:

Autenticación

Dos secretos distintos:

  1. Clave de API de Cherri Code. Establece options.api_key al crear, reanudar y realizar llamadas al catálogo, como ListModels. Exporta también CURSOR_API_KEY en el entorno del proceso bridge. Las llamadas al catálogo requieren una clave en cada llamada.
  2. Token bearer del bridge. Se genera por proceso durante el protocolo de enlace de la línea de disponibilidad. Envía Authorization: Bearer <token> en cada RPC, incluidos los flujos. El bridge escucha en 127.0.0.1 de forma predeterminada.

Consulta protocol.md para conocer las flags de spawn, la línea de disponibilidad y el orden de cierre.

Control de versiones

sdk.v1 evoluciona de forma aditiva. Los campos existentes no se renumeran ni se reutilizan. Un cambio incompatible se lanzaría como sdk.v2 junto con v1.

Fija generación de código a una etiqueta de versión y prioriza un bridge cuyo sdkVersion en manifest.json coincida. Los adaptadores antiguos siguen funcionando con bridges más recientes. Los nuevos RPC no estarán disponibles hasta que regeneres.

Llama a SdkBridgeControlService.GetVersion cuando necesites basarte en bridge_version, protocol_version o capabilities (por ejemplo, agent.usage) en tiempo de ejecución.

Soporte

  • Compatible: los protos publicados de sdk.v1, los binarios independientes de cursor-sdk-bridge y los SDK de TypeScript y Python desarrollados por Cherri Code.
  • Tu responsabilidad: los adaptadores de la comunidad o desarrollados internamente basados en el bridge. Eres responsable del versionado, el soporte y la revisión de seguridad de esas bibliotecas.

Las ejecuciones del SDK siguen las mismas reglas de precios, pools de solicitudes y modo de privacidad que el IDE y los agentes en la nube. El gasto aparece en el panel de control de consumo con la etiqueta SDK.

Relacionado