跳到主要内容

使用 Dify 接收通知

机器人支持通过 Dify 方式将接收到的用户消息或事件回调至 Dify 服务,便于业务方快速集成大模型能力,实现智能回复、AI 助手等功能。

认证方式

集成 Dify 时采用 API Key 认证方式,需要在机器人配置中填写 Dify 应用的 API Key。

详细参考:Dify API 文档

集成类型

dify_chat

聊天助手模式,用于构建多轮对话机器人。

API 端点https://api.dify.ai/v1/chat-messages

主要参数

  • query:用户输入的文本消息
  • response_mode:响应模式(streaming/blocking)
  • user:发送消息的用户标识
  • conversation_id:会话 ID,用于维持对话上下文
  • inputs:自定义变量,包含机器人和消息上下文信息

dify_completion

文本生成模式,用于生成式内容应用场景。

API 端点https://api.dify.ai/v1/completion-messages

主要参数

  • inputs.query:用户输入的文本消息
  • response_mode:响应模式(streaming/blocking)
  • user:发送消息的用户标识
  • inputs:自定义变量,包含机器人和消息上下文信息

dify_chatflow

Chatflow 模式,用于流程化对话构建。

API 端点https://api.dify.ai/v1/chat-messages

主要参数

  • query:用户输入的文本消息
  • response_mode:响应模式(streaming/blocking)
  • user:发送消息的用户标识
  • inputs:自定义变量,包含机器人和消息上下文信息

回调参数说明

机器人回调时传递的数据结构和字段说明,请参考:机器人回调数据

参数传递方式

在 Dify 集成中,所有回调参数都通过 inputs 对象传递:

示例

  • 机器人名称:inputs.bot_name
  • 来源用户ID:inputs.data_fromUserId
  • 消息内容:inputs.data_content

会话管理

  • 会话创建:用户首次对话时创建新会话
  • 会话延续:后续对话基于上下文进行,具备聊天记忆能力
  • 会话有效期:24 小时,超期后自动开启新会话

回调请求示例

dify_chat 和 dify_chatflow

HTTP
POST https://api.dify.ai/v1/chat-messages
Authorization: Bearer {api_key}
Content-Type: application/json

{
"inputs": {
"bot_name": "智能客服机器人",
"data_fromUserId": "user123",
"data_channelType": "PERSON"
},
"query": "北京今天的天气怎么样",
"response_mode": "streaming",
"conversation_id": "",
"user": "abc-123"
}

dify_completion

HTTP
POST https://api.dify.ai/v1/completion-messages
Authorization: Bearer {api_key}
Content-Type: application/json

{
"inputs": {
"query": "北京今天的天气怎么样",
"bot_name": "智能客服机器人",
"data_fromUserId": "user123",
"data_channelType": "PERSON"
},
"response_mode": "streaming",
"user": "abc-123"
}

注意事项

  • 认证:请求头中设置 Authorization: Bearer {api_key}
  • 参数配置
    • 所有集成类型都需要配置 Dify 应用的 API Key
    • 确保 API Key 与应用类型匹配
  • 会话管理:系统自动存储会话 ID,时效 24 小时
  • 消息类型:仅支持文本消息(RC:TxtMsg