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:
@@ -15,6 +15,8 @@ export interface Food {
|
||||
protein_per_base: number;
|
||||
carbs_per_base: number;
|
||||
fat_per_base: number;
|
||||
sugar_per_base: number;
|
||||
fiber_per_base: number;
|
||||
status: string;
|
||||
image_path?: string;
|
||||
servings: FoodServing[];
|
||||
@@ -55,6 +57,8 @@ export interface FoodEntry {
|
||||
snapshot_protein: number;
|
||||
snapshot_carbs: number;
|
||||
snapshot_fat: number;
|
||||
snapshot_sugar: number;
|
||||
snapshot_fiber: number;
|
||||
source: string;
|
||||
entry_method: string;
|
||||
raw_text?: string;
|
||||
@@ -69,6 +73,8 @@ export interface DailyTotals {
|
||||
total_protein: number;
|
||||
total_carbs: number;
|
||||
total_fat: number;
|
||||
total_sugar: number;
|
||||
total_fiber: number;
|
||||
entry_count: number;
|
||||
}
|
||||
|
||||
@@ -81,6 +87,8 @@ export interface Goal {
|
||||
protein: number;
|
||||
carbs: number;
|
||||
fat: number;
|
||||
sugar: number;
|
||||
fiber: number;
|
||||
is_active: number;
|
||||
}
|
||||
|
||||
@@ -103,6 +111,8 @@ export interface MealTemplateItem {
|
||||
snapshot_protein: number;
|
||||
snapshot_carbs: number;
|
||||
snapshot_fat: number;
|
||||
snapshot_sugar: number;
|
||||
snapshot_fiber: number;
|
||||
}
|
||||
|
||||
export interface QueueItem {
|
||||
@@ -126,6 +136,8 @@ export interface ExternalFood {
|
||||
protein_per_100g: number;
|
||||
carbs_per_100g: number;
|
||||
fat_per_100g: number;
|
||||
sugar_per_100g: number;
|
||||
fiber_per_100g: number;
|
||||
serving_size_text?: string;
|
||||
serving_grams?: number;
|
||||
source: string;
|
||||
|
||||
Reference in New Issue
Block a user