ποΈ 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.
### β
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, birdx, 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 | Zero config / Cookie | Single tweets readable out of the box. Cookie unlocks search, timeline, posting ([birdx](https://github.com/runesleo/birdx)) |
| π **XiaoHongShu** | Read Β· Search Β· **Post Β· Comment Β· Like** | mcporter | Via [xiaohongshu-mcp](https://github.com/user/xiaohongshu-mcp) internal API, install and go |
| π **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 | Free / Proxy | Search via Exa (free). Reading posts needs a proxy on servers |
> **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.
Manual install
```bash
pip install https://github.com/Panniantong/agent-reach/archive/main.zip
agent-reach install --env=auto
```
---
## Works Out of the Box
No configuration needed β just tell your Agent:
- "Read this link" β any web page
- "What's this GitHub repo about?" β repos, issues, code
- "What does this video cover?" β YouTube / Bilibili subtitles
- "Read this tweet" β Twitter posts
- "Subscribe to this RSS" β RSS / Atom feeds
- "Search GitHub for LLM frameworks" β GitHub search
**No commands to remember.** The Agent 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
Reddit and Bilibili block server IPs. Get a proxy ([Webshare](https://webshare.io) recommended, $1/month) and send the address to your Agent.
> Local computers don't need a proxy. Reddit search works free via Exa even without one.
---
## 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 via Exa (free). Reading needs 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.**
### π Every Channel is Pluggable
Each platform is a single Python file implementing a unified interface. **Backends can be swapped anytime** β when a better tool comes along, change one file and nothing else breaks.
```
channels/
βββ web.py β Jina Reader β swap to Firecrawl, Crawl4AIβ¦
βββ twitter.py β birdx β swap to Nitter, 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 β JSON API + Exa β swap to PRAW, Pushshiftβ¦
βββ xiaohongshu.py β mcporter MCP β swap to other XHS toolsβ¦
βββ rss.py β feedparser β swap to atomaβ¦
βββ exa_search.py β mcporter MCP β swap to Tavily, SerpAPIβ¦
βββ __init__.py β Channel registry
```
### 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 | [birdx](https://github.com/runesleo/birdx) | Cookie auth, free. Official API is pay-per-use ($0.005/post read) |
| Video subtitles + search | [yt-dlp](https://github.com/yt-dlp/yt-dlp) | 148K stars, YouTube + Bilibili + 1800 sites |
| Search the web | [Exa](https://exa.ai) via [mcporter](https://github.com/nicepkg/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 | [xiaohongshu-mcp](https://github.com/user/xiaohongshu-mcp) | Internal API, bypasses anti-bot |
> π 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!
## Credits
[Jina Reader](https://github.com/jina-ai/reader) Β· [yt-dlp](https://github.com/yt-dlp/yt-dlp) Β· [birdx](https://github.com/runesleo/birdx) Β· [Exa](https://exa.ai) Β· [feedparser](https://github.com/kurtmckee/feedparser)
## License
[MIT](../LICENSE)