OpenClaw接入飞书教程

本教程将帮助你安装和配置OpenClaw的飞书插件,使你能够通过飞书与OpenClaw进行交互。

安装

openclaw plugins install @m1heng-clawd/feishu

升级

openclaw plugins update feishu

配置飞书API

openclaw config

配置选项

channels:
  feishu:
    enabled: true
    appId: "cli_xxxxx"
    appSecret: "secret"
    # 域名: "feishu" (国内) 或 "lark" (国际)
    domain: "feishu"
    # 连接模式: "websocket" (推荐) 或 "webhook"
    connectionMode: "websocket"
    # 私聊策略: "pairing" | "open" | "allowlist"
    dmPolicy: "pairing"
    # 群聊策略: "open" | "allowlist" | "disabled"
    groupPolicy: "allowlist"
    # 群聊是否需要 @机器人
    requireMention: true
    # 媒体文件最大大小 (MB, 默认 30)
    mediaMaxMb: 30
    # 回复渲染模式: "auto" | "raw" | "card"
    renderMode: "auto"

启动服务

openclaw gateway

手动安装方法

如果 openclaw plugins install 失败,可以手动安装:

# 1. 下载插件包
curl -O https://registry.npmjs.org/@m1heng-clawd/feishu/-/feishu-0.1.3.tgz

# 2. 从本地安装
openclaw plugins install ./feishu-0.1.3.tgz

备选插件方案

如果上面安装失败,可以试一下新插件地址: https://github.com/AlexAnys/openclaw-feishu

完整支持 OpenClaw / Clawdbot

飞书权限

{ 
  "scopes": { 
    "tenant": [ 
      "acs:access_record:readonly", 
      "acs:access_record:write", 
      "acs:device:write", 
      "acs:devices:readonly", 
      "acs:users", 
      "admin:admin_dept_stat:readonly", 
      "admin:admin_user_stat:readonly", 
      "admin:app.admin:check", 
      "admin:app.admin:readonly", 
      "admin:app.admin_id:readonly", 
      "admin:app.category:update", 
      "admin:app.enable:write", 
      "admin:app.info:readonly", 
      "admin:app.user_usable:readonly", 
      "admin:app.visibility", 
      "admin:badge", 
      "admin:badge.grant", 
      "admin:ent_email_password", 
      "aily:data_asset:read", 
      "aily:data_asset:upload_file", 
      "aily:data_asset:write", 
      "aily:file:read", 
      "aily:file:write", 
      "aily:knowledge:ask", 
      "aily:knowledge:read", 
      "aily:knowledge:write", 
      "aily:message:read", 
      "aily:message:write", 
      "aily:run:read", 
      "aily:run:write", 
      "aily:session:read", 
      "aily:session:write", 
      "aily:skill:read", 
      "aily:skill:write", 
      "app_engine:application.environment_variable:read", 
      "app_engine:application.event:read", 
      "app_engine:application.function:write", 
      "app_engine:application.log:read", 
      "app_engine:application.metric:read", 
      "app_engine:approval:read", 
      "app_engine:approval:write", 
      "app_engine:attachment:read", 
      "app_engine:attachment:write", 
      "app_engine:data.record.change:read", 
      "app_engine:dataset.meta:read", 
      "app_engine:dataset.record:read", 
      "app_engine:flow:write", 
      "app_engine:global_option:read", 
      "app_engine:object.meta:read", 
      "app_engine:object.record:read", 
      "app_engine:object.record:write", 
      "app_engine:record_permission.member:write", 
      "app_engine:role.member:write", 
      "app_engine:role:read", 
      "application:application", 
      "application:application.app_message_stats.overview:readonly", 
      "application:application.app_package", 
      "application:application.app_usage_stats.overview:readonly", 
      "application:application.app_version", 
      "application:application.app_version:readonly", 
      "application:application.bot.operator_name:readonly", 
      "application:application.collaborators:write", 
      "application:application.contacts_range:write", 
      "application:application.feedback.feedback_info", 
      "application:application.self_manage", 
      "application:bot.menu:readonly", 
      "application:bot.menu:write", 
      "approval:approval", 
      "approval:approval.list:readonly", 
      "approval:approval:readonly", 
      "approval:definition", 
      "approval:external_approval", 
      "approval:external_instance", 
      "approval:instance", 
      "approval:instance.comment", 
      "approval:task", 
      "attendance:overtime_approval:write", 
      "attendance:rule", 
      "attendance:rule:readonly", 
      "attendance:task", 
      "attendance:task:readonly", 
      "attendance_machine:check_in_record:write", 
      "attendance_machine:device:write", 
      "attendance_machine:users", 
      "baike:entity", 
      "baike:entity:exempt_delete", 
      "baike:entity:exempt_review", 
      "baike:entity:readonly", 
      "base:app:copy", 
      "base:app:create", 
      "base:app:read", 
      "base:app:update", 
      "base:collaborator:create", 
      "base:collaborator:delete", 
      "base:collaborator:read", 
      "base:dashboard:copy", 
      "base:dashboard:read", 
      "base:field:create", 
      "base:field:delete", 
      "base:field:read", 
      "base:field:update", 
      "base:form:read", 
      "base:form:update", 
      "base:record:create", 
      "base:record:delete", 
      "base:record:read", 
      "base:record:retrieve", 
      "base:record:update", 
      "base:role:create", 
      "base:role:delete", 
      "base:role:read", 
      "base:role:update", 
      "base:table:create", 
      "base:table:delete", 
      "base:table:read", 
      "base:table:update", 
      "base:view:read", 
      "base:view:write_only", 
      "bitable:app", 
      "bitable:app:readonly", 
      "block:entity", 
      "block:message", 
      "board:whiteboard:node:create", 
      "board:whiteboard:node:delete", 
      "board:whiteboard:node:read", 
      "board:whiteboard:node:update", 
      "calendar:calendar", 
      "calendar:calendar.acl:create", 
      "calendar:calendar.acl:delete", 
      "calendar:calendar.acl:read", 
      "calendar:calendar.event:create", 
      "calendar:calendar.event:delete", 
      "calendar:calendar.event:read", 
      "calendar:calendar.event:reply", 
      "calendar:calendar.event:update", 
      "calendar:calendar.free_busy:read", 
      "calendar:calendar:create", 
      "calendar:calendar:delete", 
      "calendar:calendar:read", 
      "calendar:calendar:readonly", 
      "calendar:calendar:subscribe", 
      "calendar:calendar:update", 
      "calendar:exchange.bindings:create", 
      "calendar:exchange.bindings:delete", 
      "calendar:exchange.bindings:read", 
      "calendar:room", 
      "calendar:room:readonly", 
      "calendar:settings.caldav:create", 
      "calendar:settings.workhour:read", 
      "calendar:time_off:create", 
      "calendar:time_off:delete", 
      "calendar:timeoff", 
      "cardkit:card:read", 
      "cardkit:card:write", 
      "cardkit:template:read", 
      "collab_plugins:collab_plugins", 
      "collab_plugins:collab_plugins.relation.change:read", 
      "contact:contact", 
      "contact:contact.base:readonly", 
      "contact:contact:update_department_id", 
      "contact:contact:update_user_id", 
      "contact:department.base:readonly", 
      "contact:department.hrbp:readonly", 
      "contact:department.organize:readonly", 
      "contact:functional_role", 
      "contact:functional_role:readonly", 
      "contact:group", 
      "contact:group:readonly"
    ]
  }
}