惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - xgqfrms

Dell 显示器 S2419HM 灰屏 &花屏 All In One AI Harness Engineering All In One 电脑外接显示器天梯榜 All In One How to change the speed display unit of GSP from mph to km/h using GoPro Labs All In One WHCA 白宫记者协会 All In One Pascal Editor All In One 主流犬种图解指南 All In One 泡沫喷雾 & 辣椒喷雾 All In One 如何给身份证照片添加水印 All In One GoPro MISSION 1 PRO price All In One 杭州历史天气数据 All In One Pandoc All In One GoPro MISSION 1 SERIES All In One GoPro telemetry 中的 GPS5 与 GPS9 是什么 All In One NHTSA FARS All In One How to extract raw telemetry data from GoPro videos using FFmpeg All In One Free Vercel Services All In One How to run for loop in Python REPL All In One 使用不同 AI 大模型生成一杯装满的红酒的高脚杯挑战赛 All In One CSS Custom Highlight API All In One OpenCode All In One OpenClaw 设置 cron 定时任务 All In One free MongoDB Cloud API All In One 如何在 Raspberry Pi 安装 OpenClaw All In One free cloud LLM models API All In One Claude Code Free Video Tutorials All In One Claude Code skills & plugins All In One LLM Benchmark All In One How to fix use the FileZilla FTP upload file error All In One
如何解决 OpenClaw 升级后导致 feishu plugin 无法使用的问题 All In One
xgqfrms · 2026-03-26 · via 博客园 - xgqfrms

如何解决 OpenClaw 升级后导致 feishu plugin 无法使用的问题 All In One

OpenClaw 破坏性升级 bug 💩

errors

$ openclaw --version
OpenClaw 2026.3.23-2 (7ffe7e4)

$ openclaw gateway status

🦞 OpenClaw 2026.3.23-2 (7ffe7e4)
   If it works, it's automation; if it breaks, it's a "learning opportunity."

Config invalid
File: ~/.openclaw/openclaw.json
Problem:
  - plugins.load.paths: plugin: plugin path not found: /home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu

Run: openclaw doctor --fix
Invalid config at /home/xgqfms/.openclaw/openclaw.json:\n- plugins.load.paths: plugin: plugin path not found: /home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu
Gateway status failed: Error: Invalid config at /home/xgqfms/.openclaw/openclaw.json:
- plugins.load.paths: plugin: plugin path not found: /home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu

image

$ openclaw doctor --fix

🦞 OpenClaw 2026.3.23-2 (7ffe7e4)

# ...
Invalid config:
- plugins.load.paths: plugin: plugin path not found: /home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu
│
└  Doctor complete.
$ ls /home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/
ls: cannot access '/home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/': No such file or directory

$ openclaw update
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
  - plugins.load.paths: plugin: plugin path not found: /home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu

Run: openclaw doctor --fix

https://github.com/openclaw/openclaw/issues?q=feishu plugin

solutions

$ openclaw doctor --fix

$ cat ~/.openclaw/openclaw.json

$ sudo vim ~/.openclaw/openclaw.json

image

~$ cat ~/.openclaw/openclaw.json
{
  "wizard": {
    "lastRunAt": "2026-03-10T03:31:23.166Z",
    "lastRunVersion": "2026.3.8",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },
  "auth": {
    "profiles": {
      "qwen-portal:default": {
        "provider": "qwen-portal",
        "mode": "oauth"
      }
    }
  },
  "models": {
    "providers": {
      "qwen-portal": {
        "baseUrl": "https://portal.qwen.ai/v1",
        "apiKey": "qwen-oauth",
        "api": "openai-completions",
        "models": [
          {
            "id": "coder-model",
            "name": "Qwen Coder",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 8192
          },
          {
            "id": "vision-model",
            "name": "Qwen Vision",
            "reasoning": false,
            "input": [
              "text",
              "image"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "qwen-portal/coder-model"
      },
      "models": {
        "qwen-portal/coder-model": {
          "alias": "qwen"
        },
        "qwen-portal/vision-model": {}
      },
      "workspace": "/home/xgqfms/.openclaw/workspace",
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
  "tools": {
    "profile": "coding"
  },
  "messages": {
    "ackReactionScope": "group-mentions"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "boot-md": {
          "enabled": true
        },
        "bootstrap-extra-files": {
          "enabled": true
        },
        "command-logger": {
          "enabled": true
        },
        "session-memory": {
          "enabled": true
        }
      }
    }
  },
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "cli_a90a8361fa39dcd9",
      "appSecret": "PRZBg8bmnTmakMZQx3NTydOqxt0vaA3l",
      "connectionMode": "websocket",
      "domain": "feishu",
      "groupPolicy": "all",
      "groupAllowFrom": [
        "webgeeker"
      ]
    }
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "*******"
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "nodes": {
      "denyCommands": [
        "camera.snap",
        "camera.clip",
        "screen.record",
        "contacts.add",
        "calendar.add",
        "reminders.add",
        "sms.send"
      ]
    }
  },
  "skills": {
    "install": {
      "nodeManager": "npm"
    }
  },
  "plugins": {
    "load": {
      "paths": [
        "/home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu"
      ]
    },
    "entries": {
      "qwen-portal-auth": {
        "enabled": true
      },
      "feishu": {
        "enabled": true
      }
    }
  },
  "meta": {
    "lastTouchedVersion": "2026.3.8",
    "lastTouchedAt": "2026-03-10T03:31:23.238Z"
  }
}

删除 feishu plugin ✅

  "plugins": {
    "load": {
      "paths": [
-       "/home/xgqfms/.nvm/versions/node/v24.14.0/lib/node_modules/openclaw/extensions/feishu"
      ]
    },

image

demos

不存在 @openclaw/plugin-feishu ❌

https://www.npmjs.com/package/@openclaw/plugin-feishu

存在 @openclaw/feishu ✅

https://www.npmjs.com/package/@openclaw/feishu

$ openclaw gateway status

# 获取 plugins 列表
$ openclaw plugins list

# 官方版 plugins
$ openclaw plugins install @openclaw/feishu

$ openclaw gateway restart

image

image

image

image

$ cat ~/.openclaw/openclaw.json

image

{
  "meta": {
    "lastTouchedVersion": "2026.3.23-2",
    "lastTouchedAt": "2026-03-26T01:58:13.908Z"
  },
  "wizard": {
    "lastRunAt": "2026-03-10T03:31:23.166Z",
    "lastRunVersion": "2026.3.8",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },
  "auth": {
    "profiles": {
      "qwen-portal:default": {
        "provider": "qwen-portal",
        "mode": "oauth"
      }
    }
  },
  "models": {
    "providers": {
      "qwen-portal": {
        "baseUrl": "https://portal.qwen.ai/v1",
        "apiKey": "qwen-oauth",
        "api": "openai-completions",
        "models": [
          {
            "id": "coder-model",
            "name": "Qwen Coder",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 8192
          },
          {
            "id": "vision-model",
            "name": "Qwen Vision",
            "reasoning": false,
            "input": [
              "text",
              "image"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "qwen-portal/coder-model"
      },
      "models": {
        "qwen-portal/coder-model": {
          "alias": "qwen"
        },
        "qwen-portal/vision-model": {}
      },
      "workspace": "/home/xgqfms/.openclaw/workspace",
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
  "tools": {
    "profile": "coding"
  },
  "messages": {
    "ackReactionScope": "group-mentions"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "boot-md": {
          "enabled": true
        },
        "bootstrap-extra-files": {
          "enabled": true
        },
        "command-logger": {
          "enabled": true
        },
        "session-memory": {
          "enabled": true
        }
      }
    }
  },
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "cli_a90a8361fa39dcd9",
      "appSecret": "PRZBg8bmnTmakMZQx3NTydOqxt0vaA3l",
      "connectionMode": "websocket",
      "domain": "feishu",
      "groupPolicy": "all",
      "groupAllowFrom": [
        "webgeeker"
      ]
    }
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "*******"
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "nodes": {
      "denyCommands": [
        "camera.snap",
        "camera.clip",
        "screen.record",
        "contacts.add",
        "calendar.add",
        "reminders.add",
        "sms.send"
      ]
    }
  },
  "skills": {
    "install": {
      "nodeManager": "npm"
    }
  },
  "plugins": {
    "load": {
      "paths": []
    },
    "entries": {
      "qwen-portal-auth": {
        "enabled": true
      },
      "feishu": {
        "enabled": true
      }
    },
    "installs": {
      "feishu": {
        "source": "npm",
        "spec": "@openclaw/feishu",
        "installPath": "/home/xgqfms/.openclaw/extensions/feishu",
        "version": "2026.3.13",
        "resolvedName": "@openclaw/feishu",
        "resolvedVersion": "2026.3.13",
        "resolvedSpec": "@openclaw/feishu@2026.3.13",
        "integrity": "sha512-D5vPkgGZ9lfCQnDFlGrQN6NCSUYRgYW9k7amW3qlm9zBI4Sp+alRZVqLZ4yZ2eCXHjw9RVp/L75wjJ7NBQyfEw==",
        "shasum": "39128ff918f8d3387331818cbe3f8b24a82e4c0d",
        "resolvedAt": "2026-03-26T01:57:50.731Z",
        "installedAt": "2026-03-26T01:58:13.718Z"
      }
    }
  }
}

https://docs.openclaw.ai/channels/feishu#bundled-plugin

# From npm
openclaw plugins install @openclaw/voice-call

# From a local directory or archive
openclaw plugins install ./my-plugin
openclaw plugins install ./my-plugin.tgz

https://docs.openclaw.ai/tools/plugin

OpenClaw + Qwen + feishu Bot ✅

image

image

🤖 当前模型
我使用的是 qwen-portal/coder-model(通义千问代码模型)
🛠️ 可用技能
我目前有以下技能:
📦 Feishu 集成
feishu-doc — 飞书文档读写操作
feishu-drive — 飞书云盘文件管理
feishu-perm — 飞书权限管理(分享、协作者)
feishu-wiki — 飞书知识库导航
🔧 工具类
weather ☔ — 天气查询(支持全球城市)
clawhub — 技能市场(搜索/安装/发布技能)
coding-agent — 代码任务委托(Codex/Claude Code/Pi)
healthcheck — 安全审计与系统加固
node-connect — OpenClaw 节点连接诊断
skill-creator — 技能创作与审计
🌐 网络工具
web_search — 网页搜索(DuckDuckGo)
web_fetch — 网页内容提取
📸 媒体
image — 图片分析
🧠 记忆系统
memory_search — 语义搜索记忆
memory_get — 读取记忆片段
👥 会话管理
sessions_list — 列出会话
sessions_history — 获取会话历史
sessions_send — 发送消息到其他会话
sessions_spawn — 创建子代理
subagents — 管理子代理
📊 系统
session_status — 查看会话状态
exec — 执行 shell 命令
read/write/edit — 文件操作
process — 进程管理

clawhub

🔥 流行技能推荐
根据常见的 AgentSkills 类型,推荐你关注以下几类:
📱 社交媒体类
twitter — 推文发布、时间线读取
discord — Discord 机器人集成
slack — Slack 工作区管理
💾 数据库类
postgres — PostgreSQL 查询与管理
mysql — MySQL 数据库操作
redis — Redis 缓存操作
🎵 媒体娱乐类
spotify — 音乐播放控制
youtube — 视频搜索与下载
netflix — 影视推荐
🏠 智能家居类
homeassistant — Home Assistant 集成
philips-hue — Hue 灯光控制
sonos — Sonos 音响控制
📧 效率工具类
gmail — 邮件管理
notion — Notion 页面操作
calendar — 日历事件管理
🤖 AI 增强类
image-gen — 图像生成
voice-tts — 语音合成
translation — 多语言翻译

https://clawhub.ai/

OpenClaw 2026.3.23-2

$ openclaw --version
OpenClaw 2026.3.23-2 (7ffe7e4)

$ openclaw gateway  --help

$ openclaw  --help
🦞 OpenClaw 2026.3.23-2 (7ffe7e4)
   I'm not saying your workflow is chaotic... I'm just bringing a linter and a helmet.

Usage: openclaw [options] [command]

Options:
  --dev                Dev profile: isolate state under ~/.openclaw-dev, default gateway port
                       19001, and shift derived ports (browser/canvas)
  -h, --help           Display help for command
  --log-level <level>  Global log level override for file + console
                       (silent|fatal|error|warn|info|debug|trace)
  --no-color           Disable ANSI colors
  --profile <name>     Use a named profile (isolates OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH
                       under ~/.openclaw-<name>)
  -V, --version        output the version number

Commands:
  Hint: commands suffixed with * have subcommands. Run <command> --help for details.
  acp *                Agent Control Protocol tools
  agent                Run one agent turn via the Gateway
  agents *             Manage isolated agents (workspaces, auth, routing)
  approvals *          Manage exec approvals (gateway or node host)
  backup *             Create and verify local backup archives for OpenClaw state
  browser *            Manage OpenClaw's dedicated browser (Chrome/Chromium)
  channels *           Manage connected chat channels (Telegram, Discord, etc.)
  clawbot *            Legacy clawbot command aliases
  completion           Generate shell completion script
  config *             Non-interactive config helpers (get/set/unset/file/validate). Default:
                       starts guided setup.
  configure            Interactive configuration for credentials, channels, gateway, and agent
                       defaults
  cron *               Manage cron jobs via the Gateway scheduler
  daemon *             Gateway service (legacy alias)
  dashboard            Open the Control UI with your current token
  devices *            Device pairing + token management
  directory *          Lookup contact and group IDs (self, peers, groups) for supported chat
                       channels
  dns *                DNS helpers for wide-area discovery (Tailscale + CoreDNS)
  docs                 Search the live OpenClaw docs
  doctor               Health checks + quick fixes for the gateway and channels
  gateway *            Run, inspect, and query the WebSocket Gateway
  health               Fetch health from the running gateway
  help                 Display help for command
  hooks *              Manage internal agent hooks
  logs                 Tail gateway file logs via RPC
  memory *             Search and reindex memory files
  message *            Send, read, and manage messages
  models *             Discover, scan, and configure models
  node *               Run and manage the headless node host service
  nodes *              Manage gateway-owned node pairing and node commands
  onboard              Interactive onboarding for gateway, workspace, and skills
  pairing *            Secure DM pairing (approve inbound requests)
  plugins *            Manage OpenClaw plugins and extensions
  qr                   Generate iOS pairing QR/setup code
  reset                Reset local config/state (keeps the CLI installed)
  sandbox *            Manage sandbox containers for agent isolation
  secrets *            Secrets runtime reload controls
  security *           Security tools and local config audits
  sessions *           List stored conversation sessions
  setup                Initialize local config and agent workspace
  skills *             List and inspect available skills
  status               Show channel health and recent session recipients
  system *             System events, heartbeat, and presence
  tui                  Open a terminal UI connected to the Gateway
  uninstall            Uninstall the gateway service + local data (CLI remains)
  update *             Update OpenClaw and inspect update channel status
  webhooks *           Webhook helpers and integrations

Examples:
  openclaw models --help
    Show detailed help for the models command.
  openclaw channels login --verbose
    Link personal WhatsApp Web and show QR + connection logs.
  openclaw message send --target +15555550123 --message "Hi" --json
    Send via your web session and print JSON result.
  openclaw gateway --port 18789
    Run the WebSocket Gateway locally.
  openclaw --dev gateway
    Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.
  openclaw gateway --force
    Kill anything bound to the default gateway port, then start it.
  openclaw gateway ...
    Gateway control via WebSocket.
  openclaw agent --to +15555550123 --message "Run summary" --deliver
    Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.
  openclaw message send --channel telegram --target @mychat --message "Hi"
    Send via your Telegram bot.

Docs: docs.openclaw.ai/cli

openclaw plugin feishu error

2026年 3月23日的时候,OpenClaw 突然更新了2026.3.22-beta.1新版本。

ClawBot 无法适配新版 OpenClaw 安全审计流,因此出现了在大面积请求报错,随后 ClawBot 全面陷入瘫痪

飞书钉钉等第三方集成方案也因底层架构不兼容相继出故障。

不少网友表示,早知道我就不升级了!

而今天龙虾之父斯坦伯格发帖称:在昨天发布OpenClaw3.22版本时,漏掉了一个关于网页控制 UI 资产的发布步骤

OpenClaw最新版本来到了3.23。

在升级到 3·23版本后,接入飞书的 OpenClaw 并没有出现报错情况,可能是今天的更新补全了此前缺失的 UI 资产。

https://eu.36kr.com/zh/p/3736747351044610

在 2026.3.22 - beta.1 版本更新中,Openclaw 团队进行了一次重构。他们对插件系统进行了两项重大更改

移除原有主入口:此前,所有插件均可直接从 openclaw/plugin-sdk 的统一入口获取所需功能。本次更新中,官方直接删除了该主入口。

未提供过渡方案:更新日志明确指出“无兼容性垫片”。这意味着他们不仅直接删除了该模块,而且没有提供任何迁移和过渡接口。

OpenClaw为何进行如此大的更新?

从软件工程的角度来看,官方这样做主要是为了性能安全

之前的统一入口模式会导致插件一次性将整个开发包(SDK)加载到内存中,即使它只使用了其中的一小部分功能。这会导致软件臃肿且运行缓慢。

现在官方要求使用分段路径(例如,必须精确地写成 openclaw/plugin - sdk/core),这是为了强制插件作者“取他们需要的东西”,从而显著提高 Openclaw 的启动速度。

此外,更新日志还提到“阻止跨包转义相对路径”。这意味着之前的旧接口过于宽松,一些恶意插件可能会超出其权限访问计算机上的其他数据。现在,强制使用新的分段式接口,可以将每个插件严格限制在各自的“盒子”内。

OpenClaw 也立即更新了其官方文档中的说明,指出此次更新主要是为了实现按需加载,提高启动速度并节省内存,另一方面,也是为了使 API 接口更加清晰。

强制遵守 API 规则意味着插件只能使用公共和稳定的接口(即 openclaw/plugin - sdk/* 中的内容)来获取功能。

如果大家都使用相对路径秘密访问底层私有代码,一旦官方修改底层代码的文件夹名称,就会直接拦截报告错误

https://eu.36kr.com/en/p/3736412814557190

refs

©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!