yj
2025-09-03 f28ac0166536a2a4b68cac685a41ea667f60f7e9
README.md
@@ -8,7 +8,9 @@
- 过滤和验证消息(仅处理群聊消息,忽略自己发送的消息)
- 使用Redis队列管理用户消息,防止并发处理
- 自动获取和保存联系人信息
- 调用DifyAI接口获取AI回答
- **支持DifyAI流式和阻塞两种模式**
  - 流式模式:实时接收AI回复,响应更快
  - 阻塞模式:等待完整回复后返回,更稳定
- 将AI回答发送回群聊
- 完整的日志记录和错误处理
@@ -143,21 +145,45 @@
### conversations(对话记录表)
- `id`: 主键
- `user_conversation_key`: 用户对话唯一键
- `from_user`: 发送用户微信ID
- `conversation_id`: Dify对话ID
- `user_question`: 用户提问
- `ai_answer`: AI回答
- `group`: 群组ID
- `hour`: 小时标识(YYYYMMDD_HH)
- `content`: 对话内容(JSON格式)
- `is_processed`: 是否已处理
- `is_sent`: 是否已发送
- 唯一性约束: (from_user, conversation_id, group, hour)
## 配置说明
主要配置项在 `config.py` 中:
主要配置项在 `config.json` 中:
- `max_retry_count`: 最大重试次数(默认3次)
- `retry_delay`: 重试延迟(默认5秒)
- `queue_timeout`: 队列超时时间(默认300秒)
### DifyAI配置
- `dify.streaming_enabled`: 是否启用流式模式(默认:false)
- `dify.streaming_timeout`: 流式请求超时时间,单位秒(默认:120)
- `dify.base_url`: DifyAI API地址
- `dify.api_key`: DifyAI API密钥
### 消息处理配置
- `message_processing.max_retry_count`: 最大重试次数(默认3次)
- `message_processing.retry_delay`: 重试延迟(默认5秒)
- `message_processing.queue_timeout`: 队列超时时间(默认300秒)
### 流式模式说明
**启用流式模式的优势:**
- 实时响应:边生成边返回,用户体验更好
- 更快感知:无需等待完整回复即可开始处理
- 连接保活:自动处理ping事件,保持连接稳定
**配置示例:**
```json
{
  "dify": {
    "streaming_enabled": true,
    "streaming_timeout": 180
  }
}
```
## 日志管理