OpenClaw飞书渠道的配置问题排查与解决指南

  发布时间:2026-04-09 09:20:28   作者:AI仙人掌   我要评论
本文主要分享了OpenClaw从3.28升级到2026.4.7后容器启动卡住的问题,原因是1Panel镜像路径错误和旧配置字段不兼容,解决方案包括修改docker-compose.yml添加环境变量,重建容器并保留该环境变量,希望对大家有所帮助

问题背景

日期:2026-04-08

版本:1Panel 部署的 OpenClaw,从 3.28(2026.3.28)升级至 2026.4.7

现象:容器启动后卡住循环重启,日志反复出现:

Config invalid
File: ~/.openclaw/openclaw.json
Problem:
  - channels.feishu: unknown channel id: feishu
Run: openclaw doctor --fix

根本原因

原因一:1Panel 镜像的飞书插件路径问题

路径说明
OPENCLAW_BUNDLED_PLUGINS_DIR=/app/extensions容器默认的 bundled 插件目录(不含 feishu
/app/dist/extensions/feishu/feishu 插件的实际位置(编译好的 .js 版本)

结论:1Panel 的 openclaw:latest 镜像打包时,/app/extensions/ 目录里没有包含 feishu 插件,但 feishu 的编译版本存在于 /app/dist/extensions/feishu/。环境变量指向错误,导致 openclaw 始终找不到 feishu 插件。

原因二:旧版配置字段不兼容

旧配置中包含以下字段,在新版本 schema 严格校验下不被支持,会导致 must NOT have additional properties 错误:

"replyInThread": "disabled",
"topicSessionMode": "disabled",
"reactionNotifications": "own",
"renderMode": "card",
"actions": { "reactions": true },
"typingIndicator": true,
"resolveSenderNames": true,
"streaming": true,
"blockStreaming": true,
"textChunkLimit": 2000,
"mediaMaxMb": 30,
"webhookPath": "/feishu/events"

注意:typingIndicatorresolveSenderNamesstreaming 等字段在 2026.4.x 版本中已移至插件内部默认值,不再允许在 channel 配置中手动指定。

解决方案

步骤一:修改 docker-compose.yml(需要 root 权限)

文件路径:/opt/1panel/apps/openclaw/openclaw/docker-compose.yml

environment 下添加一行环境变量,并将镜像版本指定为 2026.4.7

environment:
    HOME: /home/node
    TERM: xterm-256color
    OPENCLAW_BUNDLED_PLUGINS_DIR: /app/dist/extensions  # ← 新增此行
image: 1panel/openclaw:2026.4.7                         # ← 指定版本

作用:将 openclaw 的 bundled 插件目录覆盖为 /app/dist/extensions,使其能正确找到 feishu 插件。

步骤二:重建容器

docker stop 1Panel-openclaw-7tjZ
docker rm 1Panel-openclaw-7tjZ
cd /opt/1panel/apps/openclaw/openclaw
docker compose up -d

或在 1Panel 管理面板中保存配置后重启。

步骤三:写入正确的飞书 channel 配置

容器启动后执行:

docker exec 1Panel-openclaw-7tjZ python3 -c "
import json

with open('/home/node/.openclaw/openclaw.json', 'r') as f:
    config = json.load(f)

# 添加 feishu 插件
plugins = config.setdefault('plugins', {})
allow = plugins.setdefault('allow', [])
if 'feishu' not in allow:
    allow.append('feishu')
plugins.setdefault('entries', {})['feishu'] = {'enabled': True, 'config': {}}

# 写入 feishu channel 配置(仅使用 2026.4.x 支持的字段)
config['channels']['feishu'] = {
    'enabled': True,
    'defaultAccount': 'main',
    'accounts': {
        'main': {
            'appId': 'cli_a94ba863b9f9dcb1',
            'appSecret': 'DWJWRZMIqMRIXriLsxNBYfTw'
        },
        'hoare': {
            'appId': 'cli_a948989a8879dcd3',
            'appSecret': 'z2Xj6thGjUzHccuFDwBfCjbN8'
        }
    },
    'domain': 'feishu',
    'connectionMode': 'websocket',
    'dmPolicy': 'open',
    'allowFrom': ['*'],
    'groupPolicy': 'open',
    'requireMention': True
}

with open('/home/node/.openclaw/openclaw.json', 'w') as f:
    json.dump(config, f, indent=2, ensure_ascii=False)
print('配置写入完成')
"

验证成功的标志

容器日志出现以下内容即为成功:

[gateway] feishu_doc: Registered feishu_doc, feishu_app_scopes
[gateway] feishu_chat: Registered feishu_chat tool
[gateway] feishu_wiki: Registered feishu_wiki tool
[gateway] feishu_drive: Registered feishu_drive tool
[gateway] feishu_bitable: Registered bitable tools
[gateway] ready (4 plugins, 1.4s)          ← 插件数从3变4
[feishu] feishu[main]: bot open_id recovered: ou_xxx   ← WebSocket连接成功

最终配置状态

docker-compose.yml 关键配置

environment:
    HOME: /home/node
    TERM: xterm-256color
    OPENCLAW_BUNDLED_PLUGINS_DIR: /app/dist/extensions
image: 1panel/openclaw:2026.4.7

openclaw.json 飞书 channel 配置(2026.4.x 兼容版)

"feishu": {
  "enabled": true,
  "defaultAccount": "main",
  "accounts": {
    "main": {
      "appId": "cli_a94ba863b9f9dcb1",
      "appSecret": "DWJWRZMIqMRIXriLsxNBYfT"
    },
    "hoare": {
      "appId": "cli_a948989a8879dcd3",
      "appSecret": "z2Xj6thGjUzHccuFDwBfCjbN8"
    }
  },
  "domain": "feishu",
  "connectionMode": "websocket",
  "dmPolicy": "open",
  "allowFrom": ["*"],
  "groupPolicy": "open",
  "requireMention": true
}

问题根因(两个)

镜像路径问题:1Panel 的 openclaw 镜像默认 OPENCLAW_BUNDLED_PLUGINS_DIR=/app/extensions,但 feishu 插件实际在 /app/dist/extensions/feishu/,路径对不上所以始终报 unknown channel id: feishu

配置字段不兼容:旧配置里的 replyInThread、topicSessionMode、renderMode、typingIndicator 等字段在新版本 schema 严格校验下不被支持

解决方案核心(一行环境变量)

在 docker-compose.yml 的 environment 下加:

OPENCLAW_BUNDLED_PLUGINS_DIR: /app/dist/extensions

升级时记住:每次换新镜像版本,这个环境变量必须保留,且 feishu channel 配置只保留文档明确支持的字段。

到此这篇关于OpenClaw飞书渠道的配置问题排查与解决指南的文章就介绍到这了,更多相关OpenClaw飞书渠道配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

  • OpenClaw飞书渠道ACP功能启动的实现步骤

    OpenClaw 的 ACP机制允许将 Codex、Claude Code、Gemini CLI 等外部编程工具纳入 OpenClaw 的 Agent 编排体系,很多读者在飞书渠道部署 OpenClaw 后,想知道如何在这个环境
    2026-03-26
  • OpenClaw多渠道接入WhatsApp、Telegram、飞书的实战指南

    OpenClaw的Channels多渠道接入系统是其六层架构的第一层,负责连接外部消息平台与AI Agent系统,本文深入剖析Channels的核心概念、架构设计、与Gateway的交互机制,详细介绍
    2026-03-23
  • Windows下通过WSL安装OpenClaw并接入飞书的完整踩坑记录

    这篇文章主要为大家详细介绍了如何在Windows系统下通过WSL安装OpenClaw并接入飞书,文中记录了详细的安装过程以及完整踩坑记录,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-04-08
  • OpenClaw(Clawdbot))+Kimi2.5+飞书的配置实战指南

    本文主要介绍了OpenClaw(Clawdbot))+Kimi2.5+飞书的实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来
    2026-04-01
  • OpenClaw飞书官方插件安装教程(3月最新版)

    OpenClaw 是一个个人 AI 代理框架,支持连接多种聊天平台(如飞书、Telegram 等)并集成多种模型,这篇文章主要介绍了OpenClaw飞书官方插件安装教程的相关资料,文中通过代码
    2026-03-27
  • OpenClaw飞书插件加载失败的问题排查与解决

    当你的 AI 助手突然聋了——能发消息却收不到回复,问题可能藏在一个你根本不会去看的 .ts 文件里,下面小编就和大家详细介绍一下OpenClaw飞书插件加载失败的问题排查与解决
    2026-03-25
  • OpenClaw飞书插件冲突导致的配对失败问题的解决方案

    最近在使用 OpenClaw 进行飞书机器人配对时,执行命令时遇到了错误,同时启动日志中反复出现警告这个问题的根本原因是 OpenClaw 环境中存在两个 ID 相同的飞书插件,本文借
    2026-03-19
  • OpenClaw解决飞书 duplicate plugin id detected 问题

    文章介绍了OpenClaw在启动过程中检测到重复的feishu插件ID并导致冲突的问题,通过查找和删除全局插件文件并调整配置文件,成功解决了这个问题,感兴趣的朋友跟随小编一起看看
    2026-03-17

最新评论