How tar7nic/researchmind works
ResearchMind accepts a research query with optional document input, gathers evidence through an agent’s tools, synthesizes a cited report, evaluates it, and saves the result. The UI also exposes the agent trace, report export, and evaluation scorecard/history. The README documents the LangGraph stages and tool capabilities; sampled source confirms the research-page, context-building, judge, and storage calls, while detailed graph wiring and tool implementations were not sampled.
Main entry points: app.py Streamlit Navigation · graph.py LangGraph Orchestrator · nodes.py Supervisor Routing · research.py Research Query
Components 21
Research UI
- Streamlit Navigation
ui/app.py - Research Query
ui/sections/research.py - Agent Trace
ui/sections/trace.py - Report Output
ui/sections/report.py - Scorecard and History
ui/sections/scorecard.py - PDF Export
ui/components/pdf_export.py
Input Processing
- Unified Context
ingestion/unified_context.py - PDF Extraction
ingestion/pdf_parser.py - Image Encoding
ingestion/image_handler.py
Research Agent
- LangGraph Orchestrator
agent/graph.py - Supervisor Routing
agent/nodes.py - Tool Executor
agent/nodes.py - Research Tools
agent/tools.py - Report Synthesis
agent/nodes.py
Evaluation and Storage
- LLM Judge
agent/judge.py - Record Persistence
agent/nodes.py - Research Records
storage/db.py
Other components
- Researcher
- Groq LLM
- Tavily Search
- Python REPL
Connections 24
- Researcher → Streamlit Navigation: chooses page
- Streamlit Navigation → Research Query: routes to
- Research Query → Unified Context: builds input
- Unified Context → PDF Extraction: extracts PDF
- Unified Context → Image Encoding: encodes images
- Research Query → LangGraph Orchestrator: invokes research
- LangGraph Orchestrator → Supervisor Routing: dispatches
- Supervisor Routing → Groq LLM: requests reasoning
- Supervisor Routing → Tool Executor: routes tool calls
- Tool Executor → Research Tools: invokes tools
- Research Tools → Tavily Search: searches web
- Research Tools → Python REPL: executes code
- Tool Executor → Supervisor Routing: returns tool results
- LangGraph Orchestrator → Report Synthesis: dispatches synthesis
- Report Synthesis → Groq LLM: generates report
- LangGraph Orchestrator → LLM Judge: dispatches evaluation
- LLM Judge → Groq LLM: scores report
- LangGraph Orchestrator → Record Persistence: dispatches save
- Record Persistence → Research Records: writes record
- Streamlit Navigation → Research Records: initializes
- Streamlit Navigation → Agent Trace: routes to
- Streamlit Navigation → Report Output: routes to
- Streamlit Navigation → Scorecard and History: routes to
- Report Output → PDF Export: exports report