Agent Reach — Internet Capability Layer for Hermes
Agent Reach is installed as a CLI tool (agent-reach). It provides zero-API-fee
access to web platforms via upstream CLI tools. Use these commands when Hermes
is asked to search or read content from the internet.
PATH Setup (required before any mcporter command)
export PATH="$HOME/.hermes/node/bin:$PATH"
Quick Health Check
agent-reach doctor
Active Channels (7/15 on this system)
1. Web Pages — Jina Reader (zero config)
Read any URL as clean markdown:
curl -s "https://r.jina.ai/URL"
Use this by default for any webpage the user wants to read. Returns clean extracted text, not HTML soup.
2. Exa Semantic Search (zero config, via mcporter)
AI-powered web search, excellent for code and technical queries:
# Web search
mcporter call 'exa.web_search_exa(query: "query", numResults: 5)'
# Code context search
mcporter call 'exa.get_code_context_exa(query: "code question", tokensNum: 3000)'
Exa is the go-to for "search the web for X" or "find code examples of Y."
3. GitHub — gh CLI (zero config, already authenticated)
gh search repos "query" --sort stars --limit 10
gh repo view owner/repo
gh search code "query" --language python
gh issue list -R owner/repo --state open
gh pr list -R owner/repo --state open
4. YouTube — yt-dlp (zero config)
# Get video metadata
yt-dlp --dump-json "URL"
# Extract subtitles (no video download)
yt-dlp --write-sub --write-auto-sub --sub-lang "en,zh-Hans" \
--skip-download -o "/tmp/%(id)s" "URL"
# Then read the .vtt file
cat /tmp/VIDEO_ID.*.vtt
# Search YouTube
yt-dlp --dump-json "ytsearch5:query"
5. Bilibili — search API (zero config, basic)
# Search (bili-cli preferred if installed)
bili search "query" --type video -n 5 # requires: pipx install bilibili-cli
# API fallback (no bili-cli needed)
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
curl -s -c /tmp/bili_ck.txt -o /dev/null -A "$UA" "https://www.bilibili.com/"
curl -s -b /tmp/bili_ck.txt -A "$UA" \
-e "https://www.bilibili.com/" \
"https://api.bilibili.com/x/web-interface/search/all/v2?keyword=QUERY&page=1"
Note: B站 (yt-dlp) is BLOCKED by their anti-bot — use bili-cli or the curl API above.
6. V2EX — Public API (zero config)
# Hot topics
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: agent-reach/1.0"
# Node topics (python, tech, jobs, etc.)
curl -s "https://www.v2ex.com/api/topics/show.json?node_name=python&page=1" \
-H "User-Agent: agent-reach/1.0"
# Topic detail
curl -s "https://www.v2ex.com/api/topics/show.json?id=TOPIC_ID" \
-H "User-Agent: agent-reach/1.0"
# Topic replies
curl -s "https://www.v2ex.com/api/replies/show.json?topic_id=TOPIC_ID" \
-H "User-Agent: agent-reach/1.0"
7. RSS/Atom Feeds — feedparser (zero config)
python3 -c "
import feedparser
for e in feedparser.parse('FEED_URL').entries[:10]:
print(f'{e.title} — {e.link}')
"
Optional Channels (Not Yet Configured)
These channels need login cookies or browser extensions. To unlock, the user runs:
agent-reach install --channels=CHANNEL_NAME
Available: twitter, reddit, xiaohongshu, facebook, instagram, linkedin,
bilibili (full, with bili-cli), xueqiu, xiaoyuzhou, opencli, all
| Channel | What it unlocks | Setup needed |
|---|---|---|
| Twitter/X | Search tweets, read timelines | Cookie (Cookie-Editor export) |
| Search & read posts/comments | OpenCLI desktop or rdt-cli + cookie | |
| Xiaohongshu | Search & read notes | OpenCLI desktop or xiaohongshu-mcp |
| Search, profiles, feed, groups | OpenCLI desktop | |
| User search, profiles, explore | OpenCLI desktop | |
| Profiles, job search | linkedin-mcp or Jina Reader fallback | |
| Bilibili (full) | Search, video details, rankings | pipx install bilibili-cli |
| Xueqiu | Stock quotes, hot posts | Cookie |
| Xiaoyuzhou | Podcast transcription | Groq API key (free) |
For platform-specific detailed commands (multi-backend, retry chains, login flows),
read the reference files at:
/home/lenovo/.agents/skills/agent-reach/references/
Rules
- Use Agent Reach first — if a search platform is covered, use these commands, don't invent scraping approaches.
- Exa for web search — prefer
mcporter call 'exa.web_search_exa(...)over other search methods for general internet queries. - Jina Reader for URLs — when user shares a link, try
curl -s "https://r.jina.ai/URL"first before browser tools. - PATH before mcporter — always set
PATH="$HOME/.hermes/node/bin:$PATH"before using mcporter commands. - Check health — if a channel command fails, run
agent-reach doctorto diagnose. - Offer optional channels — if the user keeps asking for Twitter/Reddit/XHS searches
and the channel isn't configured, tell them which
agent-reach install --channels=Xcommand to run. - Never use yt-dlp for Bilibili — it's blocked by their anti-bot system.