Files
MediaCrawler/mac-agent-os-main/05_tools/09_ave/PLANS/TASK_TRACKER.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

10 KiB
Raw Blame History

AVE 项目落地任务清单 · 跟踪看板

版本: v3.2-tracker | 最后更新: 2026-05-16 状态: ⬜ 待办 · 🔄 进行中 · ✅ 已完成 · 🚧 阻塞


使用方式

+ 每完成一项,把 ⬜ 改成 ✅
+ 每开始一项,把 ⬜ 改成 🔄
+ 遇到阻塞,把 ⬜ 改成 🚧 并在备注写原因

Sprint 0 — 已完成的基建(不需要再做)

# 任务 状态 产出
0.1 Kling API 图生视频集成 ✅ material_producer/kling/kling.py
0.2 TTS (CosyVoice + 字级时间戳) ✅ voice_synthesizer/aliyun.py
0.3 Pexels 素材搜索 ✅ material_producer/pexels/search.py
0.4 BGM 混音 + 避让 ✅ composer/ffmpeg.py
0.5 ASS 字级字幕生成 ✅ composer/ffmpeg.py
0.6 长视频自动分段 + concat ✅ composer/ffmpeg.py
0.7 剧本解析 (LLM/模板) ✅ director_parser/parser.py
0.8 口播策略 (video-factory) ✅ video_factory.py
0.9 数字人策略 (Wan2.2 + DreamActor) ✅ material_producer/wan2_2/
0.10 节拍检测 + xfade 卡点 ✅ composer/beat_sync.py
0.11 成本跟踪器 ✅ lib/cost_tracker.py
0.12 全域调研(角色一致性 + LipSync + 外部项目) ✅ 入库知识库 + PLANS/AVE_V3_ARCHITECTURE.md
0.13 AVE v3 全链路架构规划 ✅ PLANS/AVE_V3_ARCHITECTURE.md
0.14 Dashboard 生产监控面板方案设计 ✅ PLANS/DASHBOARD_DESIGN.md

Sprint 1 — P0 (核心增强,~1天)

1.1 角色一致性:定妆照 Grid Method

# 子任务 状态 产出文件
1.1.1 编写 Grid Method Prompt 模板(2x3多视角 + 多表情) ✅ prompts/character_sheet_prompts.md
1.1.2 创建 scripts/character_sheet.py(定妆照自动生成模块) ✅ scripts/character_sheet.py
1.1.3 CLI 子命令 python main.py character-sheet --desc "..." --output sheet.png ✅ main.py 扩展
1.1.4 YAML Schema 扩展:剧本增加 character_ref 字段 ✅ director_parser/schemas.py
1.1.5 角色描述块锁定:全片自动注入固定角色描述 ✅ composer/character_locker.py

依赖: 无(独立模块) 验收标准: 跑一个命令输出 2x3 网格定妆照 + 一个剧本能用 character_ref 引用角色


1.2 唇形同步:Kling LipSync 集成

# 子任务 状态 产出文件
1.2.1 创建 scripts/composer/lipsync.py(Kling LipSync API 封装) ✅ scripts/composer/lipsync.py
1.2.2 CLI 子命令 python main.py lipsync --video clip.mp4 --audio voice.wav ✅ main.py 扩展
1.2.3 口播策略后处理钩子:合成后自动跑 LipSync ✅ video_factory.py 扩展
1.2.4 成本跟踪对接 ✅ lib/cost_tracker.py 扩展

依赖: 需要 fal.ai API Key($0.014/5s) 验收标准: 跑一个口播 production,输出视频带口型匹配


1.3 Dashboard 数据层(和 1.1/1.2 平行)

# 子任务 状态 产出文件
1.3.1 SQLite schema 定义(6 表) ✅ data/ave.db (自动创建)
1.3.2 创建 scripts/lib/dashboard.py(埋点封装) ✅ scripts/lib/dashboard.py
1.3.3 main.py 埋点:每次 production 自动写 DB(~50行) ✅ main.py + video_factory.py 扩展
1.3.4 cost_tracker 埋点:自动记录费用 ✅ lib/cost_tracker.py 扩展
1.3.5 FastAPI 后端骨架 + DB 读取 API ✅ scripts/dashboard/app.py

依赖: 无(纯增量,和 P0 功能平行) 验收标准: 跑一条 production 后,SQLite 里有对应的 production + steps + cost 记录


Sprint 2 — P1 (体验增强,~1天)

2.1 变速卡点引擎

# 子任务 状态 产出文件
2.1.1 创建 scripts/composer/speed_ramp.py(setpts + atempo 滤波器链) ✅ scripts/composer/speed_ramp.py
2.1.2 支持缓变速度曲线(0.7→1.0→1.3) ✅ speed_ramp.py
2.1.3 CLI 子命令 python main.py speed-ramp --input clip.mp4 --curve 0.5,1.0,1.5 ✅ main.py 扩展
2.1.4 卡点策略集成:高能段落自动变速 ✅ video_factory.py + beat_sync.py 扩展

依赖: 无 验收标准: ✅ 输入一段视频 + 速度曲线,输出变速后的视频(音频同步)


2.2 节拍检测升级(BeatSync-Engine 架构)

# 子任务 状态 产出文件
2.2.1 能量曲线 + 频谱特征提取(RMS/Flux) ✅ composer/beat_sync.py 增强
2.2.2 歌曲结构检测(Intro→Verse→Chorus→Bridge→Outro) ✅ composer/beat_sync.py 增强
2.2.3 能量波切密度(高能→加速,低能→减速) ✅ composer/beat_sync.py 增强 + speed_ramp.py
2.2.4 Frame-locked 时间线(消除 xfade 漂移) ✅ composer/beat_sync.py 增强

依赖: 无 验收标准: ✅ 对比升级前后的节拍匹配精确度


2.3 口播+卡点融合管线

# 子任务 状态 产出文件
2.3.1 创建 scripts/composer/hybrid.py(口播场景间插入变速卡点过渡) ✅ scripts/composer/hybrid.py
2.3.2 过渡段自动匹配 BGM 节拍 ✅ hybrid.py
2.3.3 CLI 子命令 / video-factory 扩展 ✅ main.py + video_factory.py 扩展

依赖: 2.1.1 + 2.2.1 验收标准: ✅ 一个口播视频在高潮段落自动插入变速卡点过渡


Sprint 3 — P2 (系统完善,~2天)

3.1 角色叙事策略

# 子任务 状态 产出文件
3.1.1 场景分解模块(剧本→N个场景 + 每场景Prompt) ✅ scripts/story_director/scene_planner.py
3.1.2 Temporal Bridge(上场景末帧→下场景首帧条件) ✅ scripts/story_director/temporal_bridge.py
3.1.3 批量 Kling 生成(固定 seed + 角色描述块) ✅ scripts/story_director/batch_generator.py
3.1.4 story 策略 CLI + video-factory 入口 ✅ main.py + video_factory.py 扩展
3.1.5 HoloCine 全局一致性策略参考实现 ✅ scripts/story_director/HOLOCINE_REFERENCE.md

依赖: 1.1.1, 1.1.2, 1.1.3 验收标准: 输入一个多场景剧本 + 定妆照,输出一个带角色一致性的多场景视频


3.2 本地 Lip-Sync(LatentSync v1.5)

# 子任务 状态 产出文件
3.2.1 本地部署 LatentSync(Docker 或 venv) ⬜ scripts/latentsync/
3.2.2 AVE 集成接口(与 lipsync.py 统一接口) ⬜ composer/lipsync.py 扩展
3.2.3 自动切换:API 不可用时降级到本地 ⬜ composer/lipsync.py 扩展

依赖: 无,但需要 8GB VRAM 验收标准: 在本地 GPU 上跑通 LipSync


3.3 素材资产管理器

# 子任务 状态 产出文件
3.3.1 创建 scripts/asset_manager/index.py(素材索引) ✅ scripts/asset_manager/index.py
3.3.2 缓存管理(Pexels/Kling 生成片段自动入索引) ✅ scripts/asset_manager/cache.py
3.3.3 标签系统 + 搜索 ✅ scripts/asset_manager/tags.py

依赖: 1.3.2(Dashboard 数据层) 验收标准: ✅ 搜索关键词能找到对应的历史素材(83 个素材已入库,21 个标签)


3.4 Dashboard 前端页面

# 子任务 状态 产出文件
3.4.1 生产列表页(筛/搜/排序) ✅ dashboard/static/index.html
3.4.2 生产详情页(每步状态 + 资产 + 费用) ✅ dashboard/static/index.html (弹窗视图)
3.4.3 资产浏览器(类型/标签筛选 + 搜索) ✅ dashboard/static/index.html
3.4.4 费用分析(按策略 + 汇总) ✅ dashboard/static/index.html + /api/costs/breakdown
3.4.5 系统级迁移:Dashboard 从 AVE 迁至 05_tools/10_dashboard/ ✅ 2026-05-16 插件框架落地

依赖: 1.3.5(后端 API)✅ 已完成 验收标准: ✅ 打开浏览器能看到所有 production 和数据 ⚠️ 架构变更: Dashboard 已从 AVE 解耦为系统级模块

  • 新路径: 05_tools/10_dashboard/ (插件式数据源架构)
  • AVE 是第一个数据源插件 (plugins/ave.py)
  • 兼容: main.py dashboard 命令自动重定向

Sprint 4 — P3 (可选增强)

# 任务 状态 备注
4.1 LoRA 训练管线(CharForge / IC-LoRA) ⬜ 极高一致性需求时启用
4.2 Wan2.2-S2V-14B 本地部署 ⬜ 需要 24-40GB VRAM,消费级显卡暂不支持
4.3 ComfyUI 工作流导出支持 ⬜ 从 AVE 导出到 ComfyUI 编辑
4.4 即梦 VIP 自动化接入(Peekaboo) ⬜ 复用 Matrix 养号框架
4.5 多音色 TTS 库管理 ⬜ 管理多个 CosyVoice 音色 + 配音切换

快速参考:分策略状态总览

策略 当前状态 Sprint 1 后 Sprint 2 后 Sprint 3 后
口播 ✅ 可用 ✅ + 定妆照 + LipSync ✅ + 变速过渡 ✅ + 资产索引 + Dashboard
卡点 ✅ 可用 ✅🔧 ✅ 节拍升级 + 变速 + 帧锁定 ✅
数字人 ✅ 可用 ✅ + LipSync 增强 ✅ ✅
口播+卡点 ✅ 新增 — ✅ 融合管线 ✅
角色叙事 ❌ 不存在 ❌ ❌ ✅ 初版可用
Dashboard ✅ 可用 ✅ 数据层 + 前端 ✅ 中文界面 ✅

进度标记说明

+ ✅ 已完成 — 无需再关注
+ 🔄 进行中 — 正在开发
+ ⬜ 待办 — 计划内但未开始
+ 🚧 阻塞 — 等待前置条件

建议把这个文件放在 AVE 项目根目录,每次完成一项就更新状态。 或者你告诉我完成了哪项,我来帮你更新。