an simple self hosted deep research agent that can do deep research and give you optimum research output.
I wanted to keep this simple and follow what deep agents for Claude Code, Codex and Cursor do while keeping a seamless UX. The system is composed of three LangGraph graphs arranged in a nested architecture.
- Main Graph -> Top-level entry point handling the clarification loop:
- Clarify -> Asks the user clarifying questions via
interrupt, resumes when answered. - Orchestrate -> After the clarification is completed, hands it off to the orcheastrator subgraph.
- Orcheastrator Graph -> ReACT style subgraph for delegating research agents and writing the final report:
- Plan -> uses a todo list to outline research steps
- delegate -> kicks off research sub-agents in parallel via tool calls
- synthesize -> combines sub-agent findings into a final cited markdown report
- Research Graph -> ReAct-style sub-graph for web research:
- Decides what to search, calls
Tavilyweb search - filters results by relevance iterates until sufficient
- returns a cited intermediate report to the orchestrator