X Intelligence CLI — 从终端搜索、分析和参与X/Twitter。使用场景:(1) 用户说“x研究”、“搜索x”、“搜索推特”、“人们在说什么”、“推特在说什么”、“检查x”、“x搜索”、“搜索x”、“找到关于…的推文”、“监控x”、“跟踪粉丝”、(2) 用户正在做一些工作,最近的X话语可以提供有用的上下文(新库发布、API变化、产品发布、文化事件、行业剧变),(3) 用户想知道开发者/专家/社区对一个主题的看法,(4) 用户需要实时监控(“观察”),(5) 用户想要AI驱动的分析(“分析”、“情感”、“报告”)。 同样支持:书签、点赞、关注(读写)、趋势话题、Grok AI分析、成本跟踪。导出为JSON、JSONL(可管道传输)、CSV或Markdown。 非目标:不用于发布推文、不用于私信、不用于企业功能。 需要OAuth进行用户上下文操作(书签、点赞、关注、差异)。 凭证:
- 名称:X_BEARER_TOKEN 描述:X API v2持有者令牌,用于搜索、个人资料、线程、推文、趋势 必需:真
- 名称:XAI_API_KEY 描述:xAI API密钥,用于Grok分析、文章获取、情感、x搜索、集合 必需:假
- 名称:XAI_MANAGEMENT_API_KEY 描述:xAI管理API密钥,用于集合管理 必需:假
- 名称:X_CLIENT_ID 描述:X OAuth 2.0客户端ID,用于用户上下文操作(书签、点赞、关注、差异) 必需:假 必需环境变量:
- X_BEARER_TOKEN requiredEnvVars:
- X_BEARER_TOKEN primary_credential: X_BEARER_TOKEN primaryCredential: X_BEARER_TOKEN security: always: 假 autonomous: 假 local_data_dir: data/ network_endpoints:
xint — X Intelligence CLI
通用代理研究X/Twitter。将任何研究问题分解为目标搜索,迭代细化,跟踪线程,深入链接内容,并综合成一个有来源的简报。
对于X API详细信息(端点、操作符、响应格式):阅读references/x-api.md。
安全考虑
这项技能需要敏感凭证。遵循这些指南:
凭证
- X_BEARER_TOKEN:X API必需。将其视为秘密 - 优先选择导出的环境变量(可选项目本地
.env) - XAI_API_KEY:可选,需要AI分析。也是一个秘密
- X_CLIENT_ID:可选,需要OAuth。敏感性较低但不要公开暴露
- XAI_MANAGEMENT_API_KEY:可选,用于集合管理
文件写入
- 这个技能写入自己的
data/目录:缓存、导出、快照、OAuth令牌 - OAuth令牌存储具有限制性权限(chmod 600)
- 在分享之前审查导出的数据 - 可能包含敏感搜索查询
Webhooks
watch和stream可以将数据发送到webhook端点- 远程端点必须使用
https://(仅接受http://用于localhost/loopback) - 可选主机允许列表:
XINT_WEBHOOK_ALLOWED_HOSTS=hooks.example.com,*.internal.example - 避免将敏感搜索查询或带有令牌的URL发送到第三方目的地
运行时注释
- 此文件仅记录CLI的使用和安全控制。
- 网络监听器是可选的(
mcp --sse),默认情况下是禁用的 - Webhook交付是可选的(
--webhook),默认情况下是禁用的
安装
- 对于Bun:优先选择操作系统包管理器而不是
curl | bash - 在运行之前验证任何安装脚本
MCP服务器(可选)
bun run xint.ts mcp启动一个本地MCP服务器,将xint命令作为工具暴露- 默认模式是stdio/local集成;除非明确启用
--sse,否则没有入站web服务器 - 尊重
--policy read_only|engagement|moderation和预算护栏
CLI工具
所有命令都从项目目录运行:
# 设置你的环境变量
export X_BEARER_TOKEN="your-token"
搜索
bun run xint.ts search "<query>" [options]
选项:
--sort likes|impressions|retweets|recent— 排序顺序(默认:likes)--since 1h|3h|12h|1d|7d— 时间过滤器(默认:过去7天)。也接受分钟(30m)或ISO时间戳。--min-likes N— 按最少点赞数过滤--min-impressions N— 按最少展示次数过滤--pages N— 获取页面数,1-5(默认:1,每页100条推文)--limit N— 最大结果显示数(默认:15)--quick— 快速模式:1页,最多10个结果,自动去噪过滤器,1小时缓存,成本总结--from <username>— 在查询中简短地表示from:username--quality— 过滤低参与度推文(>=10点赞,事后)--no-replies— 排除回复--sentiment— AI驱动的每条推文情感分析(通过Grok)。显示正面/负面/中立/混合及分数。--save— 将结果保存到data/exports/--json— 原始JSON输出--jsonl— 每行一个JSON对象(针对Unix管道优化:| jq,| tee)--csv— CSV输出,用于电子表格分析--markdown— 用于研究文档的Markdown输出
除非查询已经包含,否则自动添加-is:retweet。所有搜索显示估计的API成本。
示例:
bun run xint.ts search "AI agents" --sort likes --limit 10
bun run xint.ts search "from:elonmusk" --sort recent
bun run xint.ts search "(opus 4.6 OR claude) trading" --pages 2 --save
bun run xint.ts search "$BTC (revenue OR fees)" --min-likes 5
bun run xint.ts search "AI agents" --quick
bun run xint.ts search "AI agents" --quality --quick
bun run xint.ts search "solana memecoins" --sentiment --limit 20
bun run xint.ts search "startup funding" --csv > funding.csv
bun run xint.ts search "AI" --jsonl | jq 'select(.metrics.likes > 100)'
个人资料
bun run xint.ts profile <username> [--count N] [--replies] [--json]
获取特定用户的最近推文(默认排除回复)。
线程
bun run xint.ts thread <tweet_id> [--pages N]
通过根推文ID获取完整对话线程。
单条推文
bun run xint.ts tweet <tweet_id> [--json]
文章(全文获取器)
bun run xint.ts article <url> [--json] [--full] [--ai <text>]
使用xAI的web_search工具(Grok读取页面)从任何URL获取并提取全文内容。返回带有标题、作者、日期和字数的干净文本。需要XAI_API_KEY。
还支持X推文URL - 自动提取推文中的链接文章并获取它。
选项:
--json— 结构化JSON输出(标题、内容、作者、发布、字数、ttr)--full— 返回全文文章文本,不截断(默认截断到~5000个字符)--model <name>— Grok模型(默认:grok-4)--ai <text>— 使用Grok AI分析文章(将内容传递给分析命令)
示例:
# 从URL获取文章
bun run xint.ts article https://example.com/blog/post
# 从X推文URL自动提取文章并分析
bun run xint.ts article "https://x.com/user/status/123456789" --ai "Summarize key takeaways"
# 获取+AI分析
bun run xint.ts article https://techcrunch.com/article --ai "What are the main points?"
# 全文内容不截断
bun run xint.ts article https://blog.example.com/deep-dive --full
**代理使用:**当搜索结果包括带有文章链接的推文时,使用article阅读全文。搜索结果现在包括X API的文章标题和描述(显示为📰行),所以你可以选择哪些文章值得全文阅读。优先考虑文章:
- 多个推文引用
- 来自高参与度推文
- 具有相关标题/描述的API元数据
书签
bun run xint.ts bookmarks [options] # 列出书签推文
bun run xint.ts bookmark <tweet_id> # 书签推文
bun run xint.ts unbookmark <tweet_id> # 移除书签
书签列表选项:
--limit N— 最多显示书签数(默认:20)--since <dur>— 按最近性过滤(1h,1d,7d等)--query <text>— 客户端文本过滤器--json— 原始JSON输出--markdown— Markdown输出--save— 保存到data/exports/--no-cache— 跳过缓存
需要OAuth。首先运行auth setup。
点赞
bun run xint.ts likes [options] # 列出你点赞的推文
bun run xint.ts like <tweet_id> # 点赞推文
bun run xint.ts unlike <tweet_id> # 取消点赞推文
**点赞列表选项:**与书签相同(--limit,--since,--query,--json,--no-cache)。
需要OAuth,带有like.read和like.write范围。
关注
bun run xint.ts following [username] [--limit N] [--json]
列出你(或另一个用户)关注的账户。默认为经过身份验证的用户。
需要OAuth,带有follows.read范围。
趋势
bun run xint.ts trends [location] [options]
获取趋势主题。首先尝试官方X API趋势端点;如果不可用,则回退到基于搜索的标签频率估计。
选项:
[location]— 位置名称或WOEID编号(默认:全球)--limit N— 显示趋势数量(默认:20)--json— 原始JSON输出--no-cache— 绕过15分钟缓存--locations— 列出所有已知位置名称
示例:
bun run xint.ts trends # 全球
bun run xint.ts trends us --limit 10 # 美国前10
bun run xint.ts trends japan --json # 日本,JSON输出
bun run xint.ts trends --locations # 列出所有位置
分析(Grok AI)
bun run xint.ts analyze "<query>" # 向Grok提问
bun run xint.ts analyze --tweets <file> # 从JSON文件分析推文
bun run xint.ts search "topic" --json | bun run xint.ts analyze --pipe # 管道搜索结果
使用xAI的Grok API(与OpenAI兼容)。需要XAI_API_KEY在环境或.env中。
选项:
--model <name>— grok-3,grok-3-mini(默认),grok-2--tweets <file>— 包含推文的JSON文件路径--pipe— 从stdin读取推文JSON
示例:
bun run xint.ts analyze "What are the top AI agent frameworks right now?"
bun run xint.ts search "AI agents" --json | bun run xint.ts analyze --pipe "Which show product launches?"
bun run xint.ts analyze --model grok-3 "Deep analysis of crypto market sentiment"
xAI X搜索(无Cookie/GraphQL)
对于“最近情感/X在说什么”而不使用cookies/GraphQL,使用xAI托管的x_search工具。
脚本:
python3 scripts/xai_x_search_scan.py --help
xAI集合知识库(文件+集合)
将第一方工件(报告、日志)存储在xAI集合中,并在以后进行语义搜索。
脚本:
python3 scripts/xai_collections.py --help
Env:
XAI_API_KEY(api.x.ai):文件上传+搜索XAI_MANAGEMENT_API_KEY(management-api.x.ai):集合管理+附加文档
注释:
- 永远不要打印密钥。
- 在连接新cron作业时优先选择
--dry-run。
监控(实时监控)
bun run xint.ts watch "<query>" [options]
轮询搜索查询,只显示新推文。非常适合在催化剂期间监控主题、跟踪提及或将实时数据输入到下游工具中。
选项:
--interval <dur>/-i— 轮询间隔:30s,1m,5m,15m(默认:5m)--webhook <url>— 将新推文作为JSON POST到这个URL(远程主机需要https://)--jsonl— 输出为JSONL而不是格式化文本(用于管道到tee,jq等)--quiet— 抑制每个轮询头(只显示推文)--limit N— 每个轮询显示的最大推文数--sort likes|impressions|retweets|recent— 排序顺序
按Ctrl+C停止 — 打印会话统计(持续时间、总轮询次数、发现的新推文、总成本)。
示例:
bun run xint.ts watch "solana memecoins" --interval 5m
bun run xint.ts watch "@vitalikbuterin" --interval 1m
bun run xint.ts watch "AI agents" -i 30s --webhook https://hooks.example.com/ingest
bun run xint.ts watch "breaking news" --jsonl | tee -a feed.jsonl
**代理使用:**当你需要持续监控一个主题时,使用watch。对于一次性检查,使用search。监控命令如果超出每日预算则自动停止。
差异(关注者跟踪)
bun run xint.ts diff <@username> [options]
使用本地快照跟踪关注者/关注变化。首次运行创建基线;后续运行显示上次检查以来谁关注/取消关注。
选项:
--following— 跟踪用户关注的(而不是他们的粉丝)--history— 查看此用户保存的所有快照--json— 结构化JSON输出--pages N— 获取粉丝页面数(默认:5,每页1000)
需要OAuth(首先auth setup)。快照存储在data/snapshots/中。
示例:
bun run xint.ts diff @vitalikbuterin # 第一次运行:创建快照
bun run xint.ts diff @vitalikbuterin # 后来:显示变化
bun run xint.ts diff @0xNyk --following # 跟踪你关注的
bun run xint.ts diff @solana --history # 查看快照历史
**代理使用:**使用diff检测监控账户的显著粉丝变化。结合watch进行全面账户监控。定期运行(例如,每天)以建立粉丝变化历史。
报告(情报报告)
bun run xint.ts report "<topic>" [options]
生成综合Markdown情报报告,结合搜索结果、可选情感分析和通过Grok的AI驱动摘要。
选项:
--sentiment— 包括每条推文的情感分析--accounts @user1,@user2— 包括每个账户的活动部分--model <name>— AI摘要的Grok模型(默认:grok-3-mini)--pages N— 搜索页面获取(默认:2)--save— 保存报告到data/exports/
示例:
bun run xint.ts report "AI agents"
bun run xint.ts report "solana" --sentiment --accounts @aaboronkov,@rajgokal --save
bun run xint.ts report "crypto market" --model grok-3 --sentiment --save
**代理使用:**当用户想要一个关于主题的综合简报时,使用report。这是最高级命令 - 它在一个过程中运行搜索、情感和分析,并生成一个结构化的Markdown报告。对于快速脉搏检查,使用search --quick。
成本
bun run xint.ts costs # 今天的成本
bun run xint.ts costs week # 最后7天
bun run xint.ts costs month # 最后30天
bun run xint.ts costs all # 所有时间
bun run xint.ts costs budget # 显示预算信息
bun run xint.ts costs budget set 2.00 # 将每日限制设置为2美元
bun run xint.ts costs reset # 重置今天的
跟踪每次调用的API成本,具有每日汇总和可配置的预算限制。
X API v2按使用付费费率:
- 推文阅读(搜索、书签、点赞、个人资料):~$0.005/推文
- 全档案搜索:~$0.01/推文
- 写操作(点赞、取消点赞、书签、取消书签):~$0.01/操作
- 个人资料查找:~$0.005/查找
- 关注者/关注查找:~$0.01/页
- 趋势:~$0.10/请求
- Grok AI(情感/分析/报告):由xAI单独计费(不是X API)
默认每日预算:1.00美元(可通过costs budget set <N>调整)。
优化启发式
- 太多噪音? 添加
-is:reply,使用--sort likes,缩小关键词 - 结果太少? 用
OR扩展,移除限制性操作符 - 加密垃圾邮件? 添加
-$ -airdrop -giveaway -whitelist - 仅专家意见? 使用
from:或--min-likes 50 - 实质内容而非热门观点? 使用
has:links搜索
文件结构
xint/
├── SKILL.md (这个文件 - 代理指令)
├── xint.ts (CLI入口点)
├── lib/
│ ├── api.ts (X API包装器:搜索、线程、个人资料、推文)
│ ├── article.ts (全文内容获取器,通过xAI web_search)
│ ├── bookmarks.ts (书签读取 - OAuth)
│ ├── cache.ts (基于文件的缓存,15分钟TTL)
│ ├── costs.ts (API成本跟踪&预算)
│ ├── engagement.ts (点赞、点赞/取消点赞、关注、书签写入 - OAuth)
│ ├── followers.ts (关注者/关注跟踪+快照差异)
│ ├── format.ts (终端、Markdown、CSV、JSONL格式化器)
│ ├── grok.ts (xAI Grok分析集成)
│ ├── oauth.ts (OAuth 2.0 PKCE认证+令牌刷新)
│ ├── report.ts (情报报告生成)
│ ├── sentiment.ts (AI驱动的情感分析,通过Grok)
│ ├── trends.ts (趋势主题 - API+搜索回退)
│ └── watch.ts (实时监控,轮询)
├── data/
│ ├── api-costs.json (成本跟踪数据)
│ ├── oauth-tokens.json (OAuth令牌 - chmod 600)
│ ├── watchlist.json (监控账户)
│ ├── exports/ (保存的研究)
│ ├── snapshots/ (关注者/关注快照,用于差异)
│ └── cache/ (自动管理)
└── references/
└── x-api.md (X API端点参考)