Zum Inhalt springen

SDK

Steuere OpenCode aus deinen eigenen Skripten, CI-Jobs und Tools. Das SDK führt OpenCode in deinem Prozess aus, mit deiner Konfiguration und deinen Modellen, und sein typisierter Client erstellt Sessions, sendet Prompts und streamt jedes Event.

Funktionen

CI per Code reparieren

Ein Skript lässt OpenCode kaputte Tests reparieren und führt sie neu aus.

Jeden Schritt verfolgen

Streame Events und sieh jedes Tool, das der Agent aufruft, in Echtzeit.

Eigene Tools bauen

Binde OpenCode mit wenigen Zeilen in Bots, Dashboards und Workflows ein.

In deinem Prozess

OpenCode läuft in deinem Prozess, mit deiner Config und deinen Modellen.

  • TypeScript-ClientTypisierte Requests und Events, mit denselben Werten wie @opencode/client.
  • Sessions aus CodeErstelle Sessions und sende Prompts aus jedem Skript.
  • Jedes ModellNutzt die Modelle, die dein OpenCode-Setup hat.
  • npm oder bunInstalliere es mit npm i @opencode/sdk oder bun add @opencode/sdk.
  • In-Process-HostFührt OpenCode im Speicher aus, ohne Umweg übers Netzwerk.
  • Deine PluginsÜbergib eigene Plugins, wenn du den In-Process-Host erstellst.
  • Promise oder EffectEine Promise-API und eine Effect-API mit denselben Werten.
  • Cloudflare WorkersFühre OpenCode in einem Cloudflare Durable Object auf Workers aus.

  • npmnpm i @opencode/sdk
  • bunbun add @opencode/sdk
SDK-Doku lesen

Changelog

  1. v2.2.7

    session.generate returns tokens and cost along with text

    Alle Highlights in v2.2.7 ansehen

    Breaking Changes

    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

    Verbesserungen

    • 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

    Alle Highlights in v2.2.6 ansehen

    Verbesserungen

    • 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

    Alle Highlights in v2.2.4 ansehen

    Verbesserungen

    • SDKExtended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events.#60329
Alle Updates ansehen