Trigger this skill when the user wants to:
Trigger keywords (examples):
Explicit commands: /felo-x-search, "search X", "search twitter"
Do NOT use for:
felo-search)
felo-web-extract)
felo-slides)
Linux/macOS:
export FELO_API_KEY="your-api-key-here"
Windows PowerShell:
$env:FELO_API_KEY="your-api-key-here"
Packaged CLI (after npm install -g felo-ai):
felo x [query] [options]
Script (from repo):
node felo-x-search/scripts/run_x_search.mjs [query] [options]
The x command uses parameter combinations to infer intent — no subcommands needed.
With query (search mode):
| Usage | Behavior |
|-------|----------|
| felo x "AI news" | Search tweets (default) |
| felo x -q "AI news" | Same as above |
| felo x "OpenAI" --user | Search users |
With --id (lookup mode):
| Usage | Behavior |
|-------|----------|
| felo x --id "1234567890" | Get tweet replies (default) |
| felo x --id "elonmusk" --user | Get user info |
| felo x --id "elonmusk" --user --tweets | Get user tweets |
| Option | Description |
|--------|-------------|
| [query] | Positional arg, search keyword (equivalent to -q) |
| -q, --query | Search keyword |
| --id | Tweet IDs or usernames (comma-separated) |
| --user | Switch to user mode |
| --tweets | Get user tweets (with --id --user) |
| -l, --limit | Number of results |
| --cursor | Pagination cursor |
| --include-replies | Include replies (with --tweets) |
| --query-type | Query type filter (tweet search) |
| --since-time | Start time filter |
| --until-time | End time filter |
| -j, --json | Output raw JSON |
| -t, --timeout | Timeout in seconds (default: 30) |
# Search tweets
curl -X POST "https://openapi.felo.ai/v2/x/tweet/search" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "AI news", "limit": 20}'
# Search users
curl -X POST "https://openapi.felo.ai/v2/x/user/search" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "artificial intelligence"}'
# Get user info
curl -X POST "https://openapi.felo.ai/v2/x/user/info" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"usernames": ["elonmusk", "OpenAI"]}'
# Get user tweets
curl -X POST "https://openapi.felo.ai/v2/x/user/tweets" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"username": "elonmusk", "limit": 20}'
# Get tweet replies
curl -X POST "https://openapi.felo.ai/v2/x/tweet/replies" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tweet_ids": ["1234567890"]}'
## @elonmusk (Elon Musk 🔵)
- User ID: `44196397`
- Followers: 100.0M
- Following: 500
- Total Tweets: 30.0K
- Bio: ...
- Location: Mars
- Account Created: 2009-06-02T00:00:00Z
---
### @elonmusk(Elon Musk ✓)
- Posted: 2026-03-09T12:00:00Z | Tweet ID: `1234567890`
Tweet content here...
Engagement: 5.0K likes | 1.0K retweets | 200 replies
---
INVALID_API_KEY — API Key is invalid or revoked
X_SEARCH_FAILED — X search request failed (check parameters or downstream error)
If FELO_API_KEY is not set, display setup instructions and stop.
https://openapi.felo.ai. Override with FELO_API_BASE env if needed.
Authorization: Bearer YOUR_API_KEY
POST /v2/x/user/info — Batch get user profiles
POST /v2/x/user/search — Search users
POST /v2/x/user/tweets — Get user tweets
POST /v2/x/tweet/search — Search tweets
POST /v2/x/tweet/replies — Get tweet replies
FELO_API_KEY before calling; if missing, return setup instructions.
--json for raw API response.
next_cursor) for fetching more results.
共 1 个版本