一个个人调研 Agent TopicScout

最近把我一直在做的一个工具整理出来了,名字叫 TopicScout

做这个东西的起因很简单:每次做视频、写文章之前,都要花大量时间到处搜资料、翻帖子、看视频,信息散落在 B站、知乎、小红书、微信公众号、网页各个地方,最后整理起来又是一堆乱七八糟的链接。

所以我想,能不能有一个工具:输入关键词,自动帮我把全网资料爬下来,AI 总结归类,最后直接导出一份结构化的调研报告。

核心流程:

关键词输入 → AI 追问细化 → 并发爬取多源 → AI 总结归类 → Notion 式前端展示 → PDF/JSON 导出

它能做什么

1. AI 追问

不是你丢个关键词就闷头爬。它会像聊天一样问你几个问题:你想研究哪个方面?时间范围是?关注商业方案还是开源?

问到它觉得够了,自动标记 [READY],提取标题和描述让你确认。超过 10 轮还没问清楚也会自动兜底,不会卡死。

2. 多平台并发爬取

目前支持:

  • 通用网页(基于 Crawl4AI)
  • B站(视频搜索 + 内容提取)
  • 微信公众号(关键词搜索,调 we-mp-rss 微服务)
  • 抖音、微博、知乎、小红书(参考 MediaCrawler 架构)

爬取时带限速策略:全局信号量 10 并发,每平台 5 并发,遇到 429 自动指数退避。

3. AI 总结 + 自动归类

爬完之后 AI 做两件事:

  • 生成全局总结(500-1000 字)+ 3-5 条关键洞察
  • 自动把所有来源分成 3-8 个类别

每条来源在爬取时就即时生成 1-2 句摘要,不等全部爬完。

4. Notion 式前端

三栏布局:左侧分类筛选,中间来源卡片列表,右侧版本切换。

每个来源卡片可以展开看全文、图片、AI 总结,所有字段都能直接编辑。支持搜索过滤、置信度颜色标记、有用标记。

5. 版本管理 + 导出

同个主题可以多次爬取,每次是一个版本,支持切换查看。导出格式:

  • JSON:结构化数据,供下游项目复用(比如做视频脚本生成)
  • PDF:带封面、目录、正文的完整报告

这轮重点做了什么

最近几轮迭代主要在:

  • 微信公众号深度集成:扫码登录 + 关键词搜索 + 自动爬取,改成关键词搜索模式
  • B站关键词搜索:不只是爬单个视频,支持搜索关键词批量获取
  • LLM 配置卡片化:前端配置页改成 LobeChat 风格的服务商卡片,直观好用
  • Windows 兼容修复:爬取在 Windows 上崩的问题
  • AI 对话 Markdown 渲染:对话里支持富文本了

技术栈

技术
后端 Python 3.13 + FastAPI
前端 React 18 + TypeScript + Vite
爬虫 Crawl4AI + 自研国内平台爬虫
LLM OpenAI 兼容格式,默认 MiMo,可切 DeepSeek/Kimi/MiniMax/通义
存储 SQLite + JSON + 本地图片
PDF WeasyPrint

代码风格参考 Karpathy:单文件优先、可读性 > 一切、最少依赖、直接写不要过度抽象。


跟其他调研工具的区别

gpt-researcher、khoj 这些我都看过,TopicScout 的差异点:

  1. 国内平台爬取:B站、抖音、微博、知乎、小红书、微信公众号,这是其他工具基本没有的
  2. Notion 式前端:不只是导出报告,可以直接在界面上编辑、筛选、标记
  3. JSON 一等公民:所有数据最终都导出结构化 JSON,方便下游项目复用
  4. 版本管理:同个主题可以多次爬取对比

仓库地址

https://github.com/haodehaode378/topic-scout

如果你想试用,直接从仓库开始。Python 后端 + React 前端,python -m topic_scout serve 起后端,npm run dev 起前端。

如果你有正在做的选题,也欢迎拿关键词来压测,你提的 bug/建议我会优先排进下一版。