本文档面向 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这保证了:
文件:
流程:
文件:
流程:
文件:
流程:
文件:
这两步共享验证码主流程:
补充行为:
2925 provider 会拉长单轮轮询窗口,并关闭 Step 4 / 7 的自动重发间隔,减少因邮件延迟过早判负。文件:
流程:
文件:
流程:
https://auth.openai.com/add-phone,则统一回到步骤 6 重新开始授权流程文件:
流程:
文件:
流程:
认证失败:*、认证失败: timeout of 30000ms exceeded、回调 URL 提交失败: oauth flow is not pending 等失败提示并立即报错文件:
支持:
组成:
模式:
补充:
组成:
组成:
文件:
流程:
runAutoSequenceFromStep
add-phone,则自动回到步骤 6 无限重开必须同时检查:
必须同时检查:
必须同时检查:
PERSISTED_SETTING_DEFAULTSnormalizePersistentSettingValue修改下列内容时,必须同步更新文档: