Files
cursornew2026/USER_SYSTEM.md
ccdojox-crypto 9e2333c90c CursorPro 后台管理系统 v1.0
功能:
- 激活码管理 (Pro/Auto 两种类型)
- 账号池管理
- 设备绑定记录
- 使用日志
- 搜索/筛选功能
- 禁用/启用功能 (支持退款参考)
- 全局设置 (换号间隔、额度消耗等)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 20:54:44 +08:00

96 lines
3.4 KiB
Markdown
Raw Permalink 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.

# CursorPro 用户体系分析
## 用户区分
从反混淆代码分析CursorPro 并非简单的 "auto/pro" 用户区分,而是基于**激活码类型**和**积分系统**
### 1. 激活码属性
每个激活码包含以下属性:
- `switchLimit` - 换号次数上限默认100次
- `expireDate` - 到期时间
- `membership_type` - 会员类型(对应 Cursor 官方的 Pro/Free
### 2. 功能权限
| 功能 | 说明 |
|------|------|
| **一键换号** | 消耗1积分切换到新的 Cursor 账号 |
| **无感换号** | 自动轮换账号池,需要激活码未过期 |
| **免魔法** | SNI 代理功能,无需翻墙使用 |
| **重置机器码** | 重置设备ID需要管理员权限 |
### 3. 核心机制
```
┌─────────────────────────────────────────────┐
│ CursorPro 工作原理 │
├─────────────────────────────────────────────┤
│ │
│ 用户激活码 ──→ 服务器验证 │
│ │ │
│ ▼ │
│ 获取 Cursor 账号信息: │
│ • accessToken │
│ • refreshToken │
│ • WorkosCursorSessionToken │
│ • membership_type (Pro/Free) │
│ │ │
│ ▼ │
│ 写入本地 Cursor 配置: │
│ • state.vscdb (SQLite) │
│ • storage.json │
│ • machineid │
│ │ │
│ ▼ │
│ 重启 Cursor ──→ 使用新账号 │
│ │
└─────────────────────────────────────────────┘
```
### 4. Pro 账号获取
从代码中可以看到:
- 服务器端维护一个**账号池**
- 账号池包含 Cursor 官方的 Pro 账号
- 用户通过激活码访问这些共享账号
- `membership_type` 字段标识账号是 "pro" 还是 "free"
### 5. UI 元素
```css
.pro-badge {
background: linear-gradient(90deg, #8b5cf6, #d946ef);
/* 紫色渐变徽章,标识 PRO 功能 */
}
```
UI 显示内容:
- 剩余换号次数:`{switchRemaining} / {switchLimit}`
- 当前账号邮箱
- 会员类型Pro/Free
- 到期时间
### 6. 无感换号Seamless Mode
这是核心付费功能:
- 自动在多个账号间切换
- 当一个账号额度用完,自动切换到下一个
- 用户无感知,保持连续使用
```javascript
// 切换模式
mode: 'auto' // 自动切换(当额度低于阈值)
mode: 'manual' // 手动切换
// 切换阈值
switchThreshold: 10 // 剩余额度低于10%时自动切换
```
## 总结
**用户等级实际上是由激活码决定的**
- 不同激活码有不同的 `switchLimit`(换号次数)
- 服务器决定给用户分配 Pro 还是 Free 账号
- "Pro 用户能拿 Pro 号" 取决于服务器的分配策略,而非插件本身