- Frontend: Vite + React + TypeScript chat interface - Backend: FastAPI gateway with LangGraph routing - Knowledge Service: ChromaDB RAG with Gitea scraper - LangGraph Service: Multi-agent orchestration - Airflow: Scheduled Gitea ingestion DAG - Documentation: Complete plan and implementation guides Architecture: - Modular Docker Compose per service - External ai-mesh network for communication - Fast rebuilds with /app/packages pattern - Intelligent agent routing (no hardcoded keywords) Services: - Frontend (5173): React chat UI - Chat Gateway (8000): FastAPI entry point - LangGraph (8090): Agent orchestration - Knowledge (8080): ChromaDB RAG - Airflow (8081): Scheduled ingestion - PostgreSQL (5432): Chat history Excludes: node_modules, .venv, chroma_db, logs, .env files Includes: All source code, configs, docs, docker files
2.7 KiB
2.7 KiB
AboutMe AI Chat Demo
A comprehensive AI agent system with multi-service architecture for personal knowledge management and intelligent query responses.
Architecture Overview
User Query → Chat Gateway → LangGraph Supervisor → [Librarian | Opencode | Brain]
↓
Knowledge Service (ChromaDB) ← Airflow ← Gitea API
Services
| Service | Port | Technology | Purpose |
|---|---|---|---|
| Frontend | 5173 | Vite + React + TS | Chat UI |
| Chat Gateway | 8000 | FastAPI | API entry point |
| LangGraph | 8090 | FastAPI + LangGraph | Agent orchestration |
| Knowledge | 8080 | FastAPI + ChromaDB | RAG / Vector search |
| Airflow | 8081 | Apache Airflow | Scheduled ingestion |
| PostgreSQL | 5432 | Postgres 15 | Chat history |
Quick Start
# 1. Ensure Docker network exists
docker network create ai-mesh
# 2. Start Knowledge Service
cd knowledge_service && docker-compose up -d
# 3. Start LangGraph Service
cd ../langgraph_service && docker-compose up -d
# 4. Start Chat Demo
cd ../aboutme_chat_demo && docker-compose up -d
# 5. Start Airflow (optional)
cd ../airflow && docker-compose up -d
Environment Variables
Create .env files in each service directory:
knowledge_service/.env:
OPENROUTER_API_KEY=your_key_here
GITEA_URL=https://gitea.lab.audasmedia.com.au
GITEA_TOKEN=your_token
GITEA_USERNAME=sam
langgraph_service/.env:
OPENCODE_PASSWORD=sam4jo
airflow/.env:
AIRFLOW_UID=1000
GITEA_TOKEN=your_token
Project Structure
aboutme_chat_demo/
├── frontend/ # React chat interface
├── backend/ # FastAPI gateway (routes to LangGraph)
├── plan.md # Full project roadmap
└── code_1.md # Implementation guide
knowledge_service/
├── main.py # FastAPI + ChromaDB
├── gitea_scraper.py # Gitea API integration
└── docker-compose.yml
langgraph_service/
├── main.py # FastAPI entry point
├── supervisor_agent.py # LangGraph orchestration
└── docker-compose.yml
airflow/
├── dags/ # Workflow definitions
│ └── gitea_ingestion_dag.py
└── docker-compose.yml
Technologies
- Frontend: Vite, React 19, TypeScript, Tailwind CSS, TanStack Query
- Backend: FastAPI, Python 3.11, httpx
- AI/ML: LangGraph, LangChain, ChromaDB, OpenRouter API
- Orchestration: Apache Airflow (CeleryExecutor)
- Infrastructure: Docker, Docker Compose
Documentation
plan.md- Complete project roadmap (7 phases)code_1.md- Modular implementation guidecode.md- Legacy implementation reference
License
MIT