跳到正文

SDK

在您自己的脚本、CI 任务和工具中驱动 OpenCode。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在 Workers 上的 Cloudflare Durable Object 中运行 OpenCode。

  • npmnpm i @opencode/sdk
  • bunbun add @opencode/sdk
阅读 SDK 文档

更新日志

  1. 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

    改进

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

    Added lazy loading for stored image references when experimental.media_blob is enabled

    Added lazy loading for stored image references when experimental.media_blob is enabled. Images are downloaded only for previews, while undo, revert, fork, and prompt recall restore referenced attachments safely.#60116

    改进

    • SDKPreserved partial LLMResponse output on AIError.partial when generation, object generation, or a tool loop fails.#60477
    • SDKUnified Effect and Promise tool declarations around tool(...), with optional output schemas and executable or declaration-only tools.#60407
    • SDKAdded typed OpenRouter debug, models, plugins, provider, and user options to the Responses route.#60044

    修复

    • SDKMatched the Promise AI client more closely to the Effect API and accepted typed tools in loops.#60465#60390
    • SDKKept tools whose execute handler can throw available to the AI client.#60431
    • SDKContinued polling queued media generations when providers return unknown intermediate statuses.#59988
    • SDKStopped sending an incompatible filename alongside file_url on OpenAI Responses requests.#60382
  3. v2.2.2

    Exposed SessionInfo.time.busy for the latest execution’s start time

    改进

    • SDKAdded if and until inputs for client.experimental.schedule.create, plus schedule check results and output fields.#60137
    • SDKAdded optional source metadata to prompt file attachments.
查看全部更新