πŸ‘οΈ Agent Reach

Give your AI Agent one-click access to the entire internet

The most reliable access path for each platform β€” chosen, installed, and health-checked for you. Backends come and go; you won't notice.

MIT License Python 3.10+ GitHub Stars Trendshift GitHub Trending #1 Repository of the Day

Quick Start Β· δΈ­ζ–‡ Β· ζ—₯本θͺž Β· ν•œκ΅­μ–΄ Β· Platforms Β· Philosophy

> **No token or crypto affiliation:** Agent Reach has no official token, coin, investment product, fee-claim program, wallet connection, or Solana/Pump.fun project. Any crypto project using the Agent Reach name, GitHub URL, or author identity is not affiliated with this repository. Do not connect a wallet or claim fees based on messages, posts, or links that say otherwise. --- ## 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** | Every platform routes through a primary + fallback backend list. When an access path dies, we switch to the next β€” you won't notice (June 2026: Bilibili 412-blocked yt-dlp β†’ switched to bili-cli, zero action on your side) | | πŸ€– **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 Β· Comments | OpenCLI / MCP | Desktop: [OpenCLI](https://github.com/jackwener/opencli) (reuses browser session); Server: [xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp) (QR login); legacy xhs-cli still works | | πŸ’Ό **LinkedIn** | Jina Reader (public pages) | Full profiles, companies, job search | Tell your Agent "help me set up LinkedIn" | | πŸ’» **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 | Search + video detail via [bili-cli](https://github.com/public-clis/bilibili-cli) (no login needed); subtitles via [OpenCLI](https://github.com/jackwener/opencli). yt-dlp is 412-blocked by Bilibili and no longer used here | | πŸ“‘ **RSS** | Read | Zero config | Any RSS/Atom feed ([feedparser](https://github.com/kurtmckee/feedparser) ⭐2.3K) | | πŸ“– **Reddit** | Search Β· Read | OpenCLI / Cookie | No zero-config path (anonymous endpoints blocked). Desktop: [OpenCLI](https://github.com/jackwener/opencli) via browser session; or [rdt-cli](https://github.com/public-clis/rdt-cli) + cookie | > **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 > ⚠️ **OpenClaw users: enable `exec` permission first** > > Agent Reach relies on the Agent running shell commands (`pip install`, `mcporter`, `twitter`, etc.). If your OpenClaw uses the default `messaging` tool profile, the Agent won't be able to run them. **Enable `exec` before installing:** > > ```bash > openclaw config set tools.profile "coding" > ``` > Or set `"tools": { "profile": "coding" }` in `~/.openclaw/openclaw.json`. After changing it, restart the Gateway (`openclaw gateway restart`) and start a new conversation. Other platforms (Claude Code, Cursor, Windsurf, etc.) are not affected. 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 > ``` > πŸ›‘οΈ **Worried about security?** Use safe mode β€” it won't auto-install system packages, it only tells you what you need: > ``` > Install Agent Reach (safe mode): https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md > Use the --safe flag during install > ```
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. > > Prefer an English-only skill file? Set an English locale or export `AGENT_REACH_LANG=en` > before running `agent-reach install --env=auto` or `agent-reach skill --install`. > The installed file is always written as `SKILL.md`, so switching languages means rerunning > the install command with the new locale and replacing the previously installed skill file.
--- ## 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. --- ## Capability Boundary: Reading Content vs Operating Web Pages Some tasks go beyond "reading": operating logged-in web pages, submitting forms, isolating multiple accounts, running parallel browser sessions, or handing off high-friction steps in automation flows such as login, verification, and risk-control prompts. For these "hands-on" browser actions, Agent Reach can be paired with browser automation tools like [BrowserAct](https://www.browseract.ai/Agent) β€” 30+ prebuilt platform skills, supporting mainstream Agents such as Claude Code, OpenClaw, and Cursor. --- ## 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, restricted networks only Most users need no proxy. If your network blocks Reddit/Twitter (e.g. mainland China) get one ([Webshare](https://webshare.io) recommended, $1/month) and send the address to your Agent β€” it saves it and exports HTTP(S)_PROXY when calling those tools. > Reddit needs a logged-in session either way β€” OpenCLI rides your browser session, or rdt-cli after `rdt login`. Bilibili works via bili-cli without a proxy. --- ## 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 search & video detail β€” bili-cli (subtitles via OpenCLI) βœ… 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 β€” needs login: rdt-cli after `rdt login`, or OpenCLI browser session ⬜ XiaoHongShu notes β€” desktop: OpenCLI (browser session); server: xiaohongshu-mcp (QR) Status: 6/9 channels available ``` --- ## Design Philosophy **Agent Reach is a capability layer, not yet another tool.** It sits one level above any specific implementation β€” it handles **selection, installation, health checks, and routing**, not the reading itself. Reading is done by your Agent calling upstream tools directly; there is no wrapper layer. Every time you spin up a new Agent, you spend time finding tools, installing deps, and debugging configs β€” what reads Twitter? How do you log into Reddit? What replaces a discontinued XiaoHongShu CLI? Every time, you re-do the same work. Agent Reach does one simple thing: **the most reliable access path for each platform, chosen, installed, and health-checked for you. Access paths come and go (in March 2026 a batch of single-platform CLIs went unmaintained β€” we re-routed), so you don't have to care.** ### πŸ”Œ Every platform = an ordered backend list (primary + fallbacks) Switching access paths means reordering the list, not rewriting code. `agent-reach doctor` tells you **which backend each platform is currently using**. ``` channels/ β”œβ”€β”€ web.py β†’ Jina Reader β”œβ”€β”€ twitter.py β†’ twitter-cli β–Έ OpenCLI β–Έ bird β”œβ”€β”€ youtube.py β†’ yt-dlp β”œβ”€β”€ github.py β†’ gh CLI β”œβ”€β”€ bilibili.py β†’ bili-cli β–Έ OpenCLI β–Έ search API (yt-dlp retired, 412-blocked) β”œβ”€β”€ reddit.py β†’ OpenCLI β–Έ rdt-cli (no zero-config path, login required) β”œβ”€β”€ xiaohongshu.py β†’ OpenCLI β–Έ xiaohongshu-mcp β–Έ xhs-cli β”œβ”€β”€ linkedin.py β†’ linkedin-mcp β–Έ Jina Reader β”œβ”€β”€ rss.py β†’ feedparser β”œβ”€β”€ exa_search.py β†’ Exa via mcporter └── __init__.py β†’ Channel registry (for doctor checks) ``` Each channel file **actually probes** its candidate backends in order (not just checking that a command exists) β€” the first fully working one becomes the active backend, and broken ones come with a fix prescription. The actual reading and searching is done by the Agent calling the upstream tools directly. ### Current Tool Choices | Scenario | Primary | Fallback | Why | |----------|---------|----------|-----| | Read web pages | [Jina Reader](https://github.com/jina-ai/reader) | β€” | Free, no API key needed | | Read tweets | [twitter-cli](https://github.com/public-clis/twitter-cli) | [OpenCLI](https://github.com/jackwener/opencli) | Reliable search in real-world tests; OpenCLI falls back on your browser session | | Reddit | [OpenCLI](https://github.com/jackwener/opencli) (desktop) | [rdt-cli](https://github.com/public-clis/rdt-cli) | Anonymous endpoints blocked, official API gated β€” logged-in sessions are the only route left | | YouTube subtitles + search | [yt-dlp](https://github.com/yt-dlp/yt-dlp) | β€” | 154K stars, still the best for YouTube (no longer used for Bilibili) | | Bilibili | [bili-cli](https://github.com/public-clis/bilibili-cli) | OpenCLI β–Έ search API | yt-dlp is 412-blocked by Bilibili (verified June 2026); bili-cli searches and reads without login | | 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 | | XiaoHongShu | [OpenCLI](https://github.com/jackwener/opencli) (desktop) | [xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp) (server) β–Έ xhs-cli | The xhs-cli author moved to OpenCLI (24K stars); browser sessions mean zero friction | | LinkedIn | [linkedin-scraper-mcp](https://github.com/stickerdaniel/linkedin-mcp-server) | Jina Reader | MCP server, browser automation | | Xiaoyuzhou Podcast | `transcribe.sh` | β€” | `bash ~/.agent-reach/tools/xiaoyuzhou/transcribe.sh ` | > πŸ“Œ These are the *current* choices, re-verified regularly on real machines. When a path dies we switch to the next β€” `agent-reach doctor` always tells you which one is active. --- ## 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? Reddit requires a logged-in session for everything (anonymous endpoints are blocked, and official API registration has been approval-gated since 2025-11). On desktop, the preferred path is OpenCLI riding your browser's reddit.com session. Otherwise install rdt-cli from the pinned git source (`pipx install 'git+https://github.com/public-clis/rdt-cli.git'` β€” PyPI lags), then `rdt login`. Your agent can then 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) for some server scenarios. Reddit costs nothing but needs a logged-in session (rdt-cli after `rdt login`, or OpenCLI reusing your browser session).
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? On desktop, prefer **OpenCLI** (`agent-reach install --channels opencli`) β€” it reuses your browser's logged-in session, so if you've browsed XiaoHongShu you're set; one Chrome Web Store click installs the extension. Then `opencli xiaohongshu search "query"` / `opencli xiaohongshu note URL`. On servers use [xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp) (bundled headless browser, QR login). Existing xhs-cli installs keep working as a fallback backend (upstream unmaintained since 2026-03, not recommended for new setups).
--- ## 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) Β· [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:

WeChat QR

> For bug reports and feature requests, please use [GitHub Issues](https://github.com/Panniantong/Agent-Reach/issues) β€” easier to track. ## License [MIT](../LICENSE) ## Friends [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. [AtomGit mirror](https://atomgit.com/qq_51337814/Agent-Reach) β€” Synchronized AtomGit mirror for Agent Reach. ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=Panniantong/Agent-Reach&type=Date&v=20260309)](https://star-history.com/#Panniantong/Agent-Reach&Date)