MindMitra is an AI mental health companion platform for conversational support, guided reflection, and therapeutic activities.
This README is intentionally concise. Deep technical behavior is documented under docs/ and AI operating guidance under ai/.
- Conversational AI companion with personality modes
- Crisis-aware routing and safety-first responses
- HTTP chat request/response through the MHA v3 pipeline
- Cross-session memory and continuity
- Voice input support and avatar metadata output
- Therapeutic game/activity context integration
- Frontend: React, TypeScript, Vite
- Backend: FastAPI, Python
- Data: Supabase (auth + relational storage)
- Vector Memory: Qdrant + local embeddings
- LLM Providers: multi-provider setup for routing, generation, and summaries
npm install
npm run devCreate .env.local or .env with at least:
VITE_BACKEND_URL=http://localhost:8000Optional frontend speech keys can be added if needed.
cd chatbotAgent
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envRun local vector DB (if needed):
docker run -d -p 6333:6333 qdrant/qdrantStart backend:
uvicorn app.main:app --reload --port 8000Primary backend variables are defined in chatbotAgent/.env.example.
At minimum, set:
- Supabase credentials
- LLM provider keys
- Qdrant connection values for memory
MindMitra/
├── src/ # Frontend app
├── chatbotAgent/ # Backend API and orchestration
├── docs/ # Source-of-truth technical docs
├── ai/ # AI-assistant operating docs
├── supabase/ # Database migrations/config
├── public/ # Static assets (avatar runtime included)
└── README.md
- Entry:
docs/README.md— table of contents - Architecture:
docs/MITRA.md— diagrams and request path - Platform:
docs/platform.md— runbook, memory v2, Qdrant - Product:
docs/product.md— MindGym, bridge, analytics - API:
docs/api_contracts.md· AI context:CLAUDE.md - Research:
docs/research/CITATIONS.md - Product brief:
docs/product_problem_solution.md
- Use
docs/files as source of truth for system behavior. - Keep contracts and docs updated in the same change when behavior changes.