open-researcher
让AI思考过程实时可见——Firecrawl + Claude驱动的可视化联网研究助手,支持思考链展示、智能引用和分屏分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让AI思考过程实时可见——Firecrawl + Claude驱动的可视化联网研究助手,支持思考链展示、智能引用和分屏分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当你向AI提问"最新的大语言模型发展趋势是什么"时,AI往往会直接给出一个看似权威的答案——但它有没有去网上查过?它引用的数据从哪里来的?它是在"背答案"还是真的在"做研究"?
Open Researcher 正是为了回答这些问题而生的。它是一款由 Firecrawl 和 Claude 驱动的可视化AI研究助手,最大的特色是让你实时看到AI在研究过程中的每一步思考——它搜了哪些网页、读了什么内容、得出了什么结论,全部以时间线的形式直观展示在界面上。

图1:Open Researcher 运行界面,实时展示AI思考过程和研究进度
传统AI问答的局限在于它是一个"黑箱"——用户只能看到最终答案,无法验证AI的知识是否过时、引用是否准确、推理是否有漏洞。这种模式在需要严谨性的研究场景中几乎是致命的。
Open Researcher 的出现,源于两个核心技术的成熟:一是 Claude 的 Interleaved Thinking(交错思考能力),允许模型在回复中嵌入结构化的"思考块"(Thinking Blocks),让推理过程可被观察;二是 Firecrawl 的网页抓取API,能够实时访问互联网上的最新内容,而不是依赖模型训练数据中的过时知识。
项目由 Mendable AI(Firecrawl 母公司)开源维护,目前在 GitHub 上已获得 669 Stars,124 Forks,5 个 open issues,社区活跃度较高。
这是 Open Researcher 最具差异化的功能。用户发起研究后,界面左侧会实时展示 AI 的"思考链"——每个思考块按照时间顺序排列,显示 AI 在处理信息时的推理步骤。用户可以清楚地看到:AI 当前在分析什么、它调用了哪些工具、工具返回了什么结果。
思考块的类型包括:
这种设计让 AI 的研究过程变得透明可追溯,对于需要验证信息准确性的场景(如学术调研、商业分析)非常有价值。
与普通的 AI 联网搜索不同,Open Researcher 集成了 Firecrawl 的专业网页抓取能力,支持:
site:, intitle: 等)特别值得一提的是 Screenshots(截图)功能——Firecrawl 的抓取结果可以包含网页截图,AI 在展示搜索结果时会同时显示来源页面的可视化预览,这比纯文本摘要更能帮助用户判断信息源的可信度。
界面采用分屏设计:左侧是 AI 的思考过程时间线,右侧是对应的研究结果。用户可以自由切换"时间线视图"、"搜索结果视图"和"截图视图",也可以折叠/展开任意面板,获得沉浸式的研究体验。
研究结果中的每条信息都标注了精确的来源——用户点击上标数字编号,即可看到引用来源的完整 URL、标题和摘要。Citation Tooltip 组件会自动提取来源页面的 favicon,以可视化方式呈现引用链。
研究完成后,AI 会基于原始问题生成 5 个推荐追问方向,用户可以一键继续深入。这种"追问链"的设计让研究过程更加连贯,而非每次都需要用户手动构思新的问题。
Open Researcher 整体构建于 Next.js 15(App Router) 框架之上,采用 React Server Components 和 Client Components 混合架构。以下是核心技术栈分析:
| 层次 | 技术选型 | 说明 |
|---|---|---|
| 前端框架 | Next.js 15.3.4 + React 19 | 最新的 React 19 + Next.js 15 组合,支持 Turbopack |
| 样式方案 | Tailwind CSS v4 + shadcn/ui | Radix UI 基础组件库,大量使用 cn() 工具类合并样式 |
| AI 模型 | Claude Opus 4 (claude-opus-4-20250514) | Anthropic 最新 Opus 模型,支持 Interleaved Thinking beta |
| 联网抓取 | Firecrawl JS SDK (@mendable/firecrawl-js 1.25.1) | 专业网页抓取,支持 markdown 输出和截图 |
| 流式输出 | Next.js Server-Sent Events (SSE) | 实时流式推送思考事件,无需 WebSocket |
| AI SDK | @anthropic-ai/sdk v0.54 | Anthropic 官方 Node.js SDK |
| 状态管理 | React useState + useRef | 轻量级,无 Redux/Zustand |
| Markdown渲染 | react-markdown + remark-gfm | 支持 GFM 语法和表格渲染 |
| 通知 | sonner | 轻量级 toast 通知库 |
Agent 的核心是一个递归处理循环:
claude.beta.messages.create(带 interleaved-thinking-2025-05-14 beta),传入工具 schemacontent blocks:若为 thinking 则触发 onEvent;若为 tool_use 则执行对应工具(executeWebSearch / executeDeepScrape / executeContentAnalysis),将结果以 tool_result 形式追加到消息历史,然后递归调用模型继续text block,则触发 onEvent 标记为最终回复工具执行层封装了两个核心能力:
executeWebSearch:调用 Firecrawl SDK 的 search API,返回 url / title / description / markdown / screenshotexecuteDeepScrape:调用 Firecrawl SDK 的 scrapeUrl,支持 maxDepth 和 linkFilter 参数进行深度爬取| 路由 | 方法 | 功能 |
|---|---|---|
/api/open-researcher | POST | 核心研究入口,建立 SSE 流,调用 Agent |
/api/open-researcher/follow-up | POST | 生成推荐追问(Claude Haiku 3) |
/api/scrape | POST | 独立抓取接口,支持单 URL 和批量抓取 |
/api/check-env | GET | 检查环境变量配置状态 |
优点:项目结构清晰,Next.js 生态成熟,依赖不多(package.json 共约 20 个直接依赖)。本地运行只需 git clone → npm install → npm run dev 三步。
门槛:
ANTHROPIC_API_KEY(Claude)和 FIRECRAWL_API_KEY(Firecrawl)。其中 Claude API 需要境外网络访问,Firecrawl API 有免费额度限制node:18 镜像并处理环境变量注入硬件需求:CPU 运行即可,无需 GPU。预估 RAM 2GB、磁盘 1GB。
Model errorOpen Researcher 代表了 AI 应用的一个新兴方向——可解释的 AI 推理(Explainable AI Reasoning)。随着 Claude、GPT-4 等大模型具备更强的工具调用能力,单纯"给出答案"的 AI 已经不够用了,市场需要"展示推理过程"的 AI。
这种趋势在以下领域尤为明显:
Open Researcher 作为 Mendable AI 的开源研究助手,不仅展示了 Firecrawl 抓取能力的强大,也为 AI 研究工具的 UX 设计提供了一个优秀的参考实现。
# 1. 克隆仓库
git clone https://github.com/firecrawl/open-researcher
cd open-researcher
# 2. 安装依赖
npm install
# 3. 配置环境变量
cp .env.local.example .env.local
# 编辑 .env.local,填入 ANTHROPIC_API_KEY(必需)和 FIRECRAWL_API_KEY(可选)
# 4. 启动开发服务器
npm run dev
# 5. 打开浏览器
# 访问 http://localhost:3000
推荐运行环境:Node.js 18+,pnpm 或 npm。生产环境推荐部署到 Vercel(已有官方集成)。