功能: - 激活码管理 (Pro/Auto 两种类型) - 账号池管理 - 设备绑定记录 - 使用日志 - 搜索/筛选功能 - 禁用/启用功能 (支持退款参考) - 全局设置 (换号间隔、额度消耗等) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.4 KiB
3.4 KiB
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 元素
.pro-badge {
background: linear-gradient(90deg, #8b5cf6, #d946ef);
/* 紫色渐变徽章,标识 PRO 功能 */
}
UI 显示内容:
- 剩余换号次数:
{switchRemaining} / {switchLimit} - 当前账号邮箱
- 会员类型(Pro/Free)
- 到期时间
6. 无感换号(Seamless Mode)
这是核心付费功能:
- 自动在多个账号间切换
- 当一个账号额度用完,自动切换到下一个
- 用户无感知,保持连续使用
// 切换模式
mode: 'auto' // 自动切换(当额度低于阈值)
mode: 'manual' // 手动切换
// 切换阈值
switchThreshold: 10 // 剩余额度低于10%时自动切换
总结
用户等级实际上是由激活码决定的:
- 不同激活码有不同的
switchLimit(换号次数) - 服务器决定给用户分配 Pro 还是 Free 账号
- "Pro 用户能拿 Pro 号" 取决于服务器的分配策略,而非插件本身