跳转到内容

安装

插件是一个 JavaScript 文件,没有第三方运行时依赖。任选一条通道,落到磁盘上的都是同一份代码。

  • OpenCode V2。1.1.0 在宿主 2.0.32 上完成验收(Windows 与 Linux);1.2.x 在 2.2.0 上复核,包含新进程端到端。
  • 运行 OpenCode 的环境需要 Node.js 18 或更新版本。
  • 不需要 token、注册表账号或构建步骤。
opencode plugin add opencode-skill-management

没有特别理由就用这条:一条命令装包并登记到全局配置,升级交给宿主(opencode plugin check / opencode plugin update)。npm 包只导出一个入口:./src/skill_management.js。运行时依赖:无。

opencode plugin add github:sogeisetsu/opencode-skill-management

OpenCode 直接拉取仓库,不经过 npm 注册表,也没有发布环节;升级同样走宿主的 opencode plugin check / opencode plugin update。

通道三 —— 直接复制单文件(不跟 npm 更新)

Section titled “通道三 —— 直接复制单文件(不跟 npm 更新)”

离线机器或自建分发更适合这条通道:

node tools/install.mjs # 复制到 <config>/plugins/skill_management.js
node tools/install.mjs --check # 只报告:落点、版本、有没有冲突

这条通道是锁版本的:装进去的那份一直用到你重新跑安装器为止。它不跟 npm 发布走,升级就是再跑 一次 node tools/install.mjs。想要自动更新就用通道一或通道二,升级交给宿主的 opencode plugin check / opencode plugin update。

<config> 的解析顺序与宿主一致:$OPENCODE_CONFIG_DIR → $XDG_CONFIG_HOME/opencode → ~/.config/opencode(Windows 上是 C:\Users\<你>\.config\opencode)。

写任何文件之前,安装器先看有没有第二个来源。opencode.json(c) 的 plugins 里已经列了本包, 或者 plugins/ 里还躺着另一份副本时,它拒绝写入、返回退出码 2,所有文件保持原样。

参数作用
--check / --dry-run只报告,不写任何文件
--uninstall只删 <config>/plugins/skill_management.js(内容不像本插件就拒绝)
--npm断言走 npm 渠道,永不写文件;没找到渠道退出 1
--force无视冲突照写(会制造两份,宿主会给其中一份报 Duplicate plugin ID)
--json机器可读输出
--help / -h打印用法并退出 0;不写任何文件

未知参数退出 3,不写任何文件。

OpenCode 会加载 <config>/plugins/ 下的每个 .js、.ts 文件以及子目录。不需要在 opencode.jsonc 里登记。

opencode plugin list --builtin

--builtin 不能省。不带它时,本地目录加载的插件不会出现在列表里,可能显示 No plugins found。

输出里应出现 skill_management:单文件通道显示 local,npm / git spec 显示包来源。全新的配置 目录里,前两次调用可能为空,再跑一次即可。

然后让模型调用工具,或自己调用:

skill_management({ action: "list" })

list 返回里的 config.file 与 skills[],足以确认插件读到了宿主注册表。

  • 插件在 OpenCode 进程启动时加载。新装的插件出现在下一个进程里,不会出现在已经运行的进程里。
  • skill_management 注册为原生工具,codemode: false。直接按名字调用;它不在 Code Mode 的 search() / execute() 目录里,「那里找不到」不等于没装上。
  • 工具只写全局配置,绝不写项目配置。

装好后继续看概览,或直接进入 list。