打包
先对目标 extension 运行 npm pack,得到本地 tarball。
Plugins 导读
这页讲 setup-time plugin install 的测试覆盖机制。维护者可以把某个 plugin id 指向指定 npm spec 或本地 npm-pack tarball,用于 E2E 和包验证。覆盖来源会执行插件代码,因此只应在隔离 state directory 或一次性测试机器里使用。
先讲这一页到底在解决什么
这页讲 setup-time plugin install 的测试覆盖机制。维护者可以把某个 plugin id 指向指定 npm spec 或本地 npm-pack tarball,用于 E2E 和包验证。覆盖来源会执行插件代码,因此只应在隔离 state directory 或一次性测试机器里使用。
第一站
发版前想验证某个 npm 版本、本地 npm pack tarball、或 setup-time install 流程能不能正确识别插件。
普通用户日常安装、生产环境长期配置、或任何来源不清楚的包。
override 不是“官方可信来源”的延伸。即使原目录里是官方插件,你指定的新来源也只是操作者提供的测试输入。
像火车临时换轨测试新轨道,测试完要撤掉,不要让所有乘客都走临时轨。
第二站
环境变量缺一不可:一个允许 override 机制启动,另一个给出 plugin id 到来源的映射。
export OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1
export OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{
"codex": "npm-pack:/tmp/openclaw-codex-2026.5.8.tgz",
"openclaw-web-search": "npm:@openclaw/web-search@2026.5.8"
}'
npm:指向一个 npm package spec,适合验证某个发布版本或 tag。
npm-pack:指向本地 npm pack 产物,适合发版前试装 tarball。
映射到 codex 的 tarball,安装出来的 manifest id 也必须是 codex,不能偷梁换柱。
第三站
先对目标 extension 运行 npm pack,得到本地 tarball。
用临时 OPENCLAW_STATE_DIR,不要污染正常 OpenClaw 状态。
只把要测的 plugin id 映射到测试来源。
安装后检查 state directory 和 runtime inspect,确认装的是预期插件。
最后记住
它帮助维护者验证“如果 setup 流程要装这个插件,会不会正确安装和识别”。测试结束后撤掉环境变量,回到正常 catalog、bundled 或 npm 来源。