К содержимому

SDK

Управляйте OpenCode из своих скриптов, CI-задач и инструментов. SDK запускает OpenCode внутри вашего процесса, с вашей конфигурацией и моделями, а его типизированный клиент создаёт сессии, отправляет промпты и передаёт поток всех событий.

Возможности

Чините CI из кода

Скрипт просит OpenCode починить упавшие тесты и запускает их снова.

Каждый шаг на виду

Получайте поток событий и видьте каждый инструмент, который вызывает агент.

Свои инструменты

Встраивайте OpenCode в ботов, дашборды и процессы парой строк кода.

В вашем процессе

Запускает OpenCode в вашем процессе с вашими настройками и моделями.

  • TypeScript-клиентТипизированные запросы и события, те же значения, что и в @opencode/client.
  • Сессии из кодаСоздавайте сессии и отправляйте промпты из любого скрипта.
  • Любая модельИспользует модели, настроенные в вашем OpenCode.
  • npm или bunУстановите через npm i @opencode/sdk или bun add @opencode/sdk.
  • Хост в процессеЗапускает OpenCode в памяти, без сетевых запросов.
  • Ваши плагиныПередайте свои плагины при создании хоста в процессе.
  • Promise или EffectPromise API и Effect API с одинаковыми значениями.
  • Cloudflare WorkersЗапускайте OpenCode в Cloudflare Durable Object на Workers.

  • npmnpm i @opencode/sdk
  • bunbun add @opencode/sdk
Документация SDK

Список изменений

  1. v2.2.7

    session.generate returns tokens and cost along with text

    Все главные изменения v2.2.7

    Несовместимые изменения

    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

    Улучшения

    • 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

    Все главные изменения v2.2.6

    Улучшения

    • 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

    Все главные изменения v2.2.4

    Улучшения

    • SDKExtended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events.#60329
Все обновления