这是一个基于 EasyOCR 和 OpenAI API 的智能聊天机器人,专为模拟真人对话而设计。它可以自动识别屏幕上的对话内容,通过 AI 生成回复,并以极其人性化的方式输入发送。系统支持主动发起对话、智能分段、真实打字模拟等功能,让机器人看起来就像一个真实的聊天对象。
- 自动截取指定区域的对话内容
- 支持中英文混合识别
- 自动去重,避免重复回复
- 基于 OpenAI API 生成自然对话
- 支持自定义系统提示词
- 智能判断 null 回复并忽略
- 逐个字符输入,完全模拟真人打字
- 打字速度根据字符数动态调整
- 标点符号后自动停顿
- 每10个字符显示进度
- 支持使用 "||" 作为分段符
- 自动检测分隔符并分段发送
- 段落间智能延迟,模拟思考过程
- 每段不超过10字,符合网络聊天习惯
- 基于对话历史自然发起话题
- 极低频控制,避免打扰
- 每日主动次数限制
- 用户不活跃时才触发
- 支持手动强制发送 (按 A 键)
- 热键暂停/继续
- 实时状态监控
- 详细的日志记录
- 优雅的错误处理
非常建议在提示词文件中包含以下内容:
模拟真实对话,不使用markdown格式。
模拟真实线上聊天,用"||"将回复隔开。每段一般不超过10字。网络聊天,尽量少用标点。
不要出现换行符。
如果用户的内容是完全无法理解的奇异内容(考虑识图错误)或你完全无法回复,输出"null"
这样设置可以确保:
- 回复风格更像真人聊天
- 自动分段发送,每段简短自然
- 避免使用 Markdown 格式
- 遇到无法识别的内容自动返回 null
- 双击
start.bat - 按提示完成配置向导:
- 输入 API 密钥和地址
- 选择 OCR 识别语言
- 用鼠标框选消息区域
- 设置提示词(可直接指定 prompt.txt)
- 配置对话节奏和打字速度
- 设置主动消息频率
pip install easyocr pyautogui pyperclip keyboard openai pillow numpy schedule你的项目目录/
├── start.bat # 启动脚本
├── PaperAiChat.py # 主程序
├── prompt.txt # 提示词文件(推荐)
├── logs/ # 日志目录(自动创建)
└── config.json # 配置文件(首次运行生成)
| 热键 | 功能 |
|---|---|
Pause/F8 |
切换暂停/继续 |
Ctrl+P |
强制暂停 |
Ctrl+R |
强制继续 |
S |
显示运行状态 |
L |
显示日志路径 |
A |
强制发送主动消息 |
Q |
退出程序 |
H |
显示帮助 |
{
"api_key": "sk-xxx",
"api_url": "https://api.openai.com/v1",
"model_name": "gpt-3.5-turbo",
"ocr_langs": ["ch_sim", "en"]
}"message_region": {
"x1": 500, "y1": 300, // 左上角坐标
"x2": 1200, "y2": 400, // 右下角坐标
"width": 700, "height": 100 // 自动计算
}{
"human_pace": "平衡", // 快速/平衡/慢速
"min_think_time": 1.0, // 最小思考时间
"max_think_time": 3.0, // 最大思考时间
"typing_speed_min": 3, // 最慢打字速度
"typing_speed_max": 8, // 最快打字速度
"segment_delimiter": "||" // 分段符
}{
"active_message_frequency": 1, // 每小时主动次数
"max_daily_active_messages": 8, // 每日上限
"min_user_inactive_time": 60 // 用户不活跃阈值(秒)
}程序运行时按 S 键可查看详细状态:
============================================================
运行状态
============================================================
运行时间: 00:15:23
系统状态: 运行中
对话节奏: 平衡
平均响应时间: 2.34秒
主动消息统计:
今日主动: 2/8
总主动次数: 2
上次主动: 5分钟前
上次用户: 1分钟前
会话统计:
消息处理: 15
错误计数: 0
Null回复: 1
历史记录: 14
打字统计:
总输入字符: 856
总输入时间: 142.3秒
平均速度: 6.0字符/秒
所有运行记录自动保存到 logs/ 目录:
- 文件名格式:
session_YYYYMMDD_HHMMSS.log - 包含完整的对话历史、错误信息和性能统计
- 结构化日志,便于分析和调试
- Python 版本:推荐使用 Python 3.8-3.11
- 首次运行:需要下载 OCR 模型,请保持网络畅通
- API 密钥:请妥善保管,不要分享
- 消息区域:确保选择的区域只包含对话内容
- 主动消息:默认频率较低,可通过配置调整
- 分段符:建议提示词中包含 "||" 分段指令
- 检查网络连接
- 手动下载模型文件到
C:\Users\用户名\.EasyOCR\model\
- 按
Pause/F8检查是否暂停 - 查看日志文件定位错误
- 按
Q强制退出
- 确认配置中
active_message_frequency> 0 - 检查今日主动次数是否已达上限
- 确认用户是否已超过不活跃阈值
- 真实感:所有延迟和速度都基于真实数据模拟
- 非侵入性:主动消息极低频,绝不打扰
- 可配置性:几乎所有参数都可调整
- 可靠性:完善的错误处理和日志系统
- 透明度:实时状态显示,运行过程全可见
仅供个人学习和研究使用。请遵守相关API服务条款和法律法规。
开始使用吧!让 AI 成为你最真实的聊天伙伴。