1. Install command: git+... requires git (many envs don't have it)
→ Changed to zip URL: pip install .../archive/main.zip
2. yt-dlp not in dependencies (shows warning in doctor)
→ Added yt-dlp to required dependencies
3. search-twitter/reddit shows raw 401 error without Exa key
→ Now shows friendly 'Exa API key not configured' message
Key improvements:
- twitter-cookies now accepts BOTH formats:
1. Full cookie header string from Cookie-Editor export
2. Two separate values (auth_token ct0)
Automatically detects which format was pasted.
- New docs/cookie-export.md guide for server users
Recommends Cookie-Editor Chrome extension (one-click export)
Fallback: manual F12 → Network → Cookie header
- Install guide now has two clear paths:
Path A (local): --from-browser chrome (one command, all cookies)
Path B (server): Cookie-Editor extension export (30 sec per site)
- Better error messages with accepted format examples
New: agent-eyes configure --from-browser chrome
- Extracts Twitter, XiaoHongShu, Bilibili cookies in ONE command
- No F12, no manual copying, no extension needed
- Supports: chrome, firefox, edge, brave, opera
- Uses browser-cookie3 (optional dependency: pip install agent-eyes[cookies])
Install guide now 3x shorter:
1. pip install + agent-eyes install (auto-detect env)
2. agent-eyes configure --from-browser chrome (one-click all cookies)
3. agent-eyes configure exa-key KEY (one API key)
4. Done
User actions reduced from 4 trips to 2:
- Before: go to exa.ai + F12 Twitter + F12 XHS + go to webshare.io
- After: go to exa.ai + say 'yes' to auto-import cookies
Key changes:
1. Auto-detect local vs server (SSH/Docker/cloud/headless detection)
- User no longer needs to answer 'local or server?'
2. Only ask for ONE thing: Exa API key (the highest-value unlock)
3. Everything else is 'ask later' — user says 'set up Twitter' anytime
4. Install guide cut from 200 lines to 100 lines
5. No more overwhelming channel menu — just show what works + one recommendation
Philosophy: default to everything working, only stop when user action is truly needed.
The lazy user path: paste one line → Agent installs → 'want search? get free key at exa.ai' → done.
Major install flow polish:
- Channels organized by setup difficulty:
🟢 Zero-config (Web, GitHub, RSS) — works immediately
🔵 Cookie-based (Twitter, YouTube, Bilibili, XiaoHongShu) — free, ~2min
🟡 Free API key (Exa Search) — one key, 30 seconds
🟠 Proxy-based (Reddit, Bilibili on server) — $1/month
- Every channel explains: what it does, what's needed, what you miss without it
- Server vs local affects which channels need proxy
New: XiaoHongShu channel (cookie-based, falls back to Jina Reader)
New configure commands: twitter-cookies, xhs-cookie, youtube-cookies
Each command auto-tests after saving.
New commands:
- agent-eyes install --env=<local|server> --search=<yes|no> [--proxy=URL] [--exa-key=KEY]
One-shot installer with explicit flags. No ambiguity.
- agent-eyes configure <key> <value>
Set exa-key/proxy/github-token/groq-key with auto-testing.
e.g. 'agent-eyes configure exa-key xxx' → saves + tests API
Rewrote install.md as strict decision tree:
1. Ask 3 questions → get flags
2. pip install
3. Run ONE install command with flags
4. Configure keys with configure command (auto-tests each)
5. Verify with doctor
Inspired by oh-my-opencode's deterministic installer pattern.
- CLI now suppresses loguru INFO logs by default (use -v/--verbose to show)
- Fixed birdx output parser to correctly extract author, url, date, text
- birdx search now uses plain text output (--json returns empty arrays)