对话记录优化方向研究
找到对话记录,根据我这边反馈的问题和你能找到的问题研究新的优化方向。
对话记录问题梳理
这是一个 "豆包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个未解决问题
- 配图和笔记提示词质量不够 — 需要高质量万能足球配图方案
- 培育太快,频繁触发验证 — 反封控不彻底
- 返回框内容提取不稳定 — 核心功能仍不可靠
新的优化方向研究
基于对话中暴露的问题模式,我识别出以下 深层问题 和 优化方向:
方向一:从"修选择器"转向"协议层交互"
现状问题:整个项目依赖 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 | 会话/账号轮换 | 长期反封控 |
需要我针对其中某个方向展开详细的实施方案吗?