thzxx
e94cbe0783
feat(v2.1.0): 研究模式 + fetch.py Wayback 兜底 + 被墙站点智能回退
A. fetch.py 补齐 Wayback 兜底 (修复重大 gap)
- v2.0.1 gap: fetch.py 独立调用 403 时无 Wayback 兜底 (仅 search.py --fetch 有)
- AI Agent 用 fetch.py -u URL 直接抓取被墙站点时, 403 后无任何回退
- 修复: fetch.py main() 增加 Wayback 兜底逻辑 + --no-fallback flag
- 共享逻辑抽取到 common.py: should_try_wayback() + build_wayback_url()
B. --research 研究模式
- 给定主题自动扩展 5 个多角度查询: overview/profile/background/works/review
- 确定性规则 (不依赖 AI 判断), 跨进程可复现
- 输出含 research_topic + research_queries 元数据, AI Agent 可按角度结构化汇编
- 与 --query/--queries-file 互斥, 支持所有输出格式 (json/brief/urls/csv)
- 三态退出码: 0=有结果, 2=全部空, 1=全部错误
C. 被墙站点智能回退
- common.py 增加 HARD_BLOCKED_DOMAINS: 百度百科/知乎/微博/微信公众号/豆瓣等
- is_hard_blocked_domain() 精确匹配 + 子域匹配
- 命中被墙站点时: 主抓取失败后立即 Wayback (不等 should_try_wayback 判断)
- search.py _should_try_fallback 增加 url 参数, 被墙站点直接触发兜底
真实测试验证 (search.metona.cn 实例):
- fetch.py 百度百科兜底: 403 → Wayback 恢复 150,493 chars ✓
- --research 模式: 5 角度查询扩展 + research 元数据 + 三态退出码 ✓
- 被墙站点检测: Hard-blocked domain detected 日志 + 自动 Wayback ✓
测试: 503 个全部通过 (新增 45 个: test_wayback_shared + test_research_mode)
来源: 另一个 AI Agent 反馈 Wikipedia/百度百科/知乎 fetch 失败, 需要多角度搜索+失败回退+被墙站点列表
2026-08-02 08:27:45 +08:00
..
2026-08-01 17:02:34 +08:00
2026-08-01 21:34:57 +08:00
2026-08-01 21:44:58 +08:00
2026-08-01 19:02:44 +08:00
2026-08-01 21:34:57 +08:00
2026-08-01 17:02:34 +08:00
2026-08-01 21:34:57 +08:00
2026-08-01 19:02:44 +08:00
2026-08-01 18:01:32 +08:00
2026-08-01 19:02:44 +08:00
2026-08-01 21:44:58 +08:00
2026-08-01 17:02:34 +08:00
2026-08-01 17:40:14 +08:00
2026-08-01 17:40:14 +08:00
2026-08-01 17:02:34 +08:00
2026-08-01 17:02:34 +08:00
2026-08-01 17:40:14 +08:00
2026-08-01 17:40:14 +08:00
2026-08-02 08:27:45 +08:00
2026-08-01 17:02:34 +08:00
2026-08-01 19:02:44 +08:00
2026-08-01 20:50:42 +08:00
2026-08-01 17:40:14 +08:00
2026-08-01 21:44:58 +08:00
2026-08-02 08:27:45 +08:00