[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74154":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":43,"readmeContent":44,"aiSummary":45,"trendingCount":16,"starSnapshotCount":16,"syncStatus":46,"lastSyncTime":47,"discoverSource":48},74154,"any-auto-register","lxf746\u002Fany-auto-register","lxf746","Auto-register & manage accounts for ChatGPT, Cursor, Kiro, Grok, Windsurf, Trae & 13+ AI platforms · Protocol\u002Fbrowser dual-mode · Plugin-based · One-click Mac\u002FWindows desktop app","https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany2api",null,"Python",2698,935,6,11,0,27,192,595,81,30.91,"GNU Affero General Public License v3.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"account-management","account-registration","ai","ai-tools","auto-register","automation","captcha-solver","chatgpt","cursor","electron","fastapi","grok","kiro","multi-platform","trae","windsurf","2026-06-12 02:03:23","# Any Auto Register\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Flxf746\u002Fany-auto-register?style=for-the-badge&logo=github&color=FFB003\" alt=\"Stars\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Fnetwork\u002Fmembers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Flxf746\u002Fany-auto-register?style=for-the-badge&logo=github&color=blue\" alt=\"Forks\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Flxf746\u002Fany-auto-register?style=for-the-badge&logo=github&color=green\" alt=\"Release\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Flxf746\u002Fany-auto-register?style=for-the-badge&color=orange\" alt=\"License\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cb>中文\u003C\u002Fb> |\n  \u003Ca href=\"README_en.md\">English\u003C\u002Fa> |\n  \u003Ca href=\"README_vi.md\">Tiếng Việt\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cb>ChatGPT \u002F Cursor \u002F Kiro \u002F Grok \u002F Windsurf \u002F Trae 等 13+ AI 平台账号自动注册与管理 · 协议\u002F浏览器双模式 · Mac\u002FWindows 桌面版一键启动\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Ca href=\"https:\u002F\u002Fbestproxy.com\u002F?keyword=l85nsbgw\" target=\"_blank\">\u003Cimg src=\"assets\u002Fbestproxy.gif\" alt=\"BestProxy - 高纯度住宅IP资源，支持一号一IP独享模式，全链路防关联，显著提升账号通过率与长期存活率\" width=\"100%\">\u003C\u002Fa>\n\n> ⚠️ **免责声明**：本项目仅供学习和研究使用，不得用于任何商业用途。使用本项目所产生的一切后果由使用者自行承担。\n\n> 🌟 **本仓库为 [`lxf746\u002Fany-auto-register`](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register) 官方上游（Official Upstream）**，最早的原作者仓库与最及时的更新均在此处。其他同名 fork 均为二次开发分支。\n\n多平台账号自动注册与管理系统，支持插件化扩展，内置 Web UI。\n\n\u003Ca href=\"https:\u002F\u002Flegionproxy.io\u002F?utm_source=github&utm_campaign=any-auto-register\" target=\"_blank\">\u003Cimg src=\"assets\u002Flegionproxy.png\" alt=\"LegionProxy—住宅代理专为账号注册与自动化打造，74M+ 真实住宅IP，195+ 国家，HTTP\u002F3 高速连接，$0.60\u002FGB 起\" width=\"100%\">\u003C\u002Fa>\n\n[LegionProxy—住宅代理专为账号注册与自动化打造 74M+ 真实住宅IP · 195+ 国家 · HTTP\u002F3 高速连接 · $0.60\u002FGB 起](https:\u002F\u002Flegionproxy.io\u002F?utm_source=github&utm_campaign=any-auto-register)\n\n## 目录\n\n- [项目亮点](#项目亮点)\n- [功能特性](#功能特性)\n- [界面预览](#界面预览)\n- [技术栈](#技术栈)\n- [快速开始](#快速开始)\n- [桌面版下载](#桌面版下载)\n- [Docker 部署](#docker-部署)\n- [邮箱服务配置](#邮箱服务配置)\n- [验证码服务配置](#验证码服务配置)\n- [代理池配置](#代理池配置)\n- [接码服务配置](#接码服务配置)\n- [账号生命周期管理](#账号生命周期管理)\n- [注册成功率仪表盘](#注册成功率仪表盘)\n- [Any2API 联动](#any2api-联动)\n- [项目结构](#项目结构)\n- [插件开发](#插件开发)\n- [常见问题](#常见问题)\n- [赞助商](#赞助商)\n- [用户讨论群](#用户讨论群)\n- [Star History](#star-history)\n- [License](#license)\n\n## 项目亮点\n\n为什么选择 any-auto-register（与同类项目对比）：\n\n| 能力 | any-auto-register（本项目） | 其他同类工具 |\n|------|------|------|\n| 🖥️ **桌面版一键启动** | ✅ Mac \u002F Windows 双平台 Electron 客户端，免命令行 | ❌ 通常仅 CLI \u002F Docker |\n| 🧩 **平台覆盖** | ✅ 13+ 平台开箱即用 + 通用 Anything 适配器 | 通常 1-3 个平台 |\n| 📨 **邮箱服务** | ✅ 9 种邮箱服务（自建 + 公共 + DDG） | 通常 1-2 种 |\n| ⚡ **三种执行模式** | ✅ 纯协议（无浏览器，最快） \u002F 无头 \u002F 有头 | 通常仅浏览器 |\n| 🔁 **账号生命周期** | ✅ 定时检测、Token 自动续期、Trial 预警 | ❌ 大多数仅注册 |\n| 📊 **成功率仪表盘** | ✅ 按平台\u002F按代理\u002F按天统计，错误聚合 | ❌ |\n| 🔌 **Any2API 联动** | ✅ 注册即可用，自动推送到网关 | ❌ |\n| 📦 **插件化架构** | ✅ 平台\u002F邮箱\u002F验证码\u002F接码\u002F代理 全部可插拔 | 通常硬编码 |\n\n> 💡 [`Any2API`](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany2api) 网关 + `any-auto-register` 注册器组合，可实现 **批量注册账号 → 自动推送 → 即刻当作 OpenAI\u002FClaude 兼容 API 使用** 的全链路闭环。\n\n## 功能特性\n\n- **多平台支持**：ChatGPT、Cursor、Kiro、Trae.ai、Tavily、Grok、Blink、Cerebras、OpenBlockLabs、Windsurf，支持自定义插件扩展（Anything 通用适配器）\n- **多邮箱服务**：MoeMail（自建）、Laoudo、DuckMail、Testmail、Cloudflare Worker 自建邮箱、Freemail、TempMail.lol、Temp-Mail Web、DuckDuckGo Email\n- **多执行模式**：API 协议（无浏览器）、无头浏览器、有头浏览器（各平台按需支持）\n- **验证码服务**：YesCaptcha、2Captcha、本地 Solver（Camoufox）\n- **接码服务**：SMS-Activate、HeroSMS（用于需要手机验证的平台）\n- **代理池管理**：静态代理轮询 + 动态代理 API 提取 + 旋转网关代理，成功率统计、自动禁用失效代理\n- **账号生命周期**：定时有效性检测、token 自动续期、trial 过期预警\n- **注册成功率仪表盘**：按平台、按天、按代理的成功率统计，错误聚合分析\n- **并发注册**：可配置并发数\n- **实时日志**：SSE 实时推送注册日志到前端\n- **账号导出**：支持 JSON、CSV、CPA、Sub2API、Kiro-Go、Any2API 多种格式\n- **Any2API 联动**：注册完成后自动推送账号到 Any2API 网关，注册即可用\n- **平台扩展操作**：各平台可自定义操作（如 Kiro 账号切换、Trae Pro 升级链接生成）\n\n## 界面预览\n\n> 📸 *截图将随版本迭代持续更新。完整功能演示请查看 [桌面版下载](#桌面版下载) 实际体验。*\n\n### 仪表盘\n![仪表盘](assets\u002Fscreenshots\u002Fdashboard.png)\n\n### 注册任务\n![注册任务](assets\u002Fscreenshots\u002Fregister-task.png)\n\n### 全局配置\n![全局配置](assets\u002Fscreenshots\u002Fsettings.png)\n\n### 账号管理\n![账号管理](assets\u002Fscreenshots\u002Faccounts.png)\n\n## 技术栈\n\n| 层级 | 技术 |\n|------|------|\n| 后端 | FastAPI + SQLite（SQLModel）|\n| 前端 | React + TypeScript + Vite + TailwindCSS |\n| HTTP | curl_cffi（浏览器指纹伪装）|\n| 浏览器自动化 | Playwright \u002F Camoufox |\n\n## 桌面版下载\n\n> 🚀 **零配置一键启动**：不想折腾 Python 和 Node.js？直接下载桌面客户端，双击即可使用。\n\n| 平台 | 下载 |\n|------|------|\n| 🍎 macOS（Intel \u002F Apple Silicon） | [前往 Releases 下载 `.dmg`](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Freleases\u002Flatest) |\n| 🪟 Windows | [前往 Releases 下载 `.exe`](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Freleases\u002Flatest) |\n\n桌面客户端基于 Electron 打包，内置完整的 Python 后端 + React 前端，开箱即用。每次发布新版本（`v*` tag）会自动构建并发布到 [Releases](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Freleases)。\n\n如需源码运行或自行打包，参考下方 [快速开始](#快速开始) 与 `electron\u002F` 目录。\n\n## 快速开始\n\n### 环境要求\n\n- Python 3.11+\n- Node.js 18+\n\n### 安装\n\n#### macOS \u002F Linux\n\n```bash\n# 克隆项目\ngit clone \u003Crepo_url>\ncd account_manager\n\n# 创建虚拟环境\npython3 -m venv .venv\nsource .venv\u002Fbin\u002Factivate\n\n# 安装后端依赖\npip install -r requirements.txt\n\n# 构建前端\ncd frontend\nnpm install\nnpm run build\ncd ..\n```\n\n#### Windows\n\n```bat\n:: 克隆项目\ngit clone \u003Crepo_url>\ncd account_manager\n\n:: 创建虚拟环境\npython -m venv .venv\n.venv\\Scripts\\activate\n\n:: 安装后端依赖\npip install -r requirements.txt\n\n:: 构建前端\ncd frontend\nnpm install\nnpm run build\ncd ..\n```\n\n### 安装浏览器（可选，无头\u002F有头浏览器模式需要）\n\n```bash\n# Playwright 浏览器\npython3 -m playwright install chromium\n\n# Camoufox（用于本地 Turnstile Solver）\npython3 -m camoufox fetch\n```\n\n### 启动\n\n#### macOS \u002F Linux\n\n```bash\n.venv\u002Fbin\u002Fpython3 -m uvicorn main:app --port 8000\n```\n\n#### Windows\n\n```bat\n.venv\\Scripts\\python -m uvicorn main:app --port 8000\n```\n\n浏览器访问 `http:\u002F\u002Flocalhost:8000`\n\n说明：\n\n- 启动入口统一为 `main:app`\n- 后端接口统一位于 `\u002Fapi\u002F*`\n- 生产模式下前端构建产物由后端直接托管，访问 `http:\u002F\u002Flocalhost:8000` 即可\n- 开发模式下前端独立运行在 `http:\u002F\u002Flocalhost:5173`，通过 Vite 代理转发 API 请求\n- 前后端接口文档见 [docs\u002Ffrontend-api-contract.md](docs\u002Ffrontend-api-contract.md)\n- 新的 C 端 \u002F 管理端独立 API 项目见 [customer_portal_api\u002FREADME.md](customer_portal_api\u002FREADME.md)\n\n### 开发模式（前端热更新）\n\n```bash\ncd frontend\nnpm run dev\n# 访问 http:\u002F\u002Flocalhost:5173\n```\n\n## Docker 部署\n\n### 方式一：使用预构建镜像（推荐）\n\n```bash\n# 创建目录\nmkdir -p any-auto-register && cd any-auto-register\n\n# 创建 docker-compose.yml\ncat > docker-compose.yml \u003C\u003C 'EOF'\nservices:\n  app:\n    image: ghcr.io\u002Flxf746\u002Fany-auto-register:latest\n    ports:\n      - \"8000:8000\"   # Web UI\n      - \"6080:6080\"   # noVNC 可视化浏览器\n      - \"8889:8889\"   # Turnstile Solver\n    environment:\n      - DISPLAY=:99\n      # - APP_PASSWORD=changeme  # 可选：设置访问密码\n    volumes:\n      - .\u002Fdata:\u002Fapp\u002Fdata   # 持久化数据库\n    restart: unless-stopped\nEOF\n\n# 启动\ndocker compose up -d\n```\n\n### 方式二：从源码构建\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register.git\ncd any-auto-register\u002Faccount_manager\ndocker compose up -d --build\n```\n\n### 访问地址\n\n| 服务 | 地址 | 说明 |\n|------|------|------|\n| Web UI | `http:\u002F\u002Flocalhost:8000` | 主界面 |\n| noVNC | `http:\u002F\u002Flocalhost:6080\u002Fvnc.html` | 可视化浏览器（headed 模式） |\n| Solver | `http:\u002F\u002Flocalhost:8889` | Turnstile 验证码求解器 |\n\n> 云服务器部署时，请确保安全组\u002F防火墙放行 8000、6080、8889 端口。\n\n### 常用命令\n\n```bash\n# 查看日志\ndocker compose logs -f\n\n# 重启\ndocker compose restart\n\n# 更新到最新版\ndocker compose pull && docker compose up -d\n\n# 停止\ndocker compose down\n```\n\n## 邮箱服务配置\n\n注册时需要选择一种邮箱服务用于接收验证码。当前版本的邮箱、验证码和接码配置都由后端 provider catalog 驱动，前端“全局配置”页已经改成列表式 CRUD：\n\n- 左侧显示已添加的 provider 配置\n- 右侧统一编辑名称、认证方式和字段\n- “新增 Provider”下拉框只展示后端当前已接入但尚未加入的 provider\n- 后端新增 provider 后，前端无需写死选项，刷新页面即可出现\n\n目前数据库模型仍是 `provider_type + provider_key` 唯一，也就是每种 provider 保留一条配置；这套结构适合持续扩展新的 mailbox\u002Fcaptcha\u002Fsms provider。\n\n### MoeMail（推荐）\n\n基于开源项目 [cloudflare_temp_email](https:\u002F\u002Fgithub.com\u002Fdreamhunter2333\u002Fcloudflare_temp_email) 自建的临时邮箱服务，无需配置任何参数，系统自动注册临时账号并生成邮箱。\n\n在注册页选择 **MoeMail**，填写你部署的实例地址（默认使用公共实例）。\n\n### Laoudo\n\n使用固定的自有域名邮箱，稳定性最高，适合长期使用。\n\n| 参数 | 说明 |\n|------|------|\n| 邮箱地址 | 完整邮箱地址，如 `user@example.com` |\n| Account ID | 邮箱账号 ID（在 Laoudo 面板查看）|\n| JWT Token | 登录后从浏览器 Cookie 或接口获取的认证 Token |\n\n### Cloudflare Worker 自建邮箱\n\n基于 [cloudflare_temp_email](https:\u002F\u002Fgithub.com\u002Fdreamhunter2333\u002Fcloudflare_temp_email) 自行部署的邮箱服务，完全自主可控。\n\n**部署步骤**：参考项目文档，部署 Cloudflare Worker + D1 数据库 + Email Routing。\n\n| 参数 | 说明 |\n|------|------|\n| API URL | Worker 的后端 API 地址，如 `https:\u002F\u002Fapi.your-domain.com` |\n| Admin Token | 管理员密码，在 Worker 环境变量 `ADMIN_PASSWORDS` 中配置 |\n| 域名 | 收件邮箱的域名，如 `your-domain.com`（需配置 MX 记录指向 Cloudflare）|\n| Fingerprint | 可选，Worker 开启 fingerprint 验证时填写 |\n\n### DuckMail\n\n公共临时邮箱服务，无需配置，直接使用。部分地区需要代理。\n\n### TempMail.lol\n\n公共临时邮箱服务，无需配置，自动生成匿名邮箱。\n\n### Temp-Mail Web\n\n基于 web2.temp-mail.org 的临时邮箱服务，无需配置。\n\n### DuckDuckGo Email\n\n使用 DuckDuckGo Email Protection 生成 `@duck.com` 私密别名，并通过转发邮箱读取验证码。需要在全局配置中填写转发邮箱的 IMAP 信息。\n\n### Freemail\n\n基于 Cloudflare Worker 自建的邮箱服务，支持管理员令牌和用户名密码两种认证方式。\n\n| 参数 | 说明 |\n|------|------|\n| API URL | Freemail 服务地址 |\n| 管理员令牌 | 管理员认证令牌 |\n| 用户名 | 可选，用户名密码认证 |\n| 密码 | 可选，用户名密码认证 |\n\n### Testmail\n\n`testmail.app` 的 namespace 邮箱模式。系统会自动生成地址：\n\n- `{namespace}.{随机tag}@inbox.testmail.app`\n\n适合并发任务，因为每次注册都会分配新的 tag，并在查询时自动带上 `tag + timestamp_from` 过滤旧邮件。\n\n| 参数 | 说明 |\n|------|------|\n| API URL | 默认 `https:\u002F\u002Fapi.testmail.app\u002Fapi\u002Fjson` |\n| Namespace | 你的 namespace，例如 `3xw8n` |\n| Tag Prefix | 可选，给随机 tag 增加前缀，便于分类 |\n| API Key | testmail.app 控制台里的 API Key |\n\n## 验证码服务配置\n\n| 服务 | 说明 |\n|------|------|\n| YesCaptcha | 需填写 Client Key，在 [yescaptcha.com](https:\u002F\u002Fyescaptcha.com) 注册获取 |\n| 2Captcha | 需填写 API Key，在 [2captcha.com](https:\u002F\u002F2captcha.com) 注册获取 |\n| 本地 Solver | 使用 Camoufox 本地解码，需先执行 `python3 -m camoufox fetch` |\n\n## 代理池配置\n\n系统支持静态代理池，并保留动态代理驱动能力：\n\n### 静态代理\n\n在代理管理页手动添加固定代理地址，系统按成功率加权轮询。连续失败 5 次的代理自动禁用。\n\n### 动态代理驱动\n\n后端内置两类动态代理驱动；如果数据库中已配置并启用 `proxy` provider，注册时会优先尝试动态代理，失败或未配置时自动回退到静态代理池。\n\n| Provider | 说明 |\n|----------|------|\n| API 提取代理 | 通过 HTTP API 动态提取代理 IP，适用于大多数代理商的 API 提取接口 |\n| 旋转网关代理 | 固定入口地址，每次请求自动分配不同出口 IP，适用于 BrightData、Oxylabs、IPRoyal 等 |\n\n当前 Web UI 主要提供静态代理池管理；动态代理 provider 可通过后端 provider settings 扩展配置。\n\n## 接码服务配置\n\n部分平台注册需要手机号验证（如 Cursor），可配置接码服务自动完成：\n\n| 服务 | 说明 |\n|------|------|\n| SMS-Activate | 需填写 API Key，可配置默认国家 |\n| HeroSMS | 需填写 API Key，可配置服务代码、国家 ID、最高单价、号码复用策略 |\n\n添加方法：\n\n1. 打开 Web UI 的“全局配置”页面，进入“接码服务”。\n2. 点击“新增接码 Provider”，选择 `SMS-Activate` 或 `HeroSMS`。\n3. 填写 API Key 等字段，保存并按需设为默认。\n4. 注册任务会优先使用任务参数里的 `sms_provider`；未指定时使用默认接码 Provider。\n\n## 账号生命周期管理\n\n系统内置后台生命周期管理器，自动执行以下任务：\n\n- **有效性检测**：每 6 小时自动检测活跃账号是否仍然有效，失效账号标记为 invalid\n- **Token 自动续期**：每 12 小时自动刷新即将过期的 token（当前支持 ChatGPT）\n- **Trial 过期预警**：扫描 trial 账号，即将过期的标记预警，已过期的自动更新状态\n\n也可通过 API 手动触发：\n\n- `POST \u002Fapi\u002Flifecycle\u002Fcheck` — 手动触发有效性检测\n- `POST \u002Fapi\u002Flifecycle\u002Frefresh` — 手动触发 token 刷新\n- `POST \u002Fapi\u002Flifecycle\u002Fwarn` — 手动触发过期预警\n- `GET \u002Fapi\u002Flifecycle\u002Fstatus` — 查看生命周期管理器状态\n\n## 注册成功率仪表盘\n\n通过 API 查询注册统计数据，用于监控和优化注册流程：\n\n- `GET \u002Fapi\u002Fstats\u002Foverview` — 全局概览（总注册数、成功率、账号状态分布）\n- `GET \u002Fapi\u002Fstats\u002Fby-platform` — 按平台统计成功率\n- `GET \u002Fapi\u002Fstats\u002Fby-day?days=30` — 按天统计注册趋势\n- `GET \u002Fapi\u002Fstats\u002Fby-proxy` — 代理成功率排行\n- `GET \u002Fapi\u002Fstats\u002Ferrors?days=7` — 失败错误聚合\n\n## Any2API 联动\n\n配合 [Any2API](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany2api) 项目使用，注册完成后自动推送账号到 Any2API 网关，实现注册即可用。\n\n### 配置方法\n\n在全局配置中设置：\n\n| 参数 | 说明 |\n|------|------|\n| `any2api_url` | Any2API 实例地址，如 `http:\u002F\u002Flocalhost:8099` |\n| `any2api_password` | Any2API 管理密码 |\n\n配置后，每次注册成功会自动将账号推送到 Any2API 对应的 provider：\n\n| 平台 | 推送目标 |\n|------|----------|\n| Kiro | `kiroAccounts` 账号池 |\n| Grok | `grokTokens` token 池 |\n| Cursor | `cursorConfig` cookie |\n| ChatGPT | `chatgptConfig` token |\n| Blink | `blinkConfig` 凭证 |\n| Windsurf | `windsurfAccounts` 账号池 |\n\n未配置 `any2api_url` 时此功能静默跳过，不影响正常注册。\n\n### 手动导出\n\n也可以手动导出账号到 Any2API 或 Kiro-Go 格式：\n\n- `POST \u002Fapi\u002Faccounts\u002Fexport\u002Fany2api` — 导出为 Any2API admin.json 格式（支持多平台混合导出）\n- `POST \u002Fapi\u002Faccounts\u002Fexport\u002Fkiro-go` — 导出为 Kiro-Go config.json 格式\n\n## 项目结构\n\n```\naccount_manager\u002F\n├── main.py                 # FastAPI 入口\n├── Dockerfile              # Docker 构建\n├── docker-compose.yml      # Docker Compose 编排\n├── requirements.txt        # Python 依赖\n├── api\u002F                    # HTTP 路由层\n│   ├── accounts.py         # 账号 CRUD + 导出\n│   ├── account_checks.py   # 账号检测\n│   ├── lifecycle.py        # 生命周期管理\n│   ├── stats.py            # 注册成功率仪表盘\n│   ├── task_commands.py    # 注册任务创建 + SSE\n│   ├── tasks.py            # 任务查询\n│   ├── task_logs.py        # 历史任务日志\n│   ├── actions.py          # 平台操作\n│   ├── config.py           # 配置读写\n│   ├── platforms.py        # 平台列表\n│   ├── platform_capabilities.py\n│   ├── provider_definitions.py  # Provider 定义管理\n│   ├── provider_settings.py     # Provider 配置管理\n│   ├── proxies.py          # 代理管理\n│   ├── health.py           # 健康检查\n│   └── system.py           # Solver 管理\n├── application\u002F            # 应用服务层\n├── domain\u002F                 # 领域模型\n├── infrastructure\u002F         # 仓储与运行时适配\n├── core\u002F                   # 基础能力\n│   ├── base_platform.py    # 平台基类\n│   ├── base_mailbox.py     # 邮箱服务基类 + 工厂方法\n│   ├── base_captcha.py     # 验证码服务基类\n│   ├── base_sms.py         # 接码服务基类 + SMS-Activate \u002F HeroSMS\n│   ├── base_identity.py    # 身份提供者基类\n│   ├── registration\u002F       # 注册流程编排（适配器 + 流程）\n│   ├── lifecycle.py        # 账号生命周期管理\n│   ├── proxy_providers.py  # 动态代理提供者\n│   ├── any2api_sync.py     # Any2API 自动推送\n│   ├── db.py               # 数据模型\n│   ├── proxy_pool.py       # 代理池（静态 + 动态）\n│   ├── registry.py         # 平台插件注册表\n│   ├── scheduler.py        # 定时任务\n│   └── oauth_browser.py    # OAuth 浏览器基类\n├── platforms\u002F              # 平台插件层\n│   └── {platform}\u002F\n│       ├── plugin.py           # 平台适配层\n│       ├── protocol_mailbox.py # 协议模式注册\n│       ├── browser_register.py # 浏览器注册（按需）\n│       ├── browser_oauth.py    # 浏览器 OAuth（按需）\n│       ├── core.py             # 平台协议核心逻辑（按需）\n│       └── switch.py           # 账号切换逻辑（按需）\n├── providers\u002F              # Provider 插件层（邮箱 \u002F 验证码 \u002F 接码 \u002F 代理驱动）\n│   ├── mailbox\u002F\n│   ├── captcha\u002F\n│   ├── sms\u002F\n│   └── proxy\u002F\n├── services\u002F               # 后台服务\n│   ├── solver_manager.py   # Turnstile Solver 进程管理\n│   └── task_runtime.py     # 持久化任务执行器\n├── customer_portal_api\u002F    # C 端 \u002F 管理端独立 API\n├── electron\u002F               # Electron 桌面端打包\n├── scripts\u002F\n│   └── smoke.py            # API 冒烟检查\n├── tests\u002F                  # 测试\n└── frontend\u002F               # React 前端\n```\n\n## 插件开发\n\n添加新平台需要以下步骤：\n\n### 1. 新建平台目录\n\n在 `platforms\u002F` 下新建目录，必须包含 `__init__.py` 和 `plugin.py`（`pkgutil.iter_modules` 只扫描带 `__init__.py` 的 Python 包）：\n\n```\nplatforms\u002Fmyplatform\u002F\n├── __init__.py\n├── plugin.py              # 平台适配层（必须）\n├── protocol_mailbox.py    # 协议模式注册逻辑（按需）\n├── browser_register.py    # 浏览器注册逻辑（按需）\n└── browser_oauth.py       # 浏览器 OAuth 逻辑（按需）\n```\n\n### 2. 实现 plugin.py\n\n```python\nfrom core.base_platform import BasePlatform, Account, AccountStatus, RegisterConfig\nfrom core.base_mailbox import BaseMailbox\nfrom core.registration import ProtocolMailboxAdapter, OtpSpec, RegistrationResult\nfrom core.registry import register\n\n\n@register\nclass MyPlatform(BasePlatform):\n    name = \"myplatform\"\n    display_name = \"My Platform\"\n    version = \"1.0.0\"\n\n    def __init__(self, config: RegisterConfig = None, mailbox: BaseMailbox = None):\n        super().__init__(config)\n        self.mailbox = mailbox\n\n    def build_protocol_mailbox_adapter(self):\n        \"\"\"协议模式注册适配器\"\"\"\n        return ProtocolMailboxAdapter(\n            result_mapper=lambda ctx, result: RegistrationResult(\n                email=result[\"email\"],\n                password=result.get(\"password\", \"\"),\n                status=AccountStatus.REGISTERED,\n            ),\n            worker_builder=lambda ctx, artifacts: __import__(\n                \"platforms.myplatform.protocol_mailbox\",\n                fromlist=[\"MyWorker\"],\n            ).MyWorker(proxy=ctx.proxy, log_fn=ctx.log),\n            register_runner=lambda worker, ctx, artifacts: worker.run(\n                email=ctx.identity.email,\n                password=ctx.password,\n                otp_callback=artifacts.otp_callback,\n            ),\n            otp_spec=OtpSpec(wait_message=\"等待验证码邮件...\"),\n        )\n\n    def check_valid(self, account: Account) -> bool:\n        \"\"\"检测账号是否有效\"\"\"\n        return bool(account.token)\n```\n\n### 3. 声明平台能力\n\n平台能力优先使用插件类属性声明，也可以在 Web UI 的“平台能力”页面覆盖：\n\n```python\nclass MyPlatform(BasePlatform):\n    supported_executors = [\"protocol\"]\n    supported_identity_modes = [\"mailbox\"]\n    supported_oauth_providers = []\n    capabilities = []\n```\n\n系统启动时会自动扫描 `platforms\u002F` 目录加载所有带 `@register` 装饰器的插件。\n\n## 常见问题\n\n### 验证码失败怎么办？\n\n1. 确认验证码 provider 已正确配置（YesCaptcha Client Key 或本地 Solver）\n2. 协议模式下优先使用远程验证码服务（YesCaptcha \u002F 2Captcha）\n3. 浏览器模式下 Camoufox 会自动尝试点击 Turnstile checkbox，失败时回退到远程 Solver\n4. 如果持续失败，检查代理 IP 质量——高风险 IP 会触发更严格的验证\n\n### 代理被封 \u002F 注册失败率高？\n\n1. 在代理管理页查看各代理的成功率，禁用低成功率代理\n2. 使用住宅代理而非数据中心代理，通过率显著更高\n3. 降低并发数，避免同一 IP 短时间内大量请求\n4. 不同平台对 IP 的敏感度不同，可按平台分配代理池\n\n### 浏览器模式需要什么额外配置？\n\n```bash\n# 安装 Playwright 浏览器\npython3 -m playwright install chromium\n\n# 安装 Camoufox（反指纹浏览器）\npython3 -m camoufox fetch\n```\n\n浏览器模式支持 `headless`（无头）和 `headed`（有头）两种，在注册页的执行器选项中选择即可。\n\n### Solver 启动超时怎么办？\n\n`[Solver] 启动超时` 表示本地 Turnstile Solver 在 30 秒内没有通过健康检查，主服务仍然会继续启动。常见原因是首次启动需要下载或初始化 Camoufox、当前环境缺少浏览器依赖，或 8889 端口被占用。\n\n处理方式：\n\n1. 本地先执行 `python3 -m camoufox fetch`，然后在“全局配置”页点击“重启 Solver”。\n2. 如果不依赖本地 Solver，可以配置 YesCaptcha 或 2Captcha，并在注册任务中选择远程验证码服务。\n3. Docker 环境建议使用已构建镜像运行；本地裸跑时若持续超时，优先检查 8889 端口和 Camoufox 安装。\n\n### ARM 镜像构建失败怎么办？\n\n如果日志里出现 `src\u002Fpages\u002FAccounts.tsx ... TS6133\u002FTS7006`，实际失败点是前端 TypeScript 构建，不是 ARM 或 apt 安装问题。先在本地执行：\n\n```bash\ncd frontend\nnpm run build\n```\n\n确认前端构建通过后再执行：\n\n```bash\ndocker compose build --no-cache\ndocker compose up -d\n```\n\n## 参与贡献\n\n欢迎提交 Issue 和 Pull Request。\n\n1. Fork 本仓库\n2. 创建特性分支：`git checkout -b feature\u002Fmy-feature`\n3. 提交更改：`git commit -m 'feat: add my feature'`\n4. 推送分支：`git push origin feature\u002Fmy-feature`\n5. 提交 Pull Request\n\n提交规范建议使用 [Conventional Commits](https:\u002F\u002Fwww.conventionalcommits.org\u002F)：\n- `feat:` 新功能\n- `fix:` 修复\n- `docs:` 文档\n- `refactor:` 重构\n- `test:` 测试\n\n## 更新日志\n\n详见 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Freleases)。\n\n## 赞助商\n\n感谢以下赞助商对 any-auto-register 的长期支持。如果你的服务也面向账号注册、自动化或 AI 开发者，欢迎联系作者加入。\n\n| Logo | 名称 | 介绍 | 链接 |\n| --- | --- | --- | --- |\n| \u003Ca href=\"https:\u002F\u002Fbestproxy.com\u002F?keyword=l85nsbgw\" target=\"_blank\">\u003Cimg src=\"assets\u002Fbestproxy.gif\" alt=\"BestProxy\" width=\"140\" \u002F>\u003C\u002Fa> | **BestProxy** | 高纯度住宅 IP，支持一号一 IP 独享模式，全链路防关联，显著提升账号通过率与长期存活率。 | [bestproxy.com](https:\u002F\u002Fbestproxy.com\u002F?keyword=l85nsbgw) |\n| \u003Ca href=\"https:\u002F\u002Flegionproxy.io\u002F?utm_source=github&utm_campaign=any-auto-register\" target=\"_blank\">\u003Cimg src=\"assets\u002Flegionproxy.png\" alt=\"LegionProxy\" width=\"140\" \u002F>\u003C\u002Fa> | **LegionProxy** | 住宅代理专为账号注册与自动化打造，74M+ 真实住宅 IP，195+ 国家，HTTP\u002F3 高速连接，$0.60\u002FGB 起。 | [legionproxy.io](https:\u002F\u002Flegionproxy.io\u002F?utm_source=github&utm_campaign=any-auto-register) |\n\n## 用户讨论群\n\n加入用户群获取最新动态、配置经验和注册技巧：\n\n### QQ 群（推荐）\n\n**群号：`1081650009`**\n\n\u003Ca href=\"assets\u002Fqq-group.png\" target=\"_blank\">\u003Cimg src=\"assets\u002Fqq-group.png\" alt=\"QQ 交流群二维码\" width=\"220\" \u002F>\u003C\u002Fa>\n\n扫描上方二维码或搜索群号加入。\n\n如需提交 Bug 或请求新功能，请前往 [Issues](https:\u002F\u002Fgithub.com\u002Flxf746\u002Fany-auto-register\u002Fissues)。\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=lxf746\u002Fany-auto-register&type=Date)](https:\u002F\u002Fstar-history.com\u002F#lxf746\u002Fany-auto-register&Date)\n\n## License\n\n本项目采用 [AGPL-3.0](LICENSE) 许可证。个人学习和研究可自由使用；商业使用需遵守 AGPL-3.0 条款（衍生作品须开源）。\n","Any Auto Register 是一个用于自动注册和管理包括ChatGPT、Cursor等在内的13多个AI平台账号的工具。它支持协议\u002F浏览器双模式运行，基于插件化架构设计，允许用户根据需要扩展功能如邮箱服务、验证码解决等，并提供了一键启动的Mac\u002FWindows桌面应用程序。此项目特别适合需要批量创建和维护多个AI服务账号的研究人员或开发者使用。开发语言为Python，采用FastAPI框架构建后端服务，前端则利用Electron实现跨平台桌面应用。",2,"2026-06-11 03:49:04","high_star"]