AI research assistant for ML engineers. This project is a work in progress and is live at https://dxtrchat.app/.
- Multi-Agent Orchestration: Master agent that intelligently delegates to specialized subagents using
pydantic-ai. - Unified Parallel Executor: Custom
parallel_maputility for high-concurrency subagent tasks (e.g., analyzing dozens of files or papers). - Real-time UX Feedback: Event bus architecture that streams tool calls, status updates, and progress via SSE to the frontend.
- GitHub Analysis: Capability to clone, parse, and summarize Python repositories to understand a user's technical background.
- Profile Synthesis: Automated generation of enriched user profiles from GitHub data and conversation history.
- Cloud Storage Integration: Artifact persistence (summaries, profiles, metadata) using Google Cloud Storage.
- LiteLLM Abstraction: Unified interface for multiple LLM providers with built-in cost tracking and proxying.
- Tool Usage Logging: Decorator-based logging for all agent tool calls to monitor system behavior and model decisions.
- Infrastructure as Code: Dockerized setup for consistent development and production environments.
- Event-Driven Architecture: Internal event bus using
ContextVarto track request state and stream updates. - Observability: Built-in tool usage tracking and tracing integration with LiteLLM for performance monitoring.
- Paper Ranking Integration: Fully hook up the Arxiv/HuggingFace paper ranking subagent to the master agent's toolset.
- Streaming Structured Outputs: Enable real-time streaming for Pydantic-based structured outputs (currently SSE only supports status events and final answers).
- Long-term Semantic Memory: Integrate
mem0or similar for cross-session fact extraction and personalization. - Latency Optimization: Reduce "time to first token" for conversational turns by optimizing agent initialization and tool selection.
- Model Acknowledgment: Refine system prompts or architecture to ensure the model provides verbal confirmation before executing long-running tools.
- Deep Dive Agent: Specialized agent for in-depth analysis of papers using visual RAG (Retrieval-Augmented Generation).
- Evaluation Framework: Implementation of "Evals" to measure agent performance on retrieval and synthesis tasks.
- Code Quality & Testing: Expand unit and integration test coverage; integrate linting and type-checking (Ruff, Mypy) into CI.
- Docker
- OpenRouter or OpenAI API key
- Google Cloud Storage bucket (for artifact storage)
# 1. Clone the repository
git clone https://github.com/your-repo/dxtr.git
cd dxtr
# 2. Configure environment variables
cp .env.example .env
# Edit .env with your keys and BLOB_STORE_URIThe project uses a Makefile to simplify common operations.
# Terminal 1: Start infrastructure (LiteLLM)
make up-dev
# Terminal 2: Run backend from source (requires python 3.12+)
make server- Backend API: http://localhost:8000
- LiteLLM Proxy: http://localhost:4000
- Health Check:
curl http://localhost:8000/health
To run the full stack (including the core API) in Docker:
# Start everything
make up
# Stop everything
make down