x-pose
agent
Warn
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Warn
- network request — Outbound network request in scraper/_scrape_worker.py
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
A viral AI-powered Twitter/X personality profiler and savage roast generator built with Python, Streamlit, and DeepSeek. |一个 Twitter/X 账号 AI 人格透视与无情吐槽(Roast)生成器,基于 Python、Streamlit 和 DeepSeek 构建。
README.md
X-POSE
AI-powered Twitter personality analyzer — savage, sharable, screenshot-worthy.
Overview
X-POSE is a single-user Twitter personality analyzer. Enter a username → scrape their profile & latest tweets → DeepSeek V4 Pro AI generates a 15-dimension personality report with cards, roast, strengths, weaknesses, and more.
Inspired by Wordware's viral Twitter personality project.
Features
- Scrape — fetches profile info + latest tweets via Playwright/CloakBrowser
- Analyze — sends profile + tweets to DeepSeek V4 Pro and returns structured JSON
- 15 Report Cards — about, roast, strengths, weaknesses, love life, money, health, and more
- Download as Image — one-click PNG screenshot via html2canvas
- Share to X — pre-filled tweet with your report
- Bilingual UI — Simplified Chinese / English toggle
- 1-Click Concurrency Limit — prevents server overload on Streamlit Cloud
Quick Start
Try it online
Run locally
# 1. Clone
git clone https://github.com/gokuscraper/x-pose.git
cd x-pose
# 2. Install Python deps
pip install -r requirements.txt
# 3. Install Playwright browsers (required by CloakBrowser)
playwright install chromium
# 4. Configure API key
# Create .streamlit/secrets.toml with:
# SILICON_API_KEY = "sk-your-key-here"
# 5. Run
streamlit run streamlit_app.py
API Key
X-POSE uses SiliconFlow DeepSeek V4 Pro. Get your API key from SiliconFlow Console.
Project Structure
x-pose/
├── streamlit_app.py # Home page — username input → scrape
├── pages/
│ └── 1_Analysis.py # Analysis report page
├── lib/
│ ├── ai.py # AI prompt & API call
│ ├── tweet_utils.py # Tweet formatting & stats
│ └── sidebar.py # Sidebar navigation
├── scraper/
│ ├── worker.py # Subprocess entry point (avoids event-loop conflict)
│ ├── subprocess_client.py# Subprocess communication
│ ├── client.py # CloakBrowser wrapper
│ ├── fetcher.py # Fetch user + tweets
│ ├── parser.py # Parse raw API data → models
│ ├── models.py # TwitterUser, Tweet dataclasses
│ ├── storage.py # Local JSON caching
│ └── config.py # API endpoints config
├── locales/
│ ├── zh.json # Chinese UI strings
│ └── en.json # English UI strings
├── i18n.py # i18n helper
├── requirements.txt
└── packages.txt # System deps for Streamlit Cloud
How It Works
flowchart LR
A[User Input] --> B[Playwright Subprocess]
B --> C[Profile JSON + Tweets]
C --> D[DeepSeek V4 Pro]
D --> E[15-Field JSON Report]
E --> F[Card Grid UI]
F --> G[Download PNG / Share to X]
- Input — username (supports
@user,https://x.com/user, bare name) - Scrape — subprocess runs Playwright via CloakBrowser to bypass Vercel challenges
- Analyze — profile + tweets sent to DeepSeek V4 Pro with a savage, witty prompt
- Report — 15 cards rendered in a responsive grid
- Share — download as PNG or share to X with pre-filled text
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Streamlit (single-page app) |
| AI Model | DeepSeek V4 Pro via SiliconFlow API |
| Scraper | CloakBrowser (Playwright-based) |
| Deployment | Streamlit Cloud |
| License | Apache 2.0 |
License
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found