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

相关推荐
GreenTea4 小时前
GrokBot 核心成员 Lauren Tan:每月交付 2000 个 PR 的人,是怎么用 AI 的
前端·后端·架构
mCell5 小时前
用 Knip 清理 AI Coding 留下的冗余代码
前端·ai编程·前端工程化
笃行3506 小时前
使用Rokid AIUI做了一个童年推箱子游戏
前端
excel7 小时前
前端加密的作用与使用场景
前端
计算机魔术师8 小时前
纽约时报版权诉讼披露:微软高管内部称训练 AI 是人类历史上最大规模劳动窃取
前端
去伪存真8 小时前
大模型的参数量为什么那么大?
前端·人工智能
IT_陈寒8 小时前
Java空指针这次真把我坑惨了
前端·人工智能·后端
八荒启·交互动画10 小时前
# Web特效020—让 Web 特效真正动起来:时间循环应该怎么接
前端·webgl·网页特效·八荒启-交互动画·八荒启
动恰客流统计10 小时前
线下零售数字化浪潮下,客流统计的3个核心发展趋势
大数据·前端·人工智能
用户9385156350710 小时前
从小米前端面试题,彻底搞懂闭包、作用域链与 useState 惰性初始化
前端·面试