OpenClaw 中文文档 — 企业平台接入

本文覆盖面向企业和团队的四个主要渠道:飞书/Lark、Microsoft Teams、Google Chat 和 Mattermost。企业渠道的共同特点是认证复杂度较高、通常需要管理员审批,但覆盖的用户群体广泛。

飞书/Lark

架构

飞书渠道已内置于 OpenClaw,通过飞书 SDK 的 WebSocket 长连接接收事件,无需暴露公网 URL。这个设计决策降低了部署复杂度——对比 Google Chat 和 Teams 需要公网 webhook,飞书的零公网依赖是一个明显优势。

Lark(国际版)租户通过设置 domain: "lark" 切换 API 域名。

配置流程

  1. 在飞书开放平台创建企业自建应用
  2. 获取 App ID(cli_xxx)和 App Secret
  3. 批量导入权限(官方提供 JSON 格式的权限清单)
  4. 启用机器人能力
  5. 配置事件订阅:选择「使用长连接接收事件」,添加 im.message.receive_v1
  6. 发布应用并等待管理员审批
{
  channels: {
    feishu: {
      enabled: true,
      dmPolicy: "pairing",
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx",
          botName: "AI Assistant",
        },
      },
    },
  },
}

功能特性

功能 说明
流式卡片输出 默认启用,回复时实时更新交互卡片
WebSocket 连接 无需公网 URL
多 Agent 路由 通过 bindings 按用户/群组路由
媒体支持 文本/图片/文件/音频/视频/贴纸
输入指示 可选关闭以减少 API 调用
发送者名称解析 可选关闭以减少 API 调用

群组访问控制

飞书使用 oc_xxx 格式的群组 ID 和 ou_xxx 格式的用户 ID:

{
  channels: {
    feishu: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["oc_xxx"],
      groups: {
        "oc_xxx": {
          requireMention: true,
          allowFrom: ["ou_user1", "ou_user2"],
        },
      },
    },
  },
}

值得注意的是,飞书的 groups.<chat_id>.allowFrom 实现了完整的发送者级门控——不只是控制命令,所有消息都受此过滤。

配额优化

飞书 API 有调用配额限制。两个可选标志可减少 API 调用量:

  • typingIndicator: false:跳过输入反馈调用
  • resolveSenderNames: false:跳过发送者资料查询

Microsoft Teams

架构

Teams 渠道以插件形式提供,通过 Bot Framework 接入。需要 Azure Bot 资源、公网 webhook URL,配置复杂度在所有渠道中最高。

openclaw plugins install @openclaw/msteams

配置

{
  channels: {
    msteams: {
      enabled: true,
      appId: "<APP_ID>",
      appPassword: "<APP_PASSWORD>",
      tenantId: "<TENANT_ID>",
      webhook: { port: 3978, path: "/api/messages" },
    },
  },
}

关键配置点:

  • 需要 Azure Bot 资源(App ID + 客户端密钥 + 租户 ID)
  • 需要公网暴露 /api/messages
  • 群组聊天默认 groupPolicy: "allowlist",需显式配置 groupAllowFrom
  • 支持 Adaptive Cards 投票
  • 频道/群组文件发送需要 sharePointSiteId + Graph 权限

Google Chat

架构

Google Chat 通过 HTTP webhook 接入,使用 Google Cloud 服务账号进行认证。需要公网 HTTPS 端点。

配置

{
  channels: {
    googlechat: {
      enabled: true,
      serviceAccountFile: "/path/to/service-account.json",
      audienceType: "app-url",
      audience: "https://gateway.example.com/googlechat",
      webhookPath: "/googlechat",
    },
  },
}

公网暴露方案

由于需要公网 URL,安全的暴露策略至关重要:

方案 说明 安全性
Tailscale Funnel 仅暴露 webhook 路径 高
Caddy 反向代理 仅代理 /googlechat* 高
Cloudflare Tunnel 路由规则限定路径 高

核心原则:仅暴露 webhook 路径到公网,Dashboard 和其他端点保持内网。

认证模型

  • Bearer Token 在读取请求体前验证
  • 受众验证支持 app-url(webhook URL)和 project-number(Cloud 项目编号)
  • 服务账号凭证支持文件、内联 JSON 和 SecretRef

Mattermost

架构

Mattermost 以插件形式提供,通过 Bot Token + WebSocket 接入。作为自托管团队通讯平台,Mattermost 的部署模型与 OpenClaw 的自托管理念天然契合。

openclaw plugins install @openclaw/mattermost

配置

{
  channels: {
    mattermost: {
      enabled: true,
      botToken: "mm-token",
      baseUrl: "https://chat.example.com",
      dmPolicy: "pairing",
    },
  },
}

原生斜杠命令

Mattermost 的原生命令支持需手动启用(commands.native: true),OpenClaw 通过 API 注册 oc_* 前缀的斜杠命令。回调端点必须从 Mattermost 服务器可访问。

其他企业渠道

Nextcloud Talk(插件):通过 Nextcloud 自托管聊天接入,适合已有 Nextcloud 环境的组织。

Synology Chat(插件):通过 Synology NAS 的传入/传出 webhook 接入。

企业渠道对比

维度 飞书 Teams Google Chat Mattermost
安装方式 内置 插件 内置 插件
连接模式 WebSocket Webhook Webhook WebSocket
公网需求 不需要 需要 需要 不需要
认证复杂度 中 高 高 低
流式输出 交互卡片 有限 无 基础
适用区域 中国大陆 全球企业 Google 生态 自托管

从工程角度看,飞书和 Mattermost 的 WebSocket 连接模式在部署上更友好——不需要暴露公网端点。Teams 和 Google Chat 的 webhook 模式则需要额外的网络基础设施(反向代理、Tailscale Funnel 等)。

本文是渠道篇的第五篇。下一篇覆盖社区和开放协议渠道:Matrix、IRC、LINE 等。


完整中文文档:OpenClaw 中文文档

GitHub 仓库:openclaw/openclaw

posted @ 2026-03-23 22:10  wakeupxm  阅读(333)  评论(0)    收藏  举报