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.
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,209 GitHub stars.
deep-research-web-ui's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
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!
Unlocks once the catalog security scan passes (runs nightly).
⚠️ 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.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
See comparison
[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.
[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_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 | 128000 |
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, infiniai, openrouter, requesty, deepseek, ollama, litellm |
| Web search provider | tavily, firecrawl, crw, google-pse, youcom |
Notes:
NUXT_WEB_SEARCH_API_KEY supports comma-separated keys for Tavily and Google PSE, 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 daily quota; get a key at https://you.com/platform/api-keys.http://localhost:11434/v1 as the default API base. When running the app inside Docker, localhost refers to the container itself, so set NUXT_AI_API_BASE to a reachable host or Docker network address if Ollama runs outside the container.http://localhost:4000/v1 as the default API base. Its API key is optional when the proxy does not require authentication; set NUXT_AI_API_BASE when the proxy is not reachable at the default local address.https://router.requesty.ai/v1 as the default API base and expects model IDs in provider/model format, such as openai/gpt-4o.Set NUXT_PROXY_URL to route server-side requests through a proxy:
NUXT_PROXY_URL=socks5h://user:pass@gate.example.com:7777
NUXT_NO_PROXY=localhost,127.0.0.1,::1
http, https, socks5, socks5h, socks.http(s) proxies cover everything: AI providers, Google PSE, you.com, and the Tavily / Firecrawl / CRW SDKs.socks* proxies cover AI providers, Google PSE and you.com; the Tavily / Firec