Agent-Reach

命令行工具

Panniantong/Agent-Reach

为 AI Agent 一键接入全网平台阅读与搜索的脚手架 CLI

项目简介

Agent Reach 是一个开源脚手架工具,让 Claude Code、Cursor 等 AI Agent 通过一个 CLI 即可阅读和搜索 Twitter、Reddit、YouTube、GitHub、B站、小红书等平台,全程零 API 费用。它自动完成上游工具的选型、安装与配置,并为 Agent 注册技能指南,内置 doctor 命令可一键诊断各渠道状态。所有 Cookie 仅存本地,每个渠道均可插拔替换。

README 预览

👁️ Agent Reach\n\n\n  给你的 AI Agent 一键装上互联网能力\n\n\n\n  \n  \n  \n\n\n\n  快速开始 · English · 日本語 · 한국어 · 支持平台 · 设计理念\n\n\n---\n\n## 为什么需要 Agent Reach?\n\nAI Agent 已经能帮你写代码、改文档、管项目——但你让它去网上找点东西,它就抓瞎了:\n\n- 📺 "帮我看看这个 YouTube 教程讲了什么" → **看不了**,拿不到字幕\n- 🐦 "帮我搜一下推特上大家怎么评价这个产品" → **搜不了**,Twitter API 要付费\n- 📖 "去 Reddit 上看看有没有人遇到过同样的 bug" → **403 被封**,服务器 IP 被拒\n- 📕 "帮我看看小红书上这个品的口碑" → **打不开**,必须登录才能看\n- 📺 "B站上有个技术视频,帮我总结一下" → **连不上**,海外/服务器 IP 被屏蔽\n- 🔍 "帮我在网上搜一下最新的 LLM 框架对比" → **没有好用的搜索**,要么付费要么质量差\n- 🌐 "帮我看看这个网页写了啥" → **抓回来一堆 HTML 标签**,根本没法读\n- 📦 "这个 GitHub 仓库是干嘛的?Issue 里说了什么?" → 能用,但认证配置很麻烦\n- 📡 "帮我订阅这几个 RSS 源,有更新告诉我" → 要自己装库写代码\n\n**这些不难实现,但是需要自己折腾配置**\n\n每个平台都有自己的门槛——要付费的 API、要绕过的封锁、要登录的账号、要清洗的数据。你要一个一个去踩坑、装工具、调配置,光是让 Agent 能读个推特就得折腾半天。\n\n**Agent Reach 把这件事变成一句话:**\n\n```\n帮我安装 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/install.md\n```\n\n复制给你的 Agent,几分钟后它就能读推特、搜 Reddit、看 YouTube、刷小红书了。\n\n**已经装过了?更新也是一句话:**\n\n```\n帮我更新 Agent Reach:https://raw.githubusercontent.com/Panniantong/agent-reach/main/docs/update.md\n```\n\n> ⭐ **Star 这个项目**,我们会持续追踪各平台的变化、接入新的渠道。你不用自己盯——平台封了我们修,有新渠道我们加。\n\n### ✅ 在你用之前,你可能想知道\n\n| | |\n|---|---|\n| 💰 **完全免费** | 所有工具开源、所有 API 免费。唯一可能花钱的是服务器代理($1/月),本地电脑不需要 |\n| 🔒 **隐私安全** | Cookie 只存在你本地,不上传不外传。代码完全开源,随时可审查 |\n| 🔄 **持续更新** | 底层工具(yt-dlp、twitter-cli、rdt-cli、Jina Reader 等)定期追踪更新到最新版,你不用自己盯 |\n| 🤖 **兼容所有 Agent** | Claude Code、OpenClaw、Cursor、Windsurf……任何能跑命令行的 Agent 都能用 |\n| 🩺 **自带诊断** | `agent-reach doctor` 一条命令告诉你哪个通、哪个不通、怎么修 |\n\n---\n\n## 支持的平台\n\n| 平台 | 装好即用 | 配置后解锁 | 怎么配 |\n|------|---------|-----------|-------|\n| 🌐 **网页** | 阅读任意网页 | — | 无需配置 |\n| 📺 **YouTube** | 字幕提取 + 视频搜索 | — | 无需配置 |\n| 📡 **RSS** | 阅读任意 RSS/Atom 源 | — | 无需配置 |\n| 🔍 **全网搜索** | — | 全网语义搜索 | 自动配置(MCP 接入,免费无需 Key) |\n| 📦 **GitHub** | 读公开仓库 + 搜索 | 私有仓库、提 Issue/PR、Fork | 告诉 Agent「帮我登录 GitHub」 |\n| 🐦 **Twitter/X** | 读单条推文 | 搜索推文、浏览时间线、发推 | 告诉 Agent「帮我配 Twitter」 |\n| 📺 **B站** | 本地:字幕提取 + 搜索 | 服务器也能用 | 告诉 Agent「帮我配代理」 |\n| ���

常见问题 (2)

故障排除
为什么即使 OpenCLI 扩展已连接,agent-reach doctor 仍报告 "Chrome extension not installed"?

这是 agent-reach doctor (v1.5.0) 中的一个漏报。Doctor 通过扫描 Chrome 的 User Data\<Profile>\Extensions\ 目录来查找扩展 ID,以此检测 OpenCLI 扩展。如果您在 Microsoft Edge(开发者模式)中以加载已解压扩展的方式从 ~/.opencli/extension/ 加载了该扩展,或者 Chrome 从未初始化(不存在 User Data 目录),此检查就会失败。解决方法:可以安全地忽略 reddit、facebook、instagram 和 xiaohongshu 的 warn 状态——这些平台仍然可以正常工作。要获取扩展的真实状态,请运行 opencli doctor,它会查询端口 19825 上的 OpenCLI 守护进程,并正确报告 Extension: connected。

来源 Issue #513
故障排除
为什么 Agent-Reach 会在 Windows 上将凭据写入主目录之外的位置,以及如何修复 symlink 防护绕过问题?

在 Agent-Reach v1.5.0 中,cookie_extract.py(_sync_xfetch_session、_sync_bird_env)和 cli.py(_configure_xhs_cookies、--sync-legacy-twitter、_cmd_uninstall)中的凭据路径均通过 os.path.expanduser("~") 解析用户主目录。在 Windows 上,expanduser 会忽略 HOME 环境变量,转而通过 USERPROFILE 进行解析,且不执行符号链接拒绝检查,因此恶意符号链接可以将 Twitter/XHS 的 Cookie 写入重定向到攻击者控制的目录,从而使 ensure_no_symlink_path/make_private_dir 失效。修复方法:在 agent_reach/utils/paths.py 中添加一个 home_dir() 辅助函数——若 HOME 已设置则返回 Path(os.environ["HOME"]),否则在结果有效时返回 Path(os.path.expanduser("~")),再否则返回 Path.home();然后将所有凭据路径解析统一经由该函数处理,这样 make_private_dir/atomic_write_private_text 在遇到符号链接化的父目录时将抛出 PrivatePathError。skill 安装路径保持使用 os.path.expanduser 不变(测试会对其做 monkeypatch)。参考补丁:commit b3d53eb。使用 pytest tests/test_skill_command.py tests/test_cli.py 进行验证(预期 28 个通过)。

来源 Issue #574