安装
插件是一个 JavaScript 文件,没有第三方运行时依赖。任选一条通道,落到磁盘上的都是同一份代码。
- OpenCode V2。1.1.0 在宿主 2.0.32 上完成验收(Windows 与 Linux);1.2.x 在 2.2.0 上复核,包含新进程端到端。
- 运行 OpenCode 的环境需要 Node.js 18 或更新版本。
- 不需要 token、注册表账号或构建步骤。
通道一 —— npm(推荐)
Section titled “通道一 —— npm(推荐)”opencode plugin add opencode-skill-management没有特别理由就用这条:一条命令装包并登记到全局配置,升级交给宿主(opencode plugin check /
opencode plugin update)。npm 包只导出一个入口:./src/skill_management.js。运行时依赖:无。
通道二 —— git spec
Section titled “通道二 —— git spec”opencode plugin add github:sogeisetsu/opencode-skill-managementOpenCode 直接拉取仓库,不经过 npm 注册表,也没有发布环节;升级同样走宿主的
opencode plugin check / opencode plugin update。
通道三 —— 直接复制单文件(不跟 npm 更新)
Section titled “通道三 —— 直接复制单文件(不跟 npm 更新)”离线机器或自建分发更适合这条通道:
node tools/install.mjs # 复制到 <config>/plugins/skill_management.jsnode 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()目录里,「那里找不到」不等于没装上。- 工具只写全局配置,绝不写项目配置。