Files
aboutme_chat/README.md
Sam Rolfe 628ba96998 Initial commit: Multi-service AI agent system
- 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
2026-02-27 19:51:06 +11:00

108 lines
2.7 KiB
Markdown

# 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
```bash
# 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 guide
- `code.md` - Legacy implementation reference
## License
MIT