本教程将帮助你安装和配置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"
]
}
}