plugin

oc-plugin · package · G7-插件SDK · Layer 4

① 作用

插件 SDK。src/index.ts:20-80 定义 Plugin/PluginInput/Config/Hooks 等公共类型,基于 @opencode-ai/sdk 客户端访问服务;src/tool.ts:3-20 定义 ToolContext/ToolResult。提供 v2 双运行时:effect 版(src/v2/effect/:plugin/context/agent/command/skill/catalog/integration/filesystem/event 等 14 模块)与 promise 版(src/v2/promise/),并含 TUI 插件类型(src/tui.ts:1-40 基于 @opentui)。

② 提供能力

· 插件公共类型与 Hooks 契约(packages/plugin/src/index.ts:20-80)
· 工具 API:ToolContext/ToolDefinition/ToolResult(packages/plugin/src/tool.ts:3-20)
· Effect 原生 v2 插件 API:agent/command/skill/catalog/integration 注册(packages/plugin/src/v2/effect/plugin.ts)
· Promise 风格 v2 插件 API(packages/plugin/src/v2/promise/index.ts)
· TUI 插件接口(基于 @opentui,packages/plugin/src/tui.ts:19-33)
· shell 工具封装(packages/plugin/src/shell.ts)

③ 依赖(上游)

节点机制证据
sdkworkspace-dep@opencode-ai/plugin/package.json dependencies.@opencode-ai/sdk
planagent-core装配层→官方包
buildagent-core装配层→官方包

④ 被依赖(下游)

节点机制证据
coreworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/plugin
tuiworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/plugin
opencodesemantic-depstage-01 opencode

⑤ 为什么存在(why)

设计意图(官方)

作为第三方扩展的稳定 SDK 面(发布到 npm,files 只含 dist),把 opencode 对插件的实现细节隔离在 core 内部,对外只暴露类型化、版本化的注册 API。

改造关联

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

⑥ 怎么用(how)

怎么用

典型场景与协作

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