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

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 guide
  • code.md - Legacy implementation reference

License

MIT