【免费下载链接】auto_regcodex全自动注册机项目地址https://gitcode.com/gh_mirrors/au/auto_reg点击查看免费下载auto_reg 是一个多平台账号自动注册与管理系统其核心架构由 FastAPI 后端、React 前端和插件注册表三大支柱构成。理解 auto_reg 的任务调度机制与插件注册表设计是掌握这套自动化注册系统、甚至扩展新平台的关键。️ 一图看懂auto_reg 的分层结构先建立全局认知。auto_reg 采用清晰的分层架构React 前端 (frontend/) ← 仪表盘、注册任务、定时任务、全局配置 │ HTTP /api/* FastAPI 后端 (api/ main.py) ← 路由、认证中间件、任务执行入口 │ 核心层 (core/) ← 数据库、插件注册表、调度器、执行器、任务运行时 │ 平台插件 (platforms/) ← ChatGPT / Cursor / Grok / Kiro ... 每个目录一个插件前端由 Vite React Ant Design 构建后端以 main.py 为入口启动 FastAPI 服务核心逻辑集中在 core/ 目录平台能力则以插件形式平铺在 platforms/ 目录下。⚙️ 后端骨架lifespan 生命周期如何把一切串起来打开 main.py重点看lifespan上下文管理器——它定义了服务启动与关闭时的完整初始化顺序asynccontextmanager async def lifespan(app: FastAPI): init_db() # 1. 初始化 SQLite 数据库 load_all() # 2. 扫描并加载 platforms/ 下所有平台插件 scheduler.start() # 3. 启动任务调度器 start_async() # 4. 启动本地 Turnstile 验证码 Solver yield # 关闭时反向停止调度器与 Solver这个顺序很讲究先建库、再加载插件、最后启动调度确保调度器启动时注册表已经就绪。此外main.py 还挂载了账号、任务、平台、代理、配置等 9 个 API 路由并通过一个轻量 Bearer Token 中间件为/api/*接口做登录鉴权。 依赖声明见 requirements.txtfastapi、uvicorn、sqlmodel、playwright、curl_cffi等构成了整套技术栈。 插件注册表一个装饰器 一次目录扫描这是 auto_reg 最值得学习的部分。整个注册表只有不到 40 行代码位于 core/registry.py_registry: Dict[str, Type[BasePlatform]] {} def register(cls): # 装饰器按 cls.name 登记 _registry[cls.name] cls return cls def load_all(): # 自动扫描 platforms/ 目录 for finder, name, _ in pkgutil.iter_modules(platforms.__path__, ...): importlib.import_module(f{name}.plugin)工作机制分三步装饰器登记每个平台插件用register标记自己的类例如 platforms/cursor/plugin.py 中的CursorPlatform自动扫描load_all()通过pkgutil.iter_modules遍历platforms/下所有子包逐个导入其plugin.py——导入过程本身就会触发装饰器执行按名取用任务执行时通过get(cursor)拿到对应插件类未注册的平台会抛出带提示的KeyError。新增一个平台只需要三步在platforms/下建目录、继承BasePlatform、加上register装饰器。后端 API 和前端菜单都会自动感知零改动接入——这就是插件注册表带来的解耦红利。 统一平台接口BasePlatform 与双执行器所有平台都继承自 core/base_platform.py 的BasePlatform抽象基类它约定了统一契约成员说明name/display_name/version插件身份标识注册表依赖nameregister(email, password)抽象方法执行完整注册流程返回Accountcheck_valid(account)抽象方法检测账号有效性get_platform_actions()可选声明平台特有操作如切换桌面应用supported_executors声明支持的执行器类型默认支持全部三种执行层面core/base_platform.py 提供_make_executor()工厂方法按executor_type创建两种执行器protocol协议执行器基于curl_cffi模拟 Chrome TLS 指纹直接发请求速度快、资源消耗低见 core/executors/protocol.pyheadless / headed浏览器执行器基于 Playwright 驱动真实浏览器适合需要 JS 渲染或验证码交互的场景见 core/executors/playwright.py。邮箱验证码、验证码打码YesCaptcha / 本地 Solver等能力也通过BaseMailbox、BaseCaptcha工厂方法统一注入平台插件因此保持极薄。⏱️ 任务调度从定时任务到协作式中断调度器每分钟一次的轮询循环调度器实现位于 core/scheduler.py是一个常驻后台线程def _loop(self): time.sleep(5) # 启动缓冲等待任务加载 while self._running: self.check_trial_expiry() # 检查 trial 账号是否到期 self.check_and_run_scheduled_tasks() # 检查到期的定时注册任务 time.sleep(60)定时任务并非只存在内存中——core/db.py 定义了ScheduledTaskModel表任务配置平台、数量、间隔类型 minutes/hours、间隔值持久化在 SQLite 中服务重启后由_load_tasks_from_db()重新加载保证定时注册不丢失。执行链路一次定时任务是如何跑起来的调度线程发现任务到期生成带时间戳的run_task_id启动新线程执行调用 api/tasks.py 的_run_register()从注册表get(platform)取出插件类创建邮箱实例从代理池取 IP按count逐个或并发最多 10 个执行platform.register()受控于随机延迟注册成功后写入数据库并可自动同步到 CPA / Sub2API 等外部系统。任务运行时支持停止/跳过的协作式控制core/task_runtime.py 设计了非常优雅的协作式中断机制RegisterTaskControl维护请求停止和跳过当前账号两种信号任务执行在关键节点调用checkpoint()——若收到信号则抛出StopTaskRequested或SkipCurrentAttemptRequested异常优雅退出。外层RegisterTaskStore以线程安全方式记录任务状态、进度和日志并通过cleanup()自动清理超过 250 条的历史任务防止内存膨胀。这套设计让用户在 Web 界面点击停止或跳过时正在运行的批量注册能迅速、干净地响应。️ React 前端API 驱动的动态菜单前端最巧妙的一处设计在 frontend/src/App.tsxuseEffect(() { fetch(/api/platforms) .then(r r.json()) .then(d setPlatforms(d.filter(p p.name ! tavily) .map(p ({ key: p.name, label: p.display_name })))) }, [])侧边栏平台管理子菜单不是写死的而是从后端/api/platforms接口动态拉取——而该接口的数据正来自插件注册表。也就是说你在platforms/下新增一个插件前端菜单自动多出一个平台页面前后端通过注册表实现零配置联动。页面组织清晰Dashboard仪表盘、RegisterTaskPage注册任务、ScheduledTasks定时任务、Proxies代理管理、Settings全局配置等分别位于 frontend/src/pages/路由统一在 frontend/src/App.tsx 中声明。 数据与配置持久化数据库core/db.py 基于 SQLite SQLModel核心表包括accounts账号含extra_json存平台自定义字段、task_logs任务日志、proxies代理池统计、scheduled_tasks定时任务配置存储core/config_store.py 将界面配置持久化到 SQLite读取时支持自动回退到环境变量与.env文件兼顾了界面可改和部署可用环境变量注入两种场景SPA 回退前端构建产物放在static/main.py 挂载静态资源并配置通配路由回退到index.html保证深链刷新不 404。 小结三个核心设计点设计点核心文件带来的收益插件注册表装饰器 自动扫描core/registry.py新平台零配置接入前后端自动联动统一平台契约BasePlatform 双执行器core/base_platform.py平台插件保持极薄执行器/邮箱/验证码可插拔调度器 协作式任务运行时core/scheduler.py、core/task_runtime.py定时任务持久化批量注册可中途停止/跳过如果你打算扩展自己的平台插件建议从 platforms/cursor/plugin.py 这个最简洁的示例入手对照 core/base_platform.py 的接口约定实现更完整的部署与使用文档见 README_CN.md。赞分享【免费下载链接】auto_regcodex全自动注册机项目地址https://gitcode.com/gh_mirrors/au/auto_reg点击查看免费下载相关推荐深入Rayon核心架构线程池与任务调度终极指南深入Rayon核心架构线程池与任务调度终极指南 Rayon是一个Rust数据并行库它能轻松将顺序计算转换为并行计算保证数据竞争自由并基于运行时工作负载智APScheduler核心架构解析深入理解调度器工作原理APScheduler核心架构解析深入理解调度器工作原理 APScheduler是Python中最强大的任务调度库之一提供了灵活的任务调度和队列系统功能。无任务调度后端深入Strapi核心架构模块化设计与插件系统深入Strapi核心架构模块化设计与插件系统 本文深入解析了Strapi作为领先开源无头CMS的核心架构设计重点探讨了其高度模块化的架构机制。文章详细介绍了后端CMS前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考