一个个人调研 Agent TopicScout
一个个人调研 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 + 本地图片 |
| WeasyPrint |
代码风格参考 Karpathy:单文件优先、可读性 > 一切、最少依赖、直接写不要过度抽象。
跟其他调研工具的区别
gpt-researcher、khoj 这些我都看过,TopicScout 的差异点:
- 国内平台爬取:B站、抖音、微博、知乎、小红书、微信公众号,这是其他工具基本没有的
- Notion 式前端:不只是导出报告,可以直接在界面上编辑、筛选、标记
- JSON 一等公民:所有数据最终都导出结构化 JSON,方便下游项目复用
- 版本管理:同个主题可以多次爬取对比
仓库地址
https://github.com/haodehaode378/topic-scout
如果你想试用,直接从仓库开始。Python 后端 + React 前端,python -m topic_scout serve 起后端,npm run dev 起前端。
如果你有正在做的选题,也欢迎拿关键词来压测,你提的 bug/建议我会优先排进下一版。
