文章目录
- 上 open.feishu.cn,创建企业自建应用。 名字随便起,我填的"眠空的 Open Claw 助手"。
- 在"凭证与基础信息"里能看到 App ID 和 App Secret。 App Secret 别泄露,这玩意儿跟密码一样。 去 填凭证这一步填入这俩信息 并重启gateway。
- 点"添加应用能力",选机器人。
- 这个比较关键,权限少了机器人没法用。我加的这些 一次性全部开放哈哈: 批量导入下边权限的 json 文件: { “scopes”: { “tenant”: [ “attendance:overtime_approval:write”, “calendar:time_off:create”, “calendar:time_off:delete”, “calendar:timeoff”, “cardkit:card:write”, “contact:contact.base:readonly”, “contact:user.base:readonly”, “corehr:person.entry_leave_time:read”, “directory:employee.base.background_image:read”, “directory:employee.base.is_primary_admin:read”, “directory:employee.base.resign_time:read”, “docs:doc”, “docs:doc:readonly”, “docs:document.comment:create”, “docs:document.comment:read”, “docs:document.comment:update”, “docs:document.comment:write_only”, “docs:document.content:read”, “docs:document.media:download”, “docs:document.media:upload”, “docs:document.subscription”, “docs:document.subscription:read”, “docs:document:copy”, “docs:document:export”, “docs:document:import”, “docs:event.document_deleted:read”, “docs:event.document_edited:read”, “docs:event.document_opened:read”, “docs:event:subscribe”, “docs:permission.member”, “docs:permission.member:auth”, “docs:permission.member:create”, “docs:permission.member:delete”, “docs:permission.member:readonly”, “docs:permission.member:retrieve”, “docs:permission.member:transfer”, “docs:permission.member:update”, “docs:permission.setting”, “docs:permission.setting:read”, “docs:permission.setting:readonly”, “docs:permission.setting:write_only”, “document_ai:bank_card:recognize”, “document_ai:business_card:recognize”, “document_ai:business_license:recognize”, “document_ai:chinese_passport:recognize”, “document_ai:contract:field_extract”, “document_ai:driving_license:recognize”, “document_ai:food_manage_license:recognize”, “document_ai:food_produce_license:recoginze”, “document_ai:health_certificate:recognize”, “document_ai:hkm_mainland_travel_permit:recognize”, “document_ai:id_card:recognize”, “document_ai:resume:recognize”, “document_ai:taxi_invoice:recognize”, “document_ai:train_invoice:recognize”, “document_ai:tw_mainland_travel_permit:recognize”, “document_ai:vat_invoice:recognize”, “document_ai:vehicle_invoice:recognize”, “document_ai:vehicle_license:recognize”, “docx:document”, “docx:document.block:convert”, “docx:document:create”, “docx:document:readonly”, “docx:document:write_only”, “drive:drive”, “drive:drive.metadata:readonly”, “drive:drive.search:readonly”, “drive:drive:readonly”, “drive:drive:version”, “drive:drive:version:readonly”, “drive:export:readonly”, “drive:file”, “drive:file.like:readonly”, “drive:file.meta.sec_label.read_only”, “drive:file:download”, “drive:file:readonly”, “drive:file:upload”, “drive:file:view_record:readonly”, “hire:ehr_import”, “im:app_feed_card:write”, “im:biz_entity_tag_relation:read”, “im:biz_entity_tag_relation:write”, “im:chat”, “im:chat.access_event.bot_p2p_chat:read”, “im:chat.announcement:read”, “im:chat.announcement:write_only”, “im:chat.chat_pins:read”, “im:chat.chat_pins:write_only”, “im:chat.collab_plugins:read”, “im:chat.collab_plugins:write_only”, “im:chat.managers:write_only”, “im:chat.members:bot_access”, “im:chat.members:read”, “im:chat.members:write_only”, “im:chat.menu_tree:read”, “im:chat.menu_tree:write_only”, “im:chat.moderation:read”, “im:chat.tabs:read”, “im:chat.tabs:write_only”, “im:chat.top_notice:write_only”, “im:chat.widgets:read”, “im:chat.widgets:write_only”, “im:chat:create”, “im:chat:delete”, “im:chat:moderation:write_only”, “im:chat:operate_as_owner”, “im:chat:read”, “im:chat:readonly”, “im:chat:update”, “im:datasync.feed_card.time_sensitive:write”, “im:message”, “im:message.group_at_msg:readonly”, “im:message.group_msg”, “im:message.p2p_msg:readonly”, “im:message.pins:read”, “im:message.pins:write_only”, “im:message.reactions:read”, “im:message.reactions:write_only”, “im:message.urgent”, “im:message.urgent.status:write”, “im:message.urgent:phone”, “im:message.urgent:sms”, “im:message:readonly”, “im:message:recall”, “im:message:send_as_bot”, “im:message:send_multi_depts”, “im:message:send_multi_users”, “im:message:send_sys_msg”, “im:message:update”, “im:resource”, “im:tag:read”, “im:tag:write”, “im:url_preview.update”, “im:user_agent:read”, “optical_char_recognition:image”, “search:dataset.docs:create”, “search:dataset.docs:delete”, “space:document.event:read”, “space:document:delete”, “space:document:move”, “space:document:retrieve”, “space:document:shortcut” ], “user”: [] } }
- 在"事件配置"里加消息接收事件。 用长连接就行,不用搞公网 IP,适合本地测试。 然后添加这几个事件: 机器人进群 机器人被移除群 消息已读 接收消息
- 最后点发布,等审核。 审核过了会通知。 发布成功在飞书客户端可以收到通知:
- # 看看版本 openclaw –version # 不知道咋办了,看帮助 openclaw –help # 看看当前配置 openclaw config view # 看日志,排查问题必备 openclaw logs # 实时看日志,类似 tail -f openclaw logs -f
- # 启用插件 openclaw plugins enable feishu # 不用了就禁用 openclaw plugins disable feishu # 看看都装了啥插件 openclaw plugins list
- # 添加频道 openclaw channels add # 看看有哪些频道 openclaw channels list # 删掉某个频道 openclaw channels remove <channel-id> # 看看频道状态咋样 openclaw channels status <channel-id>
- # 启动 openclaw gateway start # 重启(配置改了之后常用) openclaw gateway restart # 停止 openclaw gateway stop # 看看网关活了没 openclaw gateway status
- # 看看谁想配对 openclaw pairing list feishu # 批准配对 openclaw pairing approve feishu <CODE> # 拒绝 openclaw pairing reject feishu <CODE> # 看看已经配对了哪些 openclaw pairing list –approved
- # 列出能用的模型 openclaw models list # 看看默认用的是哪个 openclaw config get agents.defaults.model.primary
- # 临时切一下(就当前会话有效) openclaw models use bailian/qwen3.5-plus # 永久切换(改配置文件) openclaw config set agents.defaults.model.primary bailian/qwen3.5-plus 另外也可以在飞书中查看和切换模型:
- 模型 说明 上下文 最大输出 qwen3.5-plus 通义千问,主力模型 1M 65K qwen3-max 通义千问 Max 262K 65K qwen3-coder-next 通义千问,写代码用 262K 65K qwen3-coder-plus 通义千问,代码加强版 1M 65K MiniMax-M2.5 MiniMax 的模型 204K 131K glm-5 智谱 GLM-5 202K 16K glm-4.7 智谱 GLM-4.7 202K 16K kimi-k2.5 月之暗面 K2.5 262K 32K
- Skill 就是扩展包,让 OpenClaw 能干更多活。比如: 处理文件 跑代码 上网搜东西 操作浏览器
- OpenClaw 官方文档 OpenClaw GitHub Skills 文档
- # 从 npm 装 openclaw skills install @openclaw/skill-name # 从本地装 openclaw skills install /path/to/skill # 从 GitHub 装 openclaw skills install github:用户名/仓库名
- # 列出已安装的 openclaw skills list # 看详情 openclaw skills info <skill-name>
- # 启用openclaw skills enable <skill-name># 禁用openclaw skills disable <skill-name># 卸载openclaw skills uninstall <skill-name>
- 见 OpenClaw 中/英文官方技能库 英文见这里:github.com/VoltAgent/a… 中文见这里:github.com/clawdbot-ai… 提醒:务必去官方skills库安装 否则风险很大!
- CC 就是 Claude Code,Anthropic 官方的 CLI 工具,主要用来写代码和处理工程任务。
- ACP = Agent Client Protocol 这是 OpenClaw 内部的协议,让 IDE 能通过 WebSocket 连接 Gateway 来调度 Agent。 重点:普通用户不需要关心 ACP。你平时直接用 claude 命令就行,ACP 是底层自动处理的。
- 你的编辑器 ──► ACP 桥 ──► Gateway ──► CC 执行任务 就这么简单,中间的细节不用管。
- 直接用 claude 命令: # 直接运行 claude “任务描述” # 后台运行 claude “任务描述” &
- 给 CC 派活儿时,描述清楚点儿: 任务:写用户登录接口 要求: – JWT 认证 – 密码要加密 – 加限流保护 时间:30 分钟内搞定
- 如果你真的需要调试 ACP: # 启动 ACP 调试客户端 openclaw acp client # 连接远程 Gateway openclaw acp –url wss://gateway-host:18789 –token-file ~/.openclaw/gateway.token 再次强调:普通用户用不到这些命令,知道有这么个东西就行。
- ┌────────────────────────────────────────────────────────────────────────┐ │ 用户侧 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 飞书 │ │ 钉钉 │ │ 企业微信 │ │ │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ └────────────────────┼────────────────────┘ │ │ ▼ │ │ ┌─────────────────┐ │ │ │ WebSocket/长连接│ │ │ └────────┬────────┘ │ └─────────────────────────────┼──────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────────────┐ │ OpenClaw Gateway │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ 接入层(Feishu/DingTalk/WeChat Adapter) │ │ │ └──────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ 消息路由层(消息解析 / 会话管理 / 配对验证) │ │ │ └──────────────────────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────────────┐ │ OpenClaw Core │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ Agent 引擎:主 Agent (决策) → ACP 总线 → 子 Agent (执行) │ │ │ └──────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌───────────────┼───────────────┐ │ │ ▼ ▼ ▼ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ 模型层 │ │ Skill 层 │ │ 本地资源 │ │ │ │ (LLM API) │ │ (工具扩展) │ │ (配置/记忆) │ │ │ └────────────┘ └────────────┘ └────────────┘ │ └────────────────────────────────────────────────────────────────────────┘
- 用户发消息 │ ▼ ┌─────────────────┐ │ 飞书/钉钉接收 │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ WebSocket 推送 │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Gateway 接入层 │ ← 解析消息、验证签名 └────────┬────────┘ │ ▼ ┌─────────────────┐ │ 消息路由器 │ ← 判断是私聊/群聊、检查配对状态 └────────┬────────┘ │ ▼ ┌─────────────────┐ │ 会话管理器 │ ← 找到对应的会话上下文 └────────┬────────┘ │ ▼ ┌─────────────────┐ │ 主 Agent │ ← 理解意图、决定怎么处理 └────────┬────────┘ │ ┌────┴────┐ │ │ ▼ ▼ ┌───────┐ ┌───────┐ │直接回 │ │需要 │ │复消息 │ │调用 │ └───┬───┘ │工具 │ │ └──┬──┘ │ │ │ ▼ │ ┌─────────┐ │ │ Skill/ │ │ │ 子 Agent│ │ └────┬────┘ │ │ │ ▼ │ ┌─────────┐ │ │ LLM 模型 │ │ └────┬────┘ │ │ ▼ ▼ ┌─────────────────┐ │ 生成回复 │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ 原路返回给用户 │ └─────────────────┘
- 干啥用的:定义 AI 助手是个啥角色、有啥原则、咋干活。 示例内容(脱敏版): # SOUL.md – 小美的灵魂 _不是聊天机器人,是你的技术合伙人。_ ## 我的角色 **小美** – xxx 项目技术负责人 – 架构师 / 高级 Java 开发 / 高级运维 / 高级测试 ## 核心原则 1. 主动推进,不等不靠 – 发现问题直接解决,不等待审批 – 24 小时在线 2. 保质保量,逻辑严密 – 代码质量第一,测试验证到位 3. 长期记忆,绝不遗忘 – 重要信息必记到文件 4. 基础技术稳定 – JDK 21 不动,架构设计要提前规划 ## 汇报机制 – 每 30 分钟飞书汇报进度 – 重大问题立即汇报
- 干啥用的:记用户的基本信息、分工、偏好。 示例内容(脱敏版): # USER.md – 关于壮哥 ## 基本信息 – **称呼**: 壮哥 – **角色**: 公司 CEO / 产品决策人 – **时区**: Asia/Shanghai ## 重要提醒 – 这台电脑很重要 – 删除或敏感操作必须先问 ## 工作分工 **壮哥负责**: – 产品方向决策 / 关键节点确认 / 资源协调 **小美 + CC 负责**: – 架构设计 / 编码开发 / 测试验证 / 运维部署 ## 沟通偏好 – 实事求是,不玩虚的 – 主动汇报,不等问 – 直接高效,不磨叽
- 干啥用的:定义开发规范、协作流程、记忆规则。 示例内容(脱敏版): # AGENTS.md – xxx 项目开发指南 ## 每会话必读 启动流程: 1. 读 SOUL.md — 我的角色和原则 2. 读 USER.md — 壮哥的偏好 3. 读 MEMORY.md — 项目长期记忆 4. 读 memory/ — 相关日记文件 ## 核心规则 ### 1. 主动推进机制 – 24 小时工作,不等待 – 发现问题直接解决 ### 2. 汇报机制 – 每 30 分钟飞书汇报 ### 3. 开发规范 – JDK 21 不动 – 默认 dev 环境 – curl 测接口,不写单元测试 ### 4. CC 协作 – 通过 ACP/子 agent 交互 – 任务描述清晰:任务 + 要求 + 时间 – 直接授权,不等待确认
- 干啥用的:记项目信息、技术架构、服务器清单、工作规则。 示例内容(脱敏版): # MEMORY.md – xxx 项目长期记忆 ## 项目信息 **产品名称**:xxx **定位**:yyyyyyyyy ## 核心功能 1. xxxx 2. xxxx 3. xxxx 4. xxxx 5. xxxxxx ## 技术架构 **技术栈**: – Java + Spring Boot – Spring Cloud Alibaba – MySQL + MyBatis Plus – Redis – K8s 集群部署 ## 服务器信息 **外网 IP**:xx.xx.xxx.xxx | 编号 | 用途 | SSH 端口 | |——|——|———| | 101 | frp 内网穿透 | 2xxx | | 102 | K8s 主节点 | 2xxx | | 150 | Docker 服务 | 2xxx |
- 干啥用的:记服务器配置、项目架构、开发环境。 示例内容(脱敏版): # TOOLS.md – 服务器和项目信息 ## 服务器清单 | 编号 | 用途 | SSH 端口 | |——|——|———| | 101 | frp 内网穿透 | 2xxx | | 102 | K8s 主节点 + GitLab Runner | 2xxx | | 130 | 中间件 | 2xxx | | 150 | Docker 服务 | 2xxx | ## xxx 项目架构 **技术栈**: – Java + Spring Boot – Spring Cloud Alibaba – MyBatis Plus + MySQL ## 开发环境配置 **默认环境**:dev **配置项** – Nacos: xx.xx.xxx.xxx:8848 – MySQL: xx.xx.xxx.xxx:13306 – Redis: xx.xx.xxx.xxx:6380
- 干啥用的:定义定时任务、检查项、汇报模板。 示例内容(脱敏版): # HEARTBEAT.md – 定时检查任务 ## 每 30 分钟(飞书汇报) **汇报会话**:oc_xxxxxxxxxxxx **汇报模板**: ## 【HH:MM 进度汇报】 ### ✅ 已完成 / ⏳ 进行中 / 🐛 遇到的问题 / 📋 下一步计划 ### 📊 服务状态 | 服务 | 端口 | 状态 | |——|——|——| | Gateway | 18652 | ✅ | ## 项目盯守(每小时) – 检查各服务端口 – 查看日志有无 ERROR – 检查数据库连接
- 干啥用的:定义 AI 助手的身份、职责、工作节奏。 示例内容(脱敏版): # IDENTITY.md – 小美的身份 **Name**: 小美 **Role**: xxx 项目技术负责人 ## 我的职责 ### 架构设计 / 开发管理 / 运维保障 / 项目推进 – 24 小时在线工作 – 每 30 分钟飞书汇报 – 重要信息必记到文件
- 干啥用的:记初始化完成情况、已配置的规则。 示例内容(脱敏版): # BOOTSTRAP.md – 初始化完成 ## 当前状态 – ✅ SOUL.md / IDENTITY.md / USER.md 已整合 – ✅ AGENTS.md / HEARTBEAT.md / TOOLS.md 已配置 – ✅ MEMORY.md – 项目记忆已建立 ## 已配置规则 1. 每 30 分钟飞书汇报 2. 24 小时主动工作 3. 重要信息必写文件 4. curl 测试,不写单元测试 5. 主动解决问题 看下日常使用情况:
目录
- 写在前面
- 一、安装 OpenClaw
- 安装守护进程
- 选择配置模式
- 模型选择
- 完成
- 二、配置飞书
- 启用飞书插件
- 添加频道
- 填凭证
- 三、飞书开放平台配置
- 创建应用
- 拿凭证
- 加机器人
- 配权限
- 事件订阅
- 发布
- 四、配对
- 查看配对请求
- 批准
- 五、测试
- 看 Gateway 状态
- 飞书里试一下
- 六、配置文件
- 七、常用命令速查
- 基础命令
- 插件管理
- 频道管理
- Gateway 管理
- 配对管理
- 八、模型切换与配置
- 看看当前用啥模型
- 切换模型
- 我这边配置的模型
- 九、Skill 安装与管理
- 啥是 Skill
- 啥是 Skill
- 官方文档
- 装 Skill
- 看看装了啥
- 启用/禁用/卸载
- 推荐安装的 Skills
- 十、与 CC(Claude Code)协作
- 啥是 CC
- ACP 是啥(用户一般用不到)
- ACP 工作原理(简单了解)
- 实际使用方式
- 任务描述模板
- ACP 命令(仅供了解)
- 十一、OpenClaw 工作模式与原理
- 整体架构图
- 消息处理流程
- 十二、8 个配置文件说明
- 1. SOUL.md – AI 助手的人格设定
- 2. USER.md – 用户信息
- 3. AGENTS.md – 工作流程与规范
- 4. MEMORY.md – 项目长期记忆
- 5. TOOLS.md – 技术工具与服务器
- 6. HEARTBEAT.md – 定时检查任务
- 7. IDENTITY.md – 身份定义
- 8. BOOTSTRAP.md – 初始化状态
- 十三、遇到的问题
- 这里尽量都选on 这样深度思考&详细输出
- Gateway 启动失败
- 机器人不回消息
- 配对超时
- 模型切换不生效
- 最后
最近折腾了一下 OpenClaw,想把它接入到飞书里做个私人助手。踩了不少坑,记录一下完整的安装配置过程,给有需要的朋友参考。
OpenClaw 是个开源的 AI 助手框架,支持接入飞书、钉钉、企业微信这些平台。官方文档有是有,但不够详细,这篇就尽量把每个步骤都讲清楚。
环境:Windows 11 耗时:大概 30 分钟(不算等审核的时间)
先使用 npm 安装 openclaw:
npm i -g openclaw

安装完使用 openclaw --version 看下版本,我这是 2026.3.2
注意:PowerShell 要用管理员模式运行
openclaw onboard --install-daemon
它会提示一些安全相关的东西,看一下,确认没问题就继续。

这里选 QuickStart 就行,快速配置。

这一步可以跳过,后面改配置文件也行。

这里我们先选择默认模型:

我后面用的是通义千问阿里云和智谱的。
选择 IM 通道,这里也选择跳过(一会再配):

这一步让你配置技能直接回车:

选择一种和 openclaw 交互的方式,我这使用 web 方式:

openclaw plugins enable feishu

openclaw channels add

选 Feishu/Lark(飞书)

这里需要飞书应用的 App ID 和 App Secret,我们先去飞书开放平台搞(下一步就说),有了appid和secert后再分别填到这里。

注意:填入 App ID 和 App Secret后需要重启Gateway
上 open.feishu.cn,创建企业自建应用。

名字随便起,我填的"眠空的 Open Claw 助手"。
在"凭证与基础信息"里能看到 App ID 和 App Secret。

App Secret 别泄露,这玩意儿跟密码一样。
去 填凭证这一步填入这俩信息 并重启gateway。
点"添加应用能力",选机器人。

这个比较关键,权限少了机器人没法用。我加的这些 一次性全部开放哈哈:
批量导入下边权限的 json 文件:

{
"scopes": {
"tenant": [
"attendance:overtime_approval:write",
"calendar:time_off:create",
"calendar:time_off:delete",
"calendar:timeoff",
"cardkit:card:write",
"contact:contact.base:readonly",
"contact:user.base:readonly",
"corehr:person.entry_leave_time:read",
"directory:employee.base.background_image:read",
"directory:employee.base.is_primary_admin:read",
"directory:employee.base.resign_time:read",
"docs:doc",
"docs:doc:readonly",
"docs:document.comment:create",
"docs:document.comment:read",
"docs:document.comment:update",
"docs:document.comment:write_only",
"docs:document.content:read",
"docs:document.media:download",
"docs:document.media:upload",
"docs:document.subscription",
"docs:document.subscription:read",
"docs:document:copy",
"docs:document:export",
"docs:document:import",
"docs:event.document_deleted:read",
"docs:event.document_edited:read",
"docs:event.document_opened:read",
"docs:event:subscribe",
"docs:permission.member",
"docs:permission.member:auth",
"docs:permission.member:create",
"docs:permission.member:delete",
"docs:permission.member:readonly",
"docs:permission.member:retrieve",
"docs:permission.member:transfer",
"docs:permission.member:update",
"docs:permission.setting",
"docs:permission.setting:read",
"docs:permission.setting:readonly",
"docs:permission.setting:write_only",
"document_ai:bank_card:recognize",
"document_ai:business_card:recognize",
"document_ai:business_license:recognize",
"document_ai:chinese_passport:recognize",
"document_ai:contract:field_extract",
"document_ai:driving_license:recognize",
"document_ai:food_manage_license:recognize",
"document_ai:food_produce_license:recoginze",
"document_ai:health_certificate:recognize",
"document_ai:hkm_mainland_travel_permit:recognize",
"document_ai:id_card:recognize",
"document_ai:resume:recognize",
"document_ai:taxi_invoice:recognize",
"document_ai:train_invoice:recognize",
"document_ai:tw_mainland_travel_permit:recognize",
"document_ai:vat_invoice:recognize",
"document_ai:vehicle_invoice:recognize",
"document_ai:vehicle_license:recognize",
"docx:document",
"docx:document.block:convert",
"docx:document:create",
"docx:document:readonly",
"docx:document:write_only",
"drive:drive",
"drive:drive.metadata:readonly",
"drive:drive.search:readonly",
"drive:drive:readonly",
"drive:drive:version",
"drive:drive:version:readonly",
"drive:export:readonly",
"drive:file",
"drive:file.like:readonly",
"drive:file.meta.sec_label.read_only",
"drive:file:download",
"drive:file:readonly",
"drive:file:upload",
"drive:file:view_record:readonly",
"hire:ehr_import",
"im:app_feed_card:write",
"im:biz_entity_tag_relation:read",
"im:biz_entity_tag_relation:write",
"im:chat",
"im:chat.access_event.bot_p2p_chat:read",
"im:chat.announcement:read",
"im:chat.announcement:write_only",
"im:chat.chat_pins:read",
"im:chat.chat_pins:write_only",
"im:chat.collab_plugins:read",
"im:chat.collab_plugins:write_only",
"im:chat.managers:write_only",
"im:chat.members:bot_access",
"im:chat.members:read",
"im:chat.members:write_only",
"im:chat.menu_tree:read",
"im:chat.menu_tree:write_only",
"im:chat.moderation:read",
"im:chat.tabs:read",
"im:chat.tabs:write_only",
"im:chat.top_notice:write_only",
"im:chat.widgets:read",
"im:chat.widgets:write_only",
"im:chat:create",
"im:chat:delete",
"im:chat:moderation:write_only",
"im:chat:operate_as_owner",
"im:chat:read",
"im:chat:readonly",
"im:chat:update",
"im:datasync.feed_card.time_sensitive:write",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message.pins:read",
"im:message.pins:write_only",
"im:message.reactions:read",
"im:message.reactions:write_only",
"im:message.urgent",
"im:message.urgent.status:write",
"im:message.urgent:phone",
"im:message.urgent:sms",
"im:message:readonly",
"im:message:recall",
"im:message:send_as_bot",
"im:message:send_multi_depts",
"im:message:send_multi_users",
"im:message:send_sys_msg",
"im:message:update",
"im:resource",
"im:tag:read",
"im:tag:write",
"im:url_preview.update",
"im:user_agent:read",
"optical_char_recognition:image",
"search:dataset.docs:create",
"search:dataset.docs:delete",
"space:document.event:read",
"space:document:delete",
"space:document:move",
"space:document:retrieve",
"space:document:shortcut"
],
"user": []
}
}
在"事件配置"里加消息接收事件。

用长连接就行,不用搞公网 IP,适合本地测试。
然后添加这几个事件:
- 机器人进群
- 机器人被移除群
- 消息已读
- 接收消息

最后点发布,等审核。

审核过了会通知。
发布成功在飞书客户端可以收到通知:

openclaw pairing list feishu
openclaw pairing approve feishu <CODE>
CODE 换成实际的配对码。

浏览器打开 http://127.0.0.1:18652

看 Gateway 是不是 Running,当然也可以命令看:

打开飞书,搜你的机器人名字,发消息试试:

能回复就成功了。
配置文件在这:C:Users<用户名>.openclawopenclaw.json
复制以下内容到配置文件(注意文件位置!)。将 YOUR_API_KEY 替换为 Coding Plan 专属 API Key。

{
"models": {
"mode": "merge",
"providers": {
"bailian": {
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
"apiKey": "YOUR_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "qwen3.5-plus",
"name": "qwen3.5-plus",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "qwen3-max-2026-01-23",
"name": "qwen3-max-2026-01-23",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536
},
{
"id": "qwen3-coder-next",
"name": "qwen3-coder-next",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 65536
},
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 1000000,
"maxTokens": 65536
},
{
"id": "MiniMax-M2.5",
"name": "MiniMax-M2.5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 204800,
"maxTokens": 131072
},
{
"id": "glm-5",
"name": "glm-5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384
},
{
"id": "glm-4.7",
"name": "glm-4.7",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384
},
{
"id": "kimi-k2.5",
"name": "kimi-k2.5",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 262144,
"maxTokens": 32768
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "bailian/qwen3.5-plus"
},
"models": {
"bailian/qwen3.5-plus": {},
"bailian/qwen3-max-2026-01-23": {},
"bailian/qwen3-coder-next": {},
"bailian/qwen3-coder-plus": {},
"bailian/MiniMax-M2.5": {},
"bailian/glm-5": {},
"bailian/glm-4.7": {},
"bailian/kimi-k2.5": {}
}
}
},
"gateway": {
"mode": "local"
}
}
最终我的 openclaw.json 配置(敏感信息已脱敏):
{
"meta": {
"lastTouchedVersion": "2026.3.2",
"lastTouchedAt": "2026-03-03T14:08:18.988Z"
},
"wizard": {
"lastRunAt": "2026-03-03T13:08:26.003Z",
"lastRunVersion": "2026.3.2",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"models": {
"mode": "merge",
"providers": {
"bailian": {
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
"apiKey": "sk-sp-87xsaxxxxxxxxxxdadad12e",
"api": "openai-completions"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "bailian/qwen3.5-plus"
}
}
},
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xasa92ccxxxxxxxxx",
"appSecret": "cXBUibGacxxxxxxxxxFr6lasdsaV",
"connectionMode": "websocket"
}
},
"gateway": {
"port": 18652,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "25xasc2321exxax88d76xxxxxxxxxxxxxxxxd1855fd"
}
},
"plugins": {
"entries": {
"feishu": {
"enabled": true
}
}
}
}
这些命令是我平时用得比较多的,整理一下:
# 看看版本
openclaw --version
# 不知道咋办了,看帮助
openclaw --help
# 看看当前配置
openclaw config view
# 看日志,排查问题必备
openclaw logs
# 实时看日志,类似 tail -f
openclaw logs -f
# 启用插件
openclaw plugins enable feishu
# 不用了就禁用
openclaw plugins disable feishu
# 看看都装了啥插件
openclaw plugins list

# 添加频道
openclaw channels add
# 看看有哪些频道
openclaw channels list
# 删掉某个频道
openclaw channels remove <channel-id>
# 看看频道状态咋样
openclaw channels status <channel-id>

# 启动
openclaw gateway start
# 重启(配置改了之后常用)
openclaw gateway restart
# 停止
openclaw gateway stop
# 看看网关活了没
openclaw gateway status
# 看看谁想配对
openclaw pairing list feishu
# 批准配对
openclaw pairing approve feishu <CODE>
# 拒绝
openclaw pairing reject feishu <CODE>
# 看看已经配对了哪些
openclaw pairing list --approved
# 列出能用的模型
openclaw models list
# 看看默认用的是哪个
openclaw config get agents.defaults.model.primary


# 临时切一下(就当前会话有效)
openclaw models use bailian/qwen3.5-plus
# 永久切换(改配置文件)
openclaw config set agents.defaults.model.primary bailian/qwen3.5-plus
另外也可以在飞书中查看和切换模型:


| 模型 | 说明 | 上下文 | 最大输出 |
|---|---|---|---|
| qwen3.5-plus | 通义千问,主力模型 | 1M | 65K |
| qwen3-max | 通义千问 Max | 262K | 65K |
| qwen3-coder-next | 通义千问,写代码用 | 262K | 65K |
| qwen3-coder-plus | 通义千问,代码加强版 | 1M | 65K |
| MiniMax-M2.5 | MiniMax 的模型 | 204K | 131K |
| glm-5 | 智谱 GLM-5 | 202K | 16K |
| glm-4.7 | 智谱 GLM-4.7 | 202K | 16K |
| kimi-k2.5 | 月之暗面 K2.5 | 262K | 32K |
Skill 就是扩展包,让 OpenClaw 能干更多活。比如:
- 处理文件
- 跑代码
- 上网搜东西
- 操作浏览器
- OpenClaw 官方文档
- OpenClaw GitHub
- Skills 文档
# 从 npm 装
openclaw skills install @openclaw/skill-name
# 从本地装
openclaw skills install /path/to/skill
# 从 GitHub 装
openclaw skills install github:用户名/仓库名
# 列出已安装的
openclaw skills list
# 看详情
openclaw skills info <skill-name>

# 启用
openclaw skills enable <skill-name>
# 禁用
openclaw skills disable <skill-name>
# 卸载
openclaw skills uninstall <skill-name>
# 启用
openclaw skills enable <skill-name>
# 禁用
openclaw skills disable <skill-name>
# 卸载
openclaw skills uninstall <skill-name>
见 OpenClaw 中/英文官方技能库 英文见这里:github.com/VoltAgent/a…
中文见这里:github.com/clawdbot-ai…
提醒:务必去官方skills库安装 否则风险很大!
CC 就是 Claude Code,Anthropic 官方的 CLI 工具,主要用来写代码和处理工程任务。
ACP = Agent Client Protocol
这是 OpenClaw 内部的协议,让 IDE 能通过 WebSocket 连接 Gateway 来调度 Agent。
重点:普通用户不需要关心 ACP。你平时直接用 claude 命令就行,ACP 是底层自动处理的。
你的编辑器 ──► ACP 桥 ──► Gateway ──► CC 执行任务
就这么简单,中间的细节不用管。
直接用 claude 命令:
# 直接运行 claude "任务描述" # 后台运行 claude "任务描述" &
给 CC 派活儿时,描述清楚点儿:
任务:写用户登录接口 要求: - JWT 认证 - 密码要加密 - 加限流保护 时间:30 分钟内搞定
如果你真的需要调试 ACP:
# 启动 ACP 调试客户端 openclaw acp client # 连接远程 Gateway openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

再次强调:普通用户用不到这些命令,知道有这么个东西就行。
┌────────────────────────────────────────────────────────────────────────┐
│ 用户侧 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 飞书 │ │ 钉钉 │ │ 企业微信 │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ └────────────────────┼────────────────────┘ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ WebSocket/长连接│ │
│ └────────┬────────┘ │
└─────────────────────────────┼──────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ OpenClaw Gateway │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ 接入层(Feishu/DingTalk/WeChat Adapter) │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ 消息路由层(消息解析 / 会话管理 / 配对验证) │ │
│ └──────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ OpenClaw Core │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ Agent 引擎:主 Agent (决策) → ACP 总线 → 子 Agent (执行) │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ 模型层 │ │ Skill 层 │ │ 本地资源 │ │
│ │ (LLM API) │ │ (工具扩展) │ │ (配置/记忆) │ │
│ └────────────┘ └────────────┘ └────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
用户发消息
│
▼
┌─────────────────┐
│ 飞书/钉钉接收 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ WebSocket 推送 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Gateway 接入层 │ ← 解析消息、验证签名
└────────┬────────┘
│
▼
┌─────────────────┐
│ 消息路由器 │ ← 判断是私聊/群聊、检查配对状态
└────────┬────────┘
│
▼
┌─────────────────┐
│ 会话管理器 │ ← 找到对应的会话上下文
└────────┬────────┘
│
▼
┌─────────────────┐
│ 主 Agent │ ← 理解意图、决定怎么处理
└────────┬────────┘
│
┌────┴────┐
│ │
▼ ▼
┌───────┐ ┌───────┐
│直接回 │ │需要 │
│复消息 │ │调用 │
└───┬───┘ │工具 │
│ └──┬──┘
│ │
│ ▼
│ ┌─────────┐
│ │ Skill/ │
│ │ 子 Agent│
│ └────┬────┘
│ │
│ ▼
│ ┌─────────┐
│ │ LLM 模型 │
│ └────┬────┘
│ │
▼ ▼
┌─────────────────┐
│ 生成回复 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ 原路返回给用户 │
└─────────────────┘
我工作目录下有这么 8 个核心配置文件,每个都有特定用处:注意这8个配置文件非常重要,写的好与坏直接觉得你的openclaw是否好用!
干啥用的:定义 AI 助手是个啥角色、有啥原则、咋干活。
示例内容(脱敏版):
# SOUL.md - 小美的灵魂 _不是聊天机器人,是你的技术合伙人。_ ## 我的角色 **小美** - xxx 项目技术负责人 - 架构师 / 高级 Java 开发 / 高级运维 / 高级测试 ## 核心原则 1. 主动推进,不等不靠 - 发现问题直接解决,不等待审批 - 24 小时在线 2. 保质保量,逻辑严密 - 代码质量第一,测试验证到位 3. 长期记忆,绝不遗忘 - 重要信息必记到文件 4. 基础技术稳定 - JDK 21 不动,架构设计要提前规划 ## 汇报机制 - 每 30 分钟飞书汇报进度 - 重大问题立即汇报
干啥用的:记用户的基本信息、分工、偏好。
示例内容(脱敏版):
# USER.md - 关于壮哥 ## 基本信息 - **称呼**: 壮哥 - **角色**: 公司 CEO / 产品决策人 - **时区**: Asia/Shanghai ## 重要提醒 - 这台电脑很重要 - 删除或敏感操作必须先问 ## 工作分工 **壮哥负责**: - 产品方向决策 / 关键节点确认 / 资源协调 **小美 + CC 负责**: - 架构设计 / 编码开发 / 测试验证 / 运维部署 ## 沟通偏好 - 实事求是,不玩虚的 - 主动汇报,不等问 - 直接高效,不磨叽
干啥用的:定义开发规范、协作流程、记忆规则。
示例内容(脱敏版):
# AGENTS.md - xxx 项目开发指南 ## 每会话必读 启动流程: 1. 读 SOUL.md — 我的角色和原则 2. 读 USER.md — 壮哥的偏好 3. 读 MEMORY.md — 项目长期记忆 4. 读 memory/ — 相关日记文件 ## 核心规则 ### 1. 主动推进机制 - 24 小时工作,不等待 - 发现问题直接解决 ### 2. 汇报机制 - 每 30 分钟飞书汇报 ### 3. 开发规范 - JDK 21 不动 - 默认 dev 环境 - curl 测接口,不写单元测试 ### 4. CC 协作 - 通过 ACP/子 agent 交互 - 任务描述清晰:任务 + 要求 + 时间 - 直接授权,不等待确认
干啥用的:记项目信息、技术架构、服务器清单、工作规则。
示例内容(脱敏版):
# MEMORY.md - xxx 项目长期记忆 ## 项目信息 **产品名称**:xxx **定位**:yyyyyyyyy ## 核心功能 1. xxxx 2. xxxx 3. xxxx 4. xxxx 5. xxxxxx ## 技术架构 **技术栈**: - Java + Spring Boot - Spring Cloud Alibaba - MySQL + MyBatis Plus - Redis - K8s 集群部署 ## 服务器信息 **外网 IP**:xx.xx.xxx.xxx | 编号 | 用途 | SSH 端口 | |------|------|---------| | 101 | frp 内网穿透 | 2xxx | | 102 | K8s 主节点 | 2xxx | | 150 | Docker 服务 | 2xxx |
干啥用的:记服务器配置、项目架构、开发环境。
示例内容(脱敏版):
# TOOLS.md - 服务器和项目信息 ## 服务器清单 | 编号 | 用途 | SSH 端口 | |------|------|---------| | 101 | frp 内网穿透 | 2xxx | | 102 | K8s 主节点 + GitLab Runner | 2xxx | | 130 | 中间件 | 2xxx | | 150 | Docker 服务 | 2xxx | ## xxx 项目架构 **技术栈**: - Java + Spring Boot - Spring Cloud Alibaba - MyBatis Plus + MySQL ## 开发环境配置 **默认环境**:dev **配置项** - Nacos: xx.xx.xxx.xxx:8848 - MySQL: xx.xx.xxx.xxx:13306 - Redis: xx.xx.xxx.xxx:6380
干啥用的:定义定时任务、检查项、汇报模板。
示例内容(脱敏版):
# HEARTBEAT.md - 定时检查任务 ## 每 30 分钟(飞书汇报) **汇报会话**:oc_xxxxxxxxxxxx **汇报模板**: ## 【HH:MM 进度汇报】 ### ✅ 已完成 / ⏳ 进行中 / 🐛 遇到的问题 / 📋 下一步计划 ### 📊 服务状态 | 服务 | 端口 | 状态 | |------|------|------| | Gateway | 18652 | ✅ | ## 项目盯守(每小时) - 检查各服务端口 - 查看日志有无 ERROR - 检查数据库连接
干啥用的:定义 AI 助手的身份、职责、工作节奏。
示例内容(脱敏版):
# IDENTITY.md - 小美的身份 **Name**: 小美 **Role**: xxx 项目技术负责人 ## 我的职责 ### 架构设计 / 开发管理 / 运维保障 / 项目推进 - 24 小时在线工作 - 每 30 分钟飞书汇报 - 重要信息必记到文件
干啥用的:记初始化完成情况、已配置的规则。
示例内容(脱敏版):
# BOOTSTRAP.md - 初始化完成 ## 当前状态 - ✅ SOUL.md / IDENTITY.md / USER.md 已整合 - ✅ AGENTS.md / HEARTBEAT.md / TOOLS.md 已配置 - ✅ MEMORY.md - 项目记忆已建立 ## 已配置规则 1. 每 30 分钟飞书汇报 2. 24 小时主动工作 3. 重要信息必写文件 4. curl 测试,不写单元测试 5. 主动解决问题
看下日常使用情况:


一般是端口被占了,或者没开管理员权限。
查一下端口:
netstat -ano | findstr 18652 mac: ps aux | grep openclaw
大概率是权限没配好,或者没发布。
检查一下:
- 权限有没有加全
- 发布了没有
- 看日志:
openclaw logs
网络问题吧,重启 Gateway 试试,或者重新发起配对。
检查配置文件 openclaw.json 中的 agents.defaults.model.primary 是否正确。
有啥问题可以去看看官方文档:
- OpenClaw 文档
- 飞书开放平台
- GitHub
- skills技能库
到此这篇关于OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解的文章就介绍到这了,更多相关OpenClaw 配置接入飞书内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!