AnotiaWang/deep-research-web-ui
AI deep-research agent that turns any question into a cited report: plans searches, reads real sources, verifies evidence. Self-hosted, multi-provider, Docker-ready.
Deep Research Web UI – 소개
Deep Research Web UI는 연구 질문을 입력하면 자동으로 인용이 포함된 보고서를 생성하는 웹 애플리케이션입니다. 대규모 언어 모델(LLM) 호출, 웹 검색 API, 페이지 스크래핑을 통합하여 다음 기능을 수행합니다.
- 검색 계획 및 실행
- 소스 스니펫 및 전체 페이지 텍스트 검색
- 원본 페이지를 기반으로 한 연구 결과 검증
- 각 인용 검토
- 최종 Markdown/PDF 보고서 생성
이 도구는 브라우저에서 완전히 실행(클라이언트 모드)하거나 서버/Docker 컨테이너에서 실행(서버 모드)하여 API 키를 안전하게 관리할 수 있습니다.
주요 기능 (README 설명 기준)
| 기능 | 의미 |
|---|---|
| 안전 및 보안 – 클라이언트 모드 | 모든 설정과 API 호출이 사용자 브라우저 내에서 유지되며, 키가 원격 서버로 전송되지 않습니다. |
| 실시간 피드백 | AI 응답이 UI로 스트리밍되어 생성되는 동안 답변을 확인할 수 있습니다. |
| 검색 시각화 | 연구 워크플로우가 트리 형태로 표시되어 쿼리가 어떻게 개선되었고 어떤 소스가 사용되었는지 쉽게 추적할 수 있습니다. |
| 내보내기 | 완성된 보고서는 Markdown 또는 PDF로 다운로드할 수 있습니다. |
| 광범위한 모델 지원 | 일반 텍스트 프롬프트를 사용하므로 다양한 제공업체(OpenAI‑compatible, SiliconFlow, DeepSeek, Ollama, LiteLLM 등)와 호환됩니다. |
| Docker 지원 | 한 줄의 docker run 명령어로 직접 호스팅할 수 있습니다. |
| 서버 모드 | API 키가 환경 변수를 통해 제공되므로 최종 사용자가 입력할 필요가 없습니다. |
| 증거 검토 및 후속 조치 | 인용을 클릭하여 소스 발췌문을 확인하고, 시스템에 재검색이나 보고서의 해당 부분 업데이트를 요청할 수 있습니다. |
| 집중 검색 | 쿼리, 기간, 소스 필터가 분리되어 있으며, 증거가 부족할 경우 수정된 쿼리로 자동 재시도합니다. |
| 전체 페이지 읽기 | 스니펫만으로 부족할 경우, 앱이 전체 페이지를 가져와 원문 증거를 추출하고 전체 실행 과정에서 토큰 예산을 공유합니다. |
작동 방식 (상위 수준 흐름)
- UI에 연구 질문을 입력합니다.
- 앱이 검색 계획을 생성하고 선택한 웹 검색 제공업체(Tavily, Firecrawl, Google PSE, You.com, Serply 등)를 호출합니다.
- 검색 결과가 스크래핑되어(제공업체 API 또는 직접 호스팅한 스크래퍼를 통해) 스니펫이나 전체 페이지 텍스트를 얻습니다.
- LLM(예: GPT‑4o‑mini, DeepSeek, Ollama)이 증거를 처리하고 보고서 초안을 작성하며 각 발견 사항을 인용합니다.
- UI는 검색 단계의 트리 뷰를 보여주며 각 인용의 소스 발췌문을 검토할 수 있게 합니다.
- 요점을 검증하거나 확장해야 하는 경우 **"후속 조치(follow up)"**를 수행할 수 있습니다. 시스템은 새로운 집중 검색을 실행하고 영향을 받는 Markdown 블록만 업데이트하며, 원본 버전은 기록에 보관합니다.
- 만족스러우면 보고서를 Markdown 또는 PDF로 내보냅니다.
배포 옵션
| 모드 | 일반적인 사용 사례 | 설정 핵심 |
|---|---|---|
| 클라이언트 모드 | 사용자가 자신의 API 키를 제공하는 정적 호스팅(EdgeOne Pages, Netlify, Vercel). | 서버 불필요; 빌드된 정적 파일만 배포하면 됩니다. |
| 서버 모드 (권장) | API 키를 비밀로 유지해야 하는 직접 호스팅 SaaS 또는 내부 도구. | Docker 또는 사용자 정의 빌드를 통해 Nuxt SSR 서버를 실행합니다. 환경 변수로 AI 제공업체, 모델, 검색 제공업체, 프록시 등을 설정합니다. |
Docker 예시 (서버 모드):
docker run -p 3000:3000 \
-e NUXT_PUBLIC_SERVER_MODE=true \
-e NUXT_AI_API_KEY=your-ai-key \
-e NUXT_WEB_SEARCH_API_KEY=your-search-key \
-e NUXT_PUBLIC_AI_PROVIDER=openai-compatible \
-e NUXT_PUBLIC_AI_MODEL=gpt-4o-mini \
-e NUXT_PUBLIC_WEB_SEARCH_PROVIDER=tavily \
anotia/deep-research-web:latest
.env 파일을 제공하거나 지리적 제한이 있는 스크래핑을 위해 아웃바운드 HTTP/SOCKS 프록시(NUXT_PROXY_URL)를 설정할 수도 있습니다.
지원되는 제공업체 (목록)
- AI 모델: 모든 OpenAI 호환 엔드포인트, SiliconFlow, DeepSeek, OpenRouter, Requesty, Ollama, LiteLLM 등.
- 웹 검색 / 스크래핑: Tavily (무료 크레딧), Firecrawl (클라우드 또는 직접 호스팅), fastCRW, Google PSE, You.com, Serply.
README에 따르면 이 앱은 최신 구조화 출력 기능 대신 일반 텍스트 프롬프트를 사용하여 제공업체 간 호환성을 극대화합니다.
추천 대상
- 소스 기반의 보고서를 빠르게 생성해야 하는 연구원이나 학생.
- AI 지원 문헌 검토를 원하는 콘텐츠 제작자.
- 인용 수준의 추적 가능성이 필요한 내부 지식 베이스 도구를 구축하는 팀.
- 상용 AI 연구 보조 도구의 직접 호스팅 대안을 찾는 모든 사람.
라이선스
MIT – 허용적인 오픈소스 라이선스.
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 기능은 추론하지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트