# cursorToken **Repository Path**: tiamo888/cursor-token ## Basic Information - **Project Name**: cursorToken - **Description**: cursor快速切换器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-10 - **Last Updated**: 2026-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cursor 账号监控 本地小工具,用来管理**你自己的** Cursor 账号:直接从本机已登录的 Cursor 桌面客户端提取 session token,并监控每个账号的用量、订阅状态和 token 健康度。 所有数据只保存在本机的 `data/accounts.json`,不上传任何服务器。 ## 环境与必需依赖 运行项目前必须准备: - **Node.js 18 或更高版本**,同时需要 Node.js 自带的 npm。 - **Playwright Chromium**,订阅支付流程依赖它打开 Stripe 并获取支付宝二维码。仅执行 `npm install` 不一定会下载浏览器,必须额外安装。 - **sqlite3 命令行工具**,用于从本机 Cursor 的 `state.vscdb` 提取登录账号。安装后运行 `sqlite3 --version` 应能正常输出版本。 - **Cursor 桌面客户端**,并且已经登录需要管理的账号。 - 能正常访问 `cursor.com`、`checkout.stripe.com` 和 `alipay.com` 的网络环境。 项目不需要额外安装 Stripe 或支付宝 SDK;支付由 Cursor 的 Stripe Checkout 页面和支付宝授权页完成。 ## 运行 ```powershell # 检查基础环境 node --version npm --version sqlite3 --version # 安装项目依赖和 Playwright Chromium npm install npx playwright install chromium # 启动服务 npm start ``` 然后浏览器打开 http://localhost:8787 。 Linux 如果缺少 Chromium 的系统库,可改用: ```bash npx playwright install --with-deps chromium ``` 支付浏览器默认使用无头模式。需要显示浏览器窗口进行调试时: ```powershell $env:SUBSCRIBE_HEADFUL = '1' npm start ``` ## 支付网络要求 支付宝订阅默认严格要求 Node 服务和 Playwright 支付浏览器都使用中国大陆公网出口: - 创建 Cursor Checkout 前检测一次服务出口,支付浏览器启动后再独立检测一次。 - 服务出口检测未通过时不创建 Checkout;浏览器出口检测未通过时不打开 Stripe 或支付宝页面。 - 支付浏览器会绕过普通系统 HTTP 代理;VPN、TUN 和系统路由仍可能接管流量,程序无法强制绕过。 - 出口检测通过 Cloudflare Trace 完成,只使用返回的国家码,不记录或展示公网 IP。 如果提示支付网络不符合要求,请关闭代理、VPN/TUN,确认当前宽带或移动网络具有中国大陆公网出口后重试。 ## 功能 - **自动识别 + 自动提取**:启动后扫描本机 Cursor 配置目录(macOS / Windows / Linux,含 flatpak/snap 等), 找到最近使用的 `state.vscdb` 并自动同步当前登录账号;换电脑后在新机器登录 Cursor 再启动即可,无需手找路径。 - **手动重新同步**:点「重新同步本机」可再次从客户端拉取最新 token。 - **刷新时同步 token**:点「刷新」会先尝试从本机 `state.vscdb` 更新 token,再查用量/订阅。 - **状态监控**:每个账号展示邮箱、订阅类型、用量、以及 token 距离过期的天数。 - **自动续期**:刷新状态时若 token 快过期,自动用 `refreshToken` 换新的 `accessToken`; 也可手动点「续期」。 - **导出 token**:`GET /api/accounts/:id/token` 返回完整 token,供你自己在别处使用。 ## 结构 ``` server/ config.js 端点、User-Agent、续期参数(接口变动时改这里) local.js 从本地 Cursor 客户端 state.vscdb 读取当前账号(主功能) cursor.js 续期、状态抓取、JWT 解析(PKCE 登录代码保留但界面未使用) store.js 本地 JSON 存储 index.js Express 服务与 API public/ 前端界面(Vue 3,内置于 vendor/,无需构建) data/ 账号与 token(git 忽略) ``` ## 自动识别客户端 「从本地客户端提取」会自动扫描各平台常见配置目录,识别 Cursor 客户端的 `state.vscdb` (支持正式版 / Nightly / flatpak / snap 等多种安装),存在多个时挑**最近修改**的那个。 换一台电脑一般无需任何配置,直接就能识别。 若装在非标准位置识别不到,可用环境变量手动指定后重启服务(二选一): ```bash # 直接指向数据库文件 CURSOR_STATE_DB="/path/to/state.vscdb" npm start # 或指向 Cursor 配置目录(其下有 User/globalStorage/state.vscdb) CURSOR_CONFIG_DIR="/path/to/Cursor" npm start ``` ## 注意 - 提取依赖系统的 `sqlite3` 命令(macOS / 多数 Linux 自带;Windows 需自行安装)。 - 非标准安装路径可设环境变量后重启:`CURSOR_STATE_DB`(直接指向 state.vscdb)或 `CURSOR_CONFIG_DIR`(Cursor 配置根目录)。 - `data/accounts.json` 随项目目录走;换电脑若需保留历史账号,把整个项目文件夹拷过去即可(各机 token 仍以本机 Cursor 为准)。 - 用量 / 订阅 / 用户信息用的是 `cursor.com` dashboard 的非公开接口(reverse-engineered), Cursor 可能随时改动。若某项显示为空,去 `server/config.js` 里核对/调整对应端点即可。 - 仅用于管理你自己拥有的账号。