配置参考
完整的 channels.feishu 键列表及其默认值,以及 webhook 路径规则。
配置参考¶
完整配置:网关配置
| 设置 | 描述 | 默认值 |
|---|---|---|
channels.feishu.enabled |
启用/禁用该渠道 | true |
channels.feishu.domain |
API 域名(feishu、lark 或 https:// 基础 URL) |
feishu |
channels.feishu.connectionMode |
事件传输方式(websocket 或 webhook) |
websocket |
channels.feishu.defaultAccount |
出站路由的默认账户 | default |
channels.feishu.verificationToken |
webhook 模式必需 | - |
channels.feishu.encryptKey |
webhook 模式必需 | - |
channels.feishu.webhookPath |
规范的 HTTP 请求路径(必须以 / 开头) |
/feishu/events |
channels.feishu.legacyWebhook |
旧版转发监听器:省略时保留历史端点,{ port, host? } 会覆盖它,false 禁用它 |
{ port: 3000, host: "127.0.0.1" } |
channels.feishu.accounts.<id>.appId |
应用 ID | - |
channels.feishu.accounts.<id>.appSecret |
应用密钥 | - |
channels.feishu.accounts.<id>.domain |
按账户覆盖域名 | feishu |
channels.feishu.accounts.<id>.replyToMode |
按账户的回复引用模式 | 继承 |
channels.feishu.accounts.<id>.requireMentionInBotThreads |
按账户的提及要求(适用于本机器人发起的线程) | 继承 |
channels.feishu.accounts.<id>.tts |
按账户的 TTS 覆盖 | tts |
channels.feishu.accounts.<id>.actions.sticker |
按账户的表情动作覆盖 | 继承 |
channels.feishu.dmPolicy |
DM 策略(pairing、allowlist、open) |
pairing |
channels.feishu.allowFrom |
DM 允许列表(open_id 列表) | - |
channels.feishu.groupPolicy |
群组策略(open、allowlist、disabled) |
allowlist |
channels.feishu.groupAllowFrom |
群组允许列表 | - |
channels.feishu.groupSenderAllowFrom |
应用于所有群组的发送者允许列表 | - |
channels.feishu.requireMention |
在群组中要求 @提及 | true(策略为 open 时为 false) |
channels.feishu.requireMentionInBotThreads |
覆盖本机器人发起的线程中的提及;参见 访问控制 | 现有提及行为 |
| 设置项 | 描述 | 默认值 |
|---|---|---|
channels.feishu.allowBots |
接受提及此机器人的其他机器人,并具备机器人循环保护 | false |
channels.feishu.groups.<chat_id>.requireMention |
按群覆盖 @提及要求;显式 ID 也会在允许列表模式下允许该群 | 继承 |
channels.feishu.groups.<chat_id>.requireMentionInBotThreads |
在此机器人发起的线程中按群设置提及要求 | 继承 |
channels.feishu.groups.<chat_id>.enabled |
启用/禁用特定群 | true |
channels.feishu.groups.<chat_id>.allowFrom |
按群发送者允许列表(覆盖 groupSenderAllowFrom) |
- |
channels.feishu.groupSessionScope |
群会话映射(group、group_sender、group_topic、group_topic_sender) |
group |
channels.feishu.replyToMode |
回复引用模式(off、first、all、batched) |
all |
channels.feishu.replyInThread |
机器人回复创建/继续话题线程(disabled、enabled) |
disabled |
channels.feishu.reactionNotifications |
入站表情回应事件(off、own、all) |
own |
channels.feishu.actions.sticker |
启用已接收贴纸的发送以及已配置的贴纸搜索 | false |
channels.feishu.stickerSets |
可搜索的已接收贴纸键和关键词,按机器人应用 ID 分组 | 无 |
channels.feishu.vcAutoJoin |
在正常私信授权后加入受邀的 VC 会议 | false |
channels.feishu.dynamicAgentCreation.enabled |
启用按用户自动创建代理 | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate |
动态代理工作区的路径模板 | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate |
代理目录名称模板 | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents |
要创建的最大动态代理数量 | 无限制 |
channels.feishu.textChunkLimit |
消息分块大小 | 4000 |
channels.feishu.streaming.chunkMode |
分块拆分方式(length 或 newline) |
length |
channels.feishu.mediaMaxMb |
媒体大小限制 | 30 |
channels.feishu.renderMode |
回复渲染(auto、raw、card) |
auto |
channels.feishu.streaming.mode |
流式卡片输出(partial 或 off) |
partial |
channels.feishu.streaming.block.enabled |
已完成块回复的流式输出 | false |
channels.feishu.typingIndicator |
发送正在输入表情回应 | true |
| 设置 | 描述 | 默认值 |
|---|---|---|
channels.feishu.resolveSenderNames |
解析发送者显示名称 | true |
channels.feishu.configWrites |
允许通道发起的配置写入(动态智能体所需) | true |
channels.feishu.tools.doc |
启用文档工具 | true |
channels.feishu.tools.chat |
启用聊天信息工具 | true |
channels.feishu.tools.wiki |
启用知识库工具(需要 doc) |
true |
channels.feishu.tools.drive |
启用云存储工具 | true |
channels.feishu.tools.perm |
启用权限管理工具 | false |
channels.feishu.tools.scopes |
启用应用权限范围诊断工具 | true |
channels.feishu.tools.bitable |
启用 Bitable/Base 工具 | true |
channels.feishu.accounts.<id>.tools.bitable |
按账号的 Bitable/Base 工具开关 | 继承 |
在 Webhook 模式下,channels.feishu.webhookPath 和
channels.feishu.accounts.<id>.webhookPath 都必须是规范化的 HTTP 请求路径,
以 / 开头,例如 /feishu/events。支持可选的查询字符串,且必须完全匹配。
完整 URL、相对路径、URL 片段、点段以及未编码的空格或 Unicode 将被拒绝。如果现有
配置包含非规范化路径,请在启动 Gateway 前运行 openclaw doctor --fix 进行修复。
Gateway Webhook 路由¶
Webhook 模式使用 Gateway HTTP 监听器(gateway.port,通常为 18789)
在 webhookPath 上,通常为 /feishu/events。请配置公开的 Feishu 回调
URL 或反向代理,以访问该 Gateway 端口和路径。该路由会验证 Feishu 签名,
并且不需要 Gateway bearer 认证。当各账号的加密密钥不同时,账号可以共享同一路径;
在 Gateway 端口上出现歧义签名时,系统会拒绝处理,而不是选择任意账号。共享路径和加密密钥的旧账号
仍可在其各自独立的显式旧版监听器上区分。在将这些账号的回调迁移到共享 Gateway 端口之前,
请为它们配置不同的加密密钥或 Webhook 路径。
共享 Gateway 路径的账号会共享其未认证请求速率和进行中正文读取预算,因为签名验证需要完整正文。
如需独立预算,请使用不同的 webhookPath 路径名。受信任的旧版端点即使路径相同,也保留独立的进行中容量。
当省略 legacyWebhook 时,Webhook 模式还会保留 127.0.0.1:3000 上的先前端点。
Gateway 拥有此监听器,并将请求转发到相同的插件路由和签名验证器。设置
legacyWebhook: { port: 3100, host: "127.0.0.1" } 可覆盖该端点。
省略对象中的 host 会绑定到 127.0.0.1;显式主机(包括通配符地址)会被保留。
账号条目继承根设置,accounts.<id>.legacyWebhook: false 会禁用该账号的转发。
在受支持的 2026.9.6 宿主上,如果其早于 Gateway 拥有的转发,Feishu 会在该端点保留一个账号拥有的兼容性监听器,
使用相同的签名检查和分发路径。这些宿主要求不同账号使用不同的旧版端点。较新的宿主将监听器所有权保留在 Gateway 中,
当另一个账号仍在使用该端点时,共享的旧版套接字会保持打开。账号关闭时,已认证响应最多可完成五秒,
与先前监听器的关闭宽限期一致。未完成的响应会在该截止时间关闭;其他账号保留其路由和监听器。
在该宽限期内,停止账号的签名正确的回调会收到可重试的 503,除非活动后继账号已经接受其签名。
插件的 Doctor 迁移会将 webhookPort 和 webhookHost
移动到 legacyWebhook: { port, host },当只设置了一个键时,保留实际生效的旧默认值。
常规配置备份会保护原始设置。现有的规范化 legacyWebhook 设置(包括 false)优先。
如果安装时省略了这两个旧设置,则仍会在端口 3000 上接收流量。
当从带有这些旧键的 2026.9.6 主机更新时,请先将 OpenClaw 核心更新到包含 plugin-update 迁移修复 的版本。 然后显式更新任何已固定版本的 Feishu 包到你选择的发布版本。核心更新器会保留显式固定的插件版本。更新后的安装程序会在激活替换包之前应用 Feishu 的迁移;已发布的 2026.9.6 安装程序会在能够运行该修复之前拒绝新的模式。被拒绝的仅插件更新会保留之前的安装和设置不变。
已弃用的 TypeScript webhookPort 和 webhookHost 输入字段在下一个 Plugin SDK 主要版本之前保持源兼容。运行时配置使用 legacyWebhook;运行 openclaw doctor --fix 以迁移旧键。
如果只想使用 Gateway 端口,请将 Feishu 回调 URL 或反向代理上游更新为 Gateway 端口和 webhookPath,验证投递,然后设置 legacyWebhook: false。删除该设置会恢复继承的或默认的端点。Startup 和 Doctor 会打印目标地址和禁用说明。Doctor 将健康端点指导作为信息呈现,将路径冲突作为警告呈现;已禁用的账户和 WebSocket 账户不会收到 webhook 备注。OpenClaw 无法更新存储在 Feishu 控制台中的回调 URL。
确切的 Gateway 探测路径(/health、/healthz、/ready、/readyz、/startup 和 /startupz,包括查询字符串)无法在 Gateway 端口上接收 Feishu 回调。在 legacyWebhook: false 下,webhook 启动会拒绝这些路径并指明替代路径。启用时,旧监听器会继续提供旧路径的服务。将 webhookPath 更改为 /feishu/events(或其他未保留路径),更新 Feishu 回调 URL 或反向代理路径,并在设置 legacyWebhook: false 之前验证 Gateway 上的投递。嵌套在探测路径下的路径不受此规则保留。
/api/channels 下的路径需要 Gateway 身份验证,并且无法在 Gateway 端口上接收普通 Feishu 回调。这也适用于该前缀的编码形式。Startup 和 Doctor 提供相同的路径更改说明;旧监听器会保持这些回调正常工作,直到路径和外部回调或代理完成迁移。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw