跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

OpenClaw 配置飞书机器人教程(本地部署)

OpenClaw 配置飞书机器人教程 目录 前置准备 创建飞书应用 配置机器人能力 获取必要凭证 配置 OpenClaw 测试机器人 --- 前置准备 在开始之前,请确保你具备以下条件: 必需条件 **飞书管理员权限** 需要创建企业自建应用的权限 或联系管理员协助创建 **OpenClaw 已安装** 准备清单 OpenClaw 已安装并运行 有飞书企业管理员权限 基本的命令行操作能力 ---…

魔尊发布于 2026/4/6更新于 2026/9/487K 浏览
OpenClaw 配置飞书机器人教程(本地部署)

OpenClaw 配置飞书机器人教程

目录

  1. 前置准备
  2. 创建飞书应用
  3. 配置机器人能力
  4. 获取必要凭证
  5. 配置 OpenClaw
  6. 测试机器人

前置准备

在开始之前,请确保你具备以下条件:

必需条件
  • 飞书管理员权限
    • 需要创建企业自建应用的权限
    • 或联系管理员协助创建

OpenClaw 已安装

# 检查是否已安装 openclaw --version
准备清单
  • OpenClaw 已安装并运行
  • 有飞书企业管理员权限
  • 基本的命令行操作能力

创建飞书应用

步骤 1:进入飞书开放平台
  1. 打开浏览器,访问 飞书开放平台
  2. 使用飞书账号登录

点击右上角 开发者后台

步骤 2:创建企业自建应用
  1. 点击 创建企业自建应用
  2. 填写应用信息:
    • 应用名称:OpenClaw AI 助手(可自定义)
    • 应用描述:基于 OpenClaw 的 AI 智能助手(可自定义)
    • 应用图标:上传一个喜欢的图标(建议 120x120)

点击 创建

步骤 3:记录应用信息

创建成功后,你会看到:

App ID: cli_xxxxxxxxxxxxxxxx
App Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

⚠️ 重要:立即保存这两个值,后面会用到!


配置机器人能力

步骤 4:启用机器人功能

在应用详情里面,添加应用能力,选择机器人。

步骤 5:配置权限
  1. 点击左侧 权限管理
  2. 搜索并添加以下权限:
权限名称权限标识用途
获取与发送单聊、群组消息im:message接收和发送消息
获取用户基本信息contact:user.base:readonly获取用户信息
获取群组信息im:chat:readonly获取群聊信息
发送富文本消息im:message:send_as_bot以机器人身份发送消息

点击 批量添加 → 确认

步骤 6:发布版本(重要)
  1. 点击左侧 版本管理与发布
  2. 点击 创建版本
  3. 填写版本信息:
    • 版本号:1.0.0
    • 更新说明:首次发布,支持基础对话功能
  4. 点击 保存
  5. 点击 申请发布
  6. 等待管理员审批(通常几分钟内)

获取必要凭证

步骤 7:获取 App ID 和 App Secret
  1. 在应用详情页,点击左侧 凭证与基础信息

你会看到:

App ID: cli_xxx
App Secret: xxxxx

就是前面保存的。这个是开发者应用的凭证。其实也是对应机器人的凭证。


配置 OpenClaw

步骤 8:创建配置文件

编辑 OpenClaw 配置文件:

或者直接和 OpenClaw 对话配置:我正在配置飞书,对应的开发者应用 appid 是 xxx, appSecret 是 xxx ,帮我配置一下

步骤 9:重启 OpenClaw
# 重启服务
openclaw gateway
# 检查状态
openclaw status

预期输出:

✓ OpenClaw 运行中
✓ Gateway: http://0.0.0.0:18789
✓ 飞书通道:已连接

测试机器人

由于本地部署无法实现双向交流(其实也可以通过 ngrok 实现,但是不安全),所以这里是实现单项推送。

首先我们已经配置好了机器人和开发者应用的信息。那么怎么让机器人给我们的飞书发送消息呢。

首先每个飞书在每个开发者应用中,都有一个唯一的 openid(同一个飞书用户在不同的应用下 openid 不同),所以我们需要获取在对应应用下的 openid。正常我们是看不到的,需要通过接口获取。

#!/bin/bash
# =================🔧 配置区域 (请修改这里) =================
APP_ID="cli_xxx"
APP_SECRET="xxx"
PHONE_NUMBER="xxxx"
# 替换为你要查询的手机号 (不需要加 +86,接口通常自动识别或根据企业设置,若报错可尝试 "+86156...")
# =======================================================
echo "🚀 开始执行三步查询流程..."
echo "--------------------------------------------------"
# --- 第一步:获取 tenant_access_token ---
echo "1️⃣ 正在获取 Access Token..."
TOKEN_RESP=$(curl -s -X POST "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal" \
  -H "Content-Type: application/json" \
  -d "{ \"app_id\": \"$APP_ID\", \"app_secret\": \"$APP_SECRET\" }")
# 解析 Token
ACCESS_TOKEN=$(echo "$TOKEN_RESP" | grep -o '"tenant_access_token":"[^"]*"' | cut -d'"' -f4)
if [ -z "$ACCESS_TOKEN" ]; then
  echo "❌ 第一步失败:无法获取 Token。"
  echo "返回信息:$TOKEN_RESP"
  exit 1
fi
echo "✅ Token 获取成功:${ACCESS_TOKEN:0:10}..."
echo ""
# --- 第二步:通过手机号获取 user_id ---
echo "2️⃣ 正在通过手机号 ($PHONE_NUMBER) 查询 user_id..."
# 注意:根据你的案例,mobiles 数组直接传字符串即可
STEP2_RESP=$(curl -s -X POST "https://open.feishu.cn/open-apis/contact/v3/users/batch_get_id?user_id_type=user_id" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{ \"emails\": [], \"include_resigned\": false, \"mobiles\": [ \"$PHONE_NUMBER\" ] }")
# 解析 user_id (从 data.user_list[0].user_id 中提取)
# 使用 python 解析更稳妥,如果没装 python 则用 grep/sed 简易解析
if command -v python3 &> /dev/null; then
  USER_ID=$(echo "$STEP2_RESP" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data',{}).get('user_list',[{}])[0].get('user_id',''))" 2>/dev/null)
else
  # 简易解析 fallback
  USER_ID=$(echo "$STEP2_RESP" | grep -o '"user_id":"[^"]*"' | head -1 | cut -d'"' -f4)
fi
if [ -z "$USER_ID" ]; then
  echo "❌ 第二步失败:未找到 user_id。"
  echo "返回信息:$STEP2_RESP"
  echo "💡 提示:请检查手机号是否正确,或应用是否有【读取用户手机号】权限。"
  exit 1
fi
echo "✅ 找到 user_id: $USER_ID"
echo ""
# --- 第三步:通过 user_id 获取 open_id ---
echo "3️⃣ 正在通过 user_id ($USER_ID) 查询 open_id..."
# 构造 URL: .../users/{user_id}?department_id_type=open_department_id&user_id_type=user_id
TARGET_URL="https://open.feishu.cn/open-apis/contact/v3/users/${USER_ID}?department_id_type=open_department_id&user_id_type=user_id"
STEP3_RESP=$(curl -s -X GET "$TARGET_URL" \
  -H "Authorization: Bearer $ACCESS_TOKEN")
# 解析 open_id
if command -v python3 &> /dev/null; then
  OPEN_ID=$(echo "$STEP3_RESP" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data',{}).get('user',{}).get('open_id',''))" 2>/dev/null)
  NAME=$(echo "$STEP3_RESP" | python3 -c "import sys, json; d=json.load(sys.stdin); print(d.get('data',{}).get('user',{}).get('name',''))" 2>/dev/null)
else
  OPEN_ID=$(echo "$STEP3_RESP" | grep -o '"open_id":"[^"]*"' | head -1 | cut -d'"' -f4)
  NAME=$(echo "$STEP3_RESP" | grep -o '"name":"[^"]*"' | head -1 | cut -d'"' -f4)
fi
if [ -z "$OPEN_ID" ]; then
  echo "❌ 第三步失败:未找到 open_id。"
  echo "返回信息:$STEP3_RESP"
  echo "💡 提示:请检查应用是否有【读取用户信息】权限。"
  exit 1
fi
echo "--------------------------------------------------"
echo "🎉 查询成功!"
echo "👤 姓名:$NAME"
echo "🆔 User ID: $USER_ID"
echo "🔑 Open ID : $OPEN_ID"
echo "--------------------------------------------------"

修改上面的 3 个配置: APP_ID="cli_xxx" APP_SECRET="xxx" PHONE_NUMBER="xxxx" # 替换为你要查询的手机号 (不需要加 +86,接口通常自动识别或根据企业设置,若报错可尝试 "+86156...")

然后保存为 lark.sh。然后 sh lark.sh(如果是 Windows,可将代码交由 AI 工具转换)。

拿到 openid 之后,告诉 OpenClaw,你的飞书用户 openid 是这个。让它记下来。

然后就可以告诉 OpenClaw 做一些事情了,比如写一篇最新的育儿文章,然后发到你的飞书。

目录

  1. OpenClaw 配置飞书机器人教程
  2. 目录
  3. 前置准备
  4. 必需条件
  5. 检查是否已安装 openclaw --version
  6. 准备清单
  7. 创建飞书应用
  8. 步骤 1:进入飞书开放平台
  9. 步骤 2:创建企业自建应用
  10. 步骤 3:记录应用信息
  11. 配置机器人能力
  12. 步骤 4:启用机器人功能
  13. 步骤 5:配置权限
  14. 步骤 6:发布版本(重要)
  15. 获取必要凭证
  16. 步骤 7:获取 App ID 和 App Secret
  17. 配置 OpenClaw
  18. 步骤 8:创建配置文件
  19. 步骤 9:重启 OpenClaw
  20. 重启服务
  21. 检查状态
  22. 测试机器人
  23. =================🔧 配置区域 (请修改这里) =================
  24. 替换为你要查询的手机号 (不需要加 +86,接口通常自动识别或根据企业设置,若报错可尝试 "+86156...")
  25. =======================================================
  26. --- 第一步:获取 tenantaccesstoken ---
  27. 解析 Token
  28. --- 第二步:通过手机号获取 user_id ---
  29. 注意:根据你的案例,mobiles 数组直接传字符串即可
  30. 解析 userid (从 data.userlist[0].user_id 中提取)
  31. 使用 python 解析更稳妥,如果没装 python 则用 grep/sed 简易解析
  32. 简易解析 fallback
  33. --- 第三步:通过 userid 获取 openid ---
  34. 构造 URL: .../users/{userid}?departmentidtype=opendepartmentid&useridtype=userid
  35. 解析 open_id

更多推荐文章

查看全部
  • C++ STL vector 容器模拟实现详解
  • AutoGPT+Python:构建自主 AI 智能体实现复杂任务自动化
  • VS Code + GitHub Copilot 实战指南:从配置到高效协作
  • STL 容器:vector 动态数组全面解析
  • AI 重塑 PCB 设计:从对话生成到工程落地的实战解析
  • Claude Code 2.0.74-2.0.76 更新:LSP 集成赋予 AI IDE 级代码理解能力
  • AMD 显卡部署 ComfyUI-Zluda 实战指南
  • STL 容器适配器 Stack 与 Queue 的实现与题型应用
  • C++ STL unordered_set 与 unordered_map 基本用法及模拟实现
  • MySQL 变量详解:系统、用户自定义与局部变量应用
  • Figma + Claude + Weavy AI:构建高效 UI 设计工作流
  • Pandas 数据清理实用技巧速查
  • LangChain BaseChatMemory 详解与子类实战
  • Python 中 NumPy 库的基础使用详解
  • 【论文阅读 | CVPR 2024 | Fusion-Mamba :用于跨模态目标检测】
  • npm install 报错 git 权限拒绝 Permission denied 解决方法
  • C++ STL list 模拟实现:从底层链表到容器封装
  • AI Agent:普通人如何利用智能体实现能力变现
  • 基于 OpenClaw 和飞书开放平台实现 AI 新闻推送机器人
  • MarianCG:受机器翻译启发的代码生成 Transformer 模型

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online