catalog/repos/0xnyk--xint.md

15 KiB
Raw Blame History

X平台终端智能CLI

Twitter CLI工具 AI分析 OSINT MCP服务器 开源

xint — 从终端获取 X 平台情报

X 平台智能 CLI — 在终端中搜索、监控、分析并与 X/Twitter 互动。

许可证: MIT Bun 发布版本 Stars


像专业人士一样搜索 X。 全文搜索、实时监控、粉丝追踪、AI 情感分析和结构化导出 — 全部在 CLI 中完成。

为什么选择 xint

  • 面向 AI 智能体 — 专为 Claude Code、OpenClaw 及其他编程智能体设计的技能包
  • 面向研究人员 — 无需离开终端即可进行 OSINT、市场情报和趋势追踪
  • 面向开发者 — 支持 JSONL/CSV 导出、Unix 管道集成,以及供 AI 智能体调用的 MCP 服务器
  • 快速 — 基于 Bun 构建,使用类型化 TypeScript内置智能缓存

精神续作:twint(已于 2023 年归档)。

安装

curl -fsSL https://raw.githubusercontent.com/0xNyk/xint/main/install.sh | bash

指定版本安装:

XINT_INSTALL_VERSION=<版本标签> \
curl -fsSL https://raw.githubusercontent.com/0xNyk/xint/main/install.sh | bash

HomebrewApple Silicon 轻量预构建二进制):

brew tap 0xNyk/xint
brew install xint

显式安装 Rust 变体:

brew install xint-rs

从源码手动安装:

git clone https://github.com/0xNyk/xint.git
cd xint
bun install

依赖: Bun · X API 访问权限(需预付费额度)

快速参考

任务 命令
搜索 xint search "AI agents"
监控 xint watch "solana" -i 5m
流式推文 xint stream
用户主页 xint profile @elonmusk
推文线程 xint thread 123456789
粉丝变动 xint diff @username
书签 xint bookmarks
列表 xint lists
屏蔽 xint blocks
静音 xint mutes
关注 xint follow @username
媒体 xint media <推文ID>
趋势 xint trends
AI 分析 xint analyze "best AI frameworks?"
报告 xint report "crypto"
转推列表 xint reposts <推文ID>
用户搜索 xint users "AI researcher"
文章分析 xint article <url> --ai "summarize"
能力清单 xint capabilities --json
终端 UI xint tui

简写命令

xint s "query"    # 搜索
xint w "query"    # 监控
xint p @user     # 用户主页
xint tr           # 趋势
xint bm           # 书签

TUI 主题定制

# 内置主题classic | neon | minimal | ocean | amber
XINT_TUI_THEME=ocean xint tui

# 禁用动画标题行
XINT_TUI_HERO=0 xint tui

# 禁用菜单行图标
XINT_TUI_ICONS=0 xint tui

# 强制使用 ASCII 边框
XINT_TUI_ASCII=1 xint tui

# 自定义主题 token 文件
XINT_TUI_THEME_FILE=./tui-theme.tokens.example.json xint tui

配置

1. X API 密钥

在 Shell 或密钥管理器中设置本地 Bearer Token请勿提交凭据

  • X_BEARER_TOKEN

developer.x.com → 你的应用 → 应用设置 中获取 Bearer Token。

2. 可选xAI用于 AI 功能)

用于 analyzereport --sentimentarticle --ai

  • XAI_API_KEY

3. 可选OAuth用于写操作

用于书签、点赞、列表、屏蔽/静音及粉丝追踪:

  • X_CLIENT_ID

运行 xint auth setup 完成 OAuth 授权流程。

部署模式

本地自托管OSS 默认)

  • 在本地从此仓库运行所有功能。
  • 包 API 调用均在本地执行,除非设置了云端地址。
  • 适合开发和私有工作流。

云端控制平面(xint-cloud

  • 将包 API 功能指向托管的控制平面:
    • XINT_PACKAGE_API_BASE_URL=http://localhost:8787/v1(或你部署的 URL
    • XINT_PACKAGE_API_KEY=<工作区API密钥>
    • XINT_WORKSPACE_ID=<工作区ID>
  • 在配额/计划错误时显示可选的付费升级链接:
    • XINT_BILLING_UPGRADE_URL=https://your-app/pricing

注意:

  • XINT_PACKAGE_API_BASE_URL 未设置,包 API MCP 工具将返回配置错误。
  • xint-cloud 应保持私有;xintxint-rs 作为公开 OSS 客户端。

智能体原生能力清单

xint 现已内置机器可读的清单,供智能体运行时白名单和工具路由使用:

# 格式化 JSON 输出
xint capabilities

# 紧凑 JSON 供机器解析
xint capabilities --compact

搜索

# 快速脉冲搜索
xint search "AI agents" --quick

# 过去一小时高互动推文
xint search "react 19" --since 1h --sort likes --min-likes 50

# 全档案深度搜索
xint search "bitcoin ETF" --full --pages 3

# 带情感分析
xint search "solana" --sentiment

# 导出
xint search "startups" --csv > data.csv
xint search "AI" --jsonl | jq '.text'

选项

参数 说明
--sort likes · impressions · retweets · recent
--since 1h · 3h · 12h · 1d · 7d
--full 搜索完整档案(回溯至 2006 年)
--min-likes N 按互动量筛选
--pages N 获取页数1-5
--sentiment 为每条推文添加 AI 情感分析
--quick 使用缓存的快速模式

监控(实时)

# 每 5 分钟监控话题
xint watch "solana" --interval 5m

# 监控用户
xint watch "@vitalikbuterin" -i 1m

# Webhook 推送到 Slack
xint watch "breaking" -i 30s --webhook https://example.com/webhook

Webhook 安全规则:

  • 远程 Webhook 必须使用 https://
  • http:// 仅在本地/回环地址时被允许
  • 可选主机白名单:XINT_WEBHOOK_ALLOWED_HOSTS=hooks.example.com,*.internal.example

Ctrl+C 退出 — 将显示本次会话统计。

流式推文(官方过滤流)

# 列出当前流规则
xint stream-rules

# 添加过滤流规则
xint stream-rules add "from:elonmusk -is:retweet" --tag elon

# 连接到流
xint stream

# JSONL 输出,最多 25 条后停止
xint stream --jsonl --max-events 25

粉丝追踪

# 首次运行:创建快照
xint diff @vitalikbuterin

# 再次运行:显示变动
xint diff @vitalikbuterin

# 追踪关注列表
xint diff @username --following

需要 OAuthxint auth setup)。

列表(需 OAuth

# 查看你创建的列表
xint lists

# 创建私有列表
xint lists create "AI Researchers" --description "高质量账号" --private

# 添加/移除成员
xint lists members add <list_id> @username
xint lists members remove <list_id> @username

屏蔽与静音(需 OAuth

# 查看已屏蔽/静音用户
xint blocks
xint mutes

# 添加/移除
xint blocks add @username
xint blocks remove @username
xint mutes add @username
xint mutes remove @username

关注操作(需 OAuth

xint follow @username
xint unfollow @username

媒体下载

# 通过推文 ID 下载媒体
xint media 1900100012345678901

# 通过推文 URL 下载媒体
xint media https://x.com/user/status/1900100012345678901

# 指定输出目录并生成 JSON 摘要
xint media 1900100012345678901 --dir ./downloads --json

# 仅下载第一个视频/GIF
xint media 1900100012345678901 --video-only --max-items 1

# 仅下载图片
xint media 1900100012345678901 --photos-only

# 自定义文件名模板
xint media 1900100012345678901 --name-template "{username}-{created_at}-{index}"

转推列表

# 查看谁转推了某条推文
xint reposts <推文ID>
xint reposts <推文ID> --limit 50 --json

用户搜索

# 按关键词搜索用户
xint users "AI researcher"
xint users "solana dev" --limit 10 --json

情报报告

# 生成报告
xint report "AI agents" --save

# 带情感分析,并指定账号
xint report "crypto" --sentiment --accounts @aaboronkov,@solana

报告内容包括:摘要、情感分布、热门推文、账号活动。

文章分析

# 抓取文章
xint article "https://example.com"

# 抓取文章并 AI 摘要
xint article "https://example.com" --ai "关键要点?"

# 从 X 推文链接分析
xint article "https://x.com/user/status/123" --ai "总结"

使用 xAI 的 grok-4 模型,默认分析模型为 grok-4-1-fast

作为 AI 智能体技能使用

专为 AI 编程智能体设计,可添加为技能:

# Claude Code
mkdir -p .claude/skills && cd .claude/skills
git clone https://github.com/0xNyk/xint.git

# OpenClaw
mkdir -p skills && cd skills
git clone https://github.com/0xNyk/xint.git

然后直接说:"搜索 X 上关于 React 19 的讨论" — 智能体会读取 SKILL.md 并运行正确的命令。

MCP 服务器

xint mcp

启动一个供 AI 智能体连接的 MCP 服务器。

# HTTP/SSE 模式(默认仅本地)
xint mcp --sse --port=3000

# 可选:启用 Bearer 认证(建议在绑定非回环地址时使用)
XINT_MCP_AUTH_TOKEN=替换为长随机令牌 xint mcp --sse --host=127.0.0.1

安全默认值:

  • SSE 模式默认绑定 127.0.0.1,除非设置 --host / XINT_MCP_HOST
  • 若主机为非回环地址,必须通过 --auth-tokenXINT_MCP_AUTH_TOKEN 提供认证。

费用

操作 费用
读取推文 $0.005/条
全档案搜索 $0.01/条
写操作 $0.01/次
xint costs           # 今日花费
xint costs week      # 过去 7 天
xint costs budget    # 查看/设置限额

包 API 计费

# 显示工作区计划、限制和功能门控
xint billing status

# 显示指定时间窗口内各操作的用量
xint billing usage --days=30

这些命令从本地/托管的包 APIXINT_PACKAGE_API_BASE_URL)读取数据。

托管计费同步方面,包 API 还支持:

  • POST /v1/billing/webhook(提供商无关的事件接入)
  • GET /v1/billing/events?limit=100(工作区计费事件历史)

配置变量(仅本地)

变量 必填 说明
X_BEARER_TOKEN X API v2 Bearer Token
XAI_API_KEY 用于 analyze/report 的 xAI 密钥
XINT_ARTICLE_TIMEOUT_SEC 文章抓取超时秒数(默认 30范围 5-120
X_CLIENT_ID 书签/点赞/列表/屏蔽/静音的 OAuth
XINT_PACKAGE_API_BASE_URL MCP 包工具/计费的包 API 基础 URL
XINT_PACKAGE_API_KEY 包 API 认证的旧版单一 Bearer 密钥
XINT_PACKAGE_API_KEYS API 密钥到 workspace_id + plan 的 JSON 映射
XINT_PACKAGE_API_PLAN 默认工作区计划(free|pro|team|enterprise
XINT_WORKSPACE_ID 本地 xint billing * 调用使用的工作区 ID
XINT_BILLING_WEBHOOK_SECRET /v1/billing/webhook 签名验证的 HMAC 密钥
XINT_BILLING_UPGRADE_URL MCP 计划/配额错误时显示的升级链接

目录结构

xint/
├── xint.ts              # CLI 入口
├── lib/                 # 核心模块
│   ├── api.ts          # X API 封装
│   ├── oauth.ts        # OAuth 2.0 PKCE
│   ├── grok.ts         # xAI 集成
│   ├── sentiment.ts    # AI 情感分析
│   ├── watch.ts        # 实时监控
│   └── format.ts       # 输出格式化
├── data/
│   ├── cache/          # 搜索缓存15分钟 TTL
│   ├── exports/        # 已保存结果
│   └── snapshots/      # 粉丝快照
├── SKILL.md            # AI 智能体使用说明
└── .env.example        # 环境变量模板

安全

  • Token 从环境变量读取 — 从不硬编码
  • OAuth Token 以 chmod 600 权限存储
  • Webhook仅使用可信端点
  • 在不受信任环境中请检查智能体会话日志

详见 SECURITY.md

贡献

开源项目!请参阅 CONTRIBUTING.md

发布自动化

xintxintxint-rs 发布自动化的唯一来源。

# 在 xint/ 目录下执行
./scripts/release.sh --dry-run --allow-dirty
./scripts/release.sh 2026.2.18.4 --allow-dirty
# 本次禁用默认的 ClawdHub 发布
./scripts/release.sh 2026.2.18.4 --no-clawdhub
# 同时启用 skills.sh 发布
./scripts/release.sh 2026.2.18.4 --skillsh
# 如果只想手动填写发布说明,禁用 GitHub 自动生成
./scripts/release.sh 2026.2.18.4 --no-auto-notes
# 将发布报告写入自定义目录
./scripts/release.sh 2026.2.18.4 --report-dir /tmp/xint-release-reports

可选路径覆盖:

  • REPO_PATH_XINT(在 xint 仓库内运行时默认为当前仓库)
  • REPO_PATH_XINT_RS(默认为兄弟目录 ../xint-rs,若存在)
  • RELEASE_REPORT_DIR(默认为 xint/reports/releases

发布说明行为:

  • 默认:使用 gh release create --generate-notes 自动生成
  • 手动覆盖:设置 CHANGELOG_ADDEDCHANGELOG_CHANGEDCHANGELOG_FIXEDCHANGELOG_SECURITY 中任意一个
  • 默认:当 clawdhub CLI 可用时发布到 ClawdHub使用 --no-clawdhub 禁用)
  • 可选:使用 --skillsh 发布到 skills.sh--ai-skill 同时发布两者)

发布报告:

  • 默认:写入 reports/releases/<version>.md
  • 包含每个仓库的提交列表、提交范围、文件变更、SHA、对比链接和发布 URL
  • 自动作为资产上传到两个 GitHub 发布页(可使用 --no-report-asset 禁用)
  • 自动嵌入两个 GitHub 发布正文(可使用 --no-report-body 禁用)
  • 使用 --no-report 完全禁用

贡献

欢迎贡献。请先阅读贡献指南

❤️ 支持项目

如果你觉得这个项目有用,欢迎支持我的开源工作。

Buy Me A Coffee

Solana 捐赠地址

BYLu8XD8hGDUtdRBWpGWu5HKoiPrWqCxYFSh4oxXuvPg


需要为你的团队构建智能体基础设施、交易系统或 Solana 应用?

Builderz 提供生产级 AI 系统交付服务 — 覆盖 15 个国家32+ 款产品。

联系我们 | @nyk_builderz

许可证

CC0

在法律允许的最大范围内,作者已放弃对本作品的所有版权及相关权利。


Star 历史