用途:把 X(Twitter)的推文、线程和 X Articles 转换为 Markdown,输出带 YAML front matter(url、author、tweetCount、coverImage 等)。
主要能力:推文/线程转 Markdown;X Articles 全文提取;可选下载图片与视频到本地 imgs/、videos/ 并改写链接为相对路径;支持 --json 输出。
使用方式:脚本位于 scripts/ 子目录,路径为 {baseDir}/scripts/main.ts。运行时解析 ${BUN_X}:已装 bun 用 bun,否则用 npx -y bun,都没有则建议安装 bun。命令示例: ${BUN_X} {baseDir}/scripts/main.ts <url> ${BUN_X} {baseDir}/scripts/main.ts <url> -o output.md ${BUN_X} {baseDir}/scripts/main.ts <url> --download-media ${BUN_X} {baseDir}/scripts/main.ts <url> --json 选项:<url> 推文或文章链接;-o <path> 输出路径;--json JSON 输出;--download-media 下载媒体并改写链接;--login 仅刷新 Cookie。支持 URL:https://x.com/<user>/status/<id>、https://twitter.com/<user>/status/<id>、https://x.com/i/article/<id>。
同意与配置:转换前须检查并获取同意,同意文件位于 macOS ~/Library/Application Support/baoyu-skills/x-to-markdown/consent.json,Linux ~/.local/share/baoyu-skills/x-to-markdown/consent.json;accepted 为 true 且 disclaimerVersion 为 1.0 时打印警告后继续,否则展示免责声明并询问是否接受。偏好文件 EXTEND.md 按项目、XDG、用户主目录顺序查找,首个命中生效;未找到时必须先完成首次设置(阻塞),不得静默创建默认值。支持键:download_media(ask/1/0)、default_output_dir。取值优先级:CLI 参数、EXTEND.md、技能默认值。
认证:优先环境变量 X_AUTH_TOKEN、X_CT0;回退为自动打开 Chrome 登录并本地缓存 Cookie。
限制:使用逆向工程 X API,非官方;X 变更 API 时可能失效,无保证与支持,可能导致账号受限,风险自负。输出文件结构为 x-to-markdown/{username}/{tweet-id}/{content-slug}.md。