by AnotiaWang
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.
# Add to your Claude Code skills
git clone https://github.com/AnotiaWang/deep-research-web-uiGuides for using ai agents skills like deep-research-web-ui.
Last scanned: 9/16/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@ai-sdk/deepseek: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@ai-sdk/openai: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@ai-sdk/openai-compatible: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@ai-sdk/provider-utils: @ai-sdk/provider-utils has an Uncontrolled Resource Consumption issue",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@ai-sdk/react: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@ai-sdk/ui-utils: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@ai-sdk/vue: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@nuxt/nitro-server: Nuxt's route middleware is not enforced when rendering `.server.vue` pages via `/__nuxt_island/page_*`",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@nuxt/ui: @nuxt/ui: UAuthForm / UForm SSR markup omits `method`, leaking credentials via GET if submitted before hydration",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@nuxt/vite-builder: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@openrouter/ai-sdk-provider: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "ai: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jsondiffpatch: jsondiffpatch is vulnerable to Cross-site Scripting (XSS) via HtmlFormatter::nodeBegin",
"severity": "high"
},
{
"type": "npm-audit",
"message": "nuxt: Vulnerability found",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-09-16T09:07:18.081Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how deep-research-web-ui compares with popular alternatives.
deep-research-web-ui is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by AnotiaWang. 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. It has 2,224 GitHub stars.
deep-research-web-ui returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/AnotiaWang/deep-research-web-ui" and add it to your Claude Code skills directory (see the Installation section above).
deep-research-web-ui is primarily written in TypeScript. It is open-source under AnotiaWang on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh deep-research-web-ui against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
[English | 中文]
Deep Research Web UI turns a research question into a cited report: it plans searches, browses the web, verifies findings against real source pages, and lets you inspect and follow up on every citation — all from your browser, or self-hosted with your own API keys.
Features:
Currently available providers:
Please give a 🌟 Star if you like this project!
Sponsors
MangoProxy provides Residential, ISP, Mobile, and Datacenter proxies in 200+ locations for web scraping, automation, SEO, and multi-account management. Promo code: GITHUBISP - 8% off Static ISP proxies.
ApiSmart.ai provides unified access to leading AI models through a single API. Use one API key to connect with LLM, image, and video models through an OpenAI-compatible interface, without managing multiple providers separately. Switch models easily, simplify billing, and improve reliability with intelligent routing and automatic failover. Build and scale AI applications faster with one streamlined API platform.
Helodata provides global proxy infrastructure covering 195+ countries and regions, with 80M+ ethically sourced residential IPs. We offer Residential, ISP, Unlimited Residential, Mobile, and Datacenter proxies for reliable data access across AI, web scraping, and automation workflows. Sign up using the promo code DRWEB to enjoy an exclusive 10% discount!
[1]-style citation in the report, or click Inspect evidence and follow up.This works in both Client Mode and Server Mode. Older history entries still load; findings without a saved excerpt are labeled accordingly. History is stored in your browser — export research you want to keep.
Live demo: https://deep-research.ataw.top
pnpm generate.Deploy with environment variables - users don't need to configure API keys. Use this mode when you can run the Nuxt server:
Using Docker with environment variables:
docker run -p 3000:3000 \
-e NUXT_PUBLIC_SERVER_MODE=true \
-e NUXT_AI_API_KEY=your-ai-api-key \
-e NUXT_WEB_SEARCH_API_KEY=your-search-api-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
Using Docker with .env file:
# Copy .env.example and update it with your configuration
cp .env.example .env
docker run -p 3000:3000 --env-file .env anotia/deep-research-web:latest
Users configure their own API keys in the browser. Use this mode for static deployments:
One-click deploy with EdgeOne Pages:
Use pre-built Docker image:
docker run -p 3000:3000 --name deep-research-web -d anotia/deep-research-web:latest
Use self-built Docker image:
git clone https://github.com/AnotiaWang/deep-research-web-ui
cd deep-research-web-ui
docker build -t deep-research-web .
docker run -p 3000:3000 --name deep-research-web -d deep-research-web
| Variable | Description | Default |
|---|---|---|
NUXT_PUBLIC_SERVER_MODE |
Enable server mode | false |
NUXT_ACCESS_PASSWORD |
Optional password required to call the /api routes |
- |
NUXT_AI_API_KEY |
AI provider API key | - |
NUXT_AI_API_BASE |
AI provider base URL | - |
NUXT_WEB_SEARCH_API_KEY |
Web search API key | - |
NUXT_WEB_SEARCH_API_BASE |
Web search base URL | - |
NUXT_PROXY_URL |
Outbound proxy URL (http/https/socks5/socks5h) | - |
NUXT_NO_PROXY |
Hosts bypassing the proxy | localhost,127.0.0.1,::1 |
| Variable | Description | Default |
|---|---|---|
NUXT_PUBLIC_AI_PROVIDER |
AI provider type | openai-compatible |
NUXT_PUBLIC_AI_MODEL |
AI model name | gpt-4o-mini |
NUXT_PUBLIC_AI_CONTEXT_SIZE |
Context size | 256000 |
NUXT_PUBLIC_AI_MAX_OUTPUT_TOKENS |
Max output tokens per call, including reasoning. Unset lets the provider decide | - |
NUXT_PUBLIC_WEB_SEARCH_PROVIDER |
Search provider | tavily |
NUXT_PUBLIC_WEB_SEARCH_CONCURRENCY_LIMIT |
Max concurrency | 2 |
NUXT_PUBLIC_WEB_SEARCH_SEARCH_LANGUAGE |
Search language | en |
NUXT_PUBLIC_TAVILY_ADVANCED_SEARCH |
Use Tavily advanced search | false |
NUXT_PUBLIC_TAVILY_SEARCH_TOPIC |
Tavily search topic | general |
NUXT_PUBLIC_GOOGLE_PSE_ID |
Google PSE ID | - |
| Type | Supported values |
|---|---|
| AI provider | openai-compatible, siliconflow, 302-ai, openrouter, requesty, deepseek, ollama, litellm |
| Web search provider | tavily, firecrawl, crw, google-pse, youcom, serply, parallel (Server Mode only) |
Notes:
NUXT_ACCESS_PASSWORD is set, visitors must enter it before running research. Strongly recommended for publicly reachable server-mode deployments, since the server's API keys are otherwise usable by anyone.NUXT_WEB_SEARCH_API_KEY supports comma-separated keys for Tavily, Google PSE and Serply, for example key1,key2,key3.NUXT_WEB_SEARCH_API_KEY and NUXT_PUBLIC_GOOGLE_PSE_ID.NUXT_WEB_SEARCH_API_BASE.crw) is a Firecrawl-compatible web scraper (single binary; self-host or cloud). It defaults to the cloud base https://fastcrw.com/api and reads the key from NUXT_WEB_SEARCH_API_KEY (document as CRW_API_KEY); self-hosted deployments can set NUXT_WEB_SEARCH_API_BASE.youcom) reads its key from NUXT_WEB_SEARCH_API_KEY (optional, comma-separated keys supported for rotation). Without a key it uses the keyless endpoint with a limited d