IM 机器人集成

将 AI 助手接入钉钉、飞书、企业微信、微信服务号等 IM 平台

IM 机器人集成

Knodo 支持将 AI 助手接入主流 IM 平台,让团队成员可以在日常使用的即时通讯工具中直接与 AI 助手对话。同时也支持将 AI 助手接入微信服务号,面向外部用户或组织成员提供 AI 对话和模板消息推送能力。

集成到钉钉

核心概念

多助手架构

  • 一个工作空间可发布多个助手:每个助手可以有不同的 System Prompt,适用于不同场景(如产品助手、技术助手、运维助手等)。这种设计适用于将一个空间开放给不同角色用户,通过不同助手控制其可访问的知识范围
  • 一个 IM 机器人可绑定多个助手:同一个钉钉/飞书机器人可以关联多个 AI 助手,用户可按需切换。普通用户无需向 IM 平台管理员申请创建新机器人,即可借助公共机器人通道将自己的助手发布给他人使用。微信服务号同样支持绑定多个助手
  • 群级默认助手设置:可以为不同群聊设置不同的默认助手,群成员可通过命令 /切换到 <助手名称> 进行设置

助手选择优先级

当用户发送消息时,系统按以下优先级选择助手:

  1. 临时指定 > 群级设置 > 机器人级默认 > 智能引导

支持的平台

平台单聊群聊状态
钉钉已支持
飞书已支持
企业微信已支持
微信服务号-已支持

功能概述

单聊模式

在 IM 平台中与机器人私聊,直接获得 AI 助手的回复:

  • 发送消息后自动获得回复
  • 支持多轮对话,保持上下文
  • 可以切换不同的 AI 助手

群聊模式

在群组中 @机器人 进行对话:

  • @机器人 发送消息触发回复
  • 支持设置群默认 AI 助手
  • 群内成员共享对话上下文

配置步骤

1. 创建 IM 机器人配置

  1. 在工作区列表页面,左上角点击组织下拉会看到组织设置的齿轮(注意:仅管理员可以看到这个入口),点击进入组织设置页面
  2. 点击「IM 机器人」标签
  3. 点击「新建配置」按钮
  4. 选择平台类型(钉钉/飞书/企微)
  5. 填写配置信息
  6. 保存后获取 Webhook URL

IM bot 配置

2. 在 IM 平台配置机器人

钉钉配置

  1. 登录 钉钉开放平台
  2. 创建企业内部应用
  3. 在「机器人与消息推送」中启用机器人
  4. 配置消息接收地址为 Knodo 提供的 Webhook URL
  5. (可选)配置加签密钥以增强安全性
  6. 在 Knodo 填写以下信息以启用图片/文件收发功能:
    • App Key:应用凭证中的 App Key(即 robotCode,用于文件下载/上传 API)
    • App Secret:应用凭证中的 App Secret(用于获取 access_token)

钉钉机器人配置

飞书配置

  1. 登录 飞书开放平台
  2. 创建企业自建应用
  3. 添加「机器人」能力
  4. 在「事件订阅」中配置请求地址为 Knodo 提供的 Webhook URL
  5. 添加事件订阅:im.message.receive_v1(接收消息)
  6. 在 Knodo 填写以下信息:
    • App ID:应用凭证中的 App ID
    • App Secret:应用凭证中的 App Secret
    • Encrypt Key:事件订阅中的 Encrypt Key(用于消息解密)
    • Verification Token:事件订阅中的 Verification Token(用于验证请求来源)

飞书机器人配置

企业微信配置

  1. 登录 企业微信管理后台
  2. 进入「安全与管理-管理工具」→「智能机器人」
  3. 创建或选择一个智能机器人
  4. 切换为「API模式创建」(注意:只有超级管理员才有这个权限,分级管理员都不行)
  5. 在「回调配置」中设置:
    • URL:填写 Knodo 提供的 Webhook URL
    • Token:自定义一个 Token(需与 Knodo 配置一致)
    • EncodingAESKey:点击随机获取(需与 Knodo 配置一致)
  6. 在 Knodo 填写以下信息:
    • Token:与企业微信配置的 Token 一致
    • EncodingAESKey:与企业微信配置的 EncodingAESKey 一致
  7. 将智能机器人添加到群聊即可使用

创建企微智能机器人-API模式创建

创建企微智能机器人-回调配置

微信服务号配置

  1. 登录 微信公众平台
  2. 进入「设置与开发」→「基本配置」,获取以下信息:
    • AppID:开发者 ID(AppID)
    • AppSecret:开发者密码(AppSecret),点击「重置」获取
  3. 进入「设置与开发」→「基本配置」→「服务器配置」,点击「修改配置」:
    • URL(服务器地址):填写 Knodo 提供的 Webhook URL
    • Token(令牌):自定义一个 Token(需与 Knodo 配置一致)
    • EncodingAESKey(消息加解密密钥):点击随机生成(需与 Knodo 配置一致)
    • 消息加解密方式:选择「安全模式」(推荐)
  4. 点击「提交」,微信服务器会向 Webhook URL 发送验证请求,验证通过后配置生效
  5. 在 Knodo 填写以下信息:
    • AppID:从微信公众平台获取
    • AppSecret:从微信公众平台获取
    • Token:与微信服务器配置的 Token 一致
    • EncodingAESKey:与微信服务器配置的 EncodingAESKey 一致
    • 关注自动回复(可选):用户关注服务号时发送的欢迎消息内容

注意:微信服务号仅支持单聊模式(用户与公众号对话),不支持群聊。配置完成后,用户关注服务号即可与 AI 助手对话。

3. 绑定 AI 助手

创建 IM 机器人配置后,需要将 AI 助手绑定到该配置。

如果尚未发布 AI 助手,请先参考 发布 AI 助手 完成发布。

绑定步骤:

  1. 进入工作空间
  2. 点击左下角「设置」按钮,打开工作空间设置弹框
  3. 切换到「AI 助手」标签
  4. 编辑已发布的 AI 助手
  5. 在「IM 机器人绑定」中选择已创建的 IM 机器人配置

4. 设置机器人级默认助手(推荐)

为机器人设置默认助手,新群首次收到消息时将自动使用此助手:

  1. 进入组织设置 → IM 机器人
  2. 点击机器人配置的「设置默认助手」按钮(机器人图标)
  3. 从已绑定的助手中选择一个作为默认
  4. 保存设置

助手选择优先级:群级设置 > 机器人级默认 > 智能引导

使用指南

单聊使用

  1. 在 IM 平台中找到机器人
  2. 发送消息开始对话
  3. 机器人会自动回复

如果绑定了多个 AI 助手,首次对话时会提示选择:

您好!当前有以下 AI 助手可供选择: 1. 产品助手 - 解答产品相关问题 2. 技术助手 - 解答技术相关问题 请使用「用xxx助手 你的问题」来指定助手,或发送 /切换到 <助手名称> 设置默认助手。

群聊使用

  1. 将机器人添加到群组
  2. @机器人 发送消息
  3. 机器人会在群内回复

智能首次引导

当机器人首次在新群收到消息时,会根据绑定的助手数量智能处理:

助手数量行为
0 个提示管理员配置助手
1 个自动使用该助手并设为群默认
多个发送选择引导,提示用户选择

临时指定助手

在消息中可以临时指定使用的助手,不会改变群默认设置。支持空格、: 作为分隔符:

@机器人 用数据助手 帮我分析这个表格 @机器人 用第1个:这个问题怎么解决 @机器人 用代码助手:请帮我写一个函数

群聊命令

命令别名说明
/help/帮助显示所有可用命令和使用技巧
/助手列表/bots/list查看可用的 AI 助手列表
/切换到 <名称>/switch <名称>切换群默认 AI 助手

命令示例

# 查看帮助 /help /帮助 # 查看助手列表 /助手列表 /bots /list # 切换默认助手 /切换到 数据助手 /切换到 第1个 /switch 数据助手

未知命令处理:如果输入了不存在的命令(如 /unknown),系统会自动显示帮助信息,列出所有可用命令。

回复设置

在 IM 机器人配置中可以设置回复行为:

  • 回复时引用原消息:回复时引用用户发送的消息
  • 回复时 @发送者:回复时 @消息发送者

执行策略

执行策略控制当 IM 用户发送消息时,系统以哪个用户的身份执行操作(如访问知识库、调用工具等)。

⚠️ 重要:IM 用户需要先完成账号绑定(通过钉钉/飞书/企微 SSO 登录),系统才能识别其身份。

策略选项

策略说明适用场景
找不到用户时拒绝请求(默认)如果 IM 用户未绑定系统账号,则拒绝其请求内部使用,要求员工先完成账号绑定
找不到用户时使用默认用户优先匹配系统用户,找不到时使用指定的默认用户混合场景,内部员工使用自己身份,外部人员使用公共身份
强制使用指定用户所有消息都以指定用户身份执行,不尝试匹配发送者跨组织公开助手,如对外客服机器人

配置方法

  1. 进入组织设置 → IM 机器人
  2. 创建或编辑机器人配置
  3. 在「执行策略」中选择策略
  4. 如果选择后两种策略,需选择一个「默认/指定执行用户」

微信服务号专属功能

微信服务号除了支持 AI 对话外,还提供以下专属能力:

AI 对话

用户在微信中关注服务号后,直接发送文字消息即可与 AI 助手对话。系统通过微信客服消息 API 异步回复,回复内容限制为 2048 字节(超出部分自动截断)。

注意:微信服务号仅支持文字消息,不支持图片、文件等其他消息类型。Markdown 格式会自动转换为纯文本。

关注自动回复

管理员可以在 IM 机器人配置中设置「关注自动回复」内容。用户首次关注服务号时,系统会自动发送此欢迎消息。

配置方法:创建或编辑微信服务号配置时,在「关注自动回复」文本框中输入欢迎消息内容。

模板消息推送

除了被动回复用户消息,还可以通过 Agent Skill 主动向用户推送模板消息(如任务完成通知、审批提醒等)。

使用方式:Agent 通过调用 wechat-mp-notification Skill,传入目标用户 ID、模板 ID 和消息数据,即可向已绑定微信 OpenID 的用户发送模板消息。

前提条件:用户需要先通过微信 SSO 登录 Knodo 完成账号绑定,系统才能获取其微信 OpenID 以发送模板消息。模板需要在微信公众平台中预先申请审核通过。

安全配置

加签验证(钉钉)

为增强安全性,建议配置加签密钥:

  1. 在钉钉开放平台获取加签密钥
  2. 在 Knodo 的 IM 机器人配置中填写密钥
  3. 系统会自动验证消息签名

敏感信息保护

  • 所有密钥信息使用 AES-256-GCM 加密存储
  • Webhook URL 包含随机 Token,防止未授权访问
  • 支持随时重新生成 Webhook URL

图片和文件支持(钉钉)

钉钉机器人支持接收和发送图片、文件消息,前提是已配置 App Key 和 App Secret。

接收图片/文件

  • 用户发送图片或文件后,系统自动下载并通过 Agent 进行分析
  • 单聊支持所有文件类型(图片、文件、语音、视频)
  • 群聊仅支持图片,不支持文件/视频
  • 图片大小限制:10MB;文件大小限制:50MB

发送图片(需配置 App Key/App Secret):

  • 文本/Markdown 回复继续通过 Webhook 发送(无需额外配置)
  • 图片消息通过钉钉 OpenAPI 发送(需要 access_token)
  • 图片上传失败时自动回退为文本消息

配置要求

  • 需要在钉钉机器人配置中填写 App Key 和 App Secret
  • App Key 即为机器人的 robotCode,用于文件下载和发送 API
  • App Secret 用于获取 access_token(自动缓存,有效期 2 小时)

常见问题

Q:应该创建多少个机器人?

A:IM 机器人本质上是一个通信通道,一个机器人可以绑定多个 AI 助手,不同群可以绑定不同的默认助手。建议按以下原则规划:

场景建议说明
按角色创建产品机器人、技术机器人、运维机器人等不同角色对应不同的知识空间和助手
按部门创建销售机器人、客服机器人等部门内部共享,便于管理权限
公共服务客服机器人(对外)使用「强制使用指定用户」策略,无需用户绑定

最佳实践:管理员一开始按角色创建好机器人,普通用户后续可以直接使用,无需每个人自己去 IM 平台申请创建新机器人。

Q:机器人没有回复消息怎么办?

A:请检查以下几点:

  1. Webhook URL 是否正确配置
  2. IM 机器人配置是否已启用
  3. 是否已绑定 AI 助手
  4. 加签密钥是否正确(如果配置了)

Q:如何更换绑定的 AI 助手?

A:进入工作空间设置 → AI 助手 → 编辑助手 → 修改 IM 机器人绑定。

Q:群聊中如何切换 AI 助手?

A:有两种方式:

  1. 临时指定:发送 @机器人 用xxx助手 你的问题,仅本次生效
  2. 切换默认:发送 /切换到 xxx 命令,修改群默认助手

Q:新群没有设置默认助手怎么办?

A:系统会智能处理:

  • 如果机器人只绑定了 1 个助手,会自动使用
  • 如果绑定了多个助手,会发送引导消息让用户选择
  • 建议管理员设置「机器人级默认助手」,新群会自动使用该设置

Q:对话记录会保存吗?

A:是的,所有对话记录都会保存,可以在 Knodo 平台中查看历史对话。

Q:为什么收到「IM 账号尚未关联系统用户」的提示?

A:这是因为:

  1. 您的 IM 账号(钉钉/飞书/企微)尚未与 Knodo 系统账号绑定
  2. 需要通过对应的 SSO 登录方式(钉钉扫码/飞书/企微)登录一次 Knodo 平台完成绑定
  3. 完成绑定后,再次发送消息即可正常使用

如果不想强制要求用户绑定,可以让管理员将机器人的「执行策略」修改为「找不到用户时使用默认用户」或「强制使用指定用户」。

Q:微信服务号配置后验证失败怎么办?

A:请检查以下几点:

  1. 微信公众平台服务器配置的 URL 是否与 Knodo 提供的 Webhook URL 完全一致
  2. Token 和 EncodingAESKey 是否与 Knodo 配置中填写的完全一致
  3. 服务号是否已通过微信认证(未认证的服务号部分接口权限受限)
  4. Knodo 服务是否可被微信服务器公网访问

Q:微信服务号可以发送图片或文件吗?

A:目前微信服务号仅支持文字消息的接收和回复。如需推送结构化通知(如任务完成提醒),可以使用模板消息功能。

相关文档

IM 机器人集成 | Knodo 文档