
Agent Reach
- 11.8k installs
- 66.5k repo stars
- Updated August 4, 2026
- panniantong/agent-reach
agent-reach is an agent skill that >.
About
name agent-reach description Give your AI agent eyes to see the entire internet 17 platforms via CLI MCP curl and Python scripts 路由方式 SKILL md 包含路由表和常用命令 复杂场景需按需阅读对应分类的 references md 分类 search social 小红书 抖音 微博 推特 B站 V2EX Reddit career LinkedIn dev github web 网页 文章 公众号 RSS video YouTube B站 播客 Use when user asks to search read or interact on any supported platform shares a URL or asks to search the web triggers search 搜 查 找 search 搜索 查一下 帮我搜 social 小红书 xiaohongshu xhs 小红书 红书 抖音 douyin 抖音 Twitter twitter 推特 x com 推文 微博 weibo 微博 B站 bilibili b站 哔哩哔哩 V2EX v2ex Reddit reddit career 招聘 职位 求职 linkedin 领英 找工作 dev github 代码 仓库 gh issue pr 分支 commit web 网页 链接 文章 公众号 微信文章 rss 读一下 打开这个 video youtube 视频 播客 字幕 小宇宙 转录 yt finance 雪球 股票 stock xueqiu 行情 基金 metadata openclaw homepage https github com Panniantong Agent-Reach Agent Reach 路由器 17 平台工具集合 根据用户意图选择对应分类 路由表 用户意图 分类 详细文档 网页搜索 代码搜索 search
- search: 搜/查/找/search/搜索/查一下/帮我搜
- 小红书: xiaohongshu/xhs/小红书/红书
- Twitter: twitter/推特/x.com/推文
- career: 招聘/职位/求职/linkedin/领英/找工作
- dev: github/代码/仓库/gh/issue/pr/分支/commit
Agent Reach by the numbers
- 11,828 all-time installs (skills.sh)
- +944 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #65 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Security screen: HIGH risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
agent-reach capabilities & compatibility
- Capabilities
- search: 搜/查/找/search/搜索/查一下/帮我搜 · 小红书: xiaohongshu/xhs/小红书/红书 · twitter: twitter/推特/x.com/推文 · career: 招聘/职位/求职/linkedin/领英/找工作 · dev: github/代码/仓库/gh/issue/pr/分支/commit
- Use cases
- documentation
What agent-reach says it does
--- name: agent-reach description: > Give your AI agent eyes to see the entire internet.
17 platforms via CLI, MCP, curl, and Python scripts.
【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/抖音/微博/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/公众号/RSS) / video(YouTube/B站/播客).
Use when user asks to search, read, or interact on any supported platform, shares a URL, or asks to search the web.
npx skills add https://github.com/panniantong/agent-reach --skill agent-reachAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 11.8k |
|---|---|
| repo stars | ★ 66.5k |
| Security audit | 1 / 3 scanners passed |
| Last updated | August 4, 2026 |
| Repository | panniantong/agent-reach ↗ |
What problem does agent-reach solve for developers using this skill?
>
Who is it for?
Developers who need agent-reach patterns described in the cached skill documentation.
Skip if: Skip when docs are empty or the task is outside the skill's documented scope.
When should I use this skill?
>
What you get
Actionable workflows and conventions from SKILL.md for agent-reach.
- LinkedIn profile and job search results
- GitHub repository query output
By the numbers
- Documents search_people and search_jobs examples with limit: 10
- Covers LinkedIn scraper MCP plus GitHub gh CLI repository workflows
Files
Agent Reach — 路由器
17 平台工具集合。根据用户意图选择对应分类。
路由表
| 用户意图 | 分类 | 详细文档 |
|---|---|---|
| 网页搜索/代码搜索 | search | references/search.md |
| 小红书/抖音/微博/推特/B站/V2EX/Reddit | social | references/social.md |
| 招聘/职位/LinkedIn | career | references/career.md |
| GitHub/代码 | dev | references/dev.md |
| 网页/文章/公众号/RSS | web | references/web.md |
| YouTube/B站/播客字幕 | video | references/video.md |
零配置快速命令
# Exa 网页搜索
mcporter call 'exa.web_search_exa(query: "query", numResults: 5)'
# 通用网页阅读
curl -s "https://r.jina.ai/URL"
# GitHub 搜索
gh search repos "query" --sort stars --limit 10
# Twitter 搜索
twitter search "query" --limit 10
# YouTube/B站字幕
yt-dlp --write-sub --skip-download -o "/tmp/%(id)s" "URL"
# Reddit 搜索
rdt search "query" --limit 10
# Reddit 读帖 + 评论
rdt read POST_ID
# V2EX 热门
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: agent-reach/1.0"环境检查
# 检查可用 channel
agent-reach doctor
# 查看所有 MCP 服务
mcporter_list_servers()工作区规则
不要在 agent workspace 创建文件。 使用 /tmp/ 存放临时输出,~/.agent-reach/ 存放持久数据。
详细文档
根据用户需求,阅读对应的详细文档:
- 搜索工具 — Exa AI 搜索
- 社交媒体 — 小红书, 抖音, Twitter, B站, V2EX, Reddit
- 职场招聘 — LinkedIn
- 开发工具 — GitHub CLI
- 网页阅读 — Jina Reader, 微信公众号, RSS
- 视频播客 — YouTube, B站, 小宇宙
配置渠道
如果某个 channel 需要配置,获取安装指南: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md
用户只需提供 cookies,其他配置由 agent 完成。
职场招聘
LinkedIn。
# 获取个人资料
mcporter call 'linkedin-scraper.get_person_profile(linkedin_url: "https://linkedin.com/in/username")'
# 搜索人才
mcporter call 'linkedin-scraper.search_people(keyword: "AI engineer", limit: 10)'
# 获取公司资料
mcporter call 'linkedin-scraper.get_company_profile(linkedin_url: "https://linkedin.com/company/xxx")'
# 搜索职位
mcporter call 'linkedin-scraper.search_jobs(keyword: "software engineer", limit: 10)'需要登录: LinkedIn scraper 需要有效的登录态。
Fallback 方案
如果 MCP 不可用,可以用 Jina Reader:
curl -s "https://r.jina.ai/https://linkedin.com/in/username"开发工具
GitHub CLI
GitHub (gh CLI)
GitHub 官方命令行工具,用于仓库、Issue、PR、Actions、Release 以及 API 访问。
# 认证
gh auth login
gh auth status
# 搜索
gh search repos "query" --sort stars --limit 10
gh search code "query" --language python
# 仓库
gh repo view owner/repo
gh repo clone owner/repo
gh repo create my-repo --private
gh repo fork owner/repo
gh repo fork owner/repo --clone
gh repo sync owner/repo
# Issues
gh issue list -R owner/repo --state open
gh issue view 123 -R owner/repo
gh issue create -R owner/repo --title "Title" --body "Body"
# Pull Requests
gh pr list -R owner/repo --state open
gh pr view 123 -R owner/repo
gh pr create -R owner/repo --title "Title" --body "Body"
gh pr checks 123 --repo owner/repo
# Actions / CI
gh run list --repo owner/repo --limit 10
gh run view <run-id> --repo owner/repo
gh run view <run-id> --repo owner/repo --log-failed
gh workflow list --repo owner/repo
# Releases
gh release list -R owner/repo
gh release create v1.0.0
# API
gh api /user
gh api repos/owner/repo
# JSON 输出
gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'选择指南
| 工具 | 来源 | 用途 |
|---|---|---|
| gh CLI | agent-reach | Git 操作 |
| zread | my-mcp-tools | 读仓库内容 |
| context7 | my-mcp-tools | 查技术文档 |
搜索工具
Exa AI 搜索引擎。
Exa AI 搜索
高质量 AI 搜索引擎,擅长技术和代码搜索。
mcporter call 'exa.web_search_exa(query: "query", numResults: 5)'
mcporter call 'exa.get_code_context_exa(query: "code question", tokensNum: 3000)'使用场景
| 场景 | 参数 |
|---|---|
| 网页搜索 | web_search_exa(query: "...", numResults: 5) |
| 代码搜索 | get_code_context_exa(query: "...", tokensNum: 3000) |
特点
- 擅长英文内容和技术文档
- 支持代码上下文搜索
- 结果质量高
与其他搜索工具对比
| 工具 | 来源 | 适用场景 |
|---|---|---|
| Exa | agent-reach | 英文/技术/代码搜索 |
| 智谱搜索 | my-mcp-tools | 中文搜索 |
| GitHub 搜索 | agent-reach (dev.md) | 仓库/代码搜索 |
社交媒体 & 社区
小红书、抖音、Twitter/X、微博、B站、V2EX、Reddit。
小红书 / XiaoHongShu (xhs-cli)
稳定可用的命令
# 搜索笔记(推荐入口)
xhs search "query"
# 阅读笔记详情(必须用搜索结果中的 URL 或 ID,不能裸 note_id)
xhs read NOTE_ID_OR_URL
# 查看评论
xhs comments NOTE_ID_OR_URL
# 浏览热门
xhs hot
# 推荐 feed
xhs feed已知不稳定的命令(v0.6.4)
# 以下命令当前可能返回 API error,谨慎使用:
xhs user USER_ID # 可能返回 {code: -1}
xhs user-posts USER_ID # 可能返回 {code: -1}
xhs favorites # 可能返回 API error重要注意事项
安装:pipx install xiaohongshu-cli,然后xhs login(自动从浏览器提取 Cookie)。
>
xsec_token 限制: 小红书强制 xsec_token 机制,不能直接用裸 note_id 去读。正确流程是:先xhs search或xhs feed获取结果,再用结果中的 URL/ID 去xhs read。直接构造 note_id 会被拦截。
>
频率控制: 高频请求(批量搜索、深翻评论)会触发验证码,这是平台限制无法绕过。建议每次操作间隔 2-3 秒。
>
POST 操作风险: 发帖(post)、评论(comment)、点赞(like) 等写操作在 v0.6.x 可能因签名问题返回 406。如需使用,建议降级到 v0.3.5 (pipx install xiaohongshu-cli==0.3.5)。抖音 / Douyin
安装与配置
douyin-mcp-server 是 stdio 模式的 MCP server,需先安装再注册到 mcporter:
# 1. 安装
pipx install douyin-mcp-server
# 2. 查找安装路径
pipx runpip douyin-mcp-server show -f 2>/dev/null | grep "Location" \
|| find ~/.local -name "douyin-mcp-server" 2>/dev/null | head -1
# 3. 注册到 mcporter(使用 stdio 模式,将路径替换为上一步的输出)
mcporter config add douyin --command "/path/to/douyin-mcp-server" --scope home注意:agent-reach install --channels douyin 暂不支持抖音渠道(抖音在"可选渠道待解锁"列表)。HTTP 模式(mcporter config add douyin http://localhost:18070/mcp)无法正常工作,请使用上方 stdio 方式。用法
# 解析视频信息
mcporter call 'douyin.parse_douyin_video_info(share_link: "https://v.douyin.com/xxx/")'
# 获取无水印下载链接
mcporter call 'douyin.get_douyin_download_link(share_link: "https://v.douyin.com/xxx/")'
# 提取视频文案
mcporter call 'douyin.extract_douyin_text(share_link: "https://v.douyin.com/xxx/")'无需登录
Twitter/X (twitter-cli)
稳定命令
# 首页时间线(最稳定)
twitter feed -n 20
# 读取单条推文(含回复)
twitter tweet URL_OR_ID
# 读取长文 / X Article
twitter article URL_OR_ID
# 用户时间线
twitter user-posts @username -n 20
# 用户资料
twitter user @username可能不稳定的命令
# 搜索推文(Twitter 频繁改 GraphQL 端点,可能 404)
twitter search "query" -n 10
# 如果 search 返回 404,升级 twitter-cli:pipx upgrade twitter-cli
# likes(2024 年后只能看自己的,平台限制)
twitter likes重要注意事项
安装: pipx install twitter-cli(确保 v0.8.5+)>
认证: 推荐用 Cookie-Editor 导出后设置环境变量TWITTER_AUTH_TOKEN+TWITTER_CT0。自动提取在 SSH/Docker/无头环境不可用。
>
IP 风控: 不要在 VPS/数据中心 IP 上频繁调用,尤其是 followers/following,有封号风险。使用住宅代理或本地环境。
>
search 可能失效: Twitter 频繁修改 GraphQL API,search 命令可能随时返回 404。如遇到,先pipx upgrade twitter-cli。如果最新版仍不行,说明上游还没跟上 Twitter 的改动,用twitter feed替代。
>
输出格式: 建议用--yaml或--json获得结构化输出,对 AI agent 更友好。
微博 / Weibo
# 使用 Jina Reader 读取
curl -s "https://r.jina.ai/https://weibo.com/USER_ID/POST_ID"微博主要通过网页抓取,推荐使用通用网页读取方式。
B站 / Bilibili
# 获取视频元数据
yt-dlp --dump-json "https://www.bilibili.com/video/BVxxx"
# 下载字幕
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --convert-subs vtt --skip-download -o "/tmp/%(id)s" "URL"注意: 服务器 IP 可能遇到 412 错误。使用 --cookies-from-browser chrome 或配置代理。V2EX (公开 API)
无需认证,直接调用公开 API。
热门主题
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: agent-reach/1.0"节点主题
# node_name 如: python, tech, jobs, qna, programmers
curl -s "https://www.v2ex.com/api/topics/show.json?node_name=python&page=1" -H "User-Agent: agent-reach/1.0"主题详情
# topic_id 从 URL 获取,如 https://www.v2ex.com/t/1234567
curl -s "https://www.v2ex.com/api/topics/show.json?id=TOPIC_ID" -H "User-Agent: agent-reach/1.0"主题回复
curl -s "https://www.v2ex.com/api/replies/show.json?topic_id=TOPIC_ID&page=1" -H "User-Agent: agent-reach/1.0"用户信息
curl -s "https://www.v2ex.com/api/members/show.json?username=USERNAME" -H "User-Agent: agent-reach/1.0"Python 调用示例
from agent_reach.channels.v2ex import V2EXChannel
ch = V2EXChannel()
# 获取热门帖子
topics = ch.get_hot_topics(limit=10)
for t in topics:
print(f"[{t['node_title']}] {t['title']} ({t['replies']} 回复)")
# 获取节点帖子
node_topics = ch.get_node_topics("python", limit=5)
# 获取帖子详情 + 回复
topic = ch.get_topic(1234567)
print(topic["title"], "—", topic["author"])
# 获取用户信息
user = ch.get_user("Livid")节点列表: https://www.v2ex.com/planes
Reddit (rdt-cli)
# 搜索帖子
rdt search "query" --limit 10
# 读帖子全文 + 评论
rdt read POST_ID
# 浏览 subreddit
rdt sub python --limit 20
# 浏览热门
rdt popular --limit 10
# 浏览 /r/all
rdt all --limit 10安装: pipx install rdt-cli(确保 v0.4.2+)。无需登录即可搜索和阅读。需要登录的功能:rdt feed --subs-only(订阅列表)、rdt saved(收藏)。
建议使用 --yaml 输出,对 AI agent 更友好。视频/播客
YouTube、B站、小宇宙播客的字幕和转录。
YouTube (yt-dlp)
获取视频元数据
yt-dlp --dump-json "URL"下载字幕
# 下载字幕 (不下载视频)
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --skip-download -o "/tmp/%(id)s" "URL"
# 然后读取 .vtt 文件
cat /tmp/VIDEO_ID.*.vtt获取评论
# 提取评论(best-effort,不保证完整)
yt-dlp --write-comments --skip-download --write-info-json \
--extractor-args "youtube:max_comments=20" \
-o "/tmp/%(id)s" "URL"
# 评论在 .info.json 的 comments 字段中搜索视频
yt-dlp --dump-json "ytsearch5:query"字幕注意: 手动上传的字幕提取可靠;自动生成字幕可能存在行间重复,需后处理。
评论注意: --write-comments 基于网页抓取(非 YouTube Data API),部分评论可能丢失。B站 / Bilibili (yt-dlp + bili-cli)
视频元数据 (yt-dlp)
yt-dlp --dump-json "https://www.bilibili.com/video/BVxxx"字幕 (yt-dlp)
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --convert-subs vtt --skip-download -o "/tmp/%(id)s" "URL"搜索/热门/排行 (bili-cli)
# 搜索视频
bili search "query" --type video -n 5
# 热门视频
bili hot -n 10
# 排行榜
bili rank -n 10412 风控: 海外 IP 必须提供 Cookie(--cookies-from-browser chrome或--cookies /path/to/cookies.txt),国内 IP 一般不受影响。
安装 bili-cli:pipx install bilibili-cli,然后bili login扫码登录。
小宇宙播客 / Xiaoyuzhou Podcast
转录单集播客
# 输出 Markdown 文件到 /tmp/
~/.agent-reach/tools/xiaoyuzhou/transcribe.sh "https://www.xiaoyuzhoufm.com/episode/EPISODE_ID"前置要求
1. ffmpeg: brew install ffmpeg 2. Groq API Key (免费): https://console.groq.com/keys 3. 配置 Key: agent-reach configure groq-key YOUR_KEY 4. 首次运行: agent-reach install --env=auto 安装工具
检查状态
agent-reach doctor输出 Markdown 文件默认保存到 /tmp/。抖音视频解析
# 解析视频信息
mcporter call 'douyin.parse_douyin_video_info(share_link: "https://v.douyin.com/xxx/")'
# 获取无水印下载链接
mcporter call 'douyin.get_douyin_download_link(share_link: "https://v.douyin.com/xxx/")'详见 social.md
选择指南
| 场景 | 推荐工具 |
|---|---|
| YouTube 字幕 | yt-dlp |
| B站字幕 | yt-dlp |
| 播客转录 | 小宇宙 transcribe.sh |
| 抖音视频解析 | douyin MCP |
网页阅读
通用网页、微信公众号、RSS。
通用网页 (Jina Reader)
# 读取任意网页内容
curl -s "https://r.jina.ai/URL"
# 示例
curl -s "https://r.jina.ai/https://example.com/article"适用场景: 大多数网页可以直接用 Jina Reader 读取。
Web Reader (MCP)
# 读取网页内容 (Markdown 格式)
mcporter call 'web-reader.webReader(url: "https://example.com")'
# 保留图片
mcporter call 'web-reader.webReader(url: "https://example.com", retain_images: true)'
# 纯文本格式
mcporter call 'web-reader.webReader(url: "https://example.com", return_format: "text")'适用场景: 需要更精确控制输出格式时使用。
微信公众号 / WeChat Articles
搜索公众号文章(通过 Exa)
# 搜索微信公众号文章
mcporter call 'exa.web_search_exa(query: "搜索关键词", numResults: 5, includeDomains: ["mp.weixin.qq.com"])'阅读公众号文章全文(通过 Exa)
# 抓取文章全文
mcporter call 'exa.crawling_exa(urls: ["https://mp.weixin.qq.com/s/ARTICLE_ID"], maxCharacters: 10000)'可选:Camoufox 阅读(反爬更强)
cd ~/.agent-reach/tools/wechat-article-for-ai && python3 main.py "https://mp.weixin.qq.com/s/ARTICLE_ID"注意: Jina Reader 无法读取微信文章(被 CAPTCHA 拦截),推荐用 Exa。
RSS (feedparser)
python3 -c "
import feedparser
for e in feedparser.parse('FEED_URL').entries[:5]:
print(f'{e.title} — {e.link}')
"适用场景: 订阅博客、新闻源、播客等 RSS feed。
选择指南
| 场景 | 推荐工具 |
|---|---|
| 通用网页 | Jina Reader (curl r.jina.ai) |
| 需要图片/格式控制 | web-reader MCP |
| 微信公众号 | Exa (搜索+阅读) / Camoufox (可选阅读) |
| RSS 订阅 | feedparser |
| 微博/知乎等 | Jina Reader |
Agent Reach — Usage Guide
Upstream tools for 17 platforms. Call them directly.
Run agent-reach doctor to check which channels are available.
⚠️ Workspace Rules
Never create files in the agent workspace. Use /tmp/ for temporary output and ~/.agent-reach/ for persistent data.
Web — Any URL
curl -s "https://r.jina.ai/URL"Web Search (Exa)
mcporter call 'exa.web_search_exa(query: "query", numResults: 5)'
mcporter call 'exa.get_code_context_exa(query: "code question", tokensNum: 3000)'Twitter/X (bird)
bird search "query" -n 10 # search
bird read URL_OR_ID # read tweet (supports /status/ and /article/ URLs)
bird user-tweets @username -n 20 # user timeline
bird thread URL_OR_ID # full threadYouTube (yt-dlp)
yt-dlp --dump-json "URL" # video metadata
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --skip-download -o "/tmp/%(id)s" "URL"
# download subtitles, then read the .vtt file
yt-dlp --dump-json "ytsearch5:query" # searchBilibili (yt-dlp)
yt-dlp --dump-json "https://www.bilibili.com/video/BVxxx"
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --convert-subs vtt --skip-download -o "/tmp/%(id)s" "URL"Server IPs may get 412. Use --cookies-from-browser chrome or configure a proxy.curl -s "https://www.reddit.com/r/SUBREDDIT/hot.json?limit=10" -H "User-Agent: agent-reach/1.0"
curl -s "https://www.reddit.com/search.json?q=QUERY&limit=10" -H "User-Agent: agent-reach/1.0"Server IPs may get 403. Search via Exa instead, or configure a proxy.
GitHub (gh CLI)
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 issue view 123 -R owner/repoXiaoHongShu (mcporter)
mcporter call 'xiaohongshu.search_feeds(keyword: "query")'
mcporter call 'xiaohongshu.get_feed_detail(feed_id: "xxx", xsec_token: "yyy")'
mcporter call 'xiaohongshu.get_feed_detail(feed_id: "xxx", xsec_token: "yyy", load_all_comments: true)'
mcporter call 'xiaohongshu.publish_content(title: "Title", content: "Body text", images: ["/path/img.jpg"], tags: ["tag"])'Requires login. Use Cookie-Editor to import cookies.
Tip: Clean bloated output. The XHS API returns large JSON with many unused fields.
Pipe through the formatter to save context:
```bash
mcporter call 'xiaohongshu.search_feeds(keyword: "query")' | agent-reach format xhs
```
This keeps only: title, content, author, engagement counts, image URLs, and tags.
Douyin (mcporter)
mcporter call 'douyin.parse_douyin_video_info(share_link: "https://v.douyin.com/xxx/")'
mcporter call 'douyin.get_douyin_download_link(share_link: "https://v.douyin.com/xxx/")'No login needed.
WeChat Articles
Search (miku_ai):
# miku_ai is installed inside the agent-reach Python environment.
# Use the same interpreter that runs agent-reach (handles pipx / venv installs):
AGENT_REACH_PYTHON=$(python3 -c "import agent_reach, sys; print(sys.executable)" 2>/dev/null || echo python3)
$AGENT_REACH_PYTHON -c "
import asyncio
from miku_ai import get_wexin_article
async def s():
for a in await get_wexin_article('query', 5):
print(f'{a[\"title\"]} | {a[\"url\"]}')
asyncio.run(s())
"Read (Camoufox — bypasses WeChat anti-bot):
cd ~/.agent-reach/tools/wechat-article-for-ai && python3 main.py "https://mp.weixin.qq.com/s/ARTICLE_ID"WeChat articles cannot be read with Jina Reader or curl. Use Camoufox.
Weibo (mcporter)
# Trending topics
mcporter call 'weibo.get_trendings(limit: 20)'
# Search users
mcporter call 'weibo.search_users(keyword: "Lei Jun", limit: 10)'
# Get a user profile
mcporter call 'weibo.get_profile(uid: "1195230310")'
# Get a user's feed
mcporter call 'weibo.get_feeds(uid: "1195230310", limit: 20)'
# Get a user's hot posts
mcporter call 'weibo.get_hot_feeds(uid: "1195230310", limit: 10)'
# Search post content
mcporter call 'weibo.search_content(keyword: "artificial intelligence", limit: 20)'
# Search topics
mcporter call 'weibo.search_topics(keyword: "AI", limit: 10)'
# Get post comments
mcporter call 'weibo.get_comments(mid: "5099916367123456", limit: 50)'
# Get fans
mcporter call 'weibo.get_fans(uid: "1195230310", limit: 20)'
# Get followings
mcporter call 'weibo.get_followers(uid: "1195230310", limit: 20)'Zero config. No login needed. Uses the mobile API with auto-generated visitor cookies.
Xiaoyuzhou Podcast (groq-whisper + ffmpeg)
# Transcribe a single podcast episode (outputs text to /tmp/)
~/.agent-reach/tools/xiaoyuzhou/transcribe.sh "https://www.xiaoyuzhoufm.com/episode/EPISODE_ID"Requires ffmpeg and a Groq API key (free).Configure the key with agent-reach configure groq-key YOUR_KEY.On first run, install the tools with agent-reach install --env=auto.Run agent-reach doctor to check status.Output Markdown files are saved to /tmp/ by default.LinkedIn (mcporter)
mcporter call 'linkedin.get_person_profile(linkedin_url: "https://linkedin.com/in/username")'
mcporter call 'linkedin.search_people(keyword: "AI engineer", limit: 10)'Fallback: curl -s "https://r.jina.ai/https://linkedin.com/in/username"
V2EX (public API)
# Hot topics
curl -s "https://www.v2ex.com/api/topics/hot.json" -H "User-Agent: agent-reach/1.0"
# Topics in a node (node_name examples: python, tech, jobs, qna)
curl -s "https://www.v2ex.com/api/topics/show.json?node_name=python&page=1" -H "User-Agent: agent-reach/1.0"
# Topic details (extract topic_id from URLs like https://www.v2ex.com/t/1234567)
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&page=1" -H "User-Agent: agent-reach/1.0"
# User profile
curl -s "https://www.v2ex.com/api/members/show.json?username=USERNAME" -H "User-Agent: agent-reach/1.0"Python example (V2EXChannel):
from agent_reach.channels.v2ex import V2EXChannel
ch = V2EXChannel()
# Get hot topics (default 20 items)
# Returned fields: id, title, url, replies, node_name, node_title, content(first 200 chars), created
topics = ch.get_hot_topics(limit=10)
for t in topics:
print(f"[{t['node_title']}] {t['title']} ({t['replies']} replies) {t['url']}")
print(f" id={t['id']} created={t['created']}")
# Get latest topics for a specific node
# Returned fields: id, title, url, replies, node_name, node_title, content(first 200 chars), created
node_topics = ch.get_node_topics("python", limit=5)
for t in node_topics:
print(t["id"], t["title"], t["url"])
# Get one topic plus replies
# Returned fields: id, title, url, content, replies_count, node_name, node_title,
# author, created, replies (list of {author, content, created})
topic = ch.get_topic(1234567)
print(topic["title"], "—", topic["author"])
for r in topic["replies"]:
print(f" {r['author']}: {r['content'][:80]}")
# Get user info
# Returned fields: id, username, url, website, twitter, psn, github, btc, location, bio, avatar, created
user = ch.get_user("Livid")
print(user["username"], user["bio"], user["github"])
# Search (not supported by the public V2EX API; returns guidance instead)
result = ch.search("asyncio")
print(result[0]["error"]) # Use built-in site search or the Exa channel insteadNo auth required. Results are public JSON. V2EX node names are listed at https://www.v2ex.com/planes
Xueqiu (public API)
from agent_reach.channels.xueqiu import XueqiuChannel
ch = XueqiuChannel()
# Get stock quotes (symbol examples: SH600519 mainland China, SZ000858 Shenzhen, AAPL US, 00700 HK)
# Returned fields: symbol, name, current, percent, chg, high, low, open, last_close,
# volume, amount, market_capital, turnover_rate, pe_ttm, timestamp
quote = ch.get_stock_quote("AAPL")
print(f"{quote['name']} ({quote['symbol']}): {quote['current']} ({quote['percent']}%)")
# Search stocks
# Returned fields: symbol, name, exchange
stocks = ch.search_stock("Apple", limit=5)
for s in stocks:
print(f"{s['name']} ({s['symbol']}) - {s['exchange']}")
# Hot posts
# Returned fields: id, title, text(first 200 chars), author, likes, url
posts = ch.get_hot_posts(limit=10)
for p in posts:
print(f"{p['author']}: {p['text'][:50]}... ({p['likes']} likes)")
# Hot stocks (stock_type=10 popularity ranking, stock_type=12 watchlist ranking)
# Returned fields: symbol, name, current, percent, rank
hot = ch.get_hot_stocks(limit=10, stock_type=10)
for s in hot:
print(f"#{s['rank']} {s['name']} ({s['symbol']}): {s['current']} ({s['percent']}%)")No login required. Agent Reach auto-fetches session cookies, and all public APIs can be used directly.
RSS (feedparser)
python3 -c "
import feedparser
for e in feedparser.parse('FEED_URL').entries[:5]:
print(f'{e.title} — {e.link}')
"Troubleshooting
- Channel not working? Run
agent-reach doctor— it shows status and fix instructions. - Twitter fetch failed? Ensure
undiciis installed:npm install -g undici. Configure a proxy if needed:agent-reach configure proxy URL.
Setting Up a Channel ("help me configure XXX")
If a channel needs setup (cookies, Docker, etc.), fetch the install guide: https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md
The user only provides cookies. Everything else is your job.
Related skills
How it compares
Choose agent-reach when agents need live LinkedIn people, company, and job data alongside GitHub CLI queries in one skill.
FAQ
What does agent-reach do?
>
When should I use agent-reach?
>
Is agent-reach safe to install?
Review the Security Audits panel on this page before installing in production.