记一次 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!🚀

相关推荐
浪兎兎4 小时前
Vue CLI笔记
前端·vue.js·笔记
Csvn4 小时前
Proxy / Reflect 与响应式原理:完整手写一个 mini Vue3 响应式系统
前端
Easy_API4 小时前
OpenAI三周内第二次降价,GPT-5.6 Sol砍了20%到33
大数据·前端·人工智能·gpt·深度学习
深念Y4 小时前
07-SSR水合问题实战排查与修复记录
前端·vue·vite·nuxt·ssr·csr·水合
前端炒粉4 小时前
容器预热预跳转方案
前端·vue.js·性能优化
小二李4 小时前
第12章 nestjs服务端开发:RBAC权限系统设计
java·linux·前端
tt一点通4 小时前
前端常用设计模式大全
前端·vue.js
张文君4 小时前
ubuntu26.04坏块分区隔离急速版
java·前端·python
两只羊ovo5 小时前
给 Agent 装上手脚:手写 mini-Cursor,从建项目到跑起来
前端
Hive_MOM5 小时前
制造企业库存精益化管理数字化:从“库存压资金、找货靠人翻“到“库存水位实时可见、资金周转提速“
前端·制造