Files
MediaCrawler/mac-agent-os-main/05_tools/09_ave/PLANS/JIMENG_AUTOMATION_PLAN.md
T
butubb 2112c1a870
Deploy VitePress site to Pages / build (push) Canceled after 0s
Deploy VitePress site to Pages / Deploy (push) Canceled after 0s
feat(monitor): 抖音 Web 接口客户端 —— 绕开爬虫子进程,直接发 HTTP
移植自 mac-agent-os 的 mediacrawler_adapter:不起子进程、不开页面,用浏览器里那份
登录态直接调抖音 Web 接口。产物键名照抄 store/douyin,所以 ingest 那条链路一个字不用改。

**目前能用的(真环境实测,非推断)**:

    profile/other : 200, 7075 字节  —— 博主主页指标(粉丝/获赞/作品数/昵称)
    aweme/detail  : 200, 45425 字节 —— 单条作品详情(含点赞/评论/收藏/分享)

**目前不能用的:作品列表 `aweme/post`。** 两个互相独立的原因:
  1. 这个接口被抖音单独升级成了真校验:不带 x-tt-argus 回 403「Uifid Not Found」,
     带上 dummy 值回 200 + **空 body**。也就是说「头在不在」骗得过,「真校验」过不了。
     同一套头打 profile/other 和 aweme/detail 都是通的 —— 抖音是挑着接口加保护的,
     挑中的恰好是「批量拉作品列表」这个最敏感的动作。
  2. 改走页面截获也不行:CDP 浏览器打开博主主页会落到「验证码中间页」(当天大量探测的
     代价,过几小时要重测)。

  所以现在的边界是:**已知作品的指标刷新能做,自动发现新作品做不了**。

**排查中控住变量后得到的两条事实**(都写进注释了):
  · `Accept` / `Accept-Language` / `Referer` 才是主页接口能返回真数据的原因 —— 只有
    UA+client hints+Cookie 时是 200 但仅 121 字节的空壳,补上这三个头变 7074 字节。
    (我先前猜的 sec-ch-ua 不是关键。)
  · 因此 UA 与 client hints 必须**成套地取自同一个浏览器**,所以 BrowserIdentity 一次
    从 CDP 取齐 cookie + UA + hints,而不是各自写死。

「200 + 空 body 必须当场报错」也是刻意写死的:放过去它会在下游变成「这个博主没作品」,
把一次失败伪装成一条正常结果 —— 爬虫那条路正是这么栽的,还被翻译成「账号被封」。

测试 +11:cookie 解析、请求头成套性(含 uifid 缺失/回退)、产物键名与 store 对齐、
以及 _get 的三条失败路径(空 body / 403 带网关原话 / 正常返回)。
2026-10-10 17:12:25 +08:00

7.3 KiB
Raw Blame History

即梦(Dreamina) 网页版自动化方案

版本: v0.1 (规划阶段) 创建: 2026-05-14 状态: ⏸️ 暂停(操作路径记录中,生成任务卡在排队) 下次目标: 完成下载步骤的记录,编写 jimeng_ops.py


一、项目背景

1.1 目标

为 AVE 视频工厂提供高质量的 AI 生成视频素材,替代 Pexels 免费素材。 每期口播视频需要 12 段素材,每段 5-10 秒竖屏视频。

1.2 为什么选即梦网页版

方案 每段5秒成本 一期12段 备注
Pexels 免费素材 0元 0元 画面静态,观感差
腾讯云混元 API 1.8-3.6元 21.6-43.2元 后付费,贵
即梦网页版会员 0.22-0.37元 2.6-4.4元 VIP 可用 1080p,便宜
即梦 CLI 同会员积分 同左 VIP 模型 CLI 不支持,720p 限制

结论:即梦网页版会员(¥79-649/月)性价比最高,但需通过 Peekaboo 自动化操作网页。

1.3 备选方案对比

方案 结果 原因
Dreamina CLI 直接调用 ❌ 放弃 CLI 免费版锁 720p,VIP 模型不支持
Buddy-cloud.py (腾讯云) ✅ 可用 1080p 可用,但成本是即梦网页版的 5-10x
CloakBrowser Playwright 自动化 🔧 备用 需处理反爬/登录态,不如 Peekaboo 直接
Peekaboo GUI 自动化 ✅ 主方案 基于视觉识别,即梦不管怎么改UI都能用

二、当前进度

2.1 已完成

  • Dreamina CLI 安装到 ~/.local/bin/dreamina
  • CLI OAuth 登录成功(积分余额: 80)
  • 验证 CLI 命令集(text2video, text2image, user_credit 等)
  • 确认 CLI VIP 模型不可用(网页端会员 ≠ CLI 会员)
  • Peekaboo 截图测试成功(可捕获 Chromium 窗口)
  • 即梦首页页面结构记录完成
  • 文生视频操作路径第 1-5 步记录完成

2.2 待完成

  • 步骤 ⑥:下载视频 — 生成完成后下载按钮在哪?如何触发下载?
  • 编写 jimeng_ops.py(Peekaboo 原子操作脚本)
  • 编写 blueprint 蓝图(批量生成多段素材)
  • 集成到 AVE pipeline(生成 → 下载到 cache → Ken Burns → 合成)
  • 处理异常情况(积分不足、模型降级、生成失败)

三、即梦首页页面结构

3.1 侧边栏(左)

图标按钮 文字 功能
💡 灵感 默认首页,直接输入 prompt
⚡ 生成 各类生成任务入口
📦 资产 历史作品
🎨 画布 编辑/合成
❓ OCTO 未知功能

底部:开通会员 | 积分(80) | 头像(登录后显示) | 通知🔔 | CLI 介绍

3.2 主输入区(中)

大输入框(类智能体对话框),包含:

元素 位置 说明
+ 添加文件 输入框左上角 图生图/图生视频等
智能体模式(Agent) 输入框下方左 默认模式,自动判断输出类型
自动/生成偏好 模式按钮旁 可设图片/视频、比例、模型版本
[使用技能] 模式按钮区 剧情短片、电商套图、海报设计等
[@] 模式按钮区 指定主体/人物
🎤 麦克风 输入框右下角 语音输入
↑ 发送箭头 输入框右下角 灰色→变亮(输入内容后)

3.3 模式切换弹窗

点"智能体模式"可切换:

模式 用途
图片生成 文生图
视频生成 文生视频(本方案目标模式)
数字人 数字人出镜
配音 语音合成
动作模仿 动作驱动

3.4 自动/生成偏好设置

设置项 可选值
输出类型 图片 / 视频
比例 21:9 / 16:9 / 9:16(竖屏) / 等
模型版本 图片4.0 / 3.0 / 等

四、完整操作路径(已记录 5/7 步)

① 首页(灵感Tab,Agent模式)
   状态: 输入框空,发送按钮灰色
   操作: 输入 prompt
   ↓
② 输入 prompt 后
   状态: 发送按钮由灰变亮,其他无变化
   操作: 按回车 或 点发送箭头
   ↓
③ 进入对话模式
   状态: AI 开始分析 prompt
   ↓
④ ⚠️ 模型不可用降级(每次都会触发)
   状态: 弹出积分确认框
     ├─ "消耗 X 积分,确认继续生成"
     ├─ ⭐ "本次对话不再确认"(鼠标悬浮出现小按钮,可勾选)
     └─ 点确认 → 扣积分
   ↓
⑤ 生成排队
   状态: 输入框右上方出现生成状态条
   内容区: "排队中" → "生成中"
   结果区: 图片占位框 + "以上内容由AI生成本次消耗X积分"
          + [重新生成] 按钮 + [引用作品] 按钮(双引号)
   ↓
⑥ 生成完成
   状态: ?(待下次记录)
   下载方式: ?(待下次记录)
   ↓
⑦ 保存到 AVE cache
   ⏳ 待实现

4.1 关键交互细节

  • 积分确认: 每次生成都会弹出,可勾选"本次对话不再确认"
  • 模型降级: Agent 模式自动选 VIP 模型 → VIP 不可用 → 降级普通模型 → 重新确认积分
  • 排队等待: 生成任务进入队列,排队时间不定(上次卡住未完成)
  • 发送方式: 回车键 或 点发送箭头

五、技术方案

5.1 核心工具

  • Peekaboo v3.1.2:macOS GUI 自动化(视觉识别 + 点击 + 输入)
  • CloakBrowser:备用浏览器(需持久化 profile 保持登录态)
  • AVE pipeline:接收生成素材 → Ken Burns → 合成

5.2 原子操作设计(待实现)

# jimeng_ops.py 初步设计
def input_prompt(text):       # 输入 prompt
def click_send():              # 点发送
def confirm_credit():          # 确认积分消耗
def disable_credit_confirm():  # 勾选"不再确认"
def wait_generation():         # 轮询检测生成完成
def click_download():          # 点下载
def save_to_ave_cache():       # 保存到 AVE cache

5.3 Peekaboo 命令映射

操作 Peekaboo 命令 锚点策略
输入 prompt peekaboo type "..." 当前焦点(先点输入框)
点发送 peekaboo click "↑" 或回车 OCR 识别箭头图标或键盘发送
确认积分 peekaboo click "确认继续" OCR 识别按钮文字
勾选不再确认 peekaboo click "不再确认" OCR 识别悬浮按钮文字
等生成完成 轮询 peekaboo image 检测下载按钮 截图 OCR
下载 peekaboo click "下载" OCR 识别按钮文字

六、相关文件

文件 路径
本计划文档 05_tools/09_ave/PLANS/JIMENG_AUTOMATION_PLAN.md
AVE 实施计划 05_tools/09_ave/PLANS/AVE_IMPLEMENTATION_PLAN.md
AVE 策略体系 05_tools/09_ave/PLANS/STRATEGY.md
Dreamina CLI ~/.local/bin/dreamina
Dreamina CLI 说明 ~/.dreamina_cli/dreamina/SKILL.md
AVE 主脚本 05_tools/09_ave/scripts/main.py
视频合成 05_tools/09_ave/scripts/composer/ffmpeg.py
测试道家 YAML 05_tools/09_ave/scripts/daoist_quotes.yaml

七、下次启动检查清单

  • 确认 CloakBrowser/Chromium 是否还在运行
  • 确认即梦网页登录态是否过期
  • 确认 Dreamina CLI 登录态(dreamina user_credit)
  • 继续步骤 ⑥:生成完成后探索下载方式
  • 完整走通一次后开始写 jimeng_ops.py