# What Platforms Are Supported by Agent Reach? The Complete 2024 Guide

> Agent Reach supports 15 platforms like YouTube, GitHub, Reddit, and Twitter/X. Access public content with zero configuration and private data via authentication.

- Repository: [Pnant/Agent-Reach](https://github.com/Panniantong/Agent-Reach)
- Tags: getting-started
- Published: 2026-07-04

---

**Agent Reach supports 15 distinct internet platforms—including YouTube, GitHub, Reddit, Twitter/X, and Bilibili—through a modular channel architecture that provides zero-configuration read access for public content while requiring authentication for private data and advanced social features.**

Agent Reach is an open-source AI agent connectivity framework maintained in the Panniantong/Agent-Reach repository. The project implements a **channel-based plugin system** that abstracts platform-specific APIs into standardized read-and-search capabilities. Understanding what platforms are supported by Agent Reach requires examining the `ALL_CHANNELS` registry and the `BaseChannel` abstraction layer that powers the entire system.

## Core Architecture: How Platform Support Works

### The Channel Registry in [`agent_reach/channels/__init__.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/__init__.py)

The single source of truth for supported platforms resides in **[`agent_reach/channels/__init__.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/__init__.py)**. This file imports every channel class and aggregates them into the `ALL_CHANNELS` tuple (lines 9-42). The `get_all_channels()` function returns this complete list at runtime, enabling dynamic discovery of capabilities.

Each platform is implemented as a Python class inheriting from `BaseChannel`. When you execute an `agent-reach` command, the core router iterates through `ALL_CHANNELS`, invokes `can_handle()` on each instance, and delegates to the first matching channel's `read()` or `search()` method.

### The BaseChannel Abstraction in [`agent_reach/channels/base.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/base.py)

Every supported platform must implement the **`BaseChannel`** interface defined in **[`agent_reach/channels/base.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/base.py)**. This contract requires four key methods:

- **`can_handle(url)`**: Determines if this channel accepts the given URL or query
- **`read(url)`**: Fetches and normalizes content from the platform
- **`search(query)`**: Executes semantic or keyword search when available
- **`check()`**: Validates backend dependencies (e.g., `yt-dlp`, `gh` CLI, OpenCLI)

This architecture makes Agent Reach platforms plug-and-play. Adding support for a new service involves creating a subclass and registering it in [`__init__.py`](https://github.com/Panniantong/Agent-Reach/blob/main/__init__.py), without modifying core routing logic.

## Zero-Configuration Platforms

These platforms require no authentication and work immediately after installing Agent Reach.

### Web and RSS Feeds

- **Web**: The `WebChannel` provides read access to any public webpage using Jina Reader or direct fetching. No API keys or setup required.
- **RSS**: The `RSSChannel` (utilizing `feedparser`) parses any RSS or Atom feed automatically.

### Video Platforms

- **YouTube**: The `YouTubeChannel` leverages `yt-dlp` to extract subtitles and metadata from public videos without API credentials.
- **Bilibili**: Partial support via `BilibiliChannel` allows searching and retrieving video details without configuration.

### Developer Communities

- **V2EX**: Full read access to hot posts, node posts, detailed threads, and user profiles via `V2EXChannel`.
- **GitHub (Public)**: The `GitHubChannel` reads public repository descriptions, files, and search indexes using the `gh` CLI without authentication.

## Platforms Requiring Authentication

These platforms need additional configuration via OpenCLI, OAuth, or API keys to function.

### Social Media Networks

- **Twitter/X**: Single tweet reading works immediately, but tweet search, timeline access, and long-thread reading require running *"帮我配 Twitter"* (configure Twitter for me).
- **Reddit**: No zero-config features available. You must install OpenCLI and run *"帮我配 Reddit"* to enable post reading, comment threads, and search.
- **Facebook**: Requires OpenCLI installation followed by *"帮我配 Facebook"* to access search, profiles, feeds, and groups.
- **Instagram**: Requires OpenCLI and *"帮我配 Instagram"* configuration for user search, profile viewing, and recent posts.
- **Xiaohongshu**: Requires OpenCLI and *"帮我配 小红书"* for search, content reading, and comment access.

### Professional and Financial Platforms

- **LinkedIn**: Public page reading works via Jina Reader, but detailed profiles, company pages, and job search require *"帮我配 LinkedIn"* configuration.
- **Xueqiu (Snowball)**: Chinese financial platform requiring *"帮我配 雪球"* for stock quotes, hot posts, and rankings.
- **Xiaoyuzhou (小宇宙播客)**: Podcast platform requiring *"帮我配 小宇宙播客"* and utilizing Whisper for audio-to-text transcription.

### Advanced GitHub Features

While public repos work immediately, accessing **private repositories, Issues, PRs, and Forks** requires OAuth authentication via *"帮我登录 GitHub"*.

### Semantic Search

**Full-text search** via `ExaSearchChannel` (using Exa AI) requires MCP (Model Context Protocol) auto-configuration, though this is handled automatically when the `mcporter` backend is available.

## Diagnostics and Channel Verification

The **[`agent_reach/doctor.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/doctor.py)** module provides runtime validation of all supported platforms. When you run diagnostics, the system probes each channel's `check()` method to verify backend dependencies are available.

```bash

# Verify which platforms are currently functional

agent-reach doctor

```

This command iterates over `ALL_CHANNELS`, tests each implementation, and reports which upstream tools (yt-dlp, OpenCLI, Exa) are detected and active.

## Practical Usage Examples

Each platform maps to a specific channel class and backend tool:

```bash

# YouTube: Extract subtitles automatically (uses yt-dlp)

agent-reach read https://www.youtube.com/watch?v=dQw4w9WgXcQ

# GitHub: Read public repository metadata (uses gh CLI)

agent-reach read https://github.com/Panniantong/Agent-Reach

# RSS: Parse feed content (uses feedparser)

agent-reach read https://news.ycombinator.com/rss

# Reddit: Requires configuration first

agent-reach configure reddit
agent-reach read https://www.reddit.com/r/python/comments/xyz123/example_thread/

# Exa Search: Semantic web search (uses mcporter/Exa)

agent-reach search "latest LLM framework comparison"

```

## Summary

- **Agent Reach supports 15 platforms** through the `ALL_CHANNELS` registry in [`agent_reach/channels/__init__.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/__init__.py)
- **Zero-config platforms** include Web, YouTube, RSS, V2EX, and public GitHub repos
- **Authenticated platforms** require OpenCLI or OAuth setup for Reddit, Facebook, Instagram, Xiaohongshu, LinkedIn, Xueqiu, and Xiaoyuzhou
- **Technical implementation** relies on the `BaseChannel` interface with standardized `can_handle`, `read`, `search`, and `check` methods
- **Runtime diagnostics** via `agent-reach doctor` verify which channels are active based on available upstream tools

## Frequently Asked Questions

### How do I add support for a new platform in Agent Reach?

Create a new class inheriting from `BaseChannel` in [`agent_reach/channels/your_platform.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/your_platform.py), implementing the required `can_handle`, `read`, `search`, and `check` methods. Import this class in [`agent_reach/channels/__init__.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/__init__.py) and append it to the `ALL_CHANNELS` tuple. The `agent-reach doctor` command will automatically detect and test your new channel.

### Why does Reddit require OpenCLI while YouTube works immediately?

YouTube support relies on `yt-dlp`, a standalone tool that extracts public video metadata without API authentication. Reddit, however, requires authenticated API access for even basic reading due to platform restrictions. The `RedditChannel` delegates to OpenCLI (or `rdt-cli`) to handle OAuth tokens securely, whereas `YouTubeChannel` uses direct HTTP extraction with `yt-dlp`.

### How can I check if a specific platform channel is working?

Run `agent-reach doctor` to execute the diagnostic engine. This command calls the `check()` method on every channel in `ALL_CHANNELS`, verifying that required binaries (like `gh`, `yt-dlp`, or OpenCLI) are installed and accessible. The output indicates which platforms are ready for use and which require configuration.

### Does Agent Reach support writing data to platforms or only reading?

Currently, Agent Reach platforms are read-only and search-capable. The `BaseChannel` interface defines `read()` and `search()` methods, but no `write()` or `post()` abstraction exists in the current implementation. All supported channels—GitHub, Twitter/X, Reddit, and others—focus on ingesting content into AI agent contexts rather than publishing to those platforms.