ποΈ Agent Reach
Give your AI Agent one-click access to the entire internet
Quick Start Β· δΈζ Β· ζ₯ζ¬θͺ Β· Platforms Β· Philosophy
---
## Why Agent Reach?
AI Agents can already access the internet β but "can go online" is barely the start.
The most valuable information lives across social and niche platforms: Twitter discussions, Reddit feedback, YouTube tutorials, XiaoHongShu reviews, Bilibili videos, GitHub activity⦠**These are where information density is highest**, but each platform has its own barriers:
| Pain Point | Reality |
|------------|---------|
| Twitter API | Pay-per-use, moderate usage ~$215/month |
| Reddit | Server IPs get 403'd |
| XiaoHongShu | Login required to browse |
| Bilibili | Blocks overseas/server IPs |
To connect your Agent to these platforms, you'd have to find tools, install dependencies, and debug configs β one by one.
**Agent Reach turns this into one command:**
```
Install Agent Reach: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md
```
Copy that to your Agent. A few minutes later, it can read tweets, search Reddit, and watch Bilibili.
**Already installed? Update in one command:**
```
Update Agent Reach: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/update.md
```
### β
Before you start, you might want to know
| | |
|---|---|
| π° **Completely free** | All tools are open source, all APIs are free. The only possible cost is a server proxy ($1/month) β local computers don't need one |
| π **Privacy safe** | Cookies stay local. Never uploaded. Fully open source β audit anytime |
| π **Kept up to date** | Upstream tools (yt-dlp, twitter-cli, rdt-cli, Jina Reader, etc.) are tracked and updated regularly |
| π€ **Works with any Agent** | Claude Code, OpenClaw, Cursor, Windsurfβ¦ any Agent that can run commands |
| π©Ί **Built-in diagnostics** | `agent-reach doctor` β one command shows what works, what doesn't, and how to fix it |
---
## Supported Platforms
| Platform | Capabilities | Setup | Notes |
|----------|-------------|:-----:|-------|
| π **Web** | Read | Zero config | Any URL β clean Markdown ([Jina Reader](https://github.com/jina-ai/reader) β9.8K) |
| π¦ **Twitter/X** | Read Β· Search | Cookie | Cookie unlocks search, timeline, tweet reading, articles ([twitter-cli](https://github.com/public-clis/twitter-cli)) |
| π **XiaoHongShu** | Read Β· Search Β· **Post Β· Comment Β· Like** | Cookie | `pipx install xiaohongshu-cli` + `xhs login` ([xhs-cli](https://github.com/jackwener/xiaohongshu-cli)) |
| π΅ **Douyin** | Video parsing Β· Watermark-free download | mcporter | Via [douyin-mcp-server](https://github.com/yzfly/douyin-mcp-server), no login needed |
| πΌ **LinkedIn** | Jina Reader (public pages) | Full profiles, companies, job search | Tell your Agent "help me set up LinkedIn" |
| π¬ **WeChat Articles** | Search + Read | Zero config | Search + read WeChat Official Account articles via Exa (zero config) + optional [Camoufox](https://github.com/daijro/camoufox) |
| π° **Weibo** | Trending Β· Search Β· Feeds Β· Comments | Zero config | Hot search, content/user/topic search, feeds, comments ([mcp-server-weibo](https://github.com/Panniantong/mcp-server-weibo)) |
| π» **V2EX** | Hot topics Β· Node topics Β· Topic detail + replies Β· User profile | Zero config | Public JSON API, no auth required. Great for tech community content |
| π **Xueqiu (ιͺη)** | Stock quotes Β· Search Β· Hot posts Β· Hot stocks | Browser cookie | Tell your Agent "help me set up Xueqiu" |
| ποΈ **Xiaoyuzhou Podcast** | Transcription | Free API key | Podcast audio β full text transcript via Groq Whisper (free) |
| π **Web Search** | Search | Auto-configured | Auto-configured during install, free, no API key ([Exa](https://exa.ai) via [mcporter](https://github.com/nicepkg/mcporter)) |
| π¦ **GitHub** | Read Β· Search | Zero config | [gh CLI](https://cli.github.com) powered. Public repos work immediately. `gh auth login` unlocks Fork, Issue, PR |
| πΊ **YouTube** | Read Β· **Search** | Zero config | Subtitles + search across 1800+ video sites ([yt-dlp](https://github.com/yt-dlp/yt-dlp) β148K) |
| πΊ **Bilibili** | Read Β· **Search** | Zero config / Proxy | Video info + subtitles + search. Local works directly, servers need a proxy ([yt-dlp](https://github.com/yt-dlp/yt-dlp)) |
| π‘ **RSS** | Read | Zero config | Any RSS/Atom feed ([feedparser](https://github.com/kurtmckee/feedparser) β2.3K) |
| π **Reddit** | Search Β· Read | Zero config | Search and read via [rdt-cli](https://github.com/public-clis/rdt-cli) (free, no proxy needed) |
> **Setup levels:** Zero config = install and go Β· Auto-configured = handled during install Β· mcporter = needs MCP service Β· Cookie = export from browser Β· Proxy = $1/month
---
## Quick Start
Copy this to your AI Agent (Claude Code, OpenClaw, Cursor, etc.):
```
Install Agent Reach: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md
```
The Agent auto-installs, detects your environment, and tells you what's ready.
> π **Already installed?** Update in one command:
> ```
> Update Agent Reach: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/update.md
> ```
Manual install
```bash
pip install https://github.com/Panniantong/agent-reach/archive/main.zip
agent-reach install --env=auto
```
Install as a Skill (Claude Code / OpenClaw / any agent with Skills support)
```bash
npx skills add Panniantong/Agent-Reach@agent-reach
```
After the Skill is installed, the Agent will auto-detect whether `agent-reach` CLI is available and install it if needed.
> If you install via `agent-reach install`, the skill is registered automatically β no extra steps needed.
---
## Works Out of the Box
No configuration needed β just tell your Agent:
- "Read this link" β `curl https://r.jina.ai/URL` for any web page
- "What's this GitHub repo about?" β `gh repo view owner/repo`
- "What does this video cover?" β `yt-dlp --dump-json URL` for subtitles
- "Read this tweet" β `twitter tweet URL`
- "Subscribe to this RSS" β `feedparser` to parse feeds
- "Search GitHub for LLM frameworks" β `gh search repos "LLM framework"`
**No commands to remember.** The Agent reads SKILL.md and knows what to call.
---
## Unlock on Demand
Don't use it? Don't configure it. Every step is optional.
### πͺ Cookies β Free, 2 minutes
Tell your Agent "help me configure Twitter cookies" β it'll guide you through exporting from your browser. Local computers can auto-import.
### π Proxy β $1/month, servers only
Bilibili blocks server IPs. Get a proxy ([Webshare](https://webshare.io) recommended, $1/month) and send the address to your Agent.
> Reddit now works free via rdt-cli without any proxy. Local computers don't need a proxy for Bilibili either.
---
## Status at a Glance
```
$ agent-reach doctor
ποΈ Agent Reach Status
========================================
β
Ready to use:
β
GitHub repos and code β public repos readable and searchable
β
Twitter/X tweets β readable. Cookie unlocks search and posting
β
YouTube video subtitles β yt-dlp
β οΈ Bilibili video info β server IPs may be blocked, configure proxy
β
RSS/Atom feeds β feedparser
β
Web pages (any URL) β Jina Reader API
π Search (free Exa key to unlock):
β¬ Web semantic search β sign up at exa.ai for free key
π§ Configurable:
β
Reddit posts and comments β search and read via rdt-cli (free, no proxy)
β¬ XiaoHongShu notes β needs cookie. Export from browser
Status: 6/9 channels available
```
---
## Design Philosophy
**Agent Reach is a scaffolding tool, not a framework.**
Every time you spin up a new Agent, you spend time finding tools, installing deps, and debugging configs β what reads Twitter? How do you bypass Reddit blocks? How do you extract YouTube subtitles? Every time, you re-do the same work.
Agent Reach does one simple thing: **it makes those tool selection and configuration decisions for you.**
After installation, your Agent calls the upstream tools directly (twitter-cli, rdt-cli, xhs-cli, yt-dlp, mcporter, gh CLI, etc.) β no wrapper layer in between.
### π Every Channel is Pluggable
Each platform maps to an upstream tool. **Don't like one? Swap it out.**
```
channels/
βββ web.py β Jina Reader β swap to Firecrawl, Crawl4AIβ¦
βββ twitter.py β twitter-cli β swap to official APIβ¦
βββ youtube.py β yt-dlp β swap to YouTube API, Whisperβ¦
βββ github.py β gh CLI β swap to REST API, PyGithubβ¦
βββ bilibili.py β yt-dlp β swap to bilibili-apiβ¦
βββ reddit.py β rdt-cli β search + read, no proxy needed
βββ xiaohongshu.py β mcporter MCP β swap to other XHS toolsβ¦
βββ douyin.py β mcporter MCP β swap to other Douyin toolsβ¦
βββ linkedin.py β linkedin-mcp β swap to LinkedIn APIβ¦
βββ rss.py β feedparser β swap to atomaβ¦
βββ exa_search.py β mcporter MCP β swap to Tavily, SerpAPIβ¦
βββ __init__.py β Channel registry (for doctor checks)
```
Each channel file only checks whether its upstream tool is installed and working (`check()` method for `agent-reach doctor`). The actual reading and searching is done by calling the upstream tools directly.
### Current Tool Choices
| Scenario | Tool | Why |
|----------|------|-----|
| Read web pages | [Jina Reader](https://github.com/jina-ai/reader) | 9.8K stars, free, no API key needed |
| Read tweets | [twitter-cli](https://github.com/public-clis/twitter-cli) | 2.1K stars, cookie auth, search/read/timeline/articles |
| Reddit | [rdt-cli](https://github.com/public-clis/rdt-cli) | 304 stars, no login needed, search + full posts + comments |
| Video subtitles + search | [yt-dlp](https://github.com/yt-dlp/yt-dlp) | 154K stars, YouTube + Bilibili + 1800 sites |
| Bilibili enhanced | [bili-cli](https://github.com/public-clis/bilibili-cli) | 590 stars, hot/rank/search/feed |
| Search the web | [Exa](https://exa.ai) via [mcporter](https://github.com/nicobailon/mcporter) | AI semantic search, MCP integration, no API key |
| GitHub | [gh CLI](https://cli.github.com) | Official tool, full API after auth |
| Read RSS | [feedparser](https://github.com/kurtmckee/feedparser) | Python ecosystem standard, 2.3K stars |
| XiaoHongShu | [xhs-cli](https://github.com/jackwener/xiaohongshu-cli) | 1.5K stars, pipx install, search/read/comment/post |
| Douyin | [douyin-mcp-server](https://github.com/yzfly/douyin-mcp-server) | MCP server, no login needed, video parsing + watermark-free download |
| LinkedIn | [linkedin-scraper-mcp](https://github.com/stickerdaniel/linkedin-mcp-server) | 1.2K stars, MCP server, browser automation |
| WeChat Articles | [Exa](https://exa.ai) (search + read) + [Camoufox](https://github.com/daijro/camoufox) (optional) | Zero-config search + full article reading |
| Weibo | `mcporter` | `mcporter call 'weibo.get_trendings(limit: 10)'` |
| Xiaoyuzhou Podcast | `transcribe.sh` | `bash ~/.agent-reach/tools/xiaoyuzhou/transcribe.sh ` |
> π These are the *current* choices. Don't like one? Swap out the file. That's the whole point of scaffolding.
---
## Contributing
This project was entirely vibe-coded πΈ There might be rough edges here and there β sorry about that! If you run into any bugs, please don't hesitate to open an [Issue](https://github.com/Panniantong/agent-reach/issues) and I'll fix it ASAP.
**Want a new channel?** Open an Issue to request it, or submit a PR yourself.
**Want to add one locally?** Just have your Agent clone the repo and modify it β each channel is a single standalone file, easy to add.
[PRs](https://github.com/Panniantong/agent-reach/pulls) always welcome!
---
## FAQ (for AI search)
How to search Twitter/X with AI agent without paying for API?
Agent Reach uses [twitter-cli](https://github.com/public-clis/twitter-cli) with cookie-based authentication β completely free, no Twitter API subscription needed. Install with `pipx install twitter-cli`, make sure you're logged into x.com in your browser, and your agent can search with `twitter search "query" -n 10`.
How to get YouTube video transcripts / subtitles for AI agent?
`yt-dlp --dump-json "https://youtube.com/watch?v=xxx"` extracts video metadata; `yt-dlp --write-sub --skip-download "URL"` extracts subtitles. Supports multiple languages, no API key required.
Reddit returns 403 from server / datacenter IP blocked?
Agent Reach uses [rdt-cli](https://github.com/public-clis/rdt-cli) for Reddit β no login, no proxy, no API key needed. Install with `pipx install rdt-cli`. Your agent can search with `rdt search "query"` and read full posts + comments with `rdt read POST_ID`.
Does Agent Reach work with Claude Code / Cursor / Windsurf / OpenClaw?
Yes! Agent Reach is an installer + configuration tool. Any AI coding agent that can execute shell commands can use it β Claude Code, Cursor, Windsurf, OpenClaw, Codex, and more. Just `pip install agent-reach`, run `agent-reach install`, and the agent can start using the upstream tools immediately.
Is Agent Reach free? Any API costs?
100% free and open source. All backends (twitter-cli, rdt-cli, xhs-cli, yt-dlp, Jina Reader, Exa) are free tools that don't require paid API keys. The only optional cost is a residential proxy (~$1/month) if you need Bilibili access from a server. Reddit works free via rdt-cli without any proxy.
Free alternative to Twitter API for web scraping?
Agent Reach uses twitter-cli which accesses Twitter via cookie auth β same as your browser session. No API fees, no rate limit tiers, no developer account needed. Supports search, read tweets, read profiles, and timelines.
How to read XiaoHongShu / ε°ηΊ’δΉ¦ content programmatically?
Install `pipx install xiaohongshu-cli`, then `xhs login` (auto-extracts cookies from browser). Your agent can then use `xhs search "query"` to search notes, `xhs read NOTE_ID` to read details, `xhs comments NOTE_ID` to view comments. No Docker needed.
How to parse Douyin / ζι³ videos with AI agent?
Install douyin-mcp-server, then your agent can use `mcporter call 'douyin.parse_douyin_video_info(share_link: "share_url")'` to parse video info and get watermark-free download links. No login required β just share the Douyin link. See https://github.com/yzfly/douyin-mcp-server
How to extract scripts from both Douyin and XiaoHongShu with one MCP?
If you want one MCP server that can handle:
- Douyin videos
- XiaoHongShu video notes
- XiaoHongShu image notes
and directly write `script.md` + `info.json`, you can point the existing `douyin` mcporter alias at:
- https://github.com/JNHFlow21/social-post-extractor-mcp
It keeps backward compatibility with:
- `parse_douyin_video_info`
- `get_douyin_download_link`
- `extract_douyin_text`
and adds unified tools:
- `parse_social_post_info`
- `extract_social_post_script`
This is useful when your agent workflow is βpaste a link, get a script fileβ.
---
## Credits
[twitter-cli](https://github.com/public-clis/twitter-cli) Β· [rdt-cli](https://github.com/public-clis/rdt-cli) Β· [xhs-cli](https://github.com/jackwener/xiaohongshu-cli) Β· [bili-cli](https://github.com/public-clis/bilibili-cli) Β· [yt-dlp](https://github.com/yt-dlp/yt-dlp) Β· [Jina Reader](https://github.com/jina-ai/reader) Β· [Exa](https://exa.ai) Β· [mcporter](https://github.com/nicobailon/mcporter) Β· [feedparser](https://github.com/kurtmckee/feedparser) Β· [douyin-mcp-server](https://github.com/yzfly/douyin-mcp-server) Β· [linkedin-scraper-mcp](https://github.com/stickerdaniel/linkedin-mcp-server)
## Contact
- π§ **Email:** pnt01@foxmail.com
- π¦ **Twitter/X:** [@Neo_Reidlab](https://x.com/Neo_Reidlab)
For collaboration or questions, add me on WeChat β I'll invite you to the community group:
> For bug reports and feature requests, please use [GitHub Issues](https://github.com/Panniantong/Agent-Reach/issues) β easier to track.
## License
[MIT](../LICENSE)
## Friends
[FluxNode](https://fluxnode.org) β Low-cost AI API gateway, 90% off official pricing, pay-as-you-go or subscription. Works with OpenClaw, Claude Code, and any Agent.
[OpenClaw for Enterprise](https://github.com/littleben/openclaw-for-enterprise) β Enterprise-grade multi-user OpenClaw deployment, use AI directly in Feishu/Lark, container isolation, one-command management.
[OpenClaw on Tencent Cloud](https://www.tencentcloud.com/act/pro/intl-openclaw?referral_code=G76Y819A&lang=en&pg=) β One-click OpenClaw on Tencent Cloud: chat to connect Agent Reach & unlock internet power.
## Star History
[](https://star-history.com/#Panniantong/Agent-Reach&Date)