[待验收] 修复淘宝登录误判并限次恢复图搜会话 #42

Open
opened 2026-10-09 09:24:21 +08:00 by ila · 1 comment
Owner

This was generated by AI during triage.

来源与现状

2026-10-09 用户反馈:运行 cmsp.exe 时淘宝登录检查有效,下载几个视频后提示“淘宝登录失效”,但同一专属 Chrome 刷新淘宝及“我的淘宝”仍为登录状态。用户已确认本工单的恢复与停止边界。当前实际触发原因尚未由运行日志证实;实施时先核对 exe 对应的代码版本与脱敏停止原因。

目标

仅在确认淘宝会话真正退出时提示“淘宝登录失效”。降低旧页面文案、Cookie 作用域或暂时性读取错误造成的误报;图搜会话异常可限次恢复。所有必要停批均保留 SQLite 断点、原视频记录及上传状态。

已确认方案

  1. 保留每批首次“我的淘宝”深度检查。后续正常商品只用当前页轻量守卫;仅出现疑似认证故障时,在同一 Chrome 实例/Profile 打开一个临时标签页核验“我的淘宝”,核验后关闭,原商品页不受影响。页面仅能打开而没有可靠登录证据时视为“状态无法确认”。
  2. 商品页单独出现“请登录”文案、或某个 Cookie 名称缺失,不直接认定退出;结合实际登录跳转、登录页特征、明确安全验证及服务端响应分类。Cookie 缺失先触发额外核验。
  3. MTOP 图搜返回明确 token/session 过期或缺失时,若核验仍登录,从当前 Chrome 会话读取适用于图搜请求 URL 的 _m_h5_tk,重新签名,对同一商品图搜最多自动重试一次。再次认证失败或仍无可用令牌时以“图搜会话异常”停批;明确 403/429、风控码、验证码或访问拒绝不重试。
  4. 修正当前 Network.getAllCookies 按 domainContains 取第一个同名 Cookie 的行为,按目标请求 URL 选择适用 Cookie。只临时读取签名需要的 _m_h5_tk;不缓存、不落盘、不输出 Cookie 值。
  5. CDP 读取当前页或 Cookie 名称失败时重读一次;仍失败则以“浏览器状态检查失败”停批。核验无结论时以“登录状态无法确认”停批。明确退出才报“淘宝登录失效”;连续正常详情无视频仍按现有阈值报“疑似风控”;明确登录/验证跳转及访问限制保持全局停止。
  6. 后端提供稳定的 stopReason/错误码,前端按码显示原因和恢复建议,不按中文文本分支。日志仅保留脱敏阶段、原因码、缺失 Cookie 名称、是否限次重试及停止原因,不输出值、完整页面正文、带查询参数 URL 或签名。

非目标

不自动登录、处理或绕过验证码/滑块,不轮换账号、Profile、IP,不循环刷新或轮询恢复,不重试风控响应,不改变并发、1688 来源、ERPGo 查询/上传、SQLite 表结构或视频选择策略。临时标签页不对每个商品打开;不能保证淘宝签发新 Cookie 或解除限制。

依赖、风险和回退

所属 MVP #5、Epic #2。以 #21、#22 已提交的停止门与批次守卫为基线;二者待人工验收但不构成本任务独立实现的真实阻塞。实施前检查工作区和运行 exe 版本。

高风险范围为登录判定、签名读取、MTOP 限次重试与全局停止门。一次恢复性请求可能增加淘宝访问量,严格限制为每次疑似 token/session 故障一次核验、一次同商品重试;任何无法确认的状态安全停批。回退本任务提交恢复旧逻辑,不迁移或删除数据。

当前 AGENTS.md 对“后续不再打开我的淘宝”和“图搜认证失败不自动重试”有常规限制;用户于 2026-10-09 明确确认仅疑似故障时的一次额外核验和一次重试。实施时将这个窄例外更新到项目专用规则与长期 Wiki。

验收

  • 模拟已登录但详情正文含“请登录”:不误报退出;明确登录跳转、登录表单和安全验证仍停批。
  • 疑似故障才创建同 Profile 临时页,核验后关闭,原页及状态保留;正常批次不增加“我的淘宝”访问。
  • 模拟 MTOP token/session 过期且核验仍登录:使用适用于目标 URL 的当前 _m_h5_tk 重签名,仅重试同商品一次;成功继续,二次失败报“图搜会话异常”。覆盖多个同名不同作用域 Cookie;无适用令牌时不发请求。
  • 模拟真正退出、核验无结论、CDP 连续读取失败、403/429/风控码、连续空详情:分别显示正确原因,风控零重试。
  • 所有停批路径不访问后续候选或商品,不增加无视频/失败数;SQLite 当前及后续商品、已下载视频、上传状态保留。
  • Go 单元与模拟批次测试、go vet ./...、前端与 Windows 构建、Harness 必要检查通过。真实淘宝会话与打包 exe 验证单独记录;未覆盖内容明确标记。

文档与设计

无新页面;小范围停止弹窗文案按码调整,以本工单文字流程作为设计证据,无完整 UI 原型。实施时更新 AGENTS.md 和 Gitea Wiki Business-Rules-and-Glossary、Architecture-and-Code-Map、Troubleshooting;验证/排错步骤若变化则更新 Local-Development-and-Verification。在线回读 revision 后同步核心 docs 镜像。无部署文档或任务归档影响。

状态

待实施。此步仅建单,不修改代码。

> *This was generated by AI during triage.* ## 来源与现状 2026-10-09 用户反馈:运行 cmsp.exe 时淘宝登录检查有效,下载几个视频后提示“淘宝登录失效”,但同一专属 Chrome 刷新淘宝及“我的淘宝”仍为登录状态。用户已确认本工单的恢复与停止边界。当前实际触发原因尚未由运行日志证实;实施时先核对 exe 对应的代码版本与脱敏停止原因。 ## 目标 仅在确认淘宝会话真正退出时提示“淘宝登录失效”。降低旧页面文案、Cookie 作用域或暂时性读取错误造成的误报;图搜会话异常可限次恢复。所有必要停批均保留 SQLite 断点、原视频记录及上传状态。 ## 已确认方案 1. 保留每批首次“我的淘宝”深度检查。后续正常商品只用当前页轻量守卫;仅出现疑似认证故障时,在同一 Chrome 实例/Profile 打开一个临时标签页核验“我的淘宝”,核验后关闭,原商品页不受影响。页面仅能打开而没有可靠登录证据时视为“状态无法确认”。 2. 商品页单独出现“请登录”文案、或某个 Cookie 名称缺失,不直接认定退出;结合实际登录跳转、登录页特征、明确安全验证及服务端响应分类。Cookie 缺失先触发额外核验。 3. MTOP 图搜返回明确 token/session 过期或缺失时,若核验仍登录,从当前 Chrome 会话读取适用于图搜请求 URL 的 `_m_h5_tk`,重新签名,对同一商品图搜最多自动重试一次。再次认证失败或仍无可用令牌时以“图搜会话异常”停批;明确 403/429、风控码、验证码或访问拒绝不重试。 4. 修正当前 `Network.getAllCookies` 按 `domainContains` 取第一个同名 Cookie 的行为,按目标请求 URL 选择适用 Cookie。只临时读取签名需要的 `_m_h5_tk`;不缓存、不落盘、不输出 Cookie 值。 5. CDP 读取当前页或 Cookie 名称失败时重读一次;仍失败则以“浏览器状态检查失败”停批。核验无结论时以“登录状态无法确认”停批。明确退出才报“淘宝登录失效”;连续正常详情无视频仍按现有阈值报“疑似风控”;明确登录/验证跳转及访问限制保持全局停止。 6. 后端提供稳定的 `stopReason`/错误码,前端按码显示原因和恢复建议,不按中文文本分支。日志仅保留脱敏阶段、原因码、缺失 Cookie **名称**、是否限次重试及停止原因,不输出值、完整页面正文、带查询参数 URL 或签名。 ## 非目标 不自动登录、处理或绕过验证码/滑块,不轮换账号、Profile、IP,不循环刷新或轮询恢复,不重试风控响应,不改变并发、1688 来源、ERPGo 查询/上传、SQLite 表结构或视频选择策略。临时标签页不对每个商品打开;不能保证淘宝签发新 Cookie 或解除限制。 ## 依赖、风险和回退 所属 MVP #5、Epic #2。以 #21、#22 已提交的停止门与批次守卫为基线;二者待人工验收但不构成本任务独立实现的真实阻塞。实施前检查工作区和运行 exe 版本。 高风险范围为登录判定、签名读取、MTOP 限次重试与全局停止门。一次恢复性请求可能增加淘宝访问量,严格限制为每次疑似 token/session 故障一次核验、一次同商品重试;任何无法确认的状态安全停批。回退本任务提交恢复旧逻辑,不迁移或删除数据。 当前 AGENTS.md 对“后续不再打开我的淘宝”和“图搜认证失败不自动重试”有常规限制;用户于 2026-10-09 明确确认**仅疑似故障时**的一次额外核验和一次重试。实施时将这个窄例外更新到项目专用规则与长期 Wiki。 ## 验收 - 模拟已登录但详情正文含“请登录”:不误报退出;明确登录跳转、登录表单和安全验证仍停批。 - 疑似故障才创建同 Profile 临时页,核验后关闭,原页及状态保留;正常批次不增加“我的淘宝”访问。 - 模拟 MTOP token/session 过期且核验仍登录:使用适用于目标 URL 的当前 `_m_h5_tk` 重签名,仅重试同商品一次;成功继续,二次失败报“图搜会话异常”。覆盖多个同名不同作用域 Cookie;无适用令牌时不发请求。 - 模拟真正退出、核验无结论、CDP 连续读取失败、403/429/风控码、连续空详情:分别显示正确原因,风控零重试。 - 所有停批路径不访问后续候选或商品,不增加无视频/失败数;SQLite 当前及后续商品、已下载视频、上传状态保留。 - Go 单元与模拟批次测试、`go vet ./...`、前端与 Windows 构建、Harness 必要检查通过。真实淘宝会话与打包 exe 验证单独记录;未覆盖内容明确标记。 ## 文档与设计 无新页面;小范围停止弹窗文案按码调整,以本工单文字流程作为设计证据,无完整 UI 原型。实施时更新 AGENTS.md 和 Gitea Wiki `Business-Rules-and-Glossary`、`Architecture-and-Code-Map`、`Troubleshooting`;验证/排错步骤若变化则更新 `Local-Development-and-Verification`。在线回读 revision 后同步核心 docs 镜像。无部署文档或任务归档影响。 ## 状态 待实施。此步仅建单,不修改代码。
ila changed title from [待实施] 修复淘宝登录误判并限次恢复图搜会话 to [进行中] 修复淘宝登录误判并限次恢复图搜会话 2026-10-09 09:29:19 +08:00
Author
Owner

#42 实施完成,提交并推送到 main:9462878f1429375e1415acbe174225b9fac677fe。

  • 首次深度检查保持不变;后续只有疑似认证故障才在同一 Chrome/Profile 临时页核验「我的淘宝」,核验后关闭。普通「请登录」文案或单个 Cookie 名称缺失不再直接判为账户退出。
  • 图搜按实际 MTOP URL 读取适用的 _m_h5_tk;明确 token/session 异常且临时核验仍登录时,同商品最多重签重试一次。403/429、风控码、验证码及访问拒绝不重试。
  • 新增稳定停止原因 image_search_session、browser_check_failed、login_unknown、detail_access_restricted;Go 全局停批,前端按码显示。模拟批次验证不继续后续商品、不增加失败数,原 SQLite 商品/视频/上传状态保留。
  • 测试:go test -mod=readonly ./...、go vet -mod=readonly ./...、npm --prefix frontend run build、wails build -m -nosyncgomod -o cmsp-issue42.exe、python dev_scripts/harness.py check --strict、python dev_scripts/harness.py sync --check、git diff --check 均通过。
  • go test -race ./... 未能运行:默认 CGO 关闭;启用 CGO 后所有包的测试进程在启动阶段以 Windows 0xc0000139 退出。正常测试通过,竞态检测未覆盖,需在具备可用竞态运行时的环境补跑。
  • Gitea Wiki 已更新并在线回读:Business-Rules-and-Glossary ffbb494、Architecture-and-Code-Map b9e2fd8、Troubleshooting eb2bb3d、Local-Development-and-Verification 8e29c87;核心 docs/ 镜像已同步并检查。无部署文档或任务归档影响。
  • 未访问真实淘宝会话、未执行真实批量下载或店铺写入;专属 Chrome 实际页面证据、临时页交互和打包 exe 的运行效果待人工验收。回退可撤销本提交,无数据迁移。
#42 实施完成,提交并推送到 main:`9462878f1429375e1415acbe174225b9fac677fe`。 - 首次深度检查保持不变;后续只有疑似认证故障才在同一 Chrome/Profile 临时页核验「我的淘宝」,核验后关闭。普通「请登录」文案或单个 Cookie 名称缺失不再直接判为账户退出。 - 图搜按实际 MTOP URL 读取适用的 `_m_h5_tk`;明确 token/session 异常且临时核验仍登录时,同商品最多重签重试一次。403/429、风控码、验证码及访问拒绝不重试。 - 新增稳定停止原因 `image_search_session`、`browser_check_failed`、`login_unknown`、`detail_access_restricted`;Go 全局停批,前端按码显示。模拟批次验证不继续后续商品、不增加失败数,原 SQLite 商品/视频/上传状态保留。 - 测试:`go test -mod=readonly ./...`、`go vet -mod=readonly ./...`、`npm --prefix frontend run build`、`wails build -m -nosyncgomod -o cmsp-issue42.exe`、`python dev_scripts/harness.py check --strict`、`python dev_scripts/harness.py sync --check`、`git diff --check` 均通过。 - `go test -race ./...` 未能运行:默认 CGO 关闭;启用 CGO 后所有包的测试进程在启动阶段以 Windows `0xc0000139` 退出。正常测试通过,竞态检测未覆盖,需在具备可用竞态运行时的环境补跑。 - Gitea Wiki 已更新并在线回读:Business-Rules-and-Glossary `ffbb494`、Architecture-and-Code-Map `b9e2fd8`、Troubleshooting `eb2bb3d`、Local-Development-and-Verification `8e29c87`;核心 `docs/` 镜像已同步并检查。无部署文档或任务归档影响。 - 未访问真实淘宝会话、未执行真实批量下载或店铺写入;专属 Chrome 实际页面证据、临时页交互和打包 exe 的运行效果待人工验收。回退可撤销本提交,无数据迁移。
ila changed title from [进行中] 修复淘宝登录误判并限次恢复图搜会话 to [待验收] 修复淘宝登录误判并限次恢复图搜会话 2026-10-09 09:50:44 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmsp#42