Aller au contenu

SDK

Pilotez OpenCode depuis vos scripts, jobs CI et outils. Le SDK exécute OpenCode dans votre processus, avec votre configuration et vos modèles, et son client typé crée des sessions, envoie des prompts et diffuse chaque événement.

Fonctionnalités

Réparer la CI en code

Un court script demande à OpenCode de corriger les tests en échec, puis les relance.

Suivre chaque étape

Diffusez les événements pour voir chaque outil appelé par l'agent, en temps réel.

Créez vos outils

Intégrez OpenCode à des bots, tableaux de bord et workflows en quelques lignes.

Dans votre processus

Exécute OpenCode dans votre processus, avec votre config et vos modèles.

  • Client TypeScriptRequêtes et événements typés, avec les mêmes valeurs que @opencode/client.
  • Sessions par le codeCréez des sessions et envoyez des prompts depuis n'importe quel script.
  • Tout modèleUtilise les modèles configurés dans votre OpenCode.
  • npm ou bunInstallez-le avec npm i @opencode/sdk ou bun add @opencode/sdk.
  • Hôte in-processExécute OpenCode en mémoire, sans passer par le réseau.
  • Vos pluginsPassez vos propres plugins à la création de l'hôte in-process.
  • Promise ou EffectUne API Promise et une API Effect, avec les mêmes valeurs.
  • Cloudflare WorkersExécutez OpenCode dans un Durable Object Cloudflare sur Workers.

  • npmnpm i @opencode/sdk
  • bunbun add @opencode/sdk
Lire la doc du SDK

Changelog

  1. v2.2.7

    session.generate returns tokens and cost along with text

    Voir tous les points forts de v2.2.7

    Changements majeurs

    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

    Améliorations

    • 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

    Voir tous les points forts de v2.2.6

    Améliorations

    • 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

    Voir tous les points forts de v2.2.4

    Améliorations

    • SDKExtended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events.#60329
Voir toutes les mises à jour