Saltar al contenido

SDK

Controla OpenCode desde tus scripts, jobs de CI y herramientas. El SDK ejecuta OpenCode dentro de tu proceso, con tu configuración y tus modelos, y su cliente tipado crea sesiones, envía prompts y transmite cada evento.

Funciones

Arregla la CI

Un script corto pide a OpenCode corregir los tests fallidos y los repite.

Sigue cada paso

Transmite eventos para ver cada herramienta que llama el agente, al momento.

Crea tus herramientas

Integra OpenCode en bots, paneles y flujos de trabajo con unas pocas líneas.

En tu proceso

Ejecuta OpenCode dentro de tu proceso, con tu configuración y modelos.

  • Cliente TypeScriptPeticiones y eventos tipados, con los mismos valores que @opencode/client.
  • Sesiones con códigoCrea sesiones y envía prompts desde cualquier script.
  • Todo modeloUsa los modelos que tenga configurados tu OpenCode.
  • npm o bunInstálalo con npm i @opencode/sdk o bun add @opencode/sdk.
  • Host en procesoEjecuta OpenCode en memoria, sin pasar por la red.
  • Tus pluginsPasa tus propios plugins al crear el host en proceso.
  • Promise o EffectUna API de Promise y una API de Effect con los mismos valores.
  • Cloudflare WorkersEjecuta OpenCode dentro de un Durable Object de Cloudflare en Workers.

  • npmnpm i @opencode/sdk
  • bunbun add @opencode/sdk
Lee la documentación del SDK

Novedades

  1. v2.3.0

    Event subscriptions can now receive experimental.mcp.event events from MCP event subscriptions

    Ver todos los destacados de v2.3.0

    Mejoras

    • SDKModel capability schemas now advertise supported freeform tool-input formats.
    • SDKSession throughput is now measured from the first streamed token.
    • SDKSession creation documentation now clarifies the parentID field.
  2. v2.2.7

    session.generate returns tokens and cost along with text

    Ver todos los destacados de v2.2.7

    Cambios incompatibles

    SDK: fewer endpoints wait for plugins to load

    On a Location that is still loading plugins, agent.list returns the agents loaded so far, and integration.list, usage.limits, vcs.init, rpc.call and artifact.* no longer wait up to 5 seconds. Entries and actions that a plugin provides appear when it finishes loading, so refresh on the matching *.updated event. Model, provider, generate.*, voice.* and websearch.query endpoints still wait.

    #62796#63040

    Mejoras

    • SDKcredential.updated includes the integrationID and credentialID of the login that changed.#62762
    • SDKPredicate questions in client.experimental.generate.decisions accept optional criteria: { true?, false? }.#62819
  3. v2.2.6

    Improvements

    Ver todos los destacados de v2.2.6

    Mejoras

    • SDKAdded client.experimental.job.list() and its Effect equivalent for listing background shell, subagent, and image jobs, with session, descendant, kind, and status filters.#60698
    • SDKServer embedders can provide a custom fetch implementation for OpenCode HTTP, model, web, and remote MCP traffic.#61582
Ver todas las novedades