feat: brain service — self-contained second brain knowledge manager

Full backend service with:
- FastAPI REST API with CRUD, search, reprocess endpoints
- PostgreSQL + pgvector for items and semantic search
- Redis + RQ for background job processing
- Meilisearch for fast keyword/filter search
- Browserless/Chrome for JS rendering and screenshots
- OpenAI structured output for AI classification
- Local file storage with S3-ready abstraction
- Gateway auth via X-Gateway-User-Id header
- Own docker-compose stack (6 containers)

Classification: fixed folders (Home/Family/Work/Travel/Knowledge/Faith/Projects)
and fixed tags (28 predefined). AI assigns exactly 1 folder, 2-3 tags, title,
summary, and confidence score per item.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yusuf Suleman
2026-04-01 11:48:29 -05:00
parent 51a8157fd4
commit 8275f3a71b
73 changed files with 24081 additions and 4209 deletions

View File

@@ -8,6 +8,7 @@ services:
environment:
- ORIGIN=${PLATFORM_V2_ORIGIN:-https://dash.quadjourney.com}
- GATEWAY_URL=http://gateway:8100
- DEV_AUTO_LOGIN=${DEV_AUTO_LOGIN:-0}
- IMMICH_URL=${IMMICH_URL}
- IMMICH_API_KEY=${IMMICH_API_KEY}
- KARAKEEP_URL=${KARAKEEP_URL:-http://192.168.1.42:3005}
@@ -35,6 +36,9 @@ services:
- ADMIN_USERNAME=${ADMIN_USERNAME}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- ADMIN_DISPLAY_NAME=${ADMIN_DISPLAY_NAME:-Admin}
- DEV_AUTO_LOGIN=${DEV_AUTO_LOGIN:-0}
- DEV_AUTO_LOGIN_USERNAME=${DEV_AUTO_LOGIN_USERNAME:-dev}
- DEV_AUTO_LOGIN_DISPLAY_NAME=${DEV_AUTO_LOGIN_DISPLAY_NAME:-Dev User}
- PORT=8100
- TRIPS_BACKEND_URL=http://trips-service:8087
- FITNESS_BACKEND_URL=http://fitness-service:8095