# 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 号" 取决于服务器的分配策略,而非插件本身