关于 twitter
这是一项整合 X 研究、发布、会话操作与书签归档工具的技能,提供按任务选择工具的指南,并涵盖成本控制搜索及各模式的设置和操作说明。
主要功能
- 01成本跟踪搜索与查询扩展
- 02通过 xapi MCP 搜索完整历史
- 03官方 API 与 xurl 命令行指南
- 04使用 bird 进行浏览器会话读取和发布
- 05使用 smaug 归档书签与喜欢
适用场景
- 01用多个查询变体研究近期 X 话题
- 02搜索超过 7 天的 X 历史内容
- 03发布媒体、发送私信或调用 API 端点
- 04整理已保存的书签与喜欢
MCP 相关
说明如何通过 xurl 和 OAuth 2.0 连接 https://api.x.com/mcp 上的 xapi MCP 服务。其工具涵盖帖子、搜索、用户与时间线、书签、趋势和 Articles。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tdimino/ claude-code-minoan --skill twitter安装后在 Claude Code 中输入/twitter确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
codex-agent-guide.mdREADME.mdreferences/pricing.mdquery-expansion.mdsetup.mdxurl-mcp-setup.mdx-search/x-search.tsx-search/data/feedgroups.jsonwatchlist.jsonx-search/lib/api.tscache.tsformat.ts详细介绍
Twitter/X — 多模式集成
五种工具;根据任务选择:
| 模式 | 工具 | 身份验证 | 费用 | 适用场景 |
|---|---|---|---|---|
| 托管 MCP | xapi MCP 服务(通过 xurl 桥接) | OAuth 2.0 | 按使用付费 | 全量档案搜索、趋势、书签、Articles、时间线 |
| 官方 API | x-search | Bearer + OAuth 1.0a | 按使用付费,费用可追踪 | 成本受控的研究、信息流、监控列表、发帖 |
| 官方 CLI | xurl | OAuth 1.0a + 2.0 | 按使用付费 | 任意端点:媒体上传、私信、原始 API 调用 |
| 会话 | bird | 浏览器 Cookie | 免费 | 随手浏览、查看提及、发布媒体内容——趁它还能用 |
| 归档 | smaug | 通过 bird | 免费 | 处理书签/点赞、AI 驱动的归档 |
定价经常变动(2026 年已经变了两次)——完整费率表和计费机制见 references/pricing.md。重点价格:读取帖子 $0.005,创建帖子 $0.015,带 URL 的帖子 $0.200,读取自有内容 $0.001,按 UTC 24 小时去重,每月读取上限 2M 次。
何时使用哪种工具
| 任务 | 工具 | 原因 |
|---|---|---|
| 搜索全量档案(超出 7 天范围) | xapi MCP | 唯一能访问 X 完整历史记录的模式 |
| 按位置查看趋势、新闻 | xapi MCP | X 专有功能,x-search 不提供 |
| 读取前估算推文数量 | x-search counts | 固定收费 $0.005,而读取按每条推文 $0.005 收费 |
| 按主题搜索近期推文 | x-search | 费用可追踪、带缓存、支持质量筛选 |
| 搜索宽泛主题、多种表述 | x-search multi | 扩展多个变体并行搜索,去重合并 |
| 从 URL 读取单条推文 | jina URL | 免费;唯一能用于 X 的抓取工具 |
| 获取关注账号的每日信息流 | x-search feed | 批量 OR 查询,费用低 |
| 监控特定账号 | x-search watchlist | 批量检查并追踪费用 |
| 发布文字推文或回复 | x-search post/reply | 内置 URL 附加费防护 |
| 发布带媒体的内容、发送私信、发布 Articles | xurl | 官方 CLI,支持分块上传 |
| 查看实际计费金额 | x-search usage | GET /2/usage/tweets 提供实际数据 |
| 免费随手浏览/查看提及 | bird | 只要 Cookie 和 GraphQL 还能用,就免费 |
| 归档书签 | smaug | AI 分类,输出 Markdown |
托管 X MCP(xapi)
X 的首个官方 MCP 服务,地址为 https://api.x.com/mcp(于 2026 年 6 月推出)。包含六组工具:Posts、Search(包括全量档案)、Users/时间线、Bookmarks、按 WOEID 查看趋势、Articles。
已于 2026-07-15 在用户级别接入:xurl --app main mcp https://api.x.com/mcp,通过 main xurl 应用使用 OAuth 2.0 认证为 @IdaeanDaktyl(自动刷新)。使用 claude mcp list 检查运行状态(应显示 xapi ... ✔ Connected);如果身份验证失效,请重新运行 xurl auth oauth2 --app main。
每次工具调用都会按标准费率计费——使用 Agentic MCP 循环时,应像使用 x-search 深度搜索一样严格控制费用。设置、重新认证和只读 Bearer 回退方案:references/xurl-mcp-setup.md。
绝不要将 ~/.xurl(实时 OAuth 令牌)或技能 .env 中的值读入上下文。
x-search — 成本管控研究
运行方式:bun run ~/.claude/skills/twitter/x-search/x-search.ts <command> — 以下示例将此前缀简写为 x-search.ts;始终使用完整的 bun run 调用。
# Volume probe FIRST: $0.005 flat, histogram + read-cost projection
x-search.ts counts "claude code" --today
# Quick search (default for exploration): 1 page, max 10, noise filter, 1hr cache, ~$0.50
x-search.ts search "AI agents" --quick
# Calendar-day windows: --today = since local midnight; yesterday = bounded day
x-search.ts search "Claude Code" --today --quick
x-search.ts search "Claude Code" --since yesterday
x-search.ts search "query" --today --dry-run # final query + cost ceiling, no API call
# Multi-query fan-out: expand per references/query-expansion.md, then merge + dedup
x-search.ts multi "anthropic fundraise" 'anthropic (raise OR funding OR "series F")' --today --quick
# Free search via bird session (looser relevance, $0.00)
x-search.ts search "query" --bird --today
# Full search
x-search.ts search "Claude Code" --pages 3 --sort likes --since 1d
x-search.ts search "Minoan archaeology" --markdown --save
# Profiles, threads, single tweets
x-search.ts profile AnthropicAI --count 10
x-search.ts thread 1234567890 --pages 3
x-search.ts tweet 1234567890
# Feeds from named account groups (geopolitics, palestine, all-feeds)
x-search.ts feed geopolitics --today
x-search.ts feed all-feeds --since 7d --markdown --save
x-search.ts feed imetatronink,Megatron_ron --since 1d --bird # free via bird
x-search.ts feedgroup add tech kaboreas "K8s/infra" # manage groups
# Feed flags: --today/--since, --limit N (default 4), --bird (free), --dry-run, --no-cache, --markdown, --save
# Watchlist (profile API — pricier)
x-search.ts watchlist add kikismith "Ancient art"
x-search.ts watchlist check
# Posting (OAuth 1.0a). URL posts are REFUSED unless --allow-url ($0.20 vs $0.015)
x-search.ts post "Hello from x-search!"
x-search.ts post "test text" --dry-run # validate + show cost WITHOUT posting
x-search.ts reply 1234567890 "Great thread!"
x-search.ts delete 1234567890 # delete own tweet ($0.01)
# Billed consumption (real spend, not estimates)
x-search.ts usage
关键标志(search + multi):
- 时间:
--today、--since Nm|Nh|Nd (e.g. 15m, 3h, 7d)|today|yesterday|ISO、--until <same specs>— profile 和 watchlist check 也接受--today/--since - 范围:
--quick、--pages 1-5、--from user、--quality、--min-likes N、--min-impressions N、--no-replies、--retweets(默认排除转推) - 模式:
--bird(免费)、--dry-run(不调用 API)、--json、--markdown、--save;counts 另支持--granularity minute|hour|day
拼错的标志会报错,而不会泄漏到查询中。支持命令别名(删除时使用 s、m、c、t、p、f、fg、wl、u、rm)。缓存:TTL 为 15 分钟(quick 为 1 小时),每次运行时自动清理;使用 cache clear 清空缓存。
测试或演示发帖/回复时,务必使用 --dry-run — 否则成功执行会发布一条实时推文。
本机已完成设置(在 ~/.claude/skills/twitter/.env 中配置 Bearer 和 OAuth 1.0a 密钥)。重新设置指南和凭据故障排除:references/setup.md。
研究方法
- 按照
references/query-expansion.md将请求扩展为 3-4 个查询变体(字面查询 · 同义词/话题标签 OR 组 ·from:主要人物 · 排除噪声),2. 对最宽泛的变体运行 counts($0.005 — 付费读取前先了解数据量),3. 使用 multi--quick扇出查询并评估信号,4. 使用--from/--quality/--today/--since优化查询,5. 展开高价值对话的完整线程,6. 使用--pages 3 --markdown --save深入研究最佳查询,7. 根据原始请求(而非匹配到的变体)综合结果。若答案早于 7 天窗口,请使用 xapi MCP(search_posts_all;get_posts_counts_recent是 counts 的 MCP 对应工具)。
xurl — 官方 CLI
xurl /2/users/me # any endpoint, OAuth handled
xurl -X POST /2/tweets -d '{"text": "hello"}'
xurl media upload photo.png # chunked media upload
已安装(v1.2.2)。身份验证注册和 MCP 桥接命令:references/xurl-mcp-setup.md。
bird CLI — 基于会话的操作(固定为 0.8.0)
通过浏览器 Cookie 使用未公开的 Twitter GraphQL API。免费,但上游已停止维护:steipete 删除了代码仓库和 brew tap(2026 年 2 月)。npm 仍提供最终版本 0.8.0(npm install -g @steipete/bird);源码镜像位于 github.com/LaceLetho/bird-cli-backup。经验证可在 2026-07-05 正常运行 — 但 X 一旦轮换 GraphQL 内部实现,就不会有修复。读取操作改用 xapi MCP / x-search,写入操作改用 xurl。Smaug 的抓取也有此风险(迁移方案:Owned Reads,每个资源 $0.001,参见 references/pricing.md)。
所有 bird 命令都必须传入 --cookie-source chrome,以避免访问 Safari Cookie 时出现 EPERM 警告。
发帖
bird --cookie-source chrome tweet "Hello world"
bird --cookie-source chrome reply 123456789 "Great thread!"
bird --cookie-source chrome tweet "With image" --media photo.png --alt "Description"
读取
bird --cookie-source chrome read 123456789
bird --cookie-source chrome thread https://x.com/user/status/123456789
bird --cookie-source chrome replies 123456789 --json
搜索(免费,通过 GraphQL)
bird --cookie-source chrome search "query" -n 10
bird --cookie-source chrome search "from:anthropic" -n 20 --json
监控
bird --cookie-source chrome mentions -n 10
bird --cookie-source chrome bookmarks -n 20
bird --cookie-source chrome likes -n 20
bird --cookie-source chrome following -n 50
bird --cookie-source chrome followers -n 50
维护
bird --cookie-source chrome whoami # verify auth
bird --cookie-source chrome check # credential sources
bird --cookie-source chrome query-ids --fresh # refresh when Twitter rotates IDs
故障排除
- 403 错误:浏览器 Cookie 已过期 — 在 Chrome 中登录 Twitter,然后运行
bird check - 查询 ID 错误:运行
bird query-ids --fresh(在 X 更改架构本身之前有效;之后 bird 就无法使用了) - 速率限制(429):等待几分钟
Smaug — 书签归档
cd ~/tools/smaug
npx smaug run # fetch + process with Claude
npx smaug fetch 20 # fetch only
npx smaug fetch --source likes # likes instead of bookmarks
npx smaug run -t # track token costs
npx smaug status
输出:bookmarks.md、knowledge/tools/、knowledge/articles/。
随附文件
| 文件 | 内容 |
|---|---|
references/pricing.md | 2026 年 7 月完整价格表、Owned Reads 端点、返利、去重和估算示例 |
references/query-expansion.md | 协议:将请求抽象为 3-4 个查询变体,使用 multi 扇出查询 |
references/xurl-mcp-setup.md | OAuth 2.0 应用设置、MCP 桥接配置、xurl 用法、可自托管的 xMCP |
references/setup.md | Bearer + OAuth 1.0a 凭据设置、bird/smaug 安装、凭据故障排除 |
codex-agent-guide.md | 面向 Codex CLI Agent 的自包含 x-search 指南(exa-search 模式) |
相关工具
遇到以下情况时,请离开此技能:需要读取单条推文 URL(jina URL ——免费,也是唯一不会被 X 屏蔽的抓取工具);社交媒体搜索还涵盖 Reddit 和 Instagram(omnisearch 的 Xpoz 路由);或免费的浏览器会话操作比 API 调用更合适(opencli 的 twitter 命令;其文档已将深度研究转回 x-search)。