Agent Reach Channel Tier System: A Complete Guide to Tier 0, 1, and 2 Requirements
The Agent Reach channel tier system categorizes every platform integration into three levels—Tier 0 (zero-config), Tier 1 (requires free credentials), and Tier 2 (requires developer setup)—based on the configuration effort needed before the channel becomes operational.
The Panniantong/Agent-Reach repository uses a standardized classification to indicate how much setup each platform channel requires. This Agent Reach channel tier system is implemented as an integer attribute on the base Channel class in agent_reach/channels/base.py, allowing the CLI doctor command to automatically audit which integrations are ready to use.
How the Tier System Works
In agent_reach/channels/base.py, the abstract Channel base class defines the tier attribute as an integer constraint validated by tests/test_channel_contracts.py, which enforces that all tier values must be 0, 1, or 2. This attribute signals to the diagnostic tooling how much external configuration the user must provide. The python -m agent_reach.cli doctor command, implemented in agent_reach/doctor.py, queries this attribute to generate health reports, grouping channels by their tier level and flagging missing requirements.
The Three Tier Levels Explained
Tier 0: Zero-Configuration Channels
Tier 0 channels work immediately after installing Agent Reach. These implementations rely on built-in tools like yt-dlp, system utilities, or public web interfaces that require no authentication. Because they use only local resources or platform public APIs without keys, users can instantiate and run these channels without editing configuration files.
Tier 1: Free API Key or Cookie Required
Tier 1 channels require lightweight credentials such as free API tokens or browser cookies exported as environment variables or config file entries. While these platforms do not charge for API access, they mandate authentication via session cookies or simple tokens. Users must consult the platform-specific guides in the agent_reach/guides/ directory (such as setup-twitter.md) to obtain and format these credentials correctly.
Tier 2: Developer Setup and OAuth
Tier 2 represents the most involved configuration, requiring developer account registration, OAuth flows, or auxiliary binary installations. These channels often involve strict rate limiting, app approval processes, or external tool dependencies. The setup guides for Tier 2 channels (e.g., setup-linkedin.md) walk users through creating developer applications and completing multi-step authentication workflows.
Channel Inventory by Tier
The following concrete channel implementations set their tier attribute in their respective files under agent_reach/channels/:
Tier 0 Channels (Zero-Config):
youtube.py– Usesyt-dlpfor public video metadatawechat.py– Public web interface accessweb.py– Generic web scraping utilitiesv2ex.py– Public forum APIrss.py– Standard RSS feed parsingreddit.py– Public read-only endpointsgithub.py– Unauthenticated public repository accessexa_search.py– Built-in search capabilities
Tier 1 Channels (Free Key/Cookie):
xueqiu.py– Requires session cookie exportxiaoyuzhou.py– Requires authentication cookiexiaohongshu.py– Requires browser cookieweibo.py– Requires session tokentwitter.py– Requires cookie authentication (seeguides/setup-twitter.md)bilibili.py– Requires session credentials
Tier 2 Channels (Full Setup):
linkedin.py– Requires developer app registration and OAuth (seeguides/setup-linkedin.md)douyin.py– Requires developer account and binary setup
Validating Configuration with the Doctor Command
The doctor module (agent_reach/doctor.py) programmatically inspects every channel's tier and check() method to report configuration status.
To list all channels and their tier assignments programmatically:
from agent_reach.core import get_all_channels
for ch in get_all_channels():
print(f"{ch.name:12} – tier {ch.tier}")
To run the comprehensive health check from the CLI:
python -m agent_reach.cli doctor
This outputs a tier-wise summary showing which channels are operational. For example, a Tier 1 channel missing its cookie will report warn status, while an unconfigured Tier 2 channel reports off.
You can also verify a specific channel's requirements directly:
from agent_reach.channels.twitter import Twitter
status, msg = Twitter().check()
print(status, msg) # -> "warn", "cookie"
Summary
- The Agent Reach channel tier system uses integers 0-2 stored in
agent_reach/channels/base.pyto classify setup complexity. - Tier 0 channels (YouTube, Reddit, GitHub, etc.) require zero configuration and work immediately.
- Tier 1 channels (Twitter, Bilibili, Weibo, etc.) require free cookies or tokens supplied via environment variables or config files.
- Tier 2 channels (LinkedIn, Douyin) demand developer account registration, OAuth flows, or additional binaries.
- The
python -m agent_reach.cli doctorcommand aggregates tier data to generate health reports, while individual channelcheck()methods validate specific credentials.
Frequently Asked Questions
How do I know which tier a specific channel belongs to?
Each channel class defines a tier class attribute in its source file under agent_reach/channels/. You can inspect this value programmatically by importing the channel class and accessing Channel.tier, or by running the doctor command which groups all channels by their tier level.
What happens if I try to use a Tier 1 channel without providing the required cookie?
The channel's check() method will return a warning status (typically "warn" with a message like "cookie"), and the doctor command will flag it as missing required configuration. The channel will not function until the credential is added to your Agent Reach configuration file or environment variables.
Are Tier 2 channels more capable than Tier 0 or Tier 1 channels?
The tier indicates setup complexity, not functionality. Tier 2 channels like LinkedIn require OAuth due to platform restrictions, while Tier 0 channels access public data without authentication. All tiers provide full access to their respective platform capabilities once properly configured.
Where can I find setup instructions for Tier 1 and Tier 2 channels?
Platform-specific setup guides are located in the agent_reach/guides/ directory of the repository. For example, setup-twitter.md details cookie extraction for the Tier 1 Twitter channel, while setup-linkedin.md explains the developer app registration required for the Tier 2 LinkedIn integration.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →