4.2 KiB
4.2 KiB
Cursor自动化服务使用说明
本自动化服务实现了Cursor注册流程的完全自动化,包括API状态监控、邮箱自动获取和账号上传功能。
功能特点
-
API状态监控
- 实时监控注册API状态,自动开启/关闭注册进程
- 支持配置检查间隔和自定义服务器标识(hostname)
-
邮箱账号自动管理
- 监控本地邮箱池,当可用邮箱不足时自动从API获取
- 支持配置获取阈值和批次数量
-
账号自动上传
- 定期上传注册成功的账号到API
- 支持配置上传间隔和代理设置
- 通过extracted字段跟踪已上传账号
-
进程管理
- 智能管理注册子进程的启动和停止
- 在API关闭注册时自动停止进程
-
完善的日志记录
- 详细的运行日志,支持日志轮转和压缩
- 关键操作和错误的可追溯性
前置条件
- 已配置好MySQL数据库
- Redis服务(可选,但推荐)
- 已在config.yaml中配置好hostname参数
- 已安装所需依赖:
pip install -r requirements.txt
配置说明
在config.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 # 当可用邮箱少于这个数时获取新邮箱
使用方法
-
初始化数据库(首次使用)
python init_database.py -
升级数据库(现有数据库升级)
python upgrade_database.py注意:如果您从之前版本升级,需要运行此脚本添加新的
extracted字段 -
启动自动化服务
python auto_cursor_service.py -
查看运行状态
- 服务会在控制台输出基本运行信息
- 详细日志保存在
auto_cursor_service.log文件中
-
停止服务
- 按Ctrl+C安全停止服务
- 服务会自动停止注册进程并清理资源
工作流程
- 服务启动,初始化数据库连接
- 定期检查API注册状态(
/regstates) - 如果注册开启:
- 检查本地邮箱池,如果数量不足,从API获取新邮箱
- 启动注册进程(main.py)
- 如果注册关闭:
- 停止注册进程
- 定期上传注册成功的账号,并标记为已上传(extracted=1)
- 循环以上步骤,直到服务被手动停止
常见问题
-
API连接问题
- 检查网络连接和代理设置
- 确认API URL和参数正确
-
邮箱获取失败
- 检查API返回的错误信息
- 可能是服务端暂无可用邮箱
-
子进程管理问题
- Windows平台可能需要管理员权限来强制终止进程
- 检查main.py是否能正常独立运行
-
内存占用过高
- 调整日志设置,减少日志详细程度
- 检查是否有内存泄漏
-
数据库结构问题
- 如遇到"Unknown column 'extracted' in 'where clause'"错误
- 运行
python upgrade_database.py更新数据库结构
进阶使用
设置为系统服务(Linux)
-
创建服务文件
/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 -
重新加载systemd:
sudo systemctl daemon-reload -
启动服务:
sudo systemctl start cursor-service -
设置开机自启:
sudo systemctl enable cursor-service
使用screen或tmux(简易方法)
# 使用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