Use weibo-cli for ALL Weibo (微博) operations — keyword search, hot search, trending topics, timelines, weibo details, comments, reposts, user profiles, and follower/following lists. Invoke whenever user requests any Weibo interaction.
Resources
5Install
npx skillscat add pettingzooofficer476/weibo-cli Install via the SkillsCat registry.
weibo-cli — Weibo CLI Tool
Binary: weibo
Credentials: browser cookies (auto-extracted) or QR code login
Setup
# Install (requires Python 3.10+)
git clone git@github.com:jackwener/weibo-cli.git
cd weibo-cli && uv syncAuthentication
IMPORTANT FOR AGENTS: Before executing ANY weibo command, check if credentials exist first. Do NOT assume cookies are configured.
Step 0: Check if already authenticated
weibo status 2>/dev/null && echo "AUTH_OK" || echo "AUTH_NEEDED"If AUTH_OK, skip to Command Reference.
If AUTH_NEEDED, proceed to Step 1.
Step 1: Guide user to authenticate
Method A: Browser cookie extraction (recommended)
Ensure user is logged into weibo.com in any supported browser (Chrome, Arc, Edge, Firefox, Brave, Chromium, Opera, Vivaldi, Safari, LibreWolf). weibo-cli auto-extracts cookies.
weibo login
weibo login --qrcode # QR code login directly (skip browser cookies)
weibo statusMethod B: QR code login
weibo login
# → Renders QR in terminal using Unicode half-blocks
# → Scan with Weibo App (我的 → 扫一扫) → confirmStep 2: Handle common auth issues
| Symptom | Agent action |
|---|---|
⚠️ 未登录 |
Guide user to login to weibo.com in browser, then run weibo login |
会话已过期 |
Run weibo logout && weibo login |
| Cookie extraction hangs | Browser may be running; close browser and retry |
Output Format
Default: Rich table (human-readable)
weibo hot # Pretty table outputJSON / YAML: structured output
weibo hot --json # JSON to stdout
weibo hot --yaml # YAML output
weibo hot --json | jq '.realtime[:3]' # Filter with jqNon-TTY stdout defaults to YAML automatically.
Command Reference
Reading
| Command | Description | Example |
|---|---|---|
weibo hot |
Hot search list (50+ topics) | weibo hot --count 10 --json |
weibo trending |
Real-time search trends | weibo trending --count 10 --yaml |
weibo search <keyword> |
Search weibos by keyword | weibo search "科技" --count 5 --json |
weibo feed |
Hot timeline | weibo feed --count 5 --json |
weibo home |
Following timeline | weibo home --count 10 --json |
weibo detail <mblogid> |
View weibo with stats | weibo detail Qw06Kd98p --json |
weibo comments <mblogid> |
View comments | weibo comments Qw06Kd98p --count 10 |
weibo reposts <mblogid> |
View reposts/forwards | weibo reposts Qw06Kd98p --count 5 |
weibo profile <uid> |
User profile | weibo profile 1699432410 --json |
weibo weibos <uid> |
User's published weibos | weibo weibos 1699432410 --count 5 |
weibo following <uid> |
User's following list | weibo following 1699432410 |
weibo followers <uid> |
User's follower list | weibo followers 1699432410 |
Account
| Command | Description |
|---|---|
weibo login |
Extract cookies from browser / QR login |
weibo login --qrcode |
QR code login directly (skip browser) |
weibo login --cookie-source <browser> |
Extract from specific browser |
weibo logout |
Clear saved credentials |
weibo status |
Check authentication status |
weibo me |
Show current user profile |
Agent Workflow Examples
Browse hot topics and read details
# Get hot search topics
MBLOG=$(weibo hot --json | jq -r '.realtime[0].mblog_id // empty')
# Read a specific weibo
weibo detail Qw06Kd98p --json | jq '{text: .text_raw, likes: .attitudes_count, comments: .comments_count}'Analyze user profile
weibo profile 1699432410 --json | jq '.user | {name: .screen_name, followers: .followers_count, posts: .statuses_count}'
weibo weibos 1699432410 --count 3 --jsonRead comments on a weibo
weibo comments Qw06Kd98p --json | jq '.data[:5] | .[].text_raw'Daily monitoring workflow
# Top 10 hot topics
weibo hot --json | jq '.realtime[:10] | .[] | {rank, word, num}'
# Trending sidebar
weibo trending --yaml
# Hot feed
weibo feed --count 5 --jsonError Codes
Structured error codes returned in CLI output:
not_authenticated— cookies expired or missingrate_limited— too many requestsinvalid_params— missing or invalid parametersqr_expired— QR code has expiredapi_error— upstream Weibo API error
Limitations
- Read-only — no posting, liking, or retweeting
- No DMs — cannot access private messages
- Single account — one set of credentials at a time
- Rate limited — built-in Gaussian jitter delay (~1s) between requests
Anti-Detection Notes for Agents
- Do NOT parallelize requests — the built-in rate-limit delay exists for account safety
- Batch operations: when doing bulk work (e.g., reading many profiles), add delays between CLI calls
- Session stability: all requests share consistent Chrome 145 headers per session
Safety Notes
- Do not ask users to share raw cookie values in chat logs.
- Prefer local browser cookie extraction over manual secret copy/paste.
- If auth fails, ask the user to re-login via
weibo login. - Agent should treat cookie values as secrets (do not echo to stdout unnecessarily).
- Built-in rate-limit delay protects accounts; do not bypass it.