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

166 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```