用途
该技能用于将 X(Twitter)上的内容转换为 Markdown 格式,具体包括:
- 推文/推文串 → 带 YAML front matter 的 Markdown
- X 文章 → 完整内容提取
主要能力
支持以下类型的 URL:
- https://x.com/<user>/status/<id>
- https://twitter.com/<user>/status/<id>
- https://x.com/i/article/<id>
输出为带 YAML front matter 的 Markdown,例如:
---
url: https://x.com/user/status/123
author: "Name (@user)"
tweet_count: 3
---
Content...
文件结构为:x-to-markdown/{username}/{tweet-id}.md
使用方式
脚本位于 scripts/ 子目录中。路径解析方式为:SKILL_DIR = 本 SKILL.md 所在目录,脚本路径 = ${SKILL_DIR}/scripts/main.ts。
基本用法:
npx -y bun ${SKILL_DIR}/scripts/main.ts <url>
npx -y bun ${SKILL_DIR}/scripts/main.ts <url> -o output.md
npx -y bun ${SKILL_DIR}/scripts/main.ts <url> --json
选项:
| Option | Description |
|---|---|
| <url> | 推文或文章 URL |
| -o <path> | 输出路径 |
| --json | JSON 输出 |
| --login | 仅刷新 cookies |
同意要求
在任何转换之前,必须检查并获取用户同意。
同意流程:
第 1 步:检查同意文件
macOS:
cat ~/Library/Application\ Support/baoyu-skills/x-to-markdown/consent.json
Linux:
cat ~/.local/share/baoyu-skills/x-to-markdown/consent.json
第 2 步:如果 accepted: true 且 disclaimerVersion: "1.0" → 打印警告并继续:
Warning: Using reverse-engineered X API. Accepted on: <acceptedAt>
第 3 步:如果缺失或版本不匹配 → 显示免责声明:
DISCLAIMER
This tool uses a reverse-engineered X API, NOT official.
Risks:
- May break if X changes API
- No guarantees or support
- Possible account restrictions
- Use at your own risk
Accept terms and continue?
使用 AskUserQuestion 提供选项:"Yes, I accept" | "No, I decline"
第 4 步:接受后 → 创建同意文件:
{
"version": 1,
"accepted": true,
"acceptedAt": "<ISO timestamp>",
"disclaimerVersion": "1.0"
}
第 5 步:拒绝后 → 输出 "User declined. Exiting." 并停止。
偏好设置(EXTEND.md)
使用 Bash 检查 EXTEND.md 是否存在(按优先级顺序):
# 先检查项目级
test -f .baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md && echo "project"
# 再检查用户级(跨平台:$HOME 在 macOS/Linux/WSL 上可用)
test -f "$HOME/.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md" && echo "user"
| Path | Location |
|---|---|
| .baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md | 项目目录 |
| $HOME/.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md | 用户主目录 |
| Result | Action |
|---|---|
| 找到 | 读取、解析并应用设置 |
| 未找到 | 使用默认值 |
EXTEND.md 支持:默认输出目录、输出格式偏好。
认证
环境变量(首选):X_AUTH_TOKEN、X_CT0
Chrome 登录(后备):自动打开 Chrome,在本地缓存 cookies。
限制
该工具使用逆向工程实现的 X API,并非官方接口。存在以下风险:如果 X 更改 API 可能失效;不保证可用性或提供支持;可能导致账户受限;使用风险自负。