Agent-Reach absorbed Bilibili's 412s — your agent kept working Agent-Reach, an MIT-licensed capability layer for coding agents, automatically rerouted its Bilibili channel to bili-cli after Bilibili began returning HTTP 412 errors to yt-dlp in June 2026, allowing agents to continue working without user intervention. The v1.5.0 release, which passed 32 end-to-end tests across 13 channels and expanded its test suite from 107 to 162 tests, also introduced multi-backend routing and a 'real doctor' feature. In June 2026, Bilibili quietly began rejecting yt-dlp with HTTP 412 errors. Agents wired to scrape it broke — except the ones sitting behind Agent-Reach, which rerouted the channel before most developers noticed. Agent-Reach is a local, MIT-licensed capability layer that gives shell-capable coding agents live internet access by selecting and routing to upstream CLIs rather than proxying data itself . When Bilibili started 412-blocking yt-dlp in June 2026, v1.5.0 rerouted the Bilibili channel to bili-cli with zero user action, while YouTube kept using yt-dlp untouched . The fix landed centrally: the maintainer reordered backends, so no individual builder had to patch a private integration. Quick Answer: When Bilibili began returning HTTP 412 to yt-dlp in June 2026, Agent-Reach v1.5.0 automatically rerouted its Bilibili channel to bili-cli — agents kept working with no user action. The release passed 32 end-to-end tests across 13 channels and grew its suite from 107 to 162 tests. The framing shift matters: v1.5.0 describes itself as a capability layer, not a tool collection. Each platform gets an ordered primary-plus-fallback backend list; after setup, your agent calls those CLIs directly and Agent-Reach never sits in the data path . The June 11, 2026 release passed 32 end-to-end tests across 13 channels and grew its test suite from 107 to 162 tests . | Platform | Primary backend | Fallback | |---|---|---| | Web pages | Jina Reader | — | | YouTube | yt-dlp | — | | GitHub | gh CLI | — | | RSS | feedparser | — | | Bilibili | bili-cli | OpenCLI subtitles | | Twitter/X | twitter-cli | OpenCLI | | OpenCLI | rdt-cli | | | XiaoHongShu | OpenCLI | xhs-cli | | linkedin-mcp | Jina Reader | | | Global search | Exa via mcporter | — | "capability layer: multi-backend routing + real doctor + OpenCLI" — Agent-Reach v1.5.0 release framing source: Agent-Reach CLAUDE.md . The behavior is easy to model. The following minimal snippet — which was executed and returns exit 0 — illustrates the "absorb and keep working" contract that centralized rerouting delivers: python class Bilibili412 Exception : pass def bilibili fetch : raise Bilibili412 "Bilibili returned HTTP 412" def agent reach task : try: return task except Bilibili412 as exc: return f"absorbed {exc}; agent kept working" print "Agent-Reach:", agent reach bilibili fetch print "next step: summarize cached context" Before you hand the install prompt to your agent, three things need to be in place: a real Python interpreter, an isolation mechanism, and — only if you want desktop-session backends — Node.js. Agent-Reach requires Python 3.10 or newer . On Windows, prefer py -3 if python3 resolves to the Microsoft Store stub instead of a real interpreter . ~/.agent-reach-venv/ is an equivalent fallback that runs the same install command .One trap to avoid: the name agent-reach on PyPI points to an unrelated v0.1.0 package by a different author jgalea/agent-reach, uploaded August 2, 2026 . Always install from the GitHub archive URL, never from a blind pip install agent-reach . Installation is agent-directed by design: a human pastes an install prompt pointing at the raw GitHub install guide https://github.com/DontFretBrett/Agent-Reach-English , and the agent runs the commands while keeping files out of your project workspace . Below is the direct copy-paste path for the Panniantong build, version 1.5.0. Step 1 — pipx recommended : pipx install https://github.com/Panniantong/agent-reach/archive/main.zip Step 2 — provision the capability layer: agent-reach install --env=auto The --env=auto flag auto-detects whether you are on a local machine or a server, then sets up core infrastructure: gh CLI, Node.js, mcporter, Exa search, and a yt-dlp config . After this runs, seven zero-config channels work without any login — Web via Jina Reader, YouTube, GitHub, RSS, Exa Search, V2EX, and basic Bilibili . Step 3 — venv alternative if you avoid pipx : create an isolated environment, activate it, install the same archive, and run the identical setup command : 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 Windows, use py -3 if python3 resolves only to the Microsoft Store alias . Verify: run agent-reach version to confirm you have the Panniantong build and not the unrelated PyPI package, then run agent-reach doctor --json . The v1.5.0 doctor is a live health check that reports active backend per channel and isolates failures, so one broken channel does not abort the full report . Preview first: to see what would be touched outside ~/.agent-reach/ without changing anything, add --dry-run : agent-reach install --env=auto --dry-run Reddit has no zero-config path in Agent-Reach: anonymous API access is blocked, and official API access is approval-based, so the channel is not activated by the base install. It routes through OpenCLI first, then rdt-cli, and the docs flag it as inherently fragile . Expect breakage when Reddit tightens controls, and do not treat access as permanent. The other login-gated channels — Twitter, XiaoHongShu, Facebook, Instagram, and Xueqiu — need a one-time browser cookie export via the Cookie-Editor extension before they work, and Twitter additionally wants TWITTER AUTH TOKEN and TWITTER CT0 set for direct twitter-cli calls . Cookie-backed access carries account-ban and credential-exposure risk, so the official docs recommend a dedicated secondary "agent" account rather than your primary login. Two durability notes matter here. First, channel availability is not stable: v1.4.2 deliberately removed the Douyin, Weibo, and WeChat public-account channels the maintainers judged too unreliable to keep — do not expect a dropped channel to reappear. Second, OpenCLI drives your existing logged-in Chrome session and stores credentials only under ~/.agent-reach/config.yaml at owner-only 0600 permissions, never uploaded . The local-first storage limits credential leakage, but the docs are explicit that ToS exposure for cookie-based scraping of walled platforms remains unresolved. Once the base install is healthy, add login-gated platforms explicitly — they are not part of the zero-config set. One command enables the common trio: agent-reach install --env=auto --channels=twitter,linkedin,xiaohongshu , or use --channels=all to activate every supported channel in a single pass . Each channel then routes through its documented backend. TWITTER AUTH TOKEN and TWITTER CT0 via agent-reach configure twitter-cookies before direct twitter-cli calls will succeed; without them, calls fail .Stay current with the same archive-based path: run agent-reach check-update , upgrade from the GitHub archive URL, then run agent-reach doctor to confirm each active backend is healthy after the upgrade . The concrete takeaway: enable only the channels you use, keep cookies on a dedicated agent account, and let doctor — not a broken scrape mid-task — tell you when a backend has moved. No — the official Panniantong project is not distributed through PyPI. The name agent-reach on PyPI belongs to an unrelated package v0.1.0 by Jean Galea, sourced from jgalea/agent-reach uploaded on August 2, 2026, so a blind pip install agent-reach would fetch the wrong project. Install from the GitHub archive instead: pipx install https://github.com/Panniantong/agent-reach/archive/main.zip . No. Agent-Reach is a local-only capability layer and is never in the request or response data path — it only selects, health-checks, and routes to upstream CLIs that the agent then calls directly. Credentials and tokens live under ~/.agent-reach/ config at ~/.agent-reach/config.yaml with owner-only 0600 permissions and are never uploaded . The maintainers reorder or swap the affected backend in the next release, so builders do not patch private integrations. The canonical case: in June 2026 Bilibili began 412-blocking yt-dlp, and Agent-Reach switched the primary Bilibili backend from yt-dlp to bili-cli with zero user action . To pull a fix, run agent-reach check-update and upgrade from the archive URL . Yes. Any shell-capable coding agent works, including Claude Code, Cursor, Windsurf, Codex, and OpenClaw. Agent-Reach installs a SKILL.md instruction layer that tells the agent which channels are available and healthy; the agent then invokes the upstream CLIs directly rather than through a proprietary API . Anonymous Reddit API access is blocked, and official API access is approval-based, so there is no login-free route. Even with OpenCLI or rdt-cli configured, the channel depends on a personal session and is inherently fragile, which is why the docs treat Reddit as best-effort rather than a reliable channel .