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.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
  2. 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
  3. v2.2.4

    Publish Interactive Artifacts

    Enable "experimental": { "artifacts": true } in opencode.json to let agents publish, update, and serve HTML or static artifacts through the built-in local provider or plugin-provided storage.#60351

    Ver todos los destacados de v2.2.4

    Mejoras

    • SDKExtended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events.#60329
Ver todas las novedades