sdk

oc-sdk · package · G3-客户端 · Layer 5

① 作用

官方 JS 客户端 SDK(packages/sdk/js/)。src/index.ts:1-21 导出 client/server 并通过 createOpencode 同启;src/client.ts:33-50 createOpencodeClient 基于 @hey-api 生成的 gen/sdk.gen.ts(v2 版 src/v2/gen/sdk.gen.ts:7077 class OpencodeClient)并注入 directory header 重写;src/server.ts:22-40 createOpencodeServer 用 cross-spawn 拉起 opencode serve 子进程并等待监听。v2 子目录提供新一代 client/server/data 导出(src/v2/index.ts:1-23)。

② 提供能力

· 类型化 HTTP 客户端 createOpencodeClient(packages/sdk/js/src/client.ts:33)
· 服务端启动助手 createOpencodeServer(spawn opencode serve,packages/sdk/js/src/server.ts:22)
· 一体化 createOpencode(packages/sdk/js/src/index.ts:8-21)
· V2 代客户端/服务端 API(packages/sdk/js/src/v2/client.ts、server.ts)
· 从 openapi.json 生成的完整类型与 SDK(packages/sdk/js/src/v2/gen/sdk.gen.ts)

③ 依赖(上游)

节点机制证据
planagent-core装配层→官方包
buildagent-core装配层→官方包

④ 被依赖(下游)

节点机制证据
appworkspace-dep@opencode-ai/app/package.json dependencies.@opencode-ai/sdk
cliworkspace-dep@opencode-ai/cli/package.json dependencies.@opencode-ai/sdk
pluginworkspace-dep@opencode-ai/plugin/package.json dependencies.@opencode-ai/sdk
session-uiworkspace-dep@opencode-ai/session-ui/package.json dependencies.@opencode-ai/sdk
slackworkspace-dep@opencode-ai/slack/package.json dependencies.@opencode-ai/sdk
tuiworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/sdk
opencodesemantic-depstage-01 opencode
enterprisesemantic-depstage-01 @opencode-ai/enterprise

⑤ 为什么存在(why)

设计意图(官方)

对外发布(npm 包)的官方 SDK,将 opencode 内部 server 的 openapi.json 编译为类型安全的客户端,同时提供进程级 server 托管,供第三方应用与 plugin 使用。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

典型场景与协作

模块内部结构 DAG(39 模块 · 65 边) 内部结构基线 v1.18.29,v1.18.35 包级结构未变(36 包集合逐一致)