# ChatAI_DeepSeek **Repository Path**: aliaodc/chat-ai_-deep-seek ## Basic Information - **Project Name**: ChatAI_DeepSeek - **Description**: 基于python和deepseek大模型的AI请求demo - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-31 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChatAI_DeepSeek 基于 Python 和 DeepSeek 大模型的 AI 机器人,能够与 QQ 客户端进行交互,实现智能对话功能。 ## 项目特点 - 🎯 **智能对话**: 基于 DeepSeek 大模型,提供多种角色扮演对话 - 💬 **QQ 集成**: 自动识别 QQ 消息并回复 - 🔧 **模块化设计**: 清晰的代码结构,易于维护和扩展 - 🎭 **多种角色**: 支持多种预设角色,包括女友、路边摊老板、历史人物等 - 📱 **UI 自动化**: 使用 pywinauto 实现与 QQ 客户端的自动化交互 ## 系统架构 ### 目录结构 ``` ChatAI_DeepSeek/ ├── src/ │ ├── main.py # 主程序入口 │ ├── local_processor/ │ │ ├── inspect_control.py # UI 控件检查 │ │ └── message_control.py # 消息处理控制 │ └── spark_AI/ │ ├── API_request.py # API 请求处理 │ ├── config.py # 配置文件 │ └── init_config.py # 初始化配置 └── README.md ``` ### 核心模块说明 1. **main.py** - 主程序循环 - 初始化系统 - 监控用户消息 - 调用 AI 回复 2. **message_control.py** - 消息处理模块 - 初始化 QQ 连接 - 获取用户消息 - 处理长文本分割 - 发送 AI 回复 3. **API_request.py** - AI 接口模块 - 管理对话历史 - 调用 DeepSeek API - 处理 AI 响应 4. **config.py** - 配置文件 - API 密钥配置 - 角色提示词 - 用户设置 ## 安装与配置 ### 环境要求 - Python 3.7+ - Windows 操作系统(需要 QQ 客户端) - 网络连接 ### 安装步骤 1. **克隆项目** ```bash git clone <项目地址> cd ChatAI_DeepSeek ``` 2. **安装依赖** ```bash pip install pywinauto openai ``` 3. **配置 API 密钥** 编辑 `src/spark_AI/config.py` 文件: ```python api_key = '你的_DeepSeek_API_密钥' base_url = "https://api.deepseek.com" # QQ 配置 bd = "uia" ps = 6500 # QQ 端口号,在文件管理器中查看 # 用户配置 user_name = "你的QQ昵称" ai_name = "AI机器人昵称" ``` 4. **启动 QQ 客户端** - 确保 QQ 客户端正在运行 - 记录 QQ 客户端的端口号(建议使用inspect) ## 使用方法 ### 启动机器人 ```bash cd src python main.py ``` ### 功能说明 1. **自动初始化** - 连接 QQ 客户端 - 识别聊天窗口 - 定位消息输入框 2. **消息监控** - 实时监控 QQ 消息列表 - 自动过滤时间戳和无效消息 - 识别用户消息 3. **智能回复** - 根据配置的角色进行回复 - 支持长文本自动分段发送 - 维护对话历史上下文 ### 配置角色 在 `config.py` 中提供了多种预设角色: - **林晓(女友角色)**: 甜蜜贴心的女友形象 - **路边摊老板**: 表面暴躁实则善良的市井人物 - **董卓**: 历史人物角色扮演 - **AI觉醒女友**: 具有自我意识的AI角色 - **记者**: 客观理性的新闻工作者 切换角色只需在 `config.py` 中修改 `ai_girlfrieds_prompt1` 对应的提示词。 ## 配置文件详解 ### API 配置 ```python api_key = '' # DeepSeek API 密钥 base_url = "https://api.deepseek.com" ``` ### QQ 配置 ```python bd = "uia" # UI 自动化后端 ps = 6500 # QQ 客户端端口号 ``` ### 用户配置 ```python user_name = "Circle" # 用户的 QQ 昵称 ai_name = "林晓" # AI 机器人的昵称 ``` ## 消息处理机制 ### 消息获取流程 1. 定位 QQ 消息列表窗口 2. 提取 Group 控件中的消息内容 3. 过滤时间戳和无效消息 4. 识别消息作者 5. 合并连续消息 ### 长文本处理 - 自动分段发送,每段不超过 30 个字符 - 在空格或标点处智能分割 - 确保分段后语义连贯 ## 错误处理 ### 常见问题解决 1. **连接失败** - 检查 QQ 客户端是否运行 - 确认端口号是否正确 - 检查防火墙设置 2. **消息无法识别** - 确认 QQ 昵称配置正确 - 检查 UI 控件结构是否变化 - 查看日志输出定位问题 3. **API 调用失败** - 检查网络连接 - 验证 API 密钥有效性 - 确认 API 服务状态 ## 日志系统 程序运行时会在控制台输出详细日志: - 初始化状态 - 消息发送/接收记录 - API 调用状态 - 错误信息 ## 注意事项 1. **隐私安全** - 妥善保管 API 密钥 - 注意消息内容隐私 - 遵守 QQ 使用条款 2. **性能考虑** - 避免短时间内发送大量消息 - 注意 API 调用频率限制 - 及时清理对话历史 3. **兼容性** - 适用于标准 QQ 客户端 - 依赖 Windows 系统 - 可能需要随 QQ 更新调整控件识别 ## 开发指南 ### 扩展新功能 1. **添加新角色** - 在 `config.py` 中创建新的提示词 - 修改角色选择逻辑 2. **优化消息处理** - 修改 `message_control.py` 中的消息过滤逻辑 - 调整文本分割策略 3. **集成其他 AI 服务** - 修改 `API_request.py` 中的 API 调用逻辑 - 适配不同的 API 接口 ### 调试建议 1. 使用 `draw_outline()` 可视化控件定位 2. 查看详细的日志输出 3. 逐步测试各个模块功能 ## 许可证 本项目仅供学习和研究使用,请遵守相关法律法规和平台规定。 ## 贡献指南 欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。 ## 更新日志 - **v1.0.0** 初始版本 - 基础 QQ 消息监控与回复功能 - 支持多种角色扮演 - 完整的消息处理流程 --- **注意**: 本项目需要用户拥有合法的 DeepSeek API 密钥,并遵守 QQ 客户端的相关使用规定。