Twitter索引器
为人工智能交易代理提供市场情报服务。抓取Twitter/X,在PostgreSQL中索引推文,并通过MCP提供社交信号,这样人工智能消费者就可以查询影响者活动、代币热度和市场情绪,而不需要自己的抓取器或凭证。
运作原理
Twitter/X --> Scraper --> PostgreSQL --> MCP Server --> AI Trading Agents
| |
Playwright tsvector FTS
(Cloudflare (full-text
bypass) search)刮痕 来自21位加密货币/政治影响者的推文和cron时间表上的代币关键字。 索引 它们具有全文搜索、标记提及提取和情感评分功能。 供应 通过MCP HTTP端点传输数据,任何AI助手都可以连接到该端点。
MCP工具
将您的AI代理连接到MCP服务器并获取以下工具:
| 工具 | 说明 |
|---|---|
search_tweets | 在所有索引推文中进行全文搜索 |
get_influencer_tweets | 特定影响者最近的推文 |
get_latest_tweets | 所有来源的最新索引推文 |
get_token_mentions | 推文中提到了一个日期范围的代币(BTC、SOL、ETH) |
get_token_stats | 代币在1小时/24小时/7天内的提及次数 |
get_influencer_list | 所有关注的有影响力的人都有追随者统计数据 |
get_trending | 推特热门话题 |
快速开始
先决条件
- Node.js 22+
- PostgreSQL 15+
- 剧作家浏览器(
npx playwright install chromium)
设置
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your credentials (see Environment Variables below)
# Create database and run migrations
npm run db:migrate
# Start the service (scraper + API + MCP)
npm run dev连接AI代理
启动MCP服务器:
npm run mcp # HTTP mode on port 3001添加到AI工具的MCP配置(Claude Desktop、Cursor等):
{
"mcpServers": {
"twitter-indexer": {
"type": "http",
"url": "http://localhost:3001/mcp"
}
}
}如果服务器需要身份验证:
{
"mcpServers": {
"twitter-indexer": {
"type": "http",
"url": "http://localhost:3001/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}环境变量
# Required
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
TWITTER_EMAIL=your_email
DATABASE_URL=postgresql://postgres:password@localhost:5432/twitter_indexer
API_KEY=your-rest-api-key
# MCP Server
MCP_PORT=3001 # default: 3001
MCP_MODE=http # http (default) or stdio
MCP_API_KEY= # empty = public, set value = requires Bearer auth
# Telegram Alerts
ALERTS_ENABLED=true # true (default) or false
TELEGRAM_BOT_TOKEN= # enables alerts
TELEGRAM_CHAT_ID= # optional, auto-detected on first message
# Optional
API_PORT=3000 # REST API port
CONFIG_DIR=./config # YAML config directory
COOKIES_DIR=./.cookies # cookie persistence观看影响者
配置于 config/watchlist.yaml.目前正在跟踪:
优先级1(每次爬网): ThuanCapital、唐纳德·特朗普、埃隆·马斯克、迈克尔·塞勒、CZ币安、维塔利克·布特林
优先级2: Nayib Bukele、参议员Lummis、David Sacks、Cathie Wood、Brian Armstrong
代币: BTC、SOL、ETH(带别名)
关键词: #加密货币、#defi、#memecoins、#黑客攻击、#漏洞利用
日程
| 作业 | 间隔 | 什么 |
|---|---|---|
| 时间线 | 每10分钟 | 获取有影响力的推文 |
| 搜索 | 每15分钟一次 | 搜索令牌关键字 |
| 趋势 | 每小时 | 获取趋势话题 |
警报
Telegram在三个触发点发出火灾警报:
- 影响者职位 --优先级1-2影响者推特
- 提及spike --令牌提到在1小时内跳跃200%以上
- 关键词匹配 --包含“列表”、“空投”、“黑客攻击”、“漏洞利用”的推文,来自拥有1万多名粉丝的账户
建筑
带有干净内部模块的TypeScript单体。两种刮擦模式:
- 节点获取 用户推文、个人资料、趋势(直接使用GraphQL和cookie认证)
- 剧作家浏览器 用于登录(Cloudflare旁路)和搜索(需要浏览器生成的标头)
看 docs/architecture.md 查看详细的图表和设计决策。
维护
Twitter会定期撤销承载令牌并更改GraphQL查询ID:
npx tsx scripts/get-bearer.ts # refresh bearer token
npx tsx scripts/get-query-ids.ts # refresh query IDs更新中提取的值 src/scraper/endpoints.ts.
发展
npm run dev # dev server (hot reload)
npx tsc --noEmit # type-check
npm test # run all tests
npx vitest run tests/path/file.ts # single test file
npm run mcp # MCP server (HTTP)
npm run mcp:stdio # MCP server (stdio)许可证
私人
