Files
auto_cursor/AUTO_SERVICE_README.md
2025-04-01 16:25:08 +08:00

4.2 KiB
Raw Blame History

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中添加以下配置:

# 服务器配置
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. 初始化数据库(首次使用)

    python init_database.py
    
  2. 升级数据库(现有数据库升级)

    python upgrade_database.py
    

    注意:如果您从之前版本升级,需要运行此脚本添加新的extracted字段

  3. 启动自动化服务

    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

    sudo systemctl daemon-reload
    
  3. 启动服务:

    sudo systemctl start cursor-service
    
  4. 设置开机自启:

    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