关于 tweet-replicate
Tweet Replicate 可将一条公开 X/Twitter 帖子转换为可重新渲染的本地项目,并输出 MP4 主视频和 GIF 预览。它将帖子数据与媒体冻结在快照中,再于本地重建帖子布局,而非录制 X 的实时界面。
主要功能
- 01将公开帖子冻结到 snapshot.json
- 02在本地下载头像和主要媒体
- 03用本地 HTML 与 CSS 重建帖子布局
- 04使用 Playwright 录制副本
- 05导出 MP4 主视频和 GIF 预览
适用场景
- 01将公开帖子转换为视频素材
- 02从已保存的快照重新渲染帖子
- 03以可播放视频检查帖子布局
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jpcaparas/ skills --skill tweet-replicate安装后在 Claude Code 中输入/tweet-replicate确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonREADME.mdskill-card.prompt.mdagents/openai.yamlassets/.gitkeepevals/evals.jsonreferences/gotchas.mdlayout.mdworkflow.mdscripts/fetch_tweet_snapshot.pyprobe_tweet_replica.pyrecord_tweet_replica.pyrender_tweet_replica.pytest_skill.pyvalidate.pytemplates/tweet_replica.html详细介绍
推文复刻
将公开的 X/Twitter 帖子冻结为可重新渲染的本地构建,始终生成高质量的 tweet-replica.mp4 主文件和配套的 tweet-replica.gif 预览,其中仅 GIF 大小需低于 24 MB。
已于 2026 年 4 月 9 日针对实时公开状态验证。
先打破幻想
不要承诺能制作浏览器级或永久稳定的 X 克隆。X 可能会更改布局,指标会发生变化,媒体 URL 会过期;而本地渲染器有意采用确定性方式,并非重放 X 的私有渲染器。
此工具擅长:
- 将公开状态捕获到冻结的
snapshot.json - 以最高可用画质在本地下载头像和主要媒体
- 使用确定性的本地 HTML/CSS 重建推文界面
- 使用 Playwright 录制推文视口,不在推文周围创建更大的填充画布
- 在同一目录中导出高质量 MP4 主文件和配套 GIF
决策树
- 如果用户想将一条公开的 X/Twitter 帖子重建为本地视频资源,请运行
scripts/render_tweet_replica.py。 - 如果他们只需要推文文本、指标或媒体 URL,请改用文本/媒体提取工作流。
- 如果他们只需要原始媒体文件,请改用媒体下载器。
- 如果他们想录制 X 本身的实时浏览器画面,请停止操作并说明,此工具用于制作确定性的本地复刻,而非录制真实 X 界面。
- 如果他们需要完整推文串、深层引用链、轮播内容或已验证身份的状态,请说明此版本仅支持一条公开状态及一张嵌套的引用帖子卡片。
默认保存路径规则
如果用户未指定目标路径,请优先建议 ./pieces/。如果用户同意或不介意,请使用 --save-root ./pieces 运行,或让脚本默认将文件保存到当前工作目录下的 pieces/ 文件夹。
生成的构建目录结构保持不变:
<save-root>/tweet-replicate-status-<id>-<timestamp>/
assets/
snapshot.json
tweet-replica.html
capture.webm
tweet-replica.mp4
tweet-replica.gif
快速参考
| 任务 | 命令 | 原因 |
|---|---|---|
| 从状态 URL 渲染并保存到默认指定的根目录 | python3 scripts/render_tweet_replica.py 'https://x.com/.../status/...' --save-root ./pieces | 在 ./pieces/ 下创建可重新渲染的构建文件夹,并生成高质量 MP4 主文件 |
| 稍后重新渲染同一条冻结的帖子 | python3 scripts/render_tweet_replica.py ./tweet-build/snapshot.json | 保存到快照旁边,避免计数发生变化 |
| 将所有内容保存在一个命名的构建文件夹中 | python3 scripts/render_tweet_replica.py '<url>' --workdir ./tweet-build | 将快照、本地高质量资源、HTML、WebM、MP4 和 GIF 保存在一起 |
| 仅检查提取的快照 | python3 scripts/fetch_tweet_snapshot.py '<url>' --output ./tweet-build/snapshot.json --asset-dir ./tweet-build/assets | 适用于调整布局前的检查 |
| 仅录制已准备好的 HTML 复刻 | python3 scripts/record_tweet_replica.py ./tweet-build/tweet-replica.html ./tweet-build/capture.webm | 适用于调整 CSS,而无需重新获取数据 |
| 使用实时推文 URL 运行真实流水线检查 | python3 scripts/probe_tweet_replica.py 'https://x.com/.../status/...' --save-root ./tmp-tests --cleanup | 验证 MP4、GIF、时长、GIF 大小上限和输出帧尺寸 |
适用范围
正向触发词
- “复刻这条推文”
- “复刻这条 X 帖子”
- “把这条推文转成 mp4 和 gif”
- “把这条推文冻结成视频”
- “让这条状态看起来像 X”
- “可播放的推文截图”
- “保留文案、计数、播放效果和可重新渲染的构建”
负向触发词
- 仅简单阅读或提取推文
- 仅下载原始媒体
- 调试实时嵌入内容
- 信息流、搜索页面、私信、Spaces
- 多条帖子组成的电影式推文串
- 声称输出是 X 的精确浏览器级克隆
工作规则
以快照为准,而非实时推文页面。只获取一次数据,然后冻结数据,以完整画质保留下载到本地的媒体,接着从 snapshot.json 开始在本地迭代。
阅读指南
| 需求 | 阅读 |
|---|---|
| 端到端工作流、保存根目录的行为和产物布局 | references/workflow.md |
| 布局启发式、尺寸规则和可调参数 | references/layout.md |
| 失败模式、GIF 尺寸、偏差和不支持的情况 | references/gotchas.md |
注意事项
- 计数很快就会发生变化。如果用户关心某个特定时刻的点赞数、转发数或浏览量,请根据
snapshot.json重新渲染。 - GIF 是预览素材,不是第二个主视频。渲染器会将 MP4 保留为高质量主文件,并仅在必要时降低 GIF 的分辨率、帧率和调色板深度,使其不超过 24 MB。
- 此渲染器会在本地重建推文界面,不保证与 X 自带的渲染器逐字节或逐像素一致。
- X 的公开媒体 URL 可能会过期。如果之后可能需要重新生成输出,请将下载的本地媒体保存在工作目录中。
- Playwright 的视口录制仅用于视觉呈现。最终 MP4 会以高质量保留录制的视觉主文件;如果本地视频文件包含音轨,还会混入原始媒体音频。GIF 不包含音频。
- 支持一条嵌套引用的帖子,包括播放被引用帖子中的视频;但不支持更深层的引用链,也不支持完整重建帖子串。
- 渲染后的 WebM 和 MP4 应与推文画布宽度及测量得到的推文高度一致。如果帖子卡在左上角,周围出现多余的灰色或空白区域,请先修正捕获几何参数,再重新调整推文 CSS。
评论
支持 Markdown