douyin-viral-remake-free 用 Easy WebBridge 采集一条抖音作品的可见证据,再让 Agent 拆解结构、生成新口播与分镜。只有页面文字时,结果必须标为 partial,不能补写原作的画面和剪辑节奏。
这是“我的 100 个开源项目”系列的新一篇。参考作品的标题和文案很容易复制,但“看到了文字”与“理解了视频推进”之间,还差真实的画面和时间证据。这个项目把区别写进了采集与校验合同。
采集、写稿和校验分别由谁做?
截至2026年10月6日,公开 manifest 与 package.json 都为1.0.2,LICENSE 为完整 MIT 文本。scripts/douyin-viral-remake-free.mjs 提供 capture、validate、self-test 和 help。
capture 读取一条作品、整理来源身份和证据;内容拆解与原创稿由 Agent 写;validate 检查 JSON 结构、来源一致、证据引用、时长连续及部分原创检查,通过后生成 Markdown。脚本没有直接调用大模型生成口播的实现,不能把它描述为独立的一键生成器。
第一次输入,需要提供哪些字段?
至少是一条作品链接、账号方向、目标受众、创作主题和15–180秒的目标时长。脚本对应字段为 url、accountPositioning.niche、accountPositioning.audience、remakeGoal.topic 和 remakeGoal.durationSec。下面只演示结构,链接是 fixture 示例:
{"url":"https://www.douyin.com/video/1234567890123456789","accountPositioning":{"niche":"工具教程","audience":"第一次整理资料的人"},"remakeGoal":{"topic":"怎样留下可复核的资料来源","durationSec":30}}真实使用时换成自己有权参考的作品。多个浏览器在线时,另在本机任务配置指定已授权浏览器,不把环境标识写进对外稿件。短分享链接要最终落到douyin.com/video/<id>或note/<id>;主页、搜索结果、多条混在一起或错误作品跳转会被拒绝。
只有文字时,为什么必须降级?
项目区分三种 analysisScope。video-text-and-keyframes 需要文字或转写与至少两个不同画面;note-body-and-image-order 需要图文正文和图片顺序;page-text-only 则只支持页面文字分析。
最后一种情况下,status 必须为 partial,pace.finding 和 visual.finding 必须为 null,相关 confidence 为 none,还要明确“仅能分析页面文字”。可以基于用户的新主题写口播和分镜,但不能声称分析过原视频配乐、镜头节奏或图文图片顺序。
这个降级不是写作质量分数。它说明原作证据覆盖到哪里,帮助读者把“新创作的方案”与“对原作的观察”分开。
三张截图,就等于看完视频吗?
当前真实采集路径对视频保存三张浏览器截图候选,相邻候选等待约1.2秒,并按文件哈希识别重复。代码没有控制播放器跳到指定位置,也没有实现语音转写。
因此,截图 timeSec 是采集间隔标记,不能当作精确的视频播放位置。两张哈希不同的截图也要实际查看,确认差异来自作品画面而非其他页面元素;候选数量和哈希不证明看过完整视频。缺少文字转写、有效画面或图片顺序时,仍要按实际证据降级。用户可以补充有权使用的转写与关键帧,Agent 也必须逐张看图再作判断。
怎么运行,并把结果留下来?
在公开仓库里,先做离线检查:
gitclone https://github.com/xxjrq/douyin-viral-remake-free.gitcddouyin-viral-remake-freenpmtest真实输入保存在 task.json 后,采集命令为:
nodescripts/douyin-viral-remake-free.mjs capture--inputtask.json--outputoutput/source-evidence.json阅读采集证据,按 SKILL.md 合同编写 output/douyin-remake.json,再运行:
nodescripts/douyin-viral-remake-free.mjs validate--sourceoutput/source-evidence.json--resultoutput/douyin-remake.json输出包含来源身份、任务定位、带 evidenceRefs 的拆解、新角度、口播、分镜、原创检查和限制。脚本与分镜从0秒开始连续覆盖目标时长,口播逐段对应。validate 通过才生成 douyin-remake.md;没有证据引用或来源身份不一致,不能把结果当成已验证。
校验通过,是否保证原创和传播效果?
不能。当前检查会拒绝一些照搬、未知引用和高风险承诺,但它是规则与文本检查,不是平台审核,也不是完整的版权审查。originalityReview 仍要求 humanReviewRequired 为 true;参考作品里的收入、效果数字和品牌材料,也不会因为结构检查通过就自动成为真实事实。
本次只运行仓库离线自测,脚本返回33项检查通过。里面的浏览器动作由 mock 提供,不是33次真实作品分析。本文没有采集真实抖音作品,没有生成或发布改写视频,不承诺爆款、涨粉或转化。
如果准备开始,先找一条自己有权参考的作品,把输入定位写清,检查哪些结论有证据,再决定新口播借鉴什么机制。这个项目值得关注的地方,是让不知道的部分继续留白。
项目入口:GitHub。操作与结果合同:SKILL.md。