OpenClaw+GLM+飞书机器人:从零部署私有AI助手的完整指南
1. 项目缘起为什么需要OpenClaw GLM 飞书机器人这个组合最近在折腾自动化工作流和智能助手的朋友可能都听说过OpenClaw。简单来说它是一个开源的、可扩展的AI智能体Agent框架你可以把它理解成一个“AI大脑”的调度中心。它能连接各种工具、API并调用不同的大模型来执行复杂的任务链。而智谱AI的GLM系列模型尤其是GLM-4、GLM-5.2等在国内的开发者圈子里口碑一直不错推理能力强API调用也相对稳定。飞书机器人则是我们日常团队协作中最高频的交互入口。把这三位“选手”组合在一起目标就非常明确了打造一个部署在自己可控环境下的、能通过飞书便捷交互的、且拥有强大GLM模型作为“思考核心”的私人AI助手。这个助手不再是简单的聊天机器人它能根据你的指令自动调用网络搜索、代码执行、文件处理等技能完成从“查资料”到“写周报”再到“监控服务器”等一系列复杂操作。我自己在部署这个组合时发现网上资料虽然多但要么过于零散只讲OpenClaw基础安装要么只提飞书机器人对接忽略了模型配置的核心细节还有的教程在关键步骤上语焉不详导致部署过程像在闯关一不小心就卡在某个报错上比如经典的openclaw llamap svr operator(): got exception: { error: { code: 400或者could not start the cli。所以我决定结合自己趟过的坑写一份从零开始、手把手、覆盖所有核心环节和排错要点的完整部署指南。无论你是想在Ubuntu服务器上长期运行还是用Docker快速体验抑或是想在Windows上本地开发调试这篇指南都会给你清晰的路径。2. 核心组件深度解析与选型考量在动手之前我们有必要把这三个核心组件拆开看看理解它们各自扮演的角色以及我们为什么这么选型。这能帮你未来做定制化时知道该动哪里。2.1 OpenClaw不止是AI调用框架很多人把OpenClaw类比为开源的GPTs或Coze。这个类比对但不完全。OpenClaw的核心价值在于其“技能Skill”和“工作流Workflow”机制。它不是一个简单的模型转发代理而是一个可以编排复杂任务的智能体平台。模型供应商抽象层这是OpenClaw最实用的设计之一。它定义了一套统一的接口让你可以几乎无感地切换背后的大模型供应商。无论是智谱GLM、DeepSeek、Kimi还是OpenAI你只需要在配置文件中更改provider和api_key等参数上层的技能和工作流逻辑通常不需要改动。这解决了我们“不想被单一厂商绑定”的痛点。技能市场与自定义OpenClaw社区提供了丰富的预置技能如网络搜索、天气查询、代码执行等。更重要的是你可以用Python轻松编写自定义技能。比如我写了一个技能能连接公司内部的项目管理API让AI助手可以直接查询项目进度。工作流引擎你可以把多个技能像搭积木一样组合起来形成一个自动化流水线。例如一个“市场分析报告生成”工作流可以依次调用1. 搜索技能获取最新行业动态2. 调用GLM模型总结归纳3. 调用文档生成技能输出格式优美的Markdown或Word报告。选型理由对比其他开源Agent框架如LangChain的LangGraph、DifyOpenClaw的配置相对更集中对初学者友好且中文社区活跃遇到问题更容易找到解决方案。它的“开箱即用”程度较高适合快速搭建原型和生产环境。2.2 智谱AI GLM模型如何选择适合的版本智谱AI开放平台提供了多个GLM模型版本选择哪个直接关系到成本、性能和你的需求。GLM-4 / GLM-4 Plus这是他们的主力模型综合能力强适合绝大多数通用聊天、推理、编程任务。如果你是普通应用选GLM-4准没错。GLM-5.2 / GLM-5.3 / GLM-5.5这是更新的版本系列。通常数字越大能力越新、越强。例如GLM-5.2在长文本理解和复杂指令跟随上可能有提升。关键点你需要去智谱AI开放平台的文档里确认你准备调用的模型名称model参数是否准确。例如可能是glm-4、glm-4-plus或glm-5-2注意命名格式可能有短横线。调用错误的模型名称是导致400错误的一个常见原因。GLM-4V视觉和CodeGeeX代码如果你的应用场景涉及图片理解或深度代码生成可以考虑这些专用模型。但在OpenClaw通用技能中GLM-4/5系列通常足够。关于“涨价”与成本控制确实大模型API的成本需要关注。智谱AI的计价是按Tokens输入输出计算的。在OpenClaw配置中你可以为模型设置max_tokens参数来限制单次回复的长度从而控制单次调用成本。对于测试和低频使用成本通常很低。建议先在平台领取免费额度进行测试。选型建议对于OpenClaw接入起步阶段强烈建议使用GLM-4标准版。它经过了最广泛的测试兼容性最好文档最全。等整个流程跑通后再尝试升级到GLM-5系列等新模型进行性能对比。2.3 飞书机器人选择哪种交互模式飞书开放平台提供了多种机器人类型和OpenClaw对接主要考虑两种自定义机器人Webhook这是最简单的方式。你在飞书群里添加一个“自定义机器人”它会给你一个Webhook地址。OpenClaw可以将处理结果以JSON格式发送到这个地址机器人就会在群里发言。缺点这种机器人是“只写”的它不能直接接收用户消息。你需要搭配飞书的“事件订阅”或“消息卡片”的交互性来接收指令架构稍复杂。企业自建应用机器人这是功能最全、也是最推荐用于生产环境的方式。你需要在飞书开发者后台创建一个“企业自建应用”并为这个应用启用“机器人”能力。这样获得的机器人可以添加到群聊或单聊。能够直接接收用户发送给它的消息通过事件回调。可以主动发送消息、消息卡片甚至调用飞书API操作群组、用户等。权限可控安全性更高。我们的选择为了实现“用户机器人或私聊发送指令 - OpenClaw处理 - 机器人回复”的完整交互闭环我们必须选择“企业自建应用机器人”。虽然初始配置步骤比Webhook机器人多几步但它为我们提供了真正的双向通信能力是构建可用助手的基础。本指南也将基于此模式展开。3. 基础环境搭建从零准备你的部署战场无论你最终采用哪种部署方式一些基础环境和账号准备是共通的。这一步千万别跳很多后续错误都源于这里没配好。3.1 核心账号与密钥申请智谱AI开放平台访问智谱AI开放平台官网并注册登录。在控制台你需要创建一个API Key。通常会有免费额度供测试。重要同时记下你的API Key和当前可用的模型名称如glm-4。模型名称要在后续的OpenClaw配置中精确填写。飞书开发者后台访问飞书开放平台使用你的飞书账号登录通常需要一个企业账号个人账号也可创建测试应用。点击“创建企业自建应用”。给你的应用起个名字比如“OpenClaw智能助手”。在应用详情页找到“凭证与基础信息”记录下App ID和App Secret。这是机器人身份的凭证。在“功能”-“机器人”中启用机器人能力。在“事件订阅”中你需要配置两个核心东西请求网址 URL这是飞书向你的OpenClaw服务发送用户消息的回调地址。假设你部署后的服务地址是https://your-server.com/feishu这里就填这个。在本地测试时你需要使用内网穿透工具如 ngrok、localtunnel将本地的服务端口暴露到一个公网可访问的临时地址并填在这里。飞书会向这个地址发送一个包含challenge参数的GET请求进行验证你的服务必须能正确响应这个验证。订阅事件至少需要订阅im.message.receive_v1接收用户发给机器人的消息这个事件权限。在“权限管理”中为机器人申请im:message发送与接收消息等相关权限并提交发布版本。只有审核通过或测试环境免审后权限才会生效。3.2 部署环境选型宿主机、Docker还是云函数这是三个主要方向各有优劣部署方式优点缺点适用场景Ubuntu/CentOS 宿主机性能最佳资源完全可控调试最直接。需要一定的Linux运维知识环境配置繁琐。拥有云服务器或本地Linux主机追求极致性能和深度定制的用户。Docker容器环境隔离一次构建处处运行几乎免除了环境依赖的烦恼。部署和迁移极其方便。镜像体积较大对宿主机磁盘有一定要求。需要理解Docker基本概念。绝大多数用户的推荐选择。无论是开发、测试还是生产部署Docker都能提供一致的体验。Serverless (云函数)无需管理服务器按需付费自动扩缩容。冷启动可能有延迟调试复杂对本地有状态的服务如WebSocket支持不友好。OpenClaw的某些技能可能需要调整。流量波动大、希望零运维成本的轻量级应用。综合建议如果你是初学者或希望快速看到成果从Docker部署开始。它完美避开了“我的Python版本不对”、“某个依赖包冲突”这类环境问题。本指南将重点讲解Docker部署方案并简要说明宿主机部署的关键差异点。3.3 宿主机基础环境准备Docker方案可跳过如果你选择宿主机部署以Ubuntu 22.04为例需要准备以下环境# 1. 更新系统并安装基础工具 sudo apt update sudo apt upgrade -y sudo apt install -y python3-pip python3-venv git curl # 2. 安装或更新Docker如果后续想用Docker-compose还是需要 # ... Docker安装步骤略 ... # 3. 克隆OpenClaw项目代码 git clone https://github.com/openclaw-ai/openclaw.git cd openclaw # 4. 创建Python虚拟环境强烈推荐避免污染系统环境 python3 -m venv venv source venv/bin/activate # 5. 安装项目依赖 # 注意OpenClaw项目根目录通常有 requirements.txt 或 pyproject.toml pip install --upgrade pip pip install -r requirements.txt # 如果遇到某些包安装失败可能是缺少系统库例如对于语音相关包可能需要安装 portaudio # sudo apt install -y portaudio19-dev完成以上步骤你的基础Python环境就准备好了。但接下来复杂的配置和依赖管理正是Docker要帮你解决的问题。4. 基于Docker的OpenClaw一站式部署这是最流畅、最推荐的部署路径。我们假设你已经在服务器或本地电脑上安装好了Docker和Docker Compose。4.1 获取与配置OpenClaw Docker镜像OpenClaw社区通常不会提供官方的全能Docker镜像因为配置灵活多变。但我们可以利用项目提供的Dockerfile或docker-compose.yml示例来构建。获取代码与配置文件git clone https://github.com/openclaw-ai/openclaw.git cd openclaw # 重点寻找或创建 docker-compose.yml # 如果项目根目录没有可以查看 deploy 或 docker 文件夹或者参考文档自行创建。准备核心配置文件OpenClaw的配置核心是一个config.yaml或.env文件。我们需要创建它。在项目根目录下复制一份配置文件模板例如config.example.yaml或.env.example命名为config.yaml。使用文本编辑器如vim或nano打开这个文件进行关键配置。config.yaml关键配置项详解# 模型供应商配置 - 这是大脑的核心 model: provider: zhipuai # 供应商标识对应智谱AI api_key: 你的智谱AI API Key # 替换成你的真实Key model: glm-4 # 指定使用的模型务必与平台上的名称一致 base_url: https://open.bigmodel.cn/api/paas/v4 # 智谱API地址通常不用改 max_tokens: 2000 # 模型单次回复的最大token数控制成本 # 技能配置 - 决定助手能做什么 skills: enabled: # 启用哪些内置技能 - web_search - calculator - weather # - code_interpreter # 代码执行技能需额外环境初期可关闭 # 可以为技能配置参数如搜索引擎API Key web_search: api_key: 你的Serper或SearXNG Key # 如需使用需另行申请 # 网关配置 - 决定了OpenClaw如何对外提供服务 gateway: type: http # 使用HTTP网关 port: 8000 # 服务监听的端口稍后飞书回调会指向这个端口 host: 0.0.0.0 # 监听所有网络接口方便容器内外访问 # 飞书机器人适配器配置 (假设你使用了一个飞书适配器插件) # 注意OpenClaw核心可能不直接包含飞书适配器你需要安装社区插件或自行开发。 # 这里以假设存在一个 feishu 配置块为例 feishu: app_id: 你的飞书应用App ID app_secret: 你的飞书应用App Secret encrypt_key: # 如果启用了加密填写加密密钥 verification_token: # 事件订阅的Verification Token # 回调路径需要与飞书后台配置的“请求网址”后缀匹配 endpoint: /feishu/events重要提示OpenClaw原生可能不直接内置飞书适配器。你需要寻找社区维护的飞书插件例如openclaw-adapter-feishu或者根据HTTP网关的接口自己编写一个简单的Web服务器来接收飞书回调并转发给OpenClaw的HTTP接口。这是部署中最需要灵活处理的部分。一种常见架构是使用一个轻量的Python Web框架如FastAPI作为“中转服务器”接收飞书事件然后调用OpenClaw的API再将结果用飞书机器人API发回去。编写Docker Compose文件创建一个docker-compose.yml文件定义服务。version: 3.8 services: openclaw: build: . # 使用当前目录的Dockerfile构建镜像 # 或者使用预先构建的镜像如果有 # image: some-registry/openclaw:latest container_name: openclaw restart: unless-stopped ports: - 8000:8000 # 将宿主机的8000端口映射到容器的8000端口 volumes: - ./config.yaml:/app/config.yaml # 挂载配置文件 - ./data:/app/data # 挂载数据卷持久化存储 environment: - TZAsia/Shanghai # 如果网络需要代理才能访问外部API如智谱可以在这里配置 # environment: # - HTTP_PROXYhttp://host.docker.internal:7890 # - HTTPS_PROXYhttp://host.docker.internal:7890 networks: - openclaw-net # 如果你采用了“中转服务器”方案可能需要再定义一个服务 feishu-proxy: build: ./feishu-proxy # 假设你的中转服务器代码在这个目录 container_name: feishu-proxy restart: unless-stopped ports: - 8080:8080 # 中转服务器端口 depends_on: - openclaw environment: - OPENCLAW_URLhttp://openclaw:8000 # 通过Docker网络内部通信 - FEISHU_APP_ID你的App ID - FEISHU_APP_SECRET你的App Secret networks: - openclaw-net networks: openclaw-net: driver: bridge4.2 构建、运行与验证构建并启动服务# 在包含 docker-compose.yml 的目录下执行 docker-compose up -d-d参数表示后台运行。首次运行会拉取基础镜像并构建需要一些时间。查看日志确认服务状态docker-compose logs -f openclaw观察日志输出如果没有明显的ERROR并且看到类似Gateway started on http://0.0.0.0:8000的信息说明OpenClaw核心服务启动成功。基础功能测试 OpenClaw的HTTP网关通常会提供简单的API。你可以用curl命令测试模型连接是否正常。curl -X POST http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: glm-4, messages: [{role: user, content: 你好请简单介绍一下你自己。}] }如果返回了正常的JSON响应并且content字段包含GLM模型的回复恭喜你OpenClaw GLM 的核心链路已经打通5. 飞书机器人的深度集成与配置这是实现交互闭环的关键一步也是最容易出错的地方。我们将按照“企业自建应用机器人”的完整流程进行。5.1 飞书应用配置详解回到飞书开放平台的应用管理页面确保以下配置无误事件订阅请求网址填写你的公网可访问地址 回调路径。例如如果你用Docker Compose部署了feishu-proxy在服务器45.xx.xx.xx的8080端口并且feishu-proxy处理/feishu/events路径那么这里就填https://45.xx.xx.xx:8080/feishu/events。本地开发务必使用内网穿透工具。点击“保存”飞书会立即向这个地址发送一个GET请求包含challenge参数。你的feishu-proxy服务必须能正确接收这个请求并按照飞书文档的要求将challenge值原样返回。这是一个验证步骤失败则无法保存。订阅事件在事件列表里找到im.message.receive_v1勾选它并订阅。这意味着当用户给机器人发消息时飞书会通知你的服务器。权限管理进入“权限管理”搜索并添加以下权限im:message发送和接收单聊、群聊消息im:message:send_as_bot以机器人身份发送消息im:message:read_users获取发消息用户信息添加完成后务必点击“申请线上发布”或“版本管理”中创建新版本并申请发布。只有审核通过或企业自用测试时在“安全设置”中添加了测试人员后这些权限才会真正生效。机器人才能正常收发消息。添加机器人在应用发布的版本生效后你可以在飞书客户端中进入任意群组或单聊点击“添加机器人”-“自定义机器人”找到你创建的应用将其添加到对话中。5.2 编写飞书事件中转服务Feishu-Proxy示例由于OpenClaw可能没有现成的飞书适配器我们需要自己写一个轻量的中转服务。这里以Python FastAPI为例展示核心逻辑项目结构feishu-proxy/ ├── app.py # 主程序 ├── requirements.txt # 依赖 ├── Dockerfile # 容器化 └── config.py # 配置文件可选requirements.txt:fastapi0.104.1 uvicorn[standard]0.24.0 httpx0.25.1 pydantic-settings2.1.0app.py核心代码from fastapi import FastAPI, Request, HTTPException import httpx import hashlib import time import json from pydantic import BaseSettings class Settings(BaseSettings): feishu_app_id: str feishu_app_secret: str feishu_verification_token: str # 事件订阅的Verification Token feishu_encrypt_key: str # 加密密钥如果未启用则为空 openclaw_api_url: str http://openclaw:8000/v1/chat/completions # OpenClaw HTTP网关地址 class Config: env_file .env app FastAPI() settings Settings() client httpx.AsyncClient(timeout30.0) # 获取飞书Tenant Access Token (需要缓存避免频繁请求) async def get_tenant_access_token(): # 这里应该实现一个带缓存的Token获取逻辑 url https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal payload { app_id: settings.feishu_app_id, app_secret: settings.feishu_app_secret } resp await client.post(url, jsonpayload) resp.raise_for_status() data resp.json() return data.get(tenant_access_token) # 飞书事件回调验证端点 app.get(/feishu/events) async def feishu_verify(request: Request): query_params dict(request.query_params) if challenge in query_params: # 飞书验证请求 return {challenge: query_params[challenge]} raise HTTPException(status_code403, detailForbidden) # 飞书事件接收与处理端点 app.post(/feishu/events) async def feishu_events(request: Request): # 1. 验证签名如果启用了加密此处需验证 # 2. 解析事件体 body await request.json() event_type body.get(header, {}).get(event_type) if event_type im.message.receive_v1: event body.get(event, {}) message_type event.get(message, {}).get(message_type) if message_type text: # 提取用户消息内容 text_content event.get(message, {}).get(content) # 飞书消息内容是JSON字符串需要解析 try: text_json json.loads(text_content) user_text text_json.get(text, ).strip() except: user_text if user_text: # 3. 调用OpenClaw API处理消息 openclaw_payload { model: glm-4, # 应与OpenClaw配置一致 messages: [{role: user, content: user_text}], stream: False } try: openclaw_resp await client.post( settings.openclaw_api_url, jsonopenclaw_payload ) openclaw_resp.raise_for_status() ai_response openclaw_resp.json()[choices][0][message][content] except Exception as e: ai_response f处理您的请求时出现错误{str(e)} # 4. 使用飞书API将回复发送给用户 token await get_tenant_access_token() reply_url https://open.feishu.cn/open-apis/im/v1/messages reply_payload { receive_id: event[message][chat_id], # 群ID或用户ID msg_type: text, content: json.dumps({text: ai_response}) } headers {Authorization: fBearer {token}} await client.post( f{reply_url}?receive_id_type{chat_id if chat in event[message] else open_id}, jsonreply_payload, headersheaders ) return {code: 0, msg: success} if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8080)这是一个极度简化的示例真实环境需要处理消息去重、Token缓存、错误重试、安全签名验证等。配置与运行创建.env文件填入飞书和OpenClaw的配置信息然后使用docker-compose up -d feishu-proxy启动这个中转服务。5.3 端到端测试与排错验证回调在飞书后台保存“请求网址”时确保你的feishu-proxy服务正在运行且日志显示成功响应了GET验证请求。发送测试消息在飞书客户端中向你添加了机器人的群聊或私聊窗口发送机器人 你好。查看日志docker-compose logs -f feishu-proxy docker-compose logs -f openclaw在feishu-proxy日志中你应该看到收到POST /feishu/events的请求。在openclaw日志中你应该看到收到来自feishu-proxy的模型调用请求。如果飞书机器人成功回复则整个链路打通。常见错误排查403 Forbidden或无权限检查飞书应用的权限是否已申请并发布。检查机器人是否已添加到对话中。收不到消息回调检查“事件订阅”是否已正确保存且验证通过。检查feishu-proxy服务的公网可达性用curl或浏览器访问你的回调URL试试。检查防火墙/安全组是否开放了对应端口如8080。机器人回复失败检查feishu-proxy日志中调用飞书发送消息API的返回错误。通常是tenant_access_token获取失败或已过期需要实现缓存和刷新逻辑或者receive_id_type参数不正确。6. 高级配置、技能扩展与优化当基础流程跑通后你可以开始探索OpenClaw更强大的能力让这个助手真正变得有用。6.1 启用与配置更多内置技能编辑OpenClaw的config.yaml文件在skills.enabled列表下添加或取消注释你需要的技能。web_search(网络搜索)这可能是最实用的技能之一。你需要为其配置一个搜索引擎的API Key。推荐使用 Serper 免费额度充足或 SearXNG 自建。配置后你可以问助手“今天AI圈有什么新闻”它会自动搜索并总结。skills: web_search: provider: serper # 或 searxng api_key: your_serper_api_key base_url: https://google.serper.dev/search # Serper的端点code_interpreter(代码解释器)这是一个强大的技能允许AI在沙箱中执行Python代码。启用需谨慎因为它会带来安全风险。建议仅在可信环境或进行严格沙箱隔离后使用。weather(天气)、calculator(计算器)这些是基础技能通常无需额外配置即可使用。6.2 探索社区技能与自定义技能OpenClaw的活力在于社区。你可以在项目Wiki或社区论坛找到其他开发者分享的技能。自定义技能开发技能本质是一个Python类。你可以参考现有技能的代码编写自己的技能。例如创建一个“查询服务器状态”的技能通过SSH连接到指定服务器并执行uptime命令返回结果。编写完成后将技能文件放到指定目录并在配置中启用即可。工作流编排在配置文件中你可以定义workflows。工作流允许你将多个技能串联。例如定义一个research工作流先调用web_search获取信息再调用summarize可能需要自定义或调用模型进行总结最后调用email技能需自定义将结果发送到邮箱。6.3 性能、安全与稳定性优化模型调用超时与重试在config.yaml的模型配置中可以设置timeout和重试策略防止因网络波动导致请求挂起。对话历史与记忆OpenClaw可能支持会话记忆。你可以配置记忆后端如Redis来存储多轮对话上下文使助手更“聪明”。速率限制智谱AI的API有调用频率限制。在OpenClaw配置或你的feishu-proxy中可以加入简单的限流逻辑避免触发平台限制。安全性飞书验证务必在feishu-proxy中实现飞书事件签名的验证防止伪造请求。API密钥管理切勿将config.yaml等包含密钥的文件提交到Git仓库。使用环境变量或Docker secrets管理敏感信息。网络隔离将OpenClaw服务部署在内网仅通过feishu-proxy对外暴露必要端口。使用反向代理如Nginx为feishu-proxy添加HTTPS。监控与日志使用Docker的日志驱动或将日志收集到ELK、Loki等系统。监控服务的CPU、内存使用情况以及API调用错误率。7. 踩坑实录从400错误到服务不可用部署过程中几乎一定会遇到问题。这里汇总几个我踩过的大坑和解决方案。坑一openclaw llamap svr operator(): got exception: { error: { code: 400, ...问题这是调用模型API时最常见的错误。400通常是请求格式有问题。排查检查模型名称确认config.yaml中的model字段值是否与智谱AI平台当前支持的模型名称完全一致。大小写、短横线都不能错。去平台文档再确认一遍。检查API Key确认API Key有效、未过期、且有足够额度。检查API Base URL智谱的API地址是否有变化通常不用改但可以查阅最新文档。查看完整错误信息日志中{“error”: {“message”: “...”}}字段通常会给出更具体的错误原因例如“invalid model”。坑二[openclaw] could not start the cli.或类似启动失败问题OpenClaw核心服务启动失败。排查配置文件语法用YAML在线校验器检查config.yaml文件确保缩进、冒号后空格等语法正确。YAML对格式非常敏感。依赖缺失如果是宿主机部署可能是某个Python依赖包未正确安装或版本冲突。尝试在虚拟环境中重新pip install -r requirements.txt。Docker部署则检查Dockerfile中的安装步骤。端口冲突检查gateway.port(如8000) 是否已被其他程序占用。Docker部署时检查宿主机端口映射是否冲突。坑三飞书机器人能收到消息但不回复问题feishu-proxy收到了事件但用户没看到回复。排查查看feishu-proxy日志重点看调用飞书发送消息API后的返回。常见错误是99991663无权限或99991664Token无效。确保应用权限已发布且Token获取逻辑正确并实现了缓存。receive_id和receive_id_type确认你在调用飞书发送消息API时传入的receive_id是chat_id群聊还是open_id私聊并且receive_id_type参数与之对应。群聊事件中的chat_id和私聊事件中的open_id是不同的。网络连通性确认你的feishu-proxy服务能够正常访问open.feishu.cn和你的OpenClaw服务地址在Docker网络内用服务名如http://openclaw:8000。坑四Docker容器内无法访问外部网络如智谱API问题日志显示连接超时。解决如果宿主机使用了网络代理需要在Docker容器内配置代理环境变量。在docker-compose.yml中为openclaw服务添加environment部分设置HTTP_PROXY和HTTPS_PROXY。对于Docker Desktop宿主机的代理地址通常是host.docker.internal:端口。整个部署过程就像在组装一个精密的仪器。每一步的配置都至关重要尤其是飞书后台的配置和网络连通性。耐心查看日志从最底层的模型调用开始一层层向上排查是解决所有问题的万能钥匙。当你第一次在飞书里收到来自自己部署的、由GLM模型驱动的AI助手的回复时那种成就感会让人觉得所有的折腾都是值得的。这个组合为你打开了一扇门门后是无限可能的自动化与智能化工作流。