Agent Reach: a web access layer for AI agents
Panniantong/Agent-Reach · 85,387★ · 7,492 forks
Everything worth knowing about Panniantong/Agent-Reach: a Python project that selects, installs, diagnoses, and documents access tools for several internet platforms so an agent can invoke them directly.
What Agent Reach is
Agent Reach is a command-line interface and an agent skill that organizes access to the web, social networks, video, RSS, and GitHub. Its proposal isn’t to replace the tools that read those services: it works as a capability layer that picks a route, installs dependencies, verifies they work, and reports which alternative is active. The actual reading or searching is ultimately carried out by the agent using upstream tools.
The repository lists access to web pages, YouTube, Bilibili, GitHub, RSS, Exa, V2EX, X, Reddit, Xiaohongshu, Facebook, Instagram, LinkedIn, Xueqiu, and the Xiaoyuzhou podcast. Some routes are usable with no configuration; others require an existing Chrome session, manually exported cookies, a key, or, on restricted networks, a proxy.
The origin: from nine channels to a capability layer
GitHub dates the repository’s creation to February 24, 2026. The pyproject.toml file attributes the package to Neo Reid; the owning account Panniantong presents itself on GitHub as Pnant. The changelog describes the initial release as nine channels, with read, search, diagnose, and install commands, a pluggable channel interface, and skill registration for Claude Code, OpenClaw, and Cursor.
The most recent published release, v1.5.0 (June 11, 2026), redefines the product as a capability layer: each service keeps an ordered list of alternatives, and agent-reach doctor tests the routes instead of merely checking that an executable exists. The change responds to a concrete tension in this kind of automation: services change their access controls, and a single-service tool can stop working. The release notes cite Bilibili as a case in point: the yt-dlp-based route started receiving 412 responses and was replaced by bili-cli for search and basic data.

Philosophy and principles
The official documentation makes four principles identifiable:
- A selection layer, not an opaque wrapper: the agent uses tools like
gh,yt-dlp,bili,twitter,rdt-cli, OpenCLI, ormcporterdirectly; Agent Reach decides, installs, and diagnoses. - A primary route with alternatives: each channel can have an ordered list; the diagnosis runs real tests and communicates a recipe when a route fails.
- Configuration on demand: basic channels are activated first, and the user is asked to choose the ones that require credentials or a session.
- Explicit security limits: the installer must not use
sudowithout approval, must not touch anything outside~/.agent-reach/, and does not automate logins or read Chrome cookies for Xiaohongshu. Cookies and tokens are kept locally; the README recommends secondary accounts for services with a risk of being blocked.

How it works
The agent_reach/channels/ structure contains one module per channel and its probes. On services with several alternatives, the probe tests the candidates in order, and the first available backend is marked as active. agent-reach doctor --json exposes, among other data, active_backend; that way it distinguishes a tool that’s installed but unusable from a connection that’s ready.
The route table in the English README documents, for example: Jina Reader for web pages; twitter-cli, OpenCLI, and bird for X; yt-dlp for YouTube; gh for GitHub; bili-cli, OpenCLI, and a search API for Bilibili; OpenCLI or rdt-cli for Reddit; and OpenCLI, xiaohongshu-mcp, or xhs-cli for Xiaohongshu. For semantic search it incorporates Exa via mcporter.
The package requires Python 3.10 or later and declares dependencies such as requests, feedparser, PyYAML, rich, and yt-dlp. It includes tests for channel contracts, configuration, diagnostics, cookies, route security, and each integration; it isn’t just a collection of Markdown instructions.
Quick usage guide
Installation and first run
The official guide recommends installing from the main branch’s ZIP archive and then letting the program detect the environment:
pipx install https://github.com/Panniantong/agent-reach/archive/main.zip
agent-reach install --env=auto
If pipx isn’t available or Python enforces the PEP 668 protection, the same guide offers a dedicated virtual environment:
python3 -m venv ~/.agent-reach-venv
source ~/.agent-reach-venv/bin/activate
pip install https://github.com/Panniantong/agent-reach/archive/main.zip
agent-reach install --env=auto

On first run it installs the basic infrastructure and activates the base channels. To inspect things before changing anything there’s agent-reach install --env=auto --dry-run; to keep it from automatically installing system packages, agent-reach install --env=auto --safe. On OpenClaw there’s an additional requirement: enabling execution with openclaw config set tools.profile "coding", restarting the Gateway, and opening a new conversation.
Common workflows
- Checking which routes are available: run
agent-reach doctor --json. The result reports the status and active backend for multi-route channels.

- Installing optional channels: for a desktop team that needs Xiaohongshu via OpenCLI, the guide uses
agent-reach install --env=auto --channels=opencli,xiaohongshu; for Facebook and Instagram it usesagent-reach install --env=auto --channels=facebook,instagram; and--channels=allrequests the whole optional set. - Looking up a repository or searching code: once the infrastructure is installed, the included skill points to
gh repo view owner/repoandgh search repos "LLM framework".gh auth loginauthentication enables private operations, forks, issues, and pull requests. - Getting subtitles for a YouTube video: the official skill documents
yt-dlp --write-sub --write-auto-sub --skip-download -o "/tmp/%(id)s" "URL". That route shouldn’t be reused for Bilibili; for that service the documentation usesbili search "query" --type video -n 5.
Essential configuration
~/.agent-reach/: the directory reserved for Agent Reach’s configuration, tokens, and tools; the guide forbids creating these files inside the project’s own workspace.~/.agent-reach/config.yaml: the README identifies this path as local storage for cookies and tokens, with 600 permissions.AGENT_REACH_LANG=en: before installing the skill, this selects the English skill file; the skill has to be reinstalled to replace the existingSKILL.md.TWITTER_AUTH_TOKENandTWITTER_CT0: required variables in the process that runstwitter; saving cookies through Agent Reach only letsdoctorcheck that they exist.HTTP_PROXYandHTTPS_PROXY: the troubleshooting guide uses these when X requires outbound traffic through a proxy on a restricted network.
Common pitfalls and fixes
- PEP 668 or an externally managed Python: a global install shouldn’t be forced; the guide recommends
pipxor the~/.agent-reach-venvenvironment described above. twitter searchfails even though cookies were configured: exportTWITTER_AUTH_TOKENandTWITTER_CT0in the process, and add the proxy variables if applicable.doctordoes not export them to the shell.- Reddit doesn’t work out of the box: there’s no zero-configuration anonymous route; it needs OpenCLI with an existing browser session or
rdt-cliwith a cookie. - Xiaohongshu without a user-controlled session: the project doesn’t log in or take cookies from Chrome. The documented alternative is a manual export with Cookie-Editor for
xiaohongshu-mcpor a legacy tool. - Bilibili with
yt-dlp: the documentation declares that route retired due to 412 blocks; usebili-clifor search and details, and OpenCLI for subtitles.

Integrations and migration
The installation registers a skill in detected agent directories; it can also be added explicitly with npx skills add Panniantong/Agent-Reach@agent-reach. Exa is integrated over MCP via mcporter; GitHub is integrated through its official gh client; and OpenCLI lets several services reuse a Chrome session the user already controls.
The update guide prescribes agent-reach check-update, updating the package, and finally running agent-reach version and agent-reach doctor. It doesn’t uninstall old routes: yt-dlp can remain installed even after it stops being Bilibili’s alternative, and channels pick a different route when appropriate.
Official and semi-official status
No evidence was recovered that Agent Reach has been accepted into any model provider’s official marketplace, or that any provider certifies it. The README does offer installation through the skills ecosystem with npx skills add, and documents practical integration with Claude Code, OpenClaw, Cursor, and Windsurf, but that isn’t equivalent to endorsement or certification from their makers.

There’s also no formal standard designation in the sources consulted. The Trendshift badge included in the README presents it as that service’s number-one daily repository, but that’s a trending signal from that service, not an official status from any platform.
The ecosystem
Tools Agent Reach integrates
The README itself links the pieces that make up its routes: jina-ai/reader, public-clis/twitter-cli, jackwener/opencli, public-clis/rdt-cli, public-clis/bilibili-cli, yt-dlp/yt-dlp, xpzouying/xiaohongshu-mcp, jackwener/xiaohongshu-cli, nicobailon/mcporter, kurtmckee/feedparser, and stickerdaniel/linkedin-mcp-server. These are selectable dependencies or backends, not sibling repositories or extensions maintained by Panniantong.

The Panniantong GitHub account returned 38 public repositories in this investigation’s query, but Agent Reach’s documentation doesn’t establish a functional relationship with other repositories on that account. They’re not presented as companion projects for that reason.
Ports, forks, and community extensions
GitHub’s repository search recovered these derivatives or extensions with an explicit relationship stated in their description, measured on August 6, 2026:
suyash-lyzr/scout-agent: 25 stars and 5 forks. Presents itself as a port of Agent Reach with a visual globe/galaxy interface and local browser sessions.EdisonChenAI/agent-reach: 18 stars and 8 forks. Declares access to more than 13 platforms, including Douyin and the services covered by Agent Reach; the search wasn’t enough to verify whether it shares code or only the concept.thanhtantran/agent-reach-hermes: 11 stars and 4 forks. Its description identifies it as a redesign of the skill for Hermes, in Vietnamese.dapao29/agent-reach-windows-cn: 6 stars and no forks. It’s a practical guide in Chinese for Windows that explicitly thanksPanniantong/Agent-Reach; it’s not a code port.toustifer/omni-scope: 6 stars and 0 forks. Declares a research chain that uses Agent Reach for exploration alongside Scrapling and deep verification; it’s a workflow extension, not a fork.
GitHub’s fork query returned 5,610 forks of the main repository. That figure and the repositories above shouldn’t be mistaken for official compatibility, support, or affiliation.

Repo numbers
Measured: August 6, 2026, GitHub API.
| Metric | Value |
|---|---|
| Stars | 67,240 |
| Forks | 5,610 |
| Subscribers | 236 |
| Commits | 343 |
| Open issues reported by the API | 195 |
| Primary language | Python |
| License | MIT |
| Created | February 24, 2026 |
| Metadata last updated | August 6, 2026 |
| Latest release | v1.5.0, June 11, 2026 |
The top contributors returned by the API were Panniantong, ArminCelik, nolanchic, realMisakaMikoto, and ardiannurcahya; the order is based on the contributions field in the response. The total of 343 commits was obtained from the API’s last pagination link. watchers_count in the general response duplicates the star count, so the separate subscribers_count field is reported as the real subscriber count. open_issues_count can include open pull requests and isn’t an issues-only count.
How to contribute
CONTRIBUTING.md documents a conventional flow: fork on GitHub, clone it, open a working branch, make changes, run validations, and submit a pull request. The official development environment is:
git clone https://github.com/YOUR_USERNAME/Agent-Reach.git
cd Agent-Reach
pip install -e ".[dev]"
pre-commit install
Before submitting a contribution, ruff check agent_reach tests, ruff format agent_reach tests, mypy agent_reach, and pytest are requested. To add a channel you need to create its module under agent_reach/channels/, implement the unified contract, add tests, update agent_reach/doctor.py, and document it. The project prefers small, focused changes with tests and references to related issues.
How the community received it
The recoverable external evidence is scarce and doesn’t support claiming broad reception.
- Hacker News surfaced thread 49146136, submitted by artur_makly on August 2, 2026, asking whether anyone had used Agent Reach and whether it was good. At the time of the query it had 1 point and 0 comments. That’s evidence of discovery, not a review or a verifiable community opinion.
- Hacker News searches for
Panniantong Agent-Reach,Agent-Reach, andPanniantongreturned no other thread directly linked to the repository. Generic results about agents were discarded for not addressing the project. - The automated Reddit search returned an HTTP 403 block, so no threads or attributable opinions were recovered from
r/programming,r/selfhosted,r/LocalLLaMA,r/devops,r/netsec, orr/MachineLearning. - No verifiable results were recovered from X, Product Hunt, Dev.to, Hashnode, podcasts, newsletters, or videos with title, channel, and enough metadata to cite. This access limitation doesn’t prove such posts don’t exist.
There are, however, technical warnings documented by the project itself, which shouldn’t be confused with external criticism: services that use cookies can expose an account to restrictions, and Reddit lacks a zero-configuration anonymous route. The security policy itself asks that vulnerabilities be reported through GitHub’s private advisory, not a public issue.
Agent Reach versus other proposals
| Proposal | Verifiable relationship | Verifiable difference |
|---|---|---|
suyash-lyzr/scout-agent | Its description declares itself a port of Agent Reach for local internet access by agents. | Adds a globe/galaxy interface; not enough documentation was recovered to compare routes or compatibility in detail. |
jackwener/opencli | Agent Reach selects it as a backend for several services and reuses existing Chrome sessions. | OpenCLI is one of the access tools; Agent Reach handles selecting, installing, and diagnosing it alongside alternatives. |
public-clis/twitter-cli | It’s the first documented route for X and requires credentials in environment variables. | It’s focused on X; Agent Reach combines it with other channels and offers OpenCLI and bird as alternatives. |
xpzouying/xiaohongshu-mcp | Agent Reach names it as a server alternative for Xiaohongshu when there’s no user-controlled session. | It’s a specialized, MCP-based backend; Agent Reach places it in a list with OpenCLI and xhs-cli. |
The comparison is limited to relationships that official sources confirmed. No independent benchmarks were obtained that would support claiming one of these options is faster, safer, or more complete than another.
Use cases and who this repository can help
- People bootstrapping a new research or development agent can install an initial set to query pages, public repositories, YouTube subtitles, RSS, Bilibili, V2EX, and semantic search without wiring up each integration separately.
- Teams that need multi-platform research with credential control can use
doctor --jsonto know which backend serves each channel and keep cookies, tokens, and tools under~/.agent-reach/, without polluting the project directory. - Users of desktop agents with an existing browser session can connect OpenCLI to Reddit, Facebook, Instagram, Bilibili, or Xiaohongshu according to the documented rules, while keeping the requirement not to automate logins.
- Maintainers affected by platform changes can take advantage of the backend-list design and diagnostics: the project documents that a retired route can remain installed while another alternative becomes the active one.
- Developers who want to extend coverage can implement a channel under the common contract, cover it with tests, and make it visible in
doctor, rather than adding disconnected commands.
Resources
- Repository: https://github.com/Panniantong/Agent-Reach
- Documentation and installation: https://github.com/Panniantong/Agent-Reach/tree/main/docs
- Installation guide: https://github.com/Panniantong/Agent-Reach/blob/main/docs/install.md
- Update guide: https://github.com/Panniantong/Agent-Reach/blob/main/docs/update.md
- Official English skill: https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/skill/SKILL_en.md
- Changelog and releases: https://github.com/Panniantong/Agent-Reach/blob/main/CHANGELOG.md and https://github.com/Panniantong/Agent-Reach/releases
- Contributing and security: https://github.com/Panniantong/Agent-Reach/blob/main/CONTRIBUTING.md and https://github.com/Panniantong/Agent-Reach/security/policy
- Hacker News thread: https://news.ycombinator.com/item?id=49146136
- Skills registry: https://skills.sh/Panniantong/Agent-Reach/agent-reach
Note: this article combines the official README and documentation, the repository’s releases and files, the GitHub API, and queries to Hacker News, Reddit, search engines, package registries, and YouTube performed on August 6, 2026. Figures change over time; platforms for which evidence couldn’t be recovered are stated explicitly.
Comments