deep-research-web-ui
基于 Nuxt 4 的 AI 深度研究助手,支持多模型、多搜索源,搜索过程树状可视化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 Nuxt 4 的 AI 深度研究助手,支持多模型、多搜索源,搜索过程树状可视化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:深夜,你正在撰写一篇关于量子计算行业趋势的报告,需要搜集并综合大量技术文献、新闻和学术资料。传统的做法是在 Google 上一个一个关键词搜索,然后在几十个标签页之间来回切换、整理笔记——整个过程可能要花费数小时甚至数天。
Deep Research Web UI 就是来解决这个痛点的。它将原本运行在命令行中的 AI 研究自动化工具,包装成了一个带有精美 Web 界面的研究助手。输入一个研究主题,设定深度和广度,AI 会自动进行多轮联网搜索、抓取相关网页、智能分析并综合信息,最终生成一份结构化的研究报告。整个过程像一棵不断生长和分叉的树——你可以在界面上实时看到 AI 的思考路径和搜索进程。
这个项目诞生于对 dzhng/deep-research 的二次开发。原始项目是一个纯命令行的 Python 工具,功能强大但使用门槛较高——需要用户熟悉终端操作、理解 API 密钥配置。AnotiaWang 在保留核心功能的基础上,用现代前端技术栈重新构建了整个交互层,让普通用户也能轻松使用 AI 自动化研究的强大能力。
项目发布后在 GitHub 上迅速获得了超过 2000 颗星,fork 数接近 300,足以说明市场对这类工具的强烈需求。从更新日志可以看出,作者保持着极高的维护频率,几乎每隔几天就有新功能或改进上线,社区活跃度很高。
这个项目绝非简单的"套壳"。它在以下几个维度做出了真正的差异化:
多模型兼容架构。与很多只支持 OpenAI 的工具不同,Deep Research Web UI 底层使用纯提示词而非结构化输出(Structured Outputs),确保兼容尽可能多的大模型供应商。目前支持 OpenAI 全系列、DeepSeek 全系列、SiliconFlow、InfiniAI、302.AI、OpenRouter 以及本地 Ollama。这意味着用户可以根据成本和效果自由选择,不必被某个特定供应商绑定。对于技术团队来说,这种灵活性也意味着在模型供应商出现价格波动或可用性问题时,可以快速切换而不需要修改代码。
客户端/服务端双模式设计。这是整个项目最值得称道的架构决策。客户端模式(Client Mode)下,API 密钥由用户在浏览器中自行填写,配置和请求完全在本地浏览器完成,数据不上传到任何服务器——这对注重隐私的用户来说是一个重要保障。服务端模式(Server Mode)下,管理员通过环境变量配置 API 密钥,普通用户无需接触任何密钥信息,适合企业内部部署或公开演示站点。这种"隐私优先 + 运维友好"的双轨设计,满足了截然不同的两类使用场景。
实时流式响应与搜索树可视化。借助 VueFlow(一个基于 Vue.js 的图形可视化库),搜索和研究过程以树状图的形式实时渲染在界面上。每一个分支代表一次搜索查询,节点展示搜索摘要和来源,点击可以展开详细内容。用户不再面对一个黑箱式的等待过程,可以直观地看到 AI 的研究思路,并根据中间结果决定是否终止或调整研究方向。这种"可观测性"对于深度研究类工具来说是用户体验的关键提升。
多源联网搜索。支持 Tavily(每月 1000 次免费额度)、Firecrawl(支持自部署)和 Google PSE 三种搜索后端。Tavily 提供免费额度适合个人用户;Firecrawl 支持本地部署,适合有合规要求的企业;Google PSE 则适合需要自定义搜索引擎的场景。此外,用户还可以控制搜索语言、并发数量和质量级别等参数。
报告导出。最终生成的研究报告支持 Markdown 和 PDF 两种格式导出。PDF 导出使用了浏览器原生打印能力,确保排版和展示的一致性,摆脱了对第三方 PDF 服务的依赖。报告中还包含来源引用信息,方便读者追溯原始资料。
国际化与多语言支持。项目内置了 i18n 支持,已支持英语、中文和荷兰语三种语言,面向全球用户。
从技术栈来看,这是一个非常"2025年"的现代 Web 应用:
| 层级 | 技术选型 |
|---|---|
| 前端框架 | Nuxt 4 (Vue 3 SSR) |
| UI 组件库 | @nuxt/ui 3 |
| 状态管理 | Pinia |
| 可视化 | @vue-flow/core (树状搜索图) |
| AI 集成 | AI SDK (@ai-sdk/vue, @ai-sdk/openai, @ai-sdk/deepseek 等) |
| AI 推理核心 | ai 包 (Vercel AI SDK) |
| 搜索 SDK | @tavily/core, @mendable/firecrawl-js |
| 样式 | Tailwind CSS 4 |
值得注意的是,前端的 AI 集成使用的是 Vercel AI SDK(ai 包),这是目前 Node.js 生态中做 AI 应用集成最成熟的库之一。它封装了流式响应处理、模型调用、重试逻辑、多供应商适配等常见需求,让业务代码可以专注于提示词和响应处理,而不必重复造轮子。
后端 API 路由放在 server/api/ 目录下,作为 Nuxt 的 Server Routes(Nitro)实现,与前端页面代码共存在同一个代码库中,通过 NUXT_PUBLIC_* 环境变量实现前后端配置共享。这种 Monorepo 结构在小型全栈项目中非常高效——一个仓库、一套 CI/CD、一份依赖管理,同时保持了 SSR 和 API 的清晰边界。
核心研究逻辑在 lib/ai/ 和 lib/core/ 中。lib/core/ 应该是核心的搜索树生成和节点处理逻辑,lib/ai/ 则封装了不同 AI 供应商的调用接口。
项目提供了成熟的多阶段 Dockerfile,基于 node:20-alpine 构建,最终产出是一个精简的生产镜像。部署只需要一条命令,加上几个环境变量即可:
docker run -p 3000:3000 \
-e NUXT_PUBLIC_SERVER_MODE=true \
-e NUXT_AI_API_KEY=sk-xxx \
-e NUXT_WEB_SEARCH_API_KEY=xxx \
-e NUXT_PUBLIC_AI_PROVIDER=deepseek \
-e NUXT_PUBLIC_AI_MODEL=deepseek-chat \
-e NUXT_PUBLIC_WEB_SEARCH_PROVIDER=tavily \
anotia/deep-research-web:latest
同时也支持通过 .env 文件或 EdgeOne Pages 静态部署(客户端模式)。部署难度评级为"简单",无需 GPU,主要资源消耗在网络 I/O(联网搜索)和 AI API 调用上。
尽管项目本身质量很高,有几个问题值得客观指出:
没有开源许可证。项目目前没有任何开源许可证(license 字段为空),这意味着法律上他人无法自由使用、修改和再分发这个项目的代码。虽然项目托管在 GitHub 上且接受 Star,但这个法律空白对于希望将项目作为内部工具基础的企业用户来说是一个障碍。建议关注作者的许可证更新计划。
AI API 成本不可控。研究过程的深度和广度会直接影响 API 调用次数,DeepSeek R1 等思维链模型的 token 消耗量也比较大。如果不加以限制,单次研究可能产生较高的账单。项目目前没有内置的用量控制或成本上限设置,用户需要自行在 AI 供应商侧配置。
搜索质量依赖外部 API。研究结果的准确性高度依赖 Tavily/Firecrawl 等搜索后端的质量。如果这些服务的免费额度用尽或质量下降,整个研究过程的效果也会受到影响。
Deep Research 类工具的出现,本质上是在解决 LLM 应用的一个核心矛盾:大模型本身有知识、有推理能力,但没有联网能力。通过将搜索-抓取-推理三个环节串联起来,Deep Research Web UI 让 AI 可以在真实、实时的信息环境中进行深度分析,而不仅仅依赖训练数据中的知识。
这类工具的增长曲线值得关注。从用户反馈来看,需求主要集中在:学术研究辅助(文献调研)、行业分析报告(市场研究)、技术选型调研(竞品对比)这几个场景。随着 AI 模型能力的持续提升和 API 成本的不断下降,这种"AI 自动化深度研究"的场景会越来越普遍,而一个易用、好看、可部署的工具链将成为这个趋势的重要基础设施。