对话记录优化方向研究

找到对话记录,根据我这边反馈的问题和你能找到的问题研究新的优化方向。

对话记录问题梳理

这是一个 "豆包XHS足球版" 项目 (v3.2.0),使用 Playwright 自动化操控豆包 AI 生成足球内容并发布到小红书。整个对话经历了多轮修复,暴露了以下问题:

已出现的问题清单(按时间线)

# 问题 根因 当时的修复 是否彻底解决
1 Could not find chat input element DOM 选择器不匹配豆包 UI 重写 30+ 选择器 + 深度搜索 部分
2 无登录流程 未处理首次/过期登录 加登录检测 + 等待机制 是
3 点启动没反应 客户端预检查在无浏览器时 return 移除多余预检查 是
4 豆包封控("账号异常") 打字速度均匀(5ms)、频率过高 人类化打字 + 剪贴板粘贴 + 随机行为 不彻底
5 Chromium 未安装 只装了 npm 包没下载浏览器 启动时自动检测安装 是
6 提取到侧边栏 UI 文本 extractLastResponse 无侧边栏过滤 重写提取逻辑 + UI 文本过滤 不彻底
7 page.evaluate 传参错误 传了两个参数(只支持一个) 合并为对象 是
8 培育(驯化)太快触发验证 阶段间延迟不足 加大延迟 + 速度配置 待验证
9 配图提示词不适配 英文 Midjourney 格式 vs 豆包绘图 改为中文豆包格式 待验证
10 内容提取时有时无 extractLastResponse 不稳定 加重试机制 + 验证函数 待验证

用户最后明确反馈的3个未解决问题

  1. 配图和笔记提示词质量不够 — 需要高质量万能足球配图方案
  2. 培育太快,频繁触发验证 — 反封控不彻底
  3. 返回框内容提取不稳定 — 核心功能仍不可靠

新的优化方向研究

基于对话中暴露的问题模式,我识别出以下 深层问题 和 优化方向:

方向一:从"修选择器"转向"协议层交互"

现状问题:整个项目依赖 Playwright DOM 操作与豆包交互,导致:

  • •选择器频繁失效(豆包 UI 更新即失效)
  • •输入/提取全靠 DOM 查找,极其脆弱
  • •反爬检测不断升级,无穷无尽的猫鼠游戏

优化建议:

  • •研究豆包是否有官方 API / Open API(字节跳动火山引擎有豆包大模型 API:doubao.com/api 或火山引擎 MaaS 平台),用 API 调用替代浏览器自动化,彻底绕开 DOM 和反爬
  • •如果必须用浏览器,考虑拦截豆包的 WebSocket/SSE 通信层(page.route 或 CDP),直接从网络层提取响应,而不是从 DOM 提取

方向二:内容提取架构重写

现状问题:extractLastResponse 反复修改仍不稳定,根因是"从整个页面 DOM 中猜哪个是 AI 回复"这个思路本身就脆弱。

优化建议:

  • •网络层拦截:用 page.on('response') 监听豆包的 API 响应(通常是 SSE 流),直接从网络数据包中获取 AI 回复原文,100% 准确,不受 DOM 结构影响
  • •MutationObserver 增量监听:在发送消息前注入 MutationObserver,监听聊天区域新增的 DOM 节点,只提取"发送后新增"的内容
  • •对话 ID 追踪:每次发送后记录对话 ID,根据 ID 精确定位响应

方向三:反封控体系化

现状问题:当前反封控是"遇到一个修一个",缺乏体系。

优化建议:

  • •频率控制中心:建立统一的请求节流器,设置每小时/每天的交互上限,而不是在各处散落 randomDelay
  • •会话轮换:多个豆包账号 + 多个 browser context 轮换使用,分散单账号风险
  • •指纹隔离:每个 context 使用不同的 viewport、UA、时区、语言,不要所有会话共享相同指纹
  • •行为建模:记录真实用户的操作时间分布(打字速度、阅读时间、滚动模式),用统计模型生成随机化行为,而不是硬编码 30-120ms
  • •封控恢复策略:检测到封控后,不是立刻重试,而是进入"冷却期"(30分钟-1小时),并自动切换到备用账号

方向四:配图方案升级

现状问题:从 Midjourney 英文提示词改到豆包中文,但质量仍需提升。

优化建议:

  • •模板化 + 变量替换:设计一套万能足球配图模板,只需替换队名/赛事名/颜色:

模板:{赛事}大海报风格,{队A} vs {队B},以{队A主色}和{队B主色}为主色调,球场俯瞰视角,灯光聚焦中圈,氛围感拉满,小红书方图比例,高清写实风格

  • •多配图策略:小红书笔记支持多图,可以生成:图1=对阵海报、图2=球场氛围、图3=球星特写,提高笔记吸引力
  • •调用豆包绘图 API:如果豆包页面绘图效果不好,可考虑直接调用火山引擎的文生图 API

方向五:架构健壮性

现状问题:整个流程是一条串行管道,任何一步失败就中断。

优化建议:

  • •任务队列 + 状态机:每场比赛作为独立任务入队,失败的任务标记状态可重试,不影响其他任务
  • •断点续跑:记录每场比赛执行到哪一步(驯化完成/内容生成完成/配图完成/发布完成),中断后从断点恢复
  • •结果缓存:已生成的内容和配图缓存到本地,避免重复请求豆包
  • •健康检查:定时检测豆包连接状态、登录状态、配额状态,异常时主动告警而不是等到执行时才发现

方向六:考虑替代豆包

豆包的反爬和封控是持续升级的,长期维护成本很高。可以考虑:

  • •火山引擎豆包 API(官方付费 API,无反爬问题)
  • •其他大模型 API(DeepSeek、通义千问、Kimi 等,都有开放 API)
  • 浏览器自动化只保留"发布到小红书"这一步(小红书没有公开发布 API,只能用浏览器)

优先级建议

优先级 方向 原因
P0 网络层拦截提取响应 解决内容提取不稳定的根因
P0 评估豆包 API 替代浏览器 一次性解决封控 + 选择器 + 提取三大问题
P1 频率控制中心化 系统性解决封控问题
P1 配图模板化 用户明确需求
P2 任务队列 + 断点续跑 提升可靠性
P2 会话/账号轮换 长期反封控

需要我针对其中某个方向展开详细的实施方案吗?