Skip to content

feedback: doubao_research 批量采集实测 — 字段不全 + 验证码风控 + 稳定性问题 #62

Description

@1012839419a-alt

背景

doubao_research 渠道做了 240 个非品牌词的批量豆包搜索采集(每词独立新会话),发现渠道/适配器有若干可改进点与 bug。以下均为 2026-08-06 实测(opencli 1.8.6、opencli-admin 0.4.1-fixed、agent Chrome 151)。

一、功能建议:doubao_research 渠道采集字段不全

当前 doubao_research_channel.py 只返回:

  • title(=question)、content(assistant 正文)、authorcitations(回答内 URL 正则提取)

实际豆包页面还有这些可见模块,采集规范要求逐项记录,但渠道拿不到:

  1. 会话 URLopencli doubao ask 返回的 rows 里没有 conversation id;需要额外 doubao status(或适配器 ask 输出加一列 Url)才能拿到 https://www.doubao.com/chat/<id>
  2. 每词独立新会话:渠道直接 ask,用的是 adapter 默认 siteSession(persistent → 同一会话复用)。批量采集要求每词新会话,需要先 doubao new 再 ask(或 ask 支持 --site-session ephemeral 强制新会话)。
  3. 页面模块(参考资料卡片、产品卡/外链、相关视频、推荐追问)无法从 ask 的文本输出获得,需要 CDP 对页面 DOM 提取(Runtime.evaluate)。当前渠道无此能力。

建议:doubao_research 渠道增加可配置项(如 capture_page=True),在 ask 后通过 CDP 提取页面模块并合并进 raw_data/normalized_data;输出里补 conversation_url

二、Bug / 稳定性问题

1. 验证码风控(最影响批量使用)

  • 连续采集 50~60 词后,豆包必弹验证码(rmc.bytedance.com/verifycenter/captcha/v2 iframe)。
  • 渠道 Capabilities(default_rate="6/min") 声明的限速并未实际执行,触发后 ask 返回 COMMAND_EXEC / Doubao blocked the request with a verification challenge,任务直接 fail。
  • 建议:检测到 captcha iframe 时自动降速/等待(如冷却 N 分钟重试),或在事件日志中明确提示需要人工通过(noVNC 可见),而不是直接 fail。

2. 偶发 doubao status 返回无会话 id

回答已生成后立即 status,偶发返回 Url: https://www.doubao.com/chat(无 id),重试 1-3 次(间隔数秒)可恢复。适配器 status 建议增加一次内部重试。

3. 适配器 ask 偶发崩溃

opencli doubao ask 偶发:Evaluate error: TypeError: Cannot read properties of null (reading 'cloneNode')(页面导航/状态竞态),退出码 1,无自动重试。

4. 容器内 daemon 只监听 localhost

agent-1 容器内 opencli daemon 实际监听 127.0.0.1:19825(entrypoint 里写了 OPENCLI_DAEMON_LISTEN=0.0.0.0 但未生效),导致 api 容器里 opencli browser <session> extract/state 报 "Remote Browser Bridge daemon at agent-1 is not reachable",只能绕过用 CDP 直连 :19222。建议 daemon 默认绑 0.0.0.0 或让 api 走 CDP 模式(OPENCLI_CDP_ENDPOINT 已支持)。

5. agent 容器 Chrome 无登录态引导

agent-1 Chrome 是全新 profile(游客态),豆包高频提问必触发验证码;渠道文档/UI 没有"请先在 noVNC 登录目标站点"的引导。建议在创建 doubao_research 源时给出登录引导提示。

三、已用的绕过方案(供参考)

  • 登录:用户经 noVNC http://localhost:6080 手动登录一次,登录 cookie 落盘 /home/chrome/.config/chromium
  • 每词流程:doubao newdoubao askdoubao status(拿 URL)→ CDP Runtime.evaluate 提取页面模块。
  • 验证码:人工通过 + CDP Page.reload 清残留 iframe;控制节奏(每词间隔 + 每批上限)降低触发频率。

复现环境

  • opencli-admin 0.4.1-fixed(上游 0.4.1 缺 2 个 alembic 迁移文件的修复版)
  • opencli 1.8.6、Chrome/Chromium 151.0.7922.71
  • Windows 11 宿主机 + Docker Desktop,COLLECTION_MODE=local / AGENT_MODE=bridge

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions