记一次 OpenClaw 飞书插件接入填坑指南: Error: spawn EINVAL

在针对 OpenClaw (v2026.2.26) 进行本地化插件开发,尤其是加载较新的 @openclaw/feishu 插件时,你可能会遇到接连不断的坑。今天这篇博客,我将复盘一下我刚碰到的一个本地加载错误。

当我拉取了飞书插件(v2026.2.26)的代码到本地目录,并准备通过 npm install 安装依赖再调用 openclaw plugins install ./加载就报错了:

less 复制代码
text
[openclaw] Failed to start CLI: Error: spawn EINVAL
at ChildProcess.spawn (node:internal/child_process:421:11)
at spawn (node:child_process:796:9)
at runCommandWithTimeout (file:///C:/Users/Administrator/AppData/Local/nvm/v24.13.0/node_modules/openclaw/dist/exec-BhaMholX.js:196:16)

一开始查阅了这篇帖子,里面提到可能和执行引擎的环境有关,将错误提交给 AI 后, AI 建议修改相关执行代码,通过显式判断是否在使用 shell,来动态开关 windowsVerbatimArguments(保持参数原样传递)。关键修复代码如下:

php 复制代码
javascript
const useShell = shouldSpawnWithShell({
    resolvedCommand,
    platform: process.platform
});
const child = spawn(resolvedCommand, argv.slice(1), {
    stdio,
    cwd,
    env: resolvedEnv,
    // 关键修正:shell 模式下必须关闭 windowsVerbatimArguments
    windowsVerbatimArguments: useShell ? false : windowsVerbatimArguments, 
    shell: useShell,
});

🎁 尾声彩蛋:消除 Untracked Local Code 警告

当所有报错不再出现,系统启动后却弹出了一个橙色警告:

feishu: loaded without install/load-path provenance; treat as untracked local code and pin trust via plugins.allow...

这是一个安全机制:OpenClaw 检测到我们是本地强行读取的插件,由于缺乏官方来源保证,需要我们显式增加信任。解决方式非常简单:

在你的 OpenClaw 配置文件 "C:\Users\Administrator\.openclaw\openclaw.json"里(通常在全局技能节点或者根对象节点中),增加 plugins.allow 字段白名单:

json 复制代码
json
"plugins": {
    "allow": ["feishu"]
  }

保存配置然后重启 OpenClaw 服务,世界终于彻底清静了。

总结

Happy Coding!🚀

相关推荐
zzjyr1 小时前
react前端项目 fetch原生 与 umijs request 四种请求区别
前端
我叫黑大帅1 小时前
前端总说的防抖与节流到底是什么?
前端·javascript·面试
小时前端1 小时前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
71Ove1 小时前
告别手写字符串!UniApp 路由全自动类型生成工具
前端
掘金安东尼2 小时前
从平面到空间:用 React Three Fiber 构建 3D 产品网格
前端·javascript·面试
小时前端2 小时前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https
用户683709359552 小时前
在 Rokid AR 眼镜里玩消消乐:基于 Unity 2022 LTS + UXR 3.0 SDK 的轻量级 AR 游戏尝试
前端
zzjyr2 小时前
@umijs/max 中导出的 request 方法,如何实现 GET/POST/PUT/DELETE 这四种核心请求
前端
swipe2 小时前
#用这 9 个浏览器 API,我把页面从“卡成 PPT”救回到 90+(每个都有能直接抄的例子)
前端·javascript·面试