使用 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
)