# Cursor自动聊天工具使用说明 ## 功能概述 这个工具可以自动查找Windows系统中运行的Cursor程序,定位到chat窗口,并自动发送消息。 ### 主要功能 1. ✅ 查找Windows操作系统中运行的Cursor程序 2. ✅ 找到当前运行Cursor实例,并定位到当前的chat窗口 3. ✅ 模拟鼠标点击到chat窗口 4. ✅ 模拟键盘输入"请检查并执行所有待处理任务。"到chat窗口 5. ✅ 模拟鼠标点击chat窗口的"提交"按钮 6. ✅ 以服务方式持续运行,间隔300秒进行一次上述操作 ## 安装依赖 首先需要安装必要的Python依赖包: ```bash pip install pywin32 pyautogui pywinauto psutil ``` 或者使用项目的requirements.txt: ```bash pip install -r requirements.txt ``` ## 使用方法 ### 方法1: 使用批处理脚本(推荐) #### 前台运行(可以看到日志输出) 双击运行:`scripts/start_cursor_auto_chat.bat` #### 后台运行(静默运行) 双击运行:`scripts/start_cursor_auto_chat_background.bat` #### 停止工具 双击运行:`scripts/stop_cursor_auto_chat.bat` ### 方法2: 命令行运行 #### 单次执行(只执行一次,不循环) ```bash python scripts/cursor_auto_chat.py --once ``` #### 守护进程模式(默认,持续运行) ```bash python scripts/cursor_auto_chat.py --daemon ``` #### 自定义执行间隔(秒) ```bash python scripts/cursor_auto_chat.py --interval 300 ``` #### 自定义消息内容 ```bash python scripts/cursor_auto_chat.py --message "你的自定义消息" ``` #### 组合使用 ```bash python scripts/cursor_auto_chat.py --daemon --interval 600 --message "请执行待处理任务" ``` ## 参数说明 | 参数 | 说明 | 默认值 | |------|------|--------| | `--once` | 只执行一次,不持续运行 | - | | `--daemon` | 作为守护进程运行(持续运行) | 默认模式 | | `--interval` | 执行间隔(秒) | 300(5分钟) | | `--message` | 要发送的消息内容 | "请检查并执行所有待处理任务。" | ## 日志文件 工具运行时会生成日志文件: - 位置:`logs/cursor_auto_chat.log` - 格式:包含时间戳、日志级别和详细信息 ## 工作原理 1. **查找Cursor进程**:使用`psutil`或`win32api`查找所有运行的Cursor进程 2. **定位窗口**:通过窗口标题和类名查找Cursor主窗口 3. **激活窗口**:将Cursor窗口置于前台 4. **定位Chat输入框**: - 使用快捷键(Ctrl+L)打开chat窗口 - 尝试点击可能的输入区域 - 使用Tab键导航到输入框 5. **输入消息**:模拟键盘输入,模拟真实打字速度 6. **提交消息**:按Enter键提交消息 ## 注意事项 ### 安全设置 - **紧急停止**:将鼠标快速移动到屏幕左上角可以触发紧急停止(pyautogui的FAILSAFE功能) - **操作间隔**:每个操作之间有0.5秒的暂停,避免操作过快 ### 使用限制 1. **Cursor必须正在运行**:工具需要Cursor程序处于运行状态 2. **窗口可见**:Cursor窗口不能被完全遮挡 3. **管理员权限**:某些情况下可能需要管理员权限来访问其他进程的窗口 4. **屏幕分辨率**:如果使用固定坐标定位,可能在不同分辨率下需要调整 ### 故障排除 #### 问题1: 找不到Cursor进程 - 确保Cursor正在运行 - 检查Cursor进程名称是否正确(可能因版本而异) #### 问题2: 无法定位chat窗口 - 尝试手动打开Cursor的chat窗口(Ctrl+L) - 检查Cursor窗口是否被其他窗口遮挡 - 可能需要调整输入框定位的坐标 #### 问题3: 消息未发送成功 - 检查输入框是否已激活(应该有光标闪烁) - 尝试手动点击chat输入框后再运行工具 - 检查Enter键是否被其他程序拦截 #### 问题4: 权限错误 - 尝试以管理员身份运行 - 检查Windows用户账户控制(UAC)设置 ## 开发说明 ### 代码结构 - `CursorAutoChat`类:主要的工具类 - `find_cursor_processes()`: 查找Cursor进程 - `find_cursor_window()`: 查找Cursor窗口 - `activate_cursor_window()`: 激活窗口 - `find_chat_input_area()`: 定位chat输入区域 - `send_message()`: 发送消息 - `click_submit_button()`: 点击提交按钮 - `execute_once()`: 执行一次完整流程 - `run_daemon()`: 守护进程模式运行 ### 扩展功能 如果需要扩展功能,可以修改以下部分: 1. **消息内容**:修改`--message`参数或默认消息 2. **执行间隔**:修改`--interval`参数 3. **定位策略**:在`find_chat_input_area()`方法中添加更多定位策略 4. **快捷键**:根据Cursor版本调整快捷键(Ctrl+L, Ctrl+K等) ## 版本历史 - **v1.0.0** (2025-11-29) - 初始版本 - 实现基本的自动聊天功能 - 支持单次执行和守护进程模式 ## 许可证 本项目遵循项目主许可证。