This app was created by the Supavec team, based on open-deep-research.
I wanted to run this app on affordable + OSS stack, which is Supabase.
There're 3 main APIs:
- /api/feedback: Supabase Edge Functions
- /api/keys: Supabase Edge Functions
- /api/research: (Still) Vercel
I really want to move /api/research
to Supabase Edge Functions, but the CPU time exceeded error prevents me from doing so.
Hopefully soon!
(/supabase/functions/api/research
does work on your local tho with $ supabase functions serve research --no-verify-jwt
)
Also, I tried to host this app on Cloudflare Workers, but it was too slow. A simple API call takes about 10 secs (sry I'm a CF noob).
Supa Deep Research Web UI is an AI-powered research assistant that transforms the original CLI tool into a modern web interface using Next.js and shadcn/ui. Try it out at supa-deep-research.com with your own API keys, or host it yourself.
The system combines search engines (via FireCrawl), web scraping, and language models (via OpenAI) to perform deep research on any topic. Key features include:
-
Intelligent Research Process:
- Performs iterative research by recursively exploring topics in depth
- Uses LLMs to generate targeted search queries based on research goals
- Creates follow-up questions to better understand research needs
- Processes multiple searches and results in parallel for efficiency
- Configurable depth and breadth parameters to control research scope
-
Research Output:
- Produces detailed markdown reports with findings and sources
- Real-time progress tracking of research steps
- Built-in markdown viewer for reviewing results
- Downloadable research reports
-
Modern Interface:
- Interactive controls for adjusting research parameters
- Visual feedback for ongoing research progress
- HTTP-only cookie storage for API keys
The system maintains the core research capabilities of the original CLI while providing an intuitive visual interface for controlling and monitoring the research process.
-
Clone and Install
git clone https://github.com/taishikato/supa-deep-research.git cd open-deep-research npm install
-
Configure Environment
Create
.env.local
and add:OPENAI_API_KEY=your-openai-api-key FIRECRAWL_KEY=your-firecrawl-api-key NEXT_PUBLIC_ENABLE_API_KEYS=false # Set to false to disable API key dialog
-
Run the App
npm run dev
Visit http://localhost:3000
By default (NEXT_PUBLIC_ENABLE_API_KEYS=true
), the app includes an API key input dialog that allows users to try out the research assistant directly in their browser using their own API keys. Keys are stored securely in HTTP-only cookies and are never exposed to client-side JavaScript.
For your own deployment, you can disable this dialog by setting NEXT_PUBLIC_ENABLE_API_KEYS=false
and configure the API keys directly in your .env.local
file instead.
MIT License. Feel free to use and modify the code for your own projects as you wish.
- Original CLI: dzhng/deep-research
- Original Web UI: Open Deep Research
- Tools: Next.js, shadcn/ui, Vercel AI SDK, Supabase
Happy researching!