本文档面向 AI 与开发者,目标是让阅读者在最短时间内理解“项目做什么、怎么跑、数据怎么流、功能链路怎么串”,从而在新增功能时不漏逻辑、不误改边界。
使用建议:
这是一个 Chrome 扩展,用于自动执行一整套 OpenAI / ChatGPT OAuth 注册与登录流程。
它的核心价值不是“打开一个页面点几个按钮”,而是把下面这些环节串成一条完整可恢复的自动化链路:
sidepanel/sidepanel.html + sidepanel/sidepanel.js
职责:
职责:
职责:
分布在根目录和 background/ 下。
职责:
manifest.json 声明:
background.service_worker = background.jsside_panel.default_path = sidepanel/sidepanel.htmlbackground.js 通过 importScripts(...) 依次加载:
因此 background.js 现在更像:
data/step-definitions.js 提供共享步骤元数据。
background/steps/registry.js 负责把“步骤元数据”映射到“步骤执行器”。
这意味着:
orderchrome.storage.session保存运行态:
chrome.storage.local保存持久配置与账号运行历史:
accountRunHistory当启用了独立的账号运行历史 txt 留档配置时,账号运行历史会通过 scripts/hotmail_helper.py 追加写入 data/account-run-history.txt 文本文件,便于离线留档。
这条配置链路独立于 mailProvider 和 Hotmail 的接码模式。
后台通过 runtime message 向 sidepanel 广播:
LOG_ENTRYSTEP_STATUS_CHANGEDDATA_UPDATEDAUTO_RUN_STATUSICLOUD_LOGIN_REQUIREDICLOUD_ALIASES_CHANGEDcontent/utils.js 在脚本加载后会发送 CONTENT_SCRIPT_READY。
后台收到后会:
queueCommandflushCommandsendTabMessageWithTimeoutsendToContentScriptResilientsendToMailContentScriptResilient这保证了:
文件:
流程:
文件:
流程:
文件:
流程:
Try again / 重试 页面,会先自动点击 重试 恢复,再继续后续链路文件:
这两步共享验证码主流程:
补充行为:
2925 provider 会拉长单轮轮询窗口,并关闭 Step 4 / 8 的自动重发间隔,减少因邮件延迟过早判负。文件:
流程:
文件:
流程:
browsingData 补扫 cookies文件:
流程:
https://auth.openai.com/add-phone,则统一回到步骤 7 重新开始授权流程文件:
流程:
文件:
流程:
文件:
流程:
认证失败:*、认证失败: timeout of 30000ms exceeded、回调 URL 提交失败: oauth flow is not pending 等失败提示并立即报错本轮将 Gmail 与 2925 的注册邮箱逻辑统一收敛为“共享别名邮箱链路”:
name@gmail.comname@2925.com当前行为约定:
获取 / 生成 时:
name+tag@gmail.comname123456@2925.comstate.email
gmailBaseEmailmail2925BaseEmailmanaged-alias-utils.js
统一承接 Gmail / 2925 的:
background/generated-email-helpers.js
在原有 Duck / Cloudflare / iCloud / Cloudflare Temp Email 生成链路之外,新增 Gmail / 2925 的共享生成接入。
background/signup-flow-helpers.js
负责在真正提交注册邮箱前做“复用已有完整邮箱 / 重新生成”的最终决策。
文件:
支持:
组成:
模式:
补充:
组成:
组成:
文件:
流程:
runAutoSequenceFromStep
add-phone,则自动回到步骤 7 无限重开必须同时检查:
必须同时检查:
必须同时检查:
PERSISTED_SETTING_DEFAULTSnormalizePersistentSettingValue修改下列内容时,必须同步更新文档:
规范、边界、步骤接入方式变更
更新 项目开发规范(AI协作).md
新增共享恢复层:content/auth-page-recovery.js。
Step 4 在等待注册验证码页时,如果命中认证页 Try again / 重试 页,会先自动点击 重试 恢复,再继续回到密码页重提和验证码页确认流程。
Step 7 在识别到登录超时报错页时,会先尝试自动点击 重试 恢复当前页面,再按原有有限重试逻辑重新执行整步。
Step 9 在点击 OAuth 同意页 继续 后,会额外检查是否进入认证页重试页;若命中则先自动点击 重试 恢复,再重新执行当前轮的 继续 点击。