修复淘宝访问异常停止门并减少重复详情访问 #21

Open
opened 2026-09-29 10:06:31 +08:00 by ila · 1 comment
Owner

来源与确认

2026-09-29 用户反馈淘宝详情页提示“当前访问存在异常”,并在风控优化方案后明确要求“建工单,做”。本次以该指令作为实施授权;高风险记录,不增加独立审批。

目标与范围

识别明确风控/安全验证提示立即停止整批并保留 SQLite 断点;减少重复导航和同批重复详情访问,降低默认候选数和等待频率。

已确认方案与设计

  • 区分访问受限、登录失效与连续空详情疑似风控,使用稳定错误码/stopReason。明确异常页立即停止,不归类无视频,不自动重试或恢复轮询。
  • 保留每个商品前的深度登录检查;移除候选之间重复访问我的淘宝,保留详情页快速守卫。图搜遇到明确认证/风控失败也走全局停止门。
  • 默认最多检查 5 个同款,候选及商品等待 10~20 秒,页面加载等待保持不变。既有本机配置仅将本次已确认旧值 20/2/4 调整为 5/10/20,其他配置及凭据保留。不是平台公布安全阈值。
  • 正常详情结果按淘宝商品 ID 在同批复用,仅缓存可复用视频 URL/正常空结果,不缓存异常/凭据/页面正文;不新增持久化任务状态。缓存命中不增加连续空页面计数。已有成功下载的商品跳过搜索。
  • 当前商品在全局停止时恢复待处理或进入前状态,保留原视频记录、上传状态和未处理商品;不变更表结构。

非目标

不绕过验证码/安全验证,不自动登录,不修改签名算法或指纹,不轮换账号/IP,不承诺解除平台限制;不修改货憨憨上传,不清空历史无视频数据。

依赖与影响

所属 MVP #5、Epic #2。无待完成前置依赖;#20 已提交但待验收,本任务独立于 erpgo 查询,可在当前代码上实施。涉及 taobao/task/app/config 及现有提示文案。

风险与回退

高风险:登录判定、等待及全局停止门。减少候选可能降低视频命中率、延长批次时间。回退本任务代码提交及非敏感等待参数;不回退用户数据,不覆盖无关改动。保留工作区 go.mod/go.sum 和用户未跟踪文件。

验收与验证

  • 用户所述提示、访问受限路径、安全验证及登录重定向分类正确;正常详情不误判。
  • 首个异常停止后续候选/商品,失败数及无视频数不增加,SQLite 当前/已完成/未处理和上传状态保留。
  • 每个商品深度检查一次,候选不深度跳转;同批重复 ID 只访问一次,异常不缓存,批次结束失效。
  • 默认参数及旧配置兼容;等待可取消,停止不发后续页面请求。
  • Go 单元/集成模拟测试、vet、前端构建及 Windows 构建;不访问被限制的真实淘宝会话,不做真实店铺写入。平台恢复时长与实际风控下降由用户后续观察。

文档影响

更新 Architecture-and-Code-Map、Business-Rules-and-Glossary、Local-Development-and-Verification、Troubleshooting 中调用路径、参数及排错说明;Wiki 修改→在线回读→导出 docs→检查提交。无需 UI 原型,复用现有停止提示以文字技术设计为证据,无部署/归档影响。

状态

待验收

Gitea 访问方式

当前会话无可用 Gitea MCP,回退项目 WikiClient 的 Gitea API;凭据仅从用户授权环境文件载入进程,不输出或保存。

## 来源与确认 2026-09-29 用户反馈淘宝详情页提示“当前访问存在异常”,并在风控优化方案后明确要求“建工单,做”。本次以该指令作为实施授权;高风险记录,不增加独立审批。 ## 目标与范围 识别明确风控/安全验证提示立即停止整批并保留 SQLite 断点;减少重复导航和同批重复详情访问,降低默认候选数和等待频率。 ## 已确认方案与设计 - 区分访问受限、登录失效与连续空详情疑似风控,使用稳定错误码/stopReason。明确异常页立即停止,不归类无视频,不自动重试或恢复轮询。 - 保留每个商品前的深度登录检查;移除候选之间重复访问我的淘宝,保留详情页快速守卫。图搜遇到明确认证/风控失败也走全局停止门。 - 默认最多检查 5 个同款,候选及商品等待 10~20 秒,页面加载等待保持不变。既有本机配置仅将本次已确认旧值 20/2/4 调整为 5/10/20,其他配置及凭据保留。不是平台公布安全阈值。 - 正常详情结果按淘宝商品 ID 在同批复用,仅缓存可复用视频 URL/正常空结果,不缓存异常/凭据/页面正文;不新增持久化任务状态。缓存命中不增加连续空页面计数。已有成功下载的商品跳过搜索。 - 当前商品在全局停止时恢复待处理或进入前状态,保留原视频记录、上传状态和未处理商品;不变更表结构。 ## 非目标 不绕过验证码/安全验证,不自动登录,不修改签名算法或指纹,不轮换账号/IP,不承诺解除平台限制;不修改货憨憨上传,不清空历史无视频数据。 ## 依赖与影响 所属 MVP #5、Epic #2。无待完成前置依赖;#20 已提交但待验收,本任务独立于 erpgo 查询,可在当前代码上实施。涉及 taobao/task/app/config 及现有提示文案。 ## 风险与回退 高风险:登录判定、等待及全局停止门。减少候选可能降低视频命中率、延长批次时间。回退本任务代码提交及非敏感等待参数;不回退用户数据,不覆盖无关改动。保留工作区 go.mod/go.sum 和用户未跟踪文件。 ## 验收与验证 - 用户所述提示、访问受限路径、安全验证及登录重定向分类正确;正常详情不误判。 - 首个异常停止后续候选/商品,失败数及无视频数不增加,SQLite 当前/已完成/未处理和上传状态保留。 - 每个商品深度检查一次,候选不深度跳转;同批重复 ID 只访问一次,异常不缓存,批次结束失效。 - 默认参数及旧配置兼容;等待可取消,停止不发后续页面请求。 - Go 单元/集成模拟测试、vet、前端构建及 Windows 构建;不访问被限制的真实淘宝会话,不做真实店铺写入。平台恢复时长与实际风控下降由用户后续观察。 ## 文档影响 更新 Architecture-and-Code-Map、Business-Rules-and-Glossary、Local-Development-and-Verification、Troubleshooting 中调用路径、参数及排错说明;Wiki 修改→在线回读→导出 docs→检查提交。无需 UI 原型,复用现有停止提示以文字技术设计为证据,无部署/归档影响。 ## 状态 待验收 ## Gitea 访问方式 当前会话无可用 Gitea MCP,回退项目 WikiClient 的 Gitea API;凭据仅从用户授权环境文件载入进程,不输出或保存。
Author
Owner

最终实施与验证证据(2026-09-29)

状态:待验收。用户已授权建单并实施,未收到最终验收,不关闭工单。

实现结果

  • 页面明确异常提示/安全验证、punish 路径和 MTOP 风控响应立即停批,stopReason=risk_blocked;登录失效和连续正常空详情保持不同停止原因。异常页即使残留视频 URL 也不提取,不记无视频或单商品失败,不继续后续候选/商品,不自动重试或恢复轮询。
  • 每个商品深度检查一次,候选间取消我的淘宝导航并保留快速守卫;图搜首页出现限制时不发送 MTOP。签名算法和接口参数未修改。
  • 正常详情按淘宝 ID 同批去重/缓存 URL 或空结果;异常、读取失败和触发疑似风控的结果不缓存,缓存命中不增加空页面计数,结束清空。没有第二份持久化任务状态或表结构变更。
  • 找到视频后才写下载中;访问异常及取消等待不改当前原状态、视频记录、上传状态或后续商品。单商品成功记录且非空本地文件复用,批量保持完成商品跳过。已启动的下载完成后停止。
  • 默认候选 5,商品及新候选等待 10—20 秒;本机原 20/2/4 仅修改这三个数字。既有配置读取不自动覆盖。详情8秒/深度守卫3秒及视频文件并发2不变。参数不是平台安全阈值。
  • 此任务修复当前已有 R2-R4 流程,输入商品数据已具备,不依赖 MVP1 或 #20 的人工验收,故允许独立实施。

验证

通过:go test -race ./...、go vet ./...;用临时 -modfile 读取 Git 提交中 Wails v2.15 依赖运行 go test ./...,通过;npm --prefix frontend run build;Wails v2.16 Windows/amd64 构建;Harness check --strict、55项 Harness 单元测试、sync --check 与 git diff --check。

模拟页面+临时SQLite覆盖:明确提示、风控页残留视频、punish/login重定向、正常商品不误判、图搜token/session及风控错误、不同ID候选上限、正常空/有视频缓存复用、异常失败不缓存、等待取消、停批后原商品/视频记录/上传状态/剩余商品全等,以及单商品复用本地视频。

首次 race 检查遇到前端资源正在构建导致嵌入旧文件失败,以及旧注释断言不再匹配;调整执行顺序和对应注释断言后,最终重新运行全部通过。前端存在既有打包体积提示,不扩展为拆包优化。

未验证:真实淘宝恢复时长与风控发生率,Windows WebView2 运行界面及人工安全验证。未访问被限制的真实会话,未执行真实店铺上传/修改/删除。测试不能证明平台解除限制。已知体验影响:候选减少可能降低视频命中率,等待增加会延长批次。

提交与产物

代码及镜像提交 275b938b21379d554c553f4db18baacb46e29999,已推送 main。
本地程序 build/bin/cmsp21.exe,使用用户本机已有 Wails v2.16 依赖构建;没有将用户 go.mod/go.sum 升级混入提交。
工作区原 go.mod/go.sum、cmsp.code-workspace、cmsp.exe 均保留;config.yaml 含本机凭据且忽略,不提交。未创建任务归档。

长期文档

Wiki 修改并回读 revision,再导出镜像:

  • Architecture-and-Code-Map:6e4a9680d98c0bf634a8b1e40195551bdba03cdf
  • Business-Rules-and-Glossary:93e37d506753dcfaaf6b89770cf5342943a585ad
  • Local-Development-and-Verification:7b70ec840faeaa739a962d0dc9cf6932aa5cee0a
  • Troubleshooting:bc67a730d9eae1d350a4aa9b5884aeb031ca4dab
    镜像提交同 275b938b21379d554c553f4db18baacb46e29999,sync --check通过。无常驻部署变化、无UI原型/任务快照。
## 最终实施与验证证据(2026-09-29) 状态:待验收。用户已授权建单并实施,未收到最终验收,不关闭工单。 ### 实现结果 - 页面明确异常提示/安全验证、punish 路径和 MTOP 风控响应立即停批,stopReason=risk_blocked;登录失效和连续正常空详情保持不同停止原因。异常页即使残留视频 URL 也不提取,不记无视频或单商品失败,不继续后续候选/商品,不自动重试或恢复轮询。 - 每个商品深度检查一次,候选间取消我的淘宝导航并保留快速守卫;图搜首页出现限制时不发送 MTOP。签名算法和接口参数未修改。 - 正常详情按淘宝 ID 同批去重/缓存 URL 或空结果;异常、读取失败和触发疑似风控的结果不缓存,缓存命中不增加空页面计数,结束清空。没有第二份持久化任务状态或表结构变更。 - 找到视频后才写下载中;访问异常及取消等待不改当前原状态、视频记录、上传状态或后续商品。单商品成功记录且非空本地文件复用,批量保持完成商品跳过。已启动的下载完成后停止。 - 默认候选 5,商品及新候选等待 10—20 秒;本机原 20/2/4 仅修改这三个数字。既有配置读取不自动覆盖。详情8秒/深度守卫3秒及视频文件并发2不变。参数不是平台安全阈值。 - 此任务修复当前已有 R2-R4 流程,输入商品数据已具备,不依赖 MVP1 或 #20 的人工验收,故允许独立实施。 ### 验证 通过:go test -race ./...、go vet ./...;用临时 -modfile 读取 Git 提交中 Wails v2.15 依赖运行 go test ./...,通过;npm --prefix frontend run build;Wails v2.16 Windows/amd64 构建;Harness check --strict、55项 Harness 单元测试、sync --check 与 git diff --check。 模拟页面+临时SQLite覆盖:明确提示、风控页残留视频、punish/login重定向、正常商品不误判、图搜token/session及风控错误、不同ID候选上限、正常空/有视频缓存复用、异常失败不缓存、等待取消、停批后原商品/视频记录/上传状态/剩余商品全等,以及单商品复用本地视频。 首次 race 检查遇到前端资源正在构建导致嵌入旧文件失败,以及旧注释断言不再匹配;调整执行顺序和对应注释断言后,最终重新运行全部通过。前端存在既有打包体积提示,不扩展为拆包优化。 未验证:真实淘宝恢复时长与风控发生率,Windows WebView2 运行界面及人工安全验证。未访问被限制的真实会话,未执行真实店铺上传/修改/删除。测试不能证明平台解除限制。已知体验影响:候选减少可能降低视频命中率,等待增加会延长批次。 ### 提交与产物 代码及镜像提交 `275b938b21379d554c553f4db18baacb46e29999`,已推送 main。 本地程序 `build/bin/cmsp21.exe`,使用用户本机已有 Wails v2.16 依赖构建;没有将用户 go.mod/go.sum 升级混入提交。 工作区原 go.mod/go.sum、cmsp.code-workspace、cmsp.exe 均保留;config.yaml 含本机凭据且忽略,不提交。未创建任务归档。 ### 长期文档 Wiki 修改并回读 revision,再导出镜像: - Architecture-and-Code-Map:6e4a9680d98c0bf634a8b1e40195551bdba03cdf - Business-Rules-and-Glossary:93e37d506753dcfaaf6b89770cf5342943a585ad - Local-Development-and-Verification:7b70ec840faeaa739a962d0dc9cf6932aa5cee0a - Troubleshooting:bc67a730d9eae1d350a4aa9b5884aeb031ca4dab 镜像提交同 `275b938b21379d554c553f4db18baacb46e29999`,sync --check通过。无常驻部署变化、无UI原型/任务快照。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmsp#21