# X Ingest

X(Twitter) 推文采集 → 统一 frontmatter Markdown。自动区分图文与视频： 图文下载图片本地嵌入，视频提取直链转成文字稿。无需登录（走官方嵌入端点）。

- Repository: https://github.com/chubbyguan/chubbyskills (1292 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-14
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add chubbyguan/chubbyskills --skill x-ingest -g -a claude-code -y`
Codex: `npx skills add chubbyguan/chubbyskills --skill x-ingest -g -a codex -y`
Cursor: `npx skills add chubbyguan/chubbyskills --skill x-ingest -g -a cursor -y`
Gemini CLI: `npx skills add chubbyguan/chubbyskills --skill x-ingest -g -a gemini-cli -y`

## Description

X(Twitter) 推文采集 → 统一 frontmatter Markdown。自动区分图文与视频： 图文下载图片本地嵌入，视频提取直链转成文字稿。无需登录（走官方嵌入端点）。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# X(Twitter) 推文采集 Skill

把 X 推文抓成结构化 Markdown 入库。**自动区分图文与视频笔记**：图文 → 下载图片本地嵌入；
视频 → 像抖音那样转成文字稿。通过 X 官方嵌入用的 syndication 端点采集，**无需登录、无需 API Key**。

## 环境要求

```bash
# 图文采集零依赖（仅 Python 标准库）

# 视频推文转录需要（与抖音/B站/小红书同一套依赖）：
pip install funasr modelscope torch torchaudio
# macOS: brew install ffmpeg   |   Ubuntu: sudo apt install ffmpeg
```

## 使用方法

```bash
# 采集推文 → 统一 frontmatter Markdown
python scripts/fetch_tweet.py "https://x.com/user/status/1234567890" -o ./out
python scripts/fetch_tweet.py "https://twitter.com/user/status/1234567890" -o ./out
python scripts/fetch_tweet.py "链接" -o ./out --thread   # 沿作者自回复链采集 thread

python scripts/fetch_tweet.py "链接" -o ./out --no-images   # 图文：只留图片链接不下载
python scripts/fetch_tweet.py "链接" -o ./out --no-video    # 视频：不转录，只留视频链接
python scripts/fetch_tweet.py "链接" -o ./out --fallback-text 手动正文.txt
python scripts/fetch_tweet.py "链接" -o ./out --fallback-json 推文.json --fallback-only

# X 长文章抓全文（需自己账号的登录 cookie）：
python scripts/fetch_tweet.py "链接" -o ./out --cookies "auth_token=...; ct0=..."
X_COOKIES="auth_token=...; ct0=..." python scripts/fetch_tweet.py "链接" -o ./out
```

## 产出

`fetch_tweet.py` → 统一 frontmatter Markdown（`platform: x`，含 `note_type: image|video|text|article|thread`），含作者(`name @handle`)、互动数据（赞/回复）、话题标签。**按内容类型分流**：

The rest: https://github.com/chubbyguan/chubbyskills/blob/HEAD/x-ingest/SKILL.md
