备份: 完整开发状态(含反混淆脚本和临时文件)
This commit is contained in:
@@ -1,131 +1,111 @@
|
||||
# CursorPro 后台管理系统
|
||||
# 蜂鸟CursorPro 后端
|
||||
|
||||
基于 FastAPI 的 Cursor 账号管理和激活码系统,兼容原 CursorPro 插件 API。
|
||||
## 域名配置
|
||||
|
||||
## 功能特性
|
||||
| 类型 | 域名 | 说明 |
|
||||
|------|------|------|
|
||||
| 主域名 | `api.aicode.edu.pl` | 主后台服务器 |
|
||||
| 备用域名1 | `hb.aicode.edu.pl` | 反代到主域名 |
|
||||
| 备用域名2 | `cursor.aicode.edu.pl` | 反代到主域名 |
|
||||
| 备用域名3 | `pro.aicode.edu.pl` | 反代到主域名 |
|
||||
|
||||
- 账号管理:导入、编辑、删除 Cursor 账号
|
||||
- 激活码系统:生成、管理激活码,支持换号次数限制
|
||||
- Web 管理后台:Vue.js + Tailwind CSS 构建的现代化界面
|
||||
- 客户端 API:完全兼容原 CursorPro 插件
|
||||
## 登录信息
|
||||
|
||||
## 快速开始
|
||||
```
|
||||
管理后台: https://api.aicode.edu.pl/
|
||||
用户名: admin
|
||||
密码: Hb@2024Pro!
|
||||
```
|
||||
|
||||
### 方式一:本地运行
|
||||
## 外部API
|
||||
|
||||
1. **安装 MySQL 数据库**
|
||||
```
|
||||
Token: hb-ext-9kX2mP5nQ8rT1vY4zA7c
|
||||
Header: X-API-Token
|
||||
|
||||
2. **配置环境**
|
||||
```bash
|
||||
# 复制配置文件
|
||||
cp .env.example .env
|
||||
批量上传: POST /admin/external/accounts/batch
|
||||
账号统计: GET /admin/external/accounts/stats
|
||||
```
|
||||
|
||||
# 编辑 .env 填入数据库信息
|
||||
```
|
||||
|
||||
3. **启动服务**
|
||||
```bash
|
||||
# Windows
|
||||
start.bat
|
||||
|
||||
# Linux/Mac
|
||||
chmod +x start.sh
|
||||
./start.sh
|
||||
```
|
||||
|
||||
4. **访问管理后台**
|
||||
- 地址: http://localhost:8000
|
||||
- 默认账号: admin / admin123
|
||||
|
||||
### 方式二:Docker 部署
|
||||
## 部署
|
||||
|
||||
```bash
|
||||
# 启动 MySQL + 后台服务
|
||||
docker-compose up -d
|
||||
# 上传到服务器
|
||||
cd /opt/cursorpro
|
||||
|
||||
# 启动 (首次自动创建venv并安装依赖)
|
||||
./start.sh
|
||||
|
||||
# 停止
|
||||
./stop.sh
|
||||
|
||||
# 查看日志
|
||||
docker-compose logs -f backend
|
||||
tail -f cursorpro.log
|
||||
```
|
||||
|
||||
## API 文档
|
||||
部署信息:
|
||||
- 管理后台: https://api.aicode.edu.pl/
|
||||
- API文档: https://api.aicode.edu.pl/docs
|
||||
- 健康检查: ✅ {"status":"ok"}
|
||||
|
||||
启动后访问 http://localhost:8000/docs 查看 Swagger API 文档。
|
||||
登录信息:
|
||||
用户名: admin
|
||||
密码: Hb@2024Pro!
|
||||
|
||||
### 客户端 API(兼容原插件)
|
||||
外部API Token: hb-ext-9kX2mP5nQ8rT1vY4zA7c
|
||||
|
||||
| 接口 | 方法 | 说明 |
|
||||
|------|------|------|
|
||||
| `/api/verify-key` | POST | 验证激活码 |
|
||||
| `/api/switch-account` | POST | 切换账号 |
|
||||
| `/api/version` | GET | 获取版本信息 |
|
||||
现在需要配置备用域名反代吗?还是先测试插件对接?
|
||||
|
||||
### 管理 API
|
||||
|
||||
| 接口 | 方法 | 说明 |
|
||||
|------|------|------|
|
||||
| `/admin/login` | POST | 管理员登录 |
|
||||
| `/admin/dashboard` | GET | 仪表盘统计 |
|
||||
| `/admin/accounts` | GET/POST | 账号列表/创建 |
|
||||
| `/admin/accounts/import` | POST | 批量导入账号 |
|
||||
| `/admin/keys` | GET/POST | 激活码列表/生成 |
|
||||
## Nginx 配置
|
||||
|
||||
## 账号数据格式
|
||||
### 主域名 (api.aicode.edu.pl)
|
||||
```nginx
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name api.aicode.edu.pl;
|
||||
|
||||
导入账号时使用 JSON 格式:
|
||||
ssl_certificate /etc/ssl/api.aicode.edu.pl.pem;
|
||||
ssl_certificate_key /etc/ssl/api.aicode.edu.pl.key;
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"email": "user@example.com",
|
||||
"access_token": "...",
|
||||
"refresh_token": "...",
|
||||
"workos_session_token": "...",
|
||||
"membership_type": "pro"
|
||||
}
|
||||
]
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 目录结构
|
||||
### 备用域名 (反代到主域名)
|
||||
```nginx
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name hb.aicode.edu.pl; # 或 cursor.aicode.edu.pl / pro.aicode.edu.pl
|
||||
|
||||
```
|
||||
backend/
|
||||
├── app/
|
||||
│ ├── api/ # API 路由
|
||||
│ │ ├── admin.py # 管理后台 API
|
||||
│ │ └── client.py # 客户端 API(兼容原插件)
|
||||
│ ├── models/ # 数据库模型
|
||||
│ ├── schemas/ # Pydantic 数据模式
|
||||
│ ├── services/ # 业务逻辑
|
||||
│ ├── config.py # 配置
|
||||
│ ├── database.py # 数据库连接
|
||||
│ └── main.py # 应用入口
|
||||
├── templates/ # HTML 模板
|
||||
├── static/ # 静态文件
|
||||
├── .env.example # 环境变量示例
|
||||
├── docker-compose.yml
|
||||
├── Dockerfile
|
||||
├── requirements.txt
|
||||
├── run.py # 启动脚本
|
||||
└── start.bat/sh # 快捷启动
|
||||
ssl_certificate /etc/ssl/hb.aicode.edu.pl.pem;
|
||||
ssl_certificate_key /etc/ssl/hb.aicode.edu.pl.key;
|
||||
|
||||
location / {
|
||||
proxy_pass https://api.aicode.edu.pl;
|
||||
proxy_set_header Host api.aicode.edu.pl;
|
||||
proxy_ssl_server_name on;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
## 客户端插件域名配置
|
||||
|
||||
`.env` 文件配置项:
|
||||
插件 `extension/out/api/client.js` 中已配置:
|
||||
```javascript
|
||||
const API_DOMAINS = [
|
||||
'https://api.aicode.edu.pl', // 主域名
|
||||
'https://hb.aicode.edu.pl', // 备用域名1
|
||||
'https://cursor.aicode.edu.pl', // 备用域名2
|
||||
'https://pro.aicode.edu.pl', // 备用域名3
|
||||
'http://127.0.0.1:8000' // 本地开发
|
||||
];
|
||||
```
|
||||
|
||||
| 变量 | 说明 | 默认值 |
|
||||
|------|------|--------|
|
||||
| DB_HOST | 数据库地址 | localhost |
|
||||
| DB_PORT | 数据库端口 | 3306 |
|
||||
| DB_USER | 数据库用户 | root |
|
||||
| DB_PASSWORD | 数据库密码 | - |
|
||||
| DB_NAME | 数据库名 | cursorpro |
|
||||
| JWT_SECRET_KEY | JWT 密钥 | - |
|
||||
| ADMIN_USERNAME | 管理员账号 | admin |
|
||||
| ADMIN_PASSWORD | 管理员密码 | admin123 |
|
||||
|
||||
## 安全提示
|
||||
|
||||
- 生产环境请修改 `JWT_SECRET_KEY`
|
||||
- 修改默认管理员密码
|
||||
- 建议使用 HTTPS
|
||||
自动故障转移:主域名失败会自动切换到备用域名。
|
||||
|
||||
Reference in New Issue
Block a user