# Cursor自动化服务使用说明 本自动化服务实现了Cursor注册流程的完全自动化,包括API状态监控、邮箱自动获取和账号上传功能。 ## 功能特点 1. **API状态监控** - 实时监控注册API状态,自动开启/关闭注册进程 - 支持配置检查间隔和自定义服务器标识(hostname) 2. **邮箱账号自动管理** - 监控本地邮箱池,当可用邮箱不足时自动从API获取 - 支持配置获取阈值和批次数量 3. **账号自动上传** - 定期上传注册成功的账号到API - 支持配置上传间隔和代理设置 - 通过extracted字段跟踪已上传账号 4. **进程管理** - 智能管理注册子进程的启动和停止 - 在API关闭注册时自动停止进程 5. **完善的日志记录** - 详细的运行日志,支持日志轮转和压缩 - 关键操作和错误的可追溯性 ## 前置条件 1. 已配置好MySQL数据库 2. Redis服务(可选,但推荐) 3. 已在config.yaml中配置好hostname参数 4. 已安装所需依赖:`pip install -r requirements.txt` ## 配置说明 在`config.yaml`中添加以下配置: ```yaml # 服务器配置 server_config: hostname: "sg424" # 服务器标识,用于API调用 # 代理配置 proxy: # ... 其他代理配置 ... api_proxy: "http://your-proxy-server:port" # API专用代理(可选) # 自动服务配置 auto_service: check_interval: 60 # 检查API状态的间隔(秒) upload_interval: 300 # 上传账号间隔(秒) email_check_threshold: 30 # 当可用邮箱少于这个数时获取新邮箱 ``` ## 使用方法 1. **初始化数据库**(首次使用) ```bash python init_database.py ``` 2. **升级数据库**(现有数据库升级) ```bash python upgrade_database.py ``` > 注意:如果您从之前版本升级,需要运行此脚本添加新的`extracted`字段 3. **启动自动化服务** ```bash python auto_cursor_service.py ``` 4. **查看运行状态** - 服务会在控制台输出基本运行信息 - 详细日志保存在`auto_cursor_service.log`文件中 5. **停止服务** - 按Ctrl+C安全停止服务 - 服务会自动停止注册进程并清理资源 ## 工作流程 1. 服务启动,初始化数据库连接 2. 定期检查API注册状态(`/regstates`) 3. 如果注册开启: - 检查本地邮箱池,如果数量不足,从API获取新邮箱 - 启动注册进程(main.py) 4. 如果注册关闭: - 停止注册进程 5. 定期上传注册成功的账号,并标记为已上传(extracted=1) 6. 循环以上步骤,直到服务被手动停止 ## 常见问题 1. **API连接问题** - 检查网络连接和代理设置 - 确认API URL和参数正确 2. **邮箱获取失败** - 检查API返回的错误信息 - 可能是服务端暂无可用邮箱 3. **子进程管理问题** - Windows平台可能需要管理员权限来强制终止进程 - 检查main.py是否能正常独立运行 4. **内存占用过高** - 调整日志设置,减少日志详细程度 - 检查是否有内存泄漏 5. **数据库结构问题** - 如遇到"Unknown column 'extracted' in 'where clause'"错误 - 运行`python upgrade_database.py`更新数据库结构 ## 进阶使用 ### 设置为系统服务(Linux) 1. 创建服务文件`/etc/systemd/system/cursor-service.service`: ``` [Unit] Description=Cursor Auto Registration Service After=network.target mysql.service redis.service [Service] Type=simple User=your_user WorkingDirectory=/path/to/cursor/app ExecStart=/usr/bin/python3 /path/to/cursor/app/auto_cursor_service.py Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ``` 2. 重新加载systemd: ```bash sudo systemctl daemon-reload ``` 3. 启动服务: ```bash sudo systemctl start cursor-service ``` 4. 设置开机自启: ```bash sudo systemctl enable cursor-service ``` ### 使用screen或tmux(简易方法) ```bash # 使用screen screen -S cursor python auto_cursor_service.py # 按Ctrl+A然后按D分离screen # 使用tmux tmux new -s cursor python auto_cursor_service.py # 按Ctrl+B然后按D分离tmux ```