August 17, 2026 · By YasKad
Panniantong/Agent-Reach

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.

Subway-map-style diagram of alternative routes, with 412 error blockages rerouting traffic to backup paths.

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, or mcporter directly; 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 sudo without 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.

Secure vault representing the ~/.agent-reach/ directory with 600 permissions and a warning against using sudo.

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

Terminal showing installation via pipx and a virtual environment, alongside dry-run and safe-mode toggles.

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

  1. Checking which routes are available: run agent-reach doctor --json. The result reports the status and active backend for multi-route channels.

Terminal running agent-reach doctor --json, showing the status and active backend for each channel.

  1. 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 uses agent-reach install --env=auto --channels=facebook,instagram; and --channels=all requests the whole optional set.
  2. Looking up a repository or searching code: once the infrastructure is installed, the included skill points to gh repo view owner/repo and gh search repos "LLM framework". gh auth login authentication enables private operations, forks, issues, and pull requests.
  3. 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 uses bili 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 existing SKILL.md.
  • TWITTER_AUTH_TOKEN and TWITTER_CT0: required variables in the process that runs twitter; saving cookies through Agent Reach only lets doctor check that they exist.
  • HTTP_PROXY and HTTPS_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 pipx or the ~/.agent-reach-venv environment described above.
  • twitter search fails even though cookies were configured: export TWITTER_AUTH_TOKEN and TWITTER_CT0 in the process, and add the proxy variables if applicable. doctor does 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-cli with 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-mcp or a legacy tool.
  • Bilibili with yt-dlp: the documentation declares that route retired due to 412 blocks; use bili-cli for search and details, and OpenCLI for subtitles.

Troubleshooting scene with warnings for PEP 668, 412 error, and proxy required.

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.

SKILL.md files materializing inside the Claude Code, OpenClaw, Cursor, and Windsurf workspaces.

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.

Tools such as jina-ai/reader, yt-dlp, and gh orbiting the Agent Reach nucleus.

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 thanks Panniantong/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.

Galaxy of repository forks, with nodes for scout-agent, agent-reach-hermes, and omni-scope orbiting Agent Reach and its 67,240 stars.

Repo numbers

Measured: August 6, 2026, GitHub API.

MetricValue
Stars67,240
Forks5,610
Subscribers236
Commits343
Open issues reported by the API195
Primary languagePython
LicenseMIT
CreatedFebruary 24, 2026
Metadata last updatedAugust 6, 2026
Latest releasev1.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, and Panniantong returned 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, or r/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

ProposalVerifiable relationshipVerifiable difference
suyash-lyzr/scout-agentIts 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/opencliAgent 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-cliIt’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-mcpAgent 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 --json to 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


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