﻿小灰灰工具2.0 · 20261020_comment_close_a18d6c42

评论任务工具栏在“打开选中房间”和“删除账号”之间新增“关闭窗口”。
按钮针对“准备账号”下拉框里选中的账号，不是账号列表勾选项，也不取决于是否勾选主播。
点击后走原有关闭核对流程：打开中的窗口先核对账号登录身份，再关闭；身份匹配保留账号、环境和数据；明确未登录/登录身份不符时，确认关闭及关联环境删除后才清理账号、绑定记录、相关验证邮件/验证记录和评论记录，释放名额。保留无敏感内容的历史任务占位和必要操作审计。
未知身份、网络超时、CF挑战不直接当成异常账号删除：能确认关闭则只关窗口并保留账号。环境删除结果未确认时保留本地账号与名额；进程变化、环境归属不明时不关闭/删除新窗口。不批量操作其他账号。已关闭的窗口不为检查而重新打开。
账号正被注册、验证、主播获取或评论任务占用时按钮不执行关闭；请先停止对应任务并等待收尾。后台保留占用/进程/归属核对。
新增account_id与env_id双重关联校验，选择后账号绑定变化则拒绝操作，避免关错窗口。

沿用9c自动分组修复、独立补充监控、晚到邮件接续、评论账号接续及CapSolver规则；未修改真实解题和邮件解析。删除异常账号导致数量不足时，只有用户本轮已开启的补充监控才按原规则补充；程序启动默认未开启监控。
本轮使用假账号、假比特服务和本地拦截页面验收，没有操作用户真实窗口、删除真实账号/环境或运行真实注册、收信、评论、付费解题。

三份产物同版本。更新ZIP不覆盖data；新用户完整ZIP为空数据；本机独立测试目录从已退出的现用9c取得源/目标双实例锁后一致复制账号、任务、配置和本机授权。个人数据仅保留在本机dist。旧目录与桌面入口不覆盖，两版数据不自动同步，请分时运行。
本机链接打开文件夹，使用目录内“新版”快捷方式正常启动；“演示模式”只展示虚构数据。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 20261020_replenish_group_9c3a6f81

修复：补充账号监控错误提示“分组已改变”。
原因：自动选择分组时配置为空字符串，解析后的实际分组ID非空；旧版把这两个不同含义的值直接比较，导致误判。
现在分别记录 configured_group_id（用户选择）和 group_id（解析后的实际ID）。监控用配置快照检查真实选择是否变化，创建任务继续使用已解析的实际ID；解析期间选择变化也拒绝启用旧计划。没有删除保护，也没有把自动选择强制改成手动分组。

补充账号规则保持：每次启动默认未勾选；勾选即独立监控，不足目标即补，达到目标暂停，跌破再补；在途任务预留名额，已结束/待核对任务不再永久占补充预留。取消或停止新增关闭监控，不强杀已发请求。手动开始每次仍创建填写数量的完整批次，只更新已开启监控的目标数量。
晚到邮件接续、评论缺账号后自动续发、已验证身份核对与窗口关闭、CapSolver规则均保持。本轮未改解题或邮件解析源码。

验收新增真实非空ID及完整分组解析链路的离线夹具，覆盖自动选择、显式选择、真正改组、解析中改组、取消/停止、重复tick、达到后再跌破与手动完整批次。
不代用户真实注册、收信、评论、访问验证链接或付费解题；线上业务效果仍需用户测试。

三份产物同版本：更新ZIP不覆盖data；新用户完整ZIP无data与个人信息；本机独立目录使用已退出4b的双锁一致快照，保留账号、任务、配置和本机授权。个人数据只留本机dist，旧目录和桌面入口不覆盖，两版分时运行、数据不自动同步。
本机版链接打开文件夹，请使用目录内“新版”快捷方式启动。启动后补充账号仍默认关闭，填写目标数量后勾选即可，无须先点开始注册。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 已结束任务不再阻挡账号补充
版本：20261020_replenish_finished_4b9d7e12，基于2d8f6a40代码。

本次修复：补充账号的预留数只统计真正排队、执行中或等待计划重试的注册/验证任务（pending/running/retry_wait）。失败、已结束、待核对、停止、中断及非调度暂停任务，不再占补充预留。
例如目标5，账号列表已有4个完成账号，另1个提交结果未知的任务已经结束：现在会建立1个全新身份的补充任务；下一次检查会把这个新在途任务计入预留，不会每次检查都再建一个。若原第5个仍在实际运行，则继续等待，不重复排队。

原异常任务、邮箱、用户名、提交意图和匹配邮件全部保留；补充不会重新提交旧账号，也不删除旧环境或重置验证次数。新账号生成仍排除历史身份，已有提交/验证的防重复保护不变。
若旧任务随后又验证成功，账号数可能暂时超过目标；程序会停止新增补充，不会自动删除成功账号。环境总名额仍受原20个上限约束，旧环境保留并不等于释放物理名额。

保留2d提交异常后的晚到邮件接续修复与显式“继续验证”；用户停止的任务不因升级自动继续。保留7e独立补充（每次启动默认不勾选，勾选后即监控）及评论自动续发、5c/8a原有修复。CapSolver触发和邮件解析不改。
使用时先退出旧版，从本机目录“新版”启动；任务数量设置为所需目标，再勾选“补充账号”。手动“开始注册”仍创建完整批次，仅更新已开启监控的目标。

本机数据来自用户实际使用且已退出的7e最新独立一致快照（用户尚未使用2d），保留原任务、匹配邮件、配置与本机授权。源/目标双锁复制、14表一致，旧目录不覆盖；两版分时运行、数据不自动同步。个人数据只保留本机dist，不得外发。新用户完整ZIP空数据、更新ZIP不覆盖data。
本轮只进行离线模拟、补丁回滚、真实界面虚构数据和实际EXE回归；没有代用户真实注册、收信、打开验证链接、评论或付费解题。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 提交异常后的匹配邮件接续修复
版本：20261020_late_mail_resume_2d8f6a40，基于7e4b1c93。

已确认的漏洞：注册请求发出后，任务因通用执行异常转为待人工确认；验证邮件后来已被收取、严格匹配并关联原任务，但旧代码只唤醒带特定“提交结果待核对”标记的任务，漏掉未带该标记的执行异常任务。

本次修复：
1. 对已记录注册提交意图、执行异常/超时、尚未开始任何验证周期、原环境可用且空闲的原任务，匹配邮件到达后接续原任务验证，不再次注册、不创建重复账号。
2. 仍需严格收件地址、邮箱基线、唯一验证链接及邮件解析条件；身份不符、邮件有歧义、已发过验证请求、已有验证记录、次数用尽、环境清理/替换未确认等不自动恢复。
3. 用户点停止新增或退出后，任务保持停止，不会因升级自动请求链接。对已关联邮件且符合条件的异常任务，任务行显示“继续验证”；用户主动点击后才释放停止状态，沿原邮件验证，原次数不重置。也可使用“继续未完成”。
4. 新增脱敏异常类型、阶段、内部模块/函数/行号定位；不记录异常原文、局部变量、密码、API密钥、Cookie或验证URL。最初页面异常具体原因尚未从旧日志确定，不宣称该原始异常已经根治。

针对旧版已收到邮件的异常任务：请保留原任务，在修复版本机目录正常启动，检查连接后，在原任务行点击“继续验证”。这是继续已收到的邮件，不是再次点击“开始注册”。仍须核对登录身份和环境/PID；成功与关窗结果以新日志为准。本轮不替用户执行真实验证。

保留7e独立补充（每次启动默认关闭、勾选即监控，手动批次只更新阈值）、缺账号评论自动续发及5c/8a既有修复。CapSolver触发、邮件解析和服务API未改。
本轮只进行离线模拟、回滚、界面和成品验收，不真实注册、收信、评论、付费解题或打开真实验证链接。
本机测试目录使用取得双实例锁后的现用7e最新一致快照，保留任务、匹配邮件记录、配置与本机授权。原数据不覆盖，两版分时运行、不自动同步。个人数据只在本机dist，不得外发。新用户完整ZIP空数据，更新ZIP不覆盖data。


以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 独立补充账号与评论自动续发
版本：20261020_independent_replenish_7e4b1c93，基于5c9e2a71。

1. 补充账号每次启动默认不勾选、不恢复上次启用状态。勾选后独立开始监控，无需点击开始注册，也不要求完成数曾经达到目标。
目标使用勾选时实际填写的任务数量；账号列表完成数低于目标时补足，等于或高于目标时不新增补充任务，后续跌破再补。计算缺口时扣除已在途注册/验证及未知提交预留，避免重复排队和重复注册；仍受环境名额、并发、邮件、连接和授权保护。
取消勾选关闭后续监控新增，已建立任务不重复创建，也不强行中断已发送请求；停止新增按原有安全规则停止注册并关闭监控。取消/停止能使排队或等待中的旧启用请求失效，不能在稍后重新开启。
每次手动点击开始注册仍创建填写数量的完整批次。手动按钮不负责启用/关闭监控；监控已启用时只更新其数量阈值，不改变监控采集的其他设置。监控未启用时仍保持关闭。

2. 评论任务仅因没有可用账号、已完成清理而暂停时，检测到账号列表重新出现已验证、已绑定、环境已创建且未占用的账号后，自动继续原任务。保留原房间范围、轮数、房间/条数游标，已处理部分不重发。不自动恢复用户停止、待人工核对、发送结果不明、清理未完成、账号占用或授权被阻止的任务。

3. CapSolver触发逻辑本次未改，源码核对和离线测试确认：先启用设置，再检测整页挑战、可见表单挑战控件或明确人机验证提示，才进入解题流程。单纯提交转圈、隐藏响应字段或普通页脚文字不会触发解题。表单挑战已具备有效结果时不再解题。
提前安装参数采集钩子不等于提交付费解题任务。表单解题需有效API密钥及唯一Turnstile参数；整页还需配置CapSolver可连接且与浏览器同出口的公网代理；无代理时不创建整页付费任务，保留人工处理。离线检查不等于真实服务的成功率验收。

保留5c年龄/提交前发布/推荐跳过/验证后当前页身份核对修正及8a原生验证初始化修复。未代用户真实注册、收信、发评论、付费解题或操作现有比特窗口。
本机目录独立复制现用5c的最新一致数据与本机授权，仅存本机dist。旧目录/旧data/桌面入口保持不变，两版分时运行、不自动同步。新用户完整ZIP空数据，更新ZIP不覆盖data。
请先退出旧版，从本机目录“新版”启动，确认任务数量及注册资料后再勾选；建议先用目标1小量测试。不要恢复旧的未知提交。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 注册推荐页及验证收尾优化
版本：20261020_registration_finish_5c9e2a71（基于8a6d2f91）

本次一起调整四处已确认流程问题：
1. 已出现且可操作的18岁确认优先处理，再进行原有账号检查。不跳过可见挑战、停止保护或已有登录拦截。
2. 填写核对和准备提交两个阶段不再重复生成完整界面快照；提交前真实值核对、可操作性检查、持久提交意图仍保留。
3. 识别“哪些女主播让您动心了？”推荐弹窗后，先尝试“跳过”再核对被遮挡的账号菜单；增加唯一精确文字定位兜底。一次点击，回执丢失不重复点击。关闭弹窗不等于注册或身份验证成功。
4. 普通注册的邮件验证已成功后，在当前就绪首页核对用户名和同一文档，不再默认刷新首页或重新判定邮件验证。匹配后仍执行原有环境/PID/关闭确认；身份未知、错误账号、文档变化仍保留窗口，不强制关闭。

保留8a原生Turnstile初始化修复及既有CapSolver配置、安全提交、邮件、授权、评论与补充账号规则。目标5：达到5后降到4才补，等于或大于5不补；每次手动点击仍创建填写数量的完整批次。
本版验证为离线模拟和成品回归，不代用户执行真实注册、收信、付费打码或关闭现有比特窗口。网络、邮件转发、服务器和打码服务耗时不由此消除，不保证瞬时完成。
上版用户实测5个邮箱验证成功；一个窗口因登录身份未确认而保留，不能把“邮箱已验证”当成“登录身份已匹配”。本版仍保留此安全原则。

本机测试目录沿用实际使用8a的数据独立一致快照，取得源/目标实例锁后复制并校验；旧数据不覆盖，两版分时运行、数据不自动同步。仅本机测试目录包含个人数据和本机授权，不得外发。
新用户完整ZIP不含data；更新ZIP不覆盖data。首次测试建议只建1个新任务，不自动恢复旧的未知提交。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 20261019_native_turnstile_age_8a6d2f91
基于4e。修复采集脚本提前声明window.turnstile造成原生客户端误判已加载、API保持undefined的初始化冲突；不再预定义该全局，等原生API完成初始化再被动观察render。没有绕过年龄确认或挑战，也未改变解题API、代理、邮件、评论、补充账号与授权规则。
年龄页：主页控件已可操作且未出现可见挑战时，不再先等待无关DOM加载；仍只点一次“我已经年满18岁”，并读回是否消失。未就绪/挑战/明确重置仍走原等待路径。模拟延迟夹具5秒降至0秒，不代表承诺线上零延迟。
保留4e关窗不自动重开、未知结果180秒待核对与不重放请求保护。
完整原生客户端全离线对照：旧版API undefined→修改版object/render function且已包裹→回滚恢复undefined；同输入年龄模拟5→0→5秒。真实Chrome额外11场景全部本地拦截，解题均替身，无真实注册/收信/解题付费请求。线上注册结果仍需新任务验证。
网页UI/desktop/ui_check未改，界面610/608和7布局复用4e验收，明确不是本轮新测；核心源码和EXE内嵌回归及17组件为本轮新测。
本机版使用用户确认停止并退出后的4e最新独立一致快照，原数据/旧目录/入口不动，配置和授权只在本机dist；两版不自动同步、请分时运行。原任务保持停止，不重复提交旧转圈页面；旧浏览器页已受旧钩子影响，使用新任务窗口验证新版。
更新ZIP不包含data且不覆盖数据；新用户完整ZIP为空数据无个人配置。本机目录严禁对外分发。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 20261019_submission_guard_4e8c1a73
基于b7，同样的补充账号规则和CapSolver设置保持，不改授权、邮件、评论或代理配置。
1. 原窗口已关闭时，提交轮询不会自动重新打开；同PID连接掉线仍可重连。
2. 无可见挑战、结果连续180秒未确认时，结束主动轮询转待核对，保留原账号和未知提交预留；不会刷新或重新提交，不会凭转圈开始邮件验证。晚到的匹配邮件仍可按原任务继续。
3. 等待30秒给出写请求待响应/已响应/失败次数与HTTP状态；不保存URL、请求内容、响应正文、Cookie或令牌。写请求不一定是注册接口，计数不等于注册成功。
4. 可见挑战仍沿用人工等待；本轮未重现最初五个窗口的网络过程，因此未证实网站转圈根因，不能承诺修复网站请求本身。没有执行真实注册、邮件验证或付费解题。
5. 本机测试目录复制已退出b7的独立一致快照，保留账号、任务、配置与本机授权，旧目录不覆盖。旧任务保持停止，不会自动重提。两版数据不自动同步，请分时运行。
离线验收与回滚证据在CHECKS；网页资源未变化，UI仍执行隔离自检。更新包不覆盖data，新用户完整包不含data或个人资料。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 补充账号达到目标修正 b7c2e9a1（基于6d2b9a74）
1. 本次将“完成账号严格超过目标才能观察”修正为“完成账号达到或超过目标就进入观察”。目标5：完成数达到5即可；随后降到4补1，等于5不补，大于5不补。补到5后继续观察，再降到4仍补1。
2. 仍监控账号管理列表里的完成账号（已验证且环境未删除）。首批尚未达到目标时只等待原任务，不额外重复注册；进行中与未知提交任务预留数量，避免等待验证期间重复补号。补充成功仍依赖实际注册和邮件验证。
3. 每次手动点击开始注册都按填写数量创建完整批次，不扣减已有账号；勾选后首次点击启用监控，以后点击按当次数量更新监控目标。同目标保留“曾达到”的记录，改目标按新目标与当前完成数重新判断。取消勾选后再点击会关闭监控但仍建立完整批次。
4. 停止新增会关闭监控；重启不自动开始监控。原20环境名额、连接/监听、输入检查、停止保护和在途预留保持，不自动删除用户账号或环境。
5. CapSolver设置/加密/表单与整页接口、普通注册10并发/独立验证不占10、邮件流水线、评论、采集及授权心跳均未改。真实打码、线上注册和持续补号尚未验收；未执行付费请求或真实业务。
6. 用户确认尚未使用6d版，实际现用3f版已退出。因此本机独立目录使用3f最新数据的双锁一致快照，不从未用6d目录复制。旧目录/数据/入口保留，两版数据不自动同步，请分时运行。
7. 更新ZIP不含data，不清空或覆盖用户data；新用户完整ZIP无data和个人信息。仅本机测试目录含用户账号、任务、配置、本机授权及加密CapSolver设置。旧6d说明中的“必须严格超过”“仅到5再跌4不补”作废，以本说明为准。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 补充账号阈值修正 6d2b9a74（基于3f8a1c62）
1. “开始注册”每一次点击都按任务数量填写的值创建完整批次；第一次、第二次以及以后都相同。勾选补充账号不再把手动批次改成缺额，已有账号和在途任务都不会扣减手动批次。仍受原20环境名额、连接和输入校验限制。
2. 补充监控与手动批次的数量、进度分离。沿用勾选后首次点击开始注册启用监控；以后每次点击都按当时任务数量更新监控目标，同时仍创建完整手动批次。同一目标保留“曾经超过”的历史；目标改变后按新目标与当前完成数重新判定，当前未超过新目标则重新等待。取消勾选后再点击开始注册会关闭监控，但仍创建完整手动批次。
3. 仅监控账号管理列表的完成账号（已验证且环境未删除）。目标为5时，完成数必须曾严格大于5，例如6，才启用跌破后的补充；仅到5不启用，之后降到4仍不补。
4. 曾超过后，完成数低于目标才补足缺额。例：6→5不补，6→4补1；补到5后继续观察，再降到4仍会补1。进行中注册、独立验证及未知提交待核对的任务预留数量，不在等待验证期间反复补号；不会取消或缩减原手动批次，原任务后续成功可能使列表超过目标。
5. 首批尚未完成/失败导致完成数从未超过目标时，不提前补充。连接、监听、名额不足时等待，不自动删除账号/环境。手动点击的完整批次若超过剩余环境名额会明确拒绝，不偷偷改小数量。
6. “停止新增”关闭监控并沿用原任务停止保护；重启不自动恢复监控。复选框选择仍保存，未勾选时手动注册行为不变。
7. CapSolver设置/加密/表单与整页接口、普通注册10并发/独立验证不占10、邮件流水线、评论、采集、授权和心跳均保持3f版。没有执行真实注册、收信、打码付费或代理部署。本版覆盖上一版“首批按缺额创建”的补充说明，以本说明为准。
8. 更新ZIP保留用户data；新用户完整ZIP无data和个人信息；本机测试目录仅在用户确认退出3f后取得双实例锁复制最新一致快照。旧目录/数据/入口保留，新旧数据独立、不自动同步，请分时运行。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · CapSolver 与补充账号 3f8a1c62（基于 c6f4a2e8）
1. 删除“可见窗口”“最多10个注册并发”两段说明，右侧新增 CapSolver 设置；实际普通注册并发上限10及独立验证不占10保持。
2. CapSolver 默认关闭。弹窗保存 API 密钥、启用开关，以及选填整页 CF 公网代理；密钥和代理使用当前 Windows 用户 DPAPI 加密保存在 data/capsolver_settings.json，不回传界面、不记录明文。留空沿用，代理可勾选清除。不会测试密钥或自动消耗余额。
3. 开启后在原注册窗口发现表单 Turnstile 时调用 AntiTurnstileTaskProxyLess，回填结果并触发原回调，注册成功仍由原流程核验。仅支持 Cloudflare Turnstile，不宣称支持表单里的 hCaptcha/reCAPTCHA。参数不明确、页面变化、停止、服务失败或超时保留人工，不自动重试付费任务。每个流程同 URL/挑战阶段最多尝试一次。
4. 整页 CF 使用 AntiCloudflareTask，代理以后购买再填；必须是 CapSolver 可连接的公网固定/粘性 HTTP 或 SOCKS5 代理，并与当前比特节点出口一致。只填写该项不会自动改变比特/Clash 节点。不是任意另一个代理都能用，同一公网代理不能用于不同出口节点的并发任务。127.0.0.1/内网代理拒绝，未填不会创建整页付费任务。返回 UA 不一致不套用结果。提交前仅 GET 导航、提交后不刷新重放注册 POST，仍由原流程观察或人工完成。
5. 秒数后新增“补充账号”，默认不勾选，勾选选择会保存。勾选后点击开始注册，任务数量作为账号管理列表的目标数量（列表实际为已验证且环境未删除的账号），已有数量计入，只新建缺额。进行中/未知提交待核对的任务单独预留数量，避免验证期间重复补号。
6. 达到目标后观察；已验证账号减少时按缺额建立新任务，补足后继续观察。连接/监听/名额不足时等待，不自动删除失败账号或环境；未知提交保留预留，需人工核对或删除后再补。实际补充成功仍依赖注册和邮件验证，不能保证成功率。
7. 点击“停止新增”关闭补充监控，现有任务按原停止规则收尾。重新启动软件不自动恢复监控，需再次点击开始注册；勾选框开关用于下一次开始注册参数，运行中停止监控请点停止新增。关闭补充功能时原固定批次注册行为不变。
8. 原c6流水线、邮箱独立验证、评论、采集和授权/心跳保持；未执行真实注册、收信、节点部署或真实 CapSolver 付费请求。此次验收为源码/实际成品离线回归、原生界面和真实Chrome离线虚构挑战，不代表线上端到端通过。
9. 更新包不含data，不能清空用户data；新用户完整包无data/个人配置。仅本机测试目录保留c6退出后双锁复制的最新账号、任务、配置与本机授权快照；不外发、不同步，请分时运行。旧目录和桌面入口保持。
接口依据：https://docs.capsolver.com/en/guide/captcha/cloudflare_turnstile/ 与 https://docs.capsolver.com/en/guide/captcha/cloudflare_challenge/（2026-10-19核对）。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 注册流水线优化 c6f4a2e8（基于 b9e4a6d2）
1. 普通注册仍最多10并发；独立邮箱验证不占这10个名额，也没有共享10窗口限制。环境总名额20的原规则不变（手动环境仍不计入）。
2. 匹配邮件持久化后唤醒原任务，待执行的验证优先于新注册；原任务不拆成第二个验证任务。只中断只读等待，不取消正在进行的注册/验证写操作。
3. 可见可用关键控件可先操作；填表后固定1.2秒改为条件检测，提交后固定0.5秒移除。验证链接使用DOM就绪；明确成功结果可在interactive阶段识别。无明确成功证据仍等待，未知不当成功。
4. 无可选推荐窗时不再为了等它出现额外等满30秒；实际弹窗/挑战仍处理。CF完成后1秒防重复保护及主页黄条消失1秒稳定确认、完整加载保护均保留。
5. 同一环境操作复用改名后的新鲜详情，保留写后读回、归属/PID核对、分组身份检查及API原限速。不做跨任务或跨账号长期缓存。
6. 新增本地脱敏阶段审计与分离统计；账号删除后统计保留。仅统计本版本有记录的任务，包含待人工/停止样本，不等于真实网站注册成功率，不追补旧版历史。没有保存邮箱、用户名、口令或验证链接。
7. 邮箱监听断开时，已落库的有效匹配邮件可继续验证；没有监听就绪不启动新注册。歧义、停止、授权、单次验证意图和恢复核对规则保持。
8. 不接入打码服务；验证码仍由人工在原窗口处理。未执行真实注册、收信、部署、评论或业务删除，不承诺线上成功率或端到端提速比例。
9. 新旧版data独立、不自动同步，请分时运行。更新包不含data；新用户完整包不含个人数据。本机测试版保留b9退出后取得双锁的一致数据副本，仅留本机，不可外发。

以下保留历史通用说明；本版新增/变更规则以上文为准。
版本20261019_bridge_callback_b9e4a6d2，基于7d2f8c4a，仅修复本程序窗口的异步回包交付。
页面重载会替换JS回调表；旧页面的Python回包到达时，接收函数可能已不存在。现在仅对pywebview返回回调脚本，在同一JS执行中检查函数是否仍存在，再交付结果；原页面已失效/结果已交付的重复回包不再调用空函数；窗口已关闭的回包不再投递。
有效回包仍交付一次，网站/业务错误内容不改写；当前回调执行错误和普通evaluate_js错误仍然暴露，不全局吞异常、不关闭错误日志、不改第三方安装目录。正常刷新频率/账号/评论/任务/退出/排序规则保持7d。
生产主窗口和离线自检窗口安装同一个保护。新增7项单元测试和原生WebView定向模拟：失效回包、有效回包、重复回包、真实当前回调错误可见、普通执行不变。
真实网站业务未执行。旧目录data和入口不覆盖；本机数据只在取得源/目标双实例锁后独立复制，分时运行，不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
版本20261019_shutdown_sort_7d2f8c4a，基于c5d9a3f2。
1. 软件正常退出时停止未结束评论任务，包括等待交接任务；保留进度，重开不自动续发。已发出的当前请求先核对结果，不强杀、不自动关闭或删除正常评论账号窗口。清理未完成保留待核对状态。
2. 评论间隔保持在每次发送之前，包括第一条；不是每条发送后再等待，最后一条不额外等待。网页加载、网络操作可能另占时间。
3. 房间状态、评论权限、类别表头保留分类升降序，各分类内部始终按在线人数降序；未知人数排后，人数列本身仍可升降序。刷新重新选房采用同一顺序，原选择数量和免费/付费配额不扩展。
4. 移除获取主播时保存的comment_allowed=False直接跳过分支；每次真正评论前，以当前任务账号的实时房间权限与状态检查决定。旧列表标记不替代实时检查，身份、封禁、付费资格及网站回执保护不放宽。页面/网络/旧适配异常显示具体固定原因，不再只显示权限、状态或发送结果未确认。
5. 本轮离线测试与成品验证，不宣称已实网复现用户03:06日志。旧日志无具体原因不能反推；不回写历史，不盲目重发结果未确认消息。
6. 三份产物同版本；本机目录双实例锁复制已退出c5的独立最新数据和授权，仅本机保留；旧目录/data/入口不覆盖，分时运行，不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 评论自动删除原因审计保留
版本：20261019_cleanup_audit_c5d9a3f2，基于a7c4e2b8。
评论触发自动清理时保留独立审计日志：窗口序号、当时用户名、原因（首次明确拒绝/网站账号受限/身份未确认）、清理编号及开始/完成/未完成结果。审计日志不挂在将被删除的任务上，不随账号、环境及关联任务删除而清空。
删除失败只显示删除未完成；已删成功但后续交接失败则明确区分，不把删除成功误写为失败；房间局部封禁、未实际提交的拒绝不触发整号删除或审计。删除策略、顺序换号、剩余房间和计数规则不改变。不会补造此前已删除的原因，也不改变日志列表原来的显示范围或清空规则。
源码/成品离线回归新测，新增9个删除审计专项；UI和采集及评论预检代码不变，相关验收复用旧版。未执行真实评论、真实关闭或真实账号删除。
用户确认a7退出后双锁复制最新14表一致独立快照、配置和本机授权，仅dist保留；更新ZIP保留data，新用户完整ZIP无个人数据。旧目录/data/入口不动，新旧分时运行、不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 评论直播状态与房间封禁原因修正
版本：20261019_comment_state_a7c4e2b8，基于8b3e9a61。
评论前检查不再把isOnline账号在线当作直播状态。明确idle/offline或isLive=false判下线；isLive=true或两个明确摄像头正值核验直播。缺少明确证据显示直播状态未确认，不直接说已下线。
当前账号在该直播间的封禁/禁言/访问受限优先于被遮挡的直播状态，显示房间受限，不误报主播下线或非公开；房间局部受限不等于网站账号整体受限，不因此删除整个账号。
仅保存最小布尔/状态预检证据，不存完整接口响应、Cookie或聊天正文。原累计10次刷新、刷新后清零、下轮重试、后台换号及任务窗口序号全部保持。
源码/成品业务回归及新增12个状态专项离线验证；UI和采集未改，相关检查复用旧版；未对用户列举的四条历史真实接口逐条复现，不能仅凭旧日志确认当时具体字段。
更新ZIP保留data，新用户完整ZIP空数据；8b版退出确认后双锁复制独立一致数据与本机授权仅本机dist。旧目录/data/入口不动，新旧分时运行、不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 任务账号显示窗口序号
版本：20261019_task_sequence_8b3e9a61，基于f6a2c8e4。
状态区任务账号格式：任务账号：窗口序号 / 用户名。窗口序号来自后台实际任务环境的真实Bit序号，不取准备账号的序号，不用列表序号冒充；未知显示—。
清理、清理未完成、等待可用账号和无任务状态不拼造窗口序号。准备账号与任务账号分离、后台确认交接、正常完成不换号等f6逻辑全部保持。
仅展示JS和ui_check修改，业务Python及采集JS保持。源码/成品回归与原生UI重新验收；采集36项复用d4，未执行真实业务。
用户确认f6退出后，取得双实例锁复制最新14表一致独立快照、配置与本机授权，仅在dist。更新ZIP保留data，新用户完整ZIP无个人信息；旧目录/data/入口不动，新旧分时运行、不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 准备账号与后台任务交接分离
版本：20261018_account_handoff_f6a2c8e4，基于d4e7b2c9。
下拉框标注准备账号，任务状态单独显示任务账号。手动获取、正常评论及正常结束不因临时占用换号。
异常清理/等待交接时不提前选成接手成功；清理失败显示清理未完成，没有账号显示等待可用账号。后台已确认B接手后只跟随一次，不因B忙碌再跳C；运行中手动准备另一个账号不改变后台任务。
真正删除/解绑/验证失效/环境不可用时，仅在非交接等待期间顺序选择下一可用账号；任务房间、进度和累计计数不由下拉框改动。
保留d4全部业务：下轮重试跳过房间、刷新尝试后异常数归0、换号不归0、开窗身份等待；未确认评论下一轮可能再次发送相同文字。
UI资源与ui_check变更，业务模块及采集JS不变。离线界面/业务验收不等于真实网站端到端测试。
更新ZIP保留data；新用户完整ZIP空数据；本机dist在用户确认d4退出并取得双锁后复制最新独立一致快照。旧目录/data/入口不动，新旧分时运行，不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 跳过房间下轮重试与异常刷新清零
版本：20261018_comment_retry_d4e7b2c9，基于c2d8f5a7。
跳过或未确认的房间不再保存为后续轮次的自动跳过名单；下一轮重新核验并尝试发送。当前轮跳过该房间剩余条数；同一次已提交/未确认事件不自动重发，日志及提交凭据仍保留。
未确认仅代表无法确认结果，上一轮可能已经发出，因此下一轮可能再次发送相同内容。
旧任务携带的uncertain_rooms在继续执行前清除；旧累计/检查点换算成尚未消费的异常数。
普通异常每累计10次触发刷新，刷新尝试完成后计数归0，成功/失败均重新累计；成功发送本身不清零。原范围/轮数/评论账号清理换号/停止保护不变。
修改coordinator业务模块和采集JS及相应测试，UI资源保持。手动新开窗口后的已有网站标签也等待身份就绪，明确错号立即停止；仍未知则有界等待后报错，不绕过核验。源码/成品业务回归及36项采集专项新测，UI明确复用c2，不冒称真实网站验证。
更新ZIP保留data；新用户完整ZIP无个人信息；本机dist在用户确认c2版退出并取得双锁后复制独立一致快照，旧目录/data/入口不动。新旧分时运行，不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 时间同排与获取账号保持
版本：20261018_clock_account_c2d8f5a7，基于93b4a6d1。
上次获取时间和距今在主播筛选右上角同一排，范围说明仍在原标题后同一行。
修复手动获取主播期间环境临时被本次采集占用而误选下一账号；获取完成释放后继续保持原账号。真正失效、解绑或删除仍沿用跳过逻辑；评论自动换号不变。
仅界面JS和CSS修改，EXE及Python/采集代码字节复用。业务1090回归与30采集专项复用71，界面与本次账号专项新测，不代用户执行真实业务。
更新ZIP保留data；新用户完整包为空数据；本机目录使用退出93版后双锁独立快照。旧data/目录/桌面入口不动，新旧分时运行、数据不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 主播范围说明恢复单行
版本：20261018_streamer_scope_93b4a6d1，基于71d6e8a4。
“（在线中文女主播及情侣主播 · 合计前 N 名）”恢复到“主播筛选”标题后面，保持原来的同一行，不另起一行。
上次获取时间和距今仍保留在模块右上角，使用紧凑两行时钟列避免挤压原说明。
只调整展示JS和CSS；EXE原字节复用，Python模块、采集JS、业务与数据规则不变。
保留默认10分钟可填且启动不勾选、自动原默认最多5个公开免费、账号下拉真实窗口序号、日志用户名、手动注册及全部既有保护。
源码/成品隐藏界面及七种布局重新验证；1090业务回归及30采集专项因相同代码明确复用71，非本轮新实网测试。
更新ZIP保留data；新用户完整包无data/个人配置/授权；本机dist为退出的71版双锁一致独立快照，新旧分时运行、不自动同步，旧目录/data/桌面入口保持。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 自定义刷新分钟与获取时间
版本：20261018_streamer_interval_71d6e8a4，基于4c7e2a19，保留手动注册及其他功能。
自动获取／刷新每次启动仍默认不勾选；新增分钟输入框，默认10，接受1–1440整数分钟。
自动一轮完整成功后按填写的分钟等待下一轮，不重叠、忙碌让位；只修改间隔不会取消当前轮或立即重新获取，按最近成功完成时刻重新计时，进行中的轮次完成后使用新间隔。
主播筛选右上角显示上次成功获取时间和距今多久，手动/自动成功以及原评论异常刷新成功都会更新；开始、失败、取消不更新。时间随列表保存，重启可继续显示；首次升级旧名单没有历史时间则显示暂无，不伪造时间。悬停可看完整日期和后台状态/异常。
按用户补充要求，自动获取成功后沿用原手动默认勾选：清除旧勾选，按当前显示顺序勾选最多5名在线公开免费主播；不自动发送评论，不改正在执行的任务、房间范围或剩余进度。评论任务自身原选择保护保持。
8路及100ms起始节奏、完整核验、两类中文合计前N、身份暂停、网络失败90/180/300秒退避保持。10分钟是正常成功后的刷新间隔，不替代失败退避。
更新ZIP保留data；新用户完整包无data或个人配置/授权；本机dist从退出的4c版双锁复制独立一致快照，旧data/目录/桌面入口保持，新旧分时运行、不自动同步。
离线、隐藏界面及实际成品检查不等于真实网站长期联调；本轮不执行真实注册、收信、环境创建删除、评论或写剪切板。

使用账号下拉显示比特真实窗口序号 / 用户名，无有效序号显示—，不拿列表编号代替。日志账号标识改为用户名，前面的窗口序号保留；未知用户名显示用户名未确认，不猜邮箱前缀，不修改邮箱数据或追改历史日志。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 自动开关位置调整
版本：20261018_streamer_toggle_4c7e2a19，基于a8f3d672。
仅将“自动获取／刷新”开关移动到“获取主播”按钮前面，同一行相邻显示。刷新状态提示仍在主播列表上方。
仅HTML/CSS变化；复用a8原字节EXE，Python模块、采集JS、自动刷新、手动注册、授权心跳及全部业务逻辑不变。
源码及成品隐藏界面新测，另新测七种布局的开关在按钮前/同一行；业务1080项与采集30专项因相同代码明确复用a8验收，不冒称新实网测试。
自动开关每次启动默认关闭，原8路/100ms起始节奏、每轮完成后45秒、忙碌让位、保留勾选/不勾新人/不改变评论任务规则保持。
更新ZIP保留data；新用户完整包无data或个人配置/授权；本机dist使用锁定a8数据独立快照，只留本机，旧目录/桌面入口保持，新旧分时运行、不自动同步。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 主播自动获取与后台刷新
版本：20261018_streamer_auto_a8f3d672，基于6e9c4b21，保留手动注册全部功能。
自动获取／刷新默认关闭，每次启动需自行开启。选择已验证、已绑定账号，并打开原账号窗口，启用后确认身份并自动首次获取；后台不创建、重开或切换替代环境。
每轮完整核验结束后等待45秒再次获取，忙碌让位，不重叠；网络失败保留旧列表，90/180/300秒退避，身份异常暂停，需要核对后关闭再开启。
中文女主播和情侣主播两类合计前N，原中文、类别、直播、权限、详情身份和窗口PID核验保持。每类最多4路有序详情预取，两类总计最多8路，所有请求全局起始间隔100ms。
完整成功后统一更新人数、状态、权限、类别和新候选。仍存在的勾选保留，新主播不自动勾选，不自动发评论、不改当前评论任务或累计10次异常刷新逻辑。
修改账号、人数和筛选后按新条件重新获取，旧代次响应不覆盖。显示上次自动成功时间及异常；不是0延迟推送。
离线夹具与隐藏WebView2测试不代表真实网站长期限流或端到端速度验收；本次没有执行真实业务操作。
更新ZIP需退出软件、备份后完整覆盖并合并_internal，不删data。新用户完整包无data、账号、个人配置或本机授权。dist独立快照只留本机，新旧分时运行、数据不自动同步；旧目录和桌面入口保持。
剪切板广告排查继续暂停。生产复制与授权心跳保持。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 手动环境清理与名额隔离版
版本：20261018_manual_cleanup_6e9c4b21
1. 手动注册不占20个自动注册名额；注册名额20/20时仍可手动创建。旧版有明确手动命令来源的环境也自动剔除。比特浏览器自身套餐窗口上限仍然适用。
2. 程序运行且连接就绪时，约5秒周期检查手动窗口是否已关闭；确认归属、无账号、无其他任务占用并再次核对关闭后，删除对应手动环境。不重开窗口、不验证账号；有成功账号或其他任务占用的环境不删。删除结果未知保留记录，不重复发送删除。
3. 环境API的检查连接成功后，也会只读同步已在比特中手动删除的空闲环境；没有证据不释放，不删除其他环境。
4. 自动注册不复用手动环境；界面显示注册名额，手动按钮不受该数字阻止。
5. 保留开始注册与获取主播同尺寸、手动注册自动收信/生成邮箱/开主页后真实复制及读回、独立验证绑定当前窗口后关窗、已完成显示1秒后移出邮件队列、账号管理保留。
6. 剪切板广告问题按用户要求暂停排查，未宣称已修复。默认关闭会写入真实剪切板的诊断测试，生产复制机制不变。
验收采用虚构环境/邮箱、真实SQLite与本机WebView2/成品内嵌代码，未代用户执行真实注册、收信或删除比特环境。主播采集、授权心跳与运行库不变；相关既有专项复用，不称重新实网验收。
更新包不包含data、不清空用户数据；新用户完整包无data或授权。dist含本机独立一致快照，仅本机使用，新旧分时运行、数据不自动同步；旧目录/桌面入口保持。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 剪切板与自动收信修正版
版本：20261018_clipboard_listener_c84f2a60
1. 开始注册按钮与获取主播按钮实际宽高一致（96×28 CSS像素），仍与停止新增、继续未完成、手动注册同一行。
2. 点击手动注册后按原规则生成邮箱；未开启收信时自动启动并等监听就绪，已开启时复用，不重复启动。需已保存邮箱配置；收信失败/停止时不继续开窗。
3. 新窗口网站主页打开后才写入邮箱到系统剪切板，使用非空窗口句柄和Unicode数据；写入后延迟独立读回，不一致时有限重写，确认一致才弹出“生成的邮箱已复制到剪切板”。不能确认则明确报错，不再只有成功提示。
4. 剪切板最终复制失败时保留已打开的手动窗口供人工处理，不自动提交、关闭或删除它。手动关闭仍不触发额外核对。
5. 收到符合既有规则的邮件时由原独立验证队列处理；独立验证成功绑定/关窗、已完成显示1秒后移出队列、账号管理保留规则不变。
6. 主播、自动注册提交规则、授权/心跳及其他功能保持。旧版本、旧data与桌面入口保留；本机新旧版数据独立、不自动同步，分时运行。
7. 更新ZIP保留data；新用户完整ZIP没有data/个人配置/授权；dist个人数据与授权只留本机，严禁对外分享。
验收：旧7d复制在开窗前，使用“开窗会改写剪切板”的夹具复现最终内容不符；新版在相同夹具下真实Windows剪切板连续5次写入/读回一致。该夹具复现不等于已证明用户比特环境的唯一根因。源码与实际EXE隐藏界面还会写入虚构邮箱并由独立PowerShell进程读回比对；不创建真实比特窗口或执行真实注册/收信/网站请求。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 手动注册与独立验证版
版本：20261018_manual_mail_7d2e4a91
1. 开始注册缩小，同一行最右增加手动注册。
2. 手动注册使用当前勾选节点、原分组/名额/归属标记/窗口尺寸规则创建一个全新窗口，打开网站主页。
3. 按当前邮箱前缀、随机长度与后缀生成一个邮箱，复用原邮箱生成规则，复制到剪切板；下方提示：生成的邮箱已复制到剪切板。
4. 手动窗口不自动填写、提交、收信或验证；关闭后不自动重开核对。无需QQ收信配置，但邮箱生成输入必须有效。复制失败不创建窗口。
5. 独立验证成功后，读取页面唯一当前用户名；缺失邮件用户名时补齐，复核同一窗口PID/归属和登录身份，绑定当前验证任务的环境，成功后关闭窗口。已知用户名不符、重复账号、身份未知不强行覆盖，保留窗口待人工核对。
6. 账号管理保留成功账号与环境，窗口状态关闭；邮件验证队列先显示已完成约1秒，再移除该行（受500ms界面刷新影响）。关窗未确认则保留该行。底层历史与防重复验证记录保留，不重新处理同一邮件。
7. 主播获取、并发、自动首次获取、定时刷新均未修改；授权、心跳及既有业务保护保持。
8. 更新ZIP覆盖到原程序目录，保留用户data；新用户完整ZIP不含data或个人信息。请关闭软件后更新，完整目录一起使用。
9. 本机dist为独立一致数据快照，两版数据不自动同步，必须分时运行。不得将本机测试data/授权对外分发。
验收：源码/成品离线回归、隐藏WebView2界面、组件和基线/修改/回退事务；没有真实注册、收信、创建比特环境、发送评论或部署节点。系统剪切板沿用现有Unicode复制函数，专项以模拟剪切板核验参数与失败保护，未改动用户剪切板。

以下保留历史通用说明；本版新增/变更规则以上文为准。
小灰灰工具2.0 · 快速开始与回退（2026-10-07）

这是离线候选，真实注册、邮件、比特兼容及评论尚未验收。

打开：
1. 保留完整程序目录；复制或解压到新的独立目录，不覆盖旧版。
2. 双击 Demo.cmd 进入展示模式，使用虚构数据，不执行业务。
3. 双击 XiaoHuiHuiWeb.exe 是正常入口；不会自动收信或开展业务。
4. EXE 和 _internal 必须放在一起，不能只复制 EXE。
5. Windows 10／11 x64 不需安装 Python或独立 Chromium；缺少 WebView2 时按程序提示安装。
6. 新数据只在本目录的 data 中生成；包内没有旧数据或凭据。

本次验证：
实际 EXE 的 16 项组件、329 项界面检查，以及内嵌代码的 298 项离线测试通过。
详细记录见 OFFLINE_CHECKS.json、CHECKS 下的报告及交付记录。
本次提供独立程序目录，文件哈希见 FILES_SHA256.json；旧 ZIP 保留，未包含本次注册接入。
本机绝对路径演示快捷方式只供本机使用；换目录或换电脑用 Demo.cmd。
桌面已有同名快捷方式可能指向早期候选，查看本次版本请用本目录入口。

回退：
只打开过展示模式时，退出本次程序，打开旧 EXE／原快捷方式即可。
后续运行过真实任务时，先停止新增，等待当前任务收尾并正常退出；评论窗口按规则保留。
后续修改过代理部署时，再恢复旧订阅／脚本、重新应用并检查连接，然后启动旧业务。
不要在旧订阅中误点“删除部署”；需要自定义脚本时，从新版部署前备份恢复。
不要把新版 data 或数据库复制到旧版目录。保留本次候选以便复查，无需删除它。

下一步：
已包含注册网页代码接入、Web 版身份规则与60秒临时人工验证等待。
下一步先确认真实比特兼容，再逐项确认邮箱与单账号闭环；首次真实注册数量改为 1。
获取主播和发送评论留到对应模块，目标机验收仍需后续完成。
