Panniantong
7d0da09222
feat: 新增 YouTube/Bilibili/XHS 搜索 CLI 命令 + 修复 B站搜索
...
- cli.py: 新增 search-youtube / search-bilibili / search-xhs 子命令
- core.py: 新增 search_youtube / search_bilibili / search_xhs 方法
- bilibili.py: 搜索策略改为 yt-dlp → Exa fallback(服务器 IP 被 B站 412)
- 本地机器走 yt-dlp bilisearch(有 title/uploader)
- 服务器自动 fallback 到 Exa site:bilibili.com
- 修复 mcporter 输出解析(Title:/URL: 格式)
测试结果: 15/15 全通(8 read + 7 search)
2026-02-24 13:39:21 +01:00
Panniantong
88eaebe263
refactor: 统一所有渠道后端,对齐 research 技能
...
GitHub: REST API → gh CLI(官方工具,认证后完整能力)
Bilibili: 自写 API → yt-dlp(和 YouTube 统一后端,支持搜索 bilisearch)
YouTube: 新增搜索功能(ytsearch via yt-dlp)
README 中英文同步更新:
- 平台表格:小红书/Exa/GitHub/YouTube/B站 描述全部更新
- 选型表格:新增 gh CLI、xiaohongshu-mcp,更新 yt-dlp/Exa 描述
- 按需解锁:去掉 Exa Key 注册步骤(已自动配置)
- 配置难度说明:新增「自动配置」「mcporter」级别
2026-02-24 13:25:57 +01:00
Panniantong
bb9ce6f7f1
refactor: XHS + Exa 全面切换到 mcporter MCP 后端
...
- xiaohongshu.py: 删除网页爬取代码,100% 走 mcporter + xiaohongshu-mcp
- exa_search.py: 删除直接 API 调用,100% 走 mcporter + exa MCP(免 Key)
- cli.py install: 新增 _install_mcporter(),自动装 mcporter + 配置 exa/xhs
- cli.py configure: 移除 exa-key 和 xhs-cookie(不再需要)
- doctor.py: 更新 tier 1 描述
净减 166 行代码,架构更简单:
之前: 每个渠道两套后端代码(mcporter + fallback)
现在: 每个渠道一套后端(mcporter only)
2026-02-24 13:20:23 +01:00
Panniantong
4e0c008d42
feat: 小红书 + Exa 搜索支持 mcporter MCP 后端
...
小红书:
- 优先通过 mcporter + xiaohongshu MCP server(内部 API,不受反爬限制)
- Fallback 到 Cookie 网页爬取(原方案,服务器端可能被拦截)
- 新增 search() 方法支持搜索小红书内容
- doctor 检测 MCP 连接状态和登录状态
Exa 搜索:
- 优先通过 mcporter + Exa MCP server(OAuth 免 API Key)
- Fallback 到直接 API 调用(需 EXA_API_KEY)
- 解析 mcporter 输出的 Title/URL/Text 格式
两个渠道都从「必须配置才能用」变成「有 mcporter 就自动能用」
9/9 渠道全部可用
2026-02-24 13:04:55 +01:00
Panniantong
3efc8d1d55
fix: Reddit 子版块列表页支持 + --version 参数
...
- reddit.py: 新增 _parse_listing() 处理 /r/sub/hot|new|top 等列表页
之前只能读单个帖子,列表页直接报 ValueError
- cli.py: 添加 --version flag (标准 CLI 惯例)
2026-02-24 12:49:58 +01:00
Panniantong
30f11bb6e4
fix: remove dead code (unreachable return) in twitter.py check()
2026-02-24 12:39:00 +01:00
Panniantong
2d1b8658b6
fix: handle curly quotes in Twitter Jina fallback detection
...
Jina Reader returns smart/curly quotes (U+2019) instead of ASCII
apostrophes. Use apostrophe-free substrings for detection.
2026-02-24 12:38:25 +01:00
Panniantong
a5b7b93b1f
fix: improve error handling for Twitter Jina fallback and invalid URL inputs
...
- Twitter _read_jina now detects unusable X.com responses (JS-required pages)
and shows a friendly error instead of garbage HTML
- CLI read command now shows user-friendly messages for invalid URLs
and connection errors instead of raw HTTP exception traces
2026-02-24 12:36:57 +01:00
Panniantong
ebbb69c372
polish: 全面清理旧名引用 + 英文 README 对齐中文版质量
...
- .gitignore/.env.example: agent-eyes → agent-reach
- README.md: 暂去掉 logo 图片标签(logo 待定)
- docs/README_en.md: 完全重写,对齐中文版的表格/徽章/结构
- SKILL.md: setup → configure
- sync-upstream.sh: 更新路径到 agent_reach/channels
- 提交 3 个 logo 候选文件(最终选定后改名 logo.png)
2026-02-24 12:15:30 +01:00
Panniantong
5c62a21f32
rename: Agent Eyes → Agent Reach
...
全局重命名:
- 包名: agent_eyes → agent_reach
- CLI: agent-eyes → agent-reach
- 类名: AgentEyes → AgentReach
- 显示名: Agent Eyes → Agent Reach
- GitHub: Panniantong/agent-eyes → Panniantong/Agent-Reach
所有 36 个测试通过,CLI/doctor/read/search 全部正常。
2026-02-24 10:25:46 +01:00