用途:把 X(Twitter)的推文、线程与 X 文章转换为 Markdown,输出带 YAML front matter 的文件,便于本地存档或后续处理。
主要能力:支持推文与线程转 Markdown、X 文章全文提取;输出含 url、author、tweetCount、coverImage 等 front matter;可用 --json 输出 JSON;可用 --download-media 将图片、视频下载到本地 imgs/、videos/ 并把 Markdown 链接改写为相对路径;支持通过 EXTEND.md 配置默认是否下载媒体与默认输出目录。
使用与认证:脚本位于 scripts/ 子目录,核心脚本 ${SKILL_DIR}/scripts/main.ts。基本用法:npx -y bun ${SKILL_DIR}/scripts/main.ts <url>,可用 -o 指定输出路径、--json 输出 JSON、--download-media 下载媒体、--login 仅刷新 cookies。认证优先读环境变量 X_AUTH_TOKEN、X_CT0,回退为自动打开 Chrome 并在本地缓存 cookies。支持 URL 包括 x.com/<user>/status/<id>、twitter.com/<user>/status/<id>、x.com/i/article/<id>。默认文件结构为 x-to-markdown/{username}/{tweet-id}.md。
同意与配置:使用前必须检查并获取同意。consent.json 在 macOS 位于 ~/Library/Application Support/read-buddy/x-to-markdown/consent.json,Linux 位于 ~/.local/share/read-buddy/x-to-markdown/consent.json;当 accepted 为 true 且 disclaimerVersion 为 1.0 时打印警告后继续,否则展示免责声明并询问是否接受,接受后写入同意文件,拒绝则输出“User declined. Exiting.”并停止。EXTEND.md 优先检查项目级 .read-buddy/read-x-markdown/EXTEND.md,其次用户级 $HOME/.read-buddy/read-x-markdown/EXTEND.md;未找到时必须先做首次设置(阻塞操作),询问媒体处理方式、默认输出目录与保存偏好位置,之后写入 EXTEND.md 再继续。支持键 download_media(ask/1/0)与 default_output_dir;取值优先级为 CLI 参数、EXTEND.md、技能默认值。
限制:该工具使用逆向工程的 X API,非官方,X 更改 API 时可能失效,不提供保证或支持,可能导致账号限制,风险自负。首次设置未完成前不得进行转换。资料未提供具体价格、平台支持范围或效果保证。