Pular para o conteúdo

SDK

Controle o OpenCode pelos seus scripts, jobs de CI e ferramentas. O SDK roda o OpenCode dentro do seu processo, com sua configuração e seus modelos, e o cliente tipado cria sessões, envia prompts e transmite cada evento.

Recursos

Corrija o CI

Um script pede ao OpenCode para corrigir testes com falha e os roda de novo.

Acompanhe cada passo

Transmita eventos para ver cada ferramenta que o agente chama, em tempo real.

Crie suas ferramentas

Integre o OpenCode a bots, dashboards e fluxos de trabalho com poucas linhas.

No seu processo

Roda o OpenCode no seu processo, com sua configuração e seus modelos.

  • Cliente TypeScriptRequisições e eventos tipados, com os mesmos valores de @opencode/client.
  • Sessões pelo códigoCrie sessões e envie prompts de qualquer script.
  • Todo modeloUsa os modelos que o seu OpenCode tiver configurados.
  • npm ou bunInstale com npm i @opencode/sdk ou bun add @opencode/sdk.
  • Host no processoRoda o OpenCode na memória, sem passar pela rede.
  • Seus pluginsPasse seus próprios plugins ao criar o host no processo.
  • Promise ou EffectUma API Promise e uma API Effect com os mesmos valores.
  • Cloudflare WorkersRode o OpenCode em um Durable Object da Cloudflare no Workers.

  • npmnpm i @opencode/sdk
  • bunbun add @opencode/sdk
Ler a documentação do SDK

Changelog

  1. v2.2.7

    session.generate returns tokens and cost along with text

    Ver todos os destaques da v2.2.7

    Mudanças incompatíveis

    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

    Melhorias

    • 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 os destaques da v2.2.6

    Melhorias

    • 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 os destaques da v2.2.4

    Melhorias

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