How y0o0ng/galpi works
Galpi is a self-hosted personal assistant: the user interacts with Xion through a web/PWA client, and the Node/Express server runs chat against bounded retrieval and tools while persisting conversation and knowledge state. Distinct capabilities include memory organization, task scheduling, voice, attachments, papers, and optional mail/news observers. The README documents these product boundaries; sampled source confirms selected routes and services, but not every runtime wiring detail. Trading is a separate experimental track, so it is shown as an independent branch.
Main entry points: server.js Express Server · assistant-retrieval.js Bounded Retrieval · app.js Xion Web / PWA · halfduplex-routes.js Half-duplex Voice
Components 22
Interaction
- Xion Web / PWA
public/app.js - Express Server
server.js - Half-duplex Voice
lib/voice/halfduplex-routes.js - Voice UI
public/voice/halfduplex.js
Memory & Knowledge
- Conversation State
server.js - Markdown Knowledge Vault
server.js - Bounded Retrieval
lib/assistant-retrieval.js - Topic Chunk Index
lib/topic-chunk-store.js - Codex Librarian
lib/codex-organizer.js
Assistant Runtime
- GPT Responses Runtime
lib/openai-responses-tool-loop.js - Web Evidence Tools
lib/web/tool.js - Paper Retrieval
lib/paper-search.js - Attachment Library
lib/attachment-library.js
Workflows
- Task & Reminder API
lib/assistant-task-routes.js - Deterministic Scheduler
lib/assistant-scheduler.js - Web Push Delivery
lib/web-push-transport.js - Mail Observer
lib/mail/routes.js - News Observer
lib/news/routes.js
Trading Research
- Backtest Research
trading/backtest/loop.py
Other components
- User
- Web Search Provider
- KIS Paper API
Connections 20
- User → Xion Web / PWA: uses
- Xion Web / PWA → Express Server: sends requests
- Express Server → Conversation State: persists conversation
- Express Server → GPT Responses Runtime: runs chat
- GPT Responses Runtime → Bounded Retrieval: requests context
- Bounded Retrieval → Topic Chunk Index: reads chunks
- Bounded Retrieval → Markdown Knowledge Vault: retrieves knowledge
- Codex Librarian → Markdown Knowledge Vault: organizes metadata
- Express Server → Web Evidence Tools: exposes tools
- Web Evidence Tools → Web Search Provider: searches or extracts
- Express Server → Paper Retrieval: exposes retrieval
- Express Server → Attachment Library: serves attachments
- User → Voice UI: speaks
- Voice UI → Half-duplex Voice: uploads audio
- Half-duplex Voice → Express Server: transcribes for chat
- Express Server → Task & Reminder API: serves task actions
- Deterministic Scheduler → Web Push Delivery: delivers reminders
- Express Server → Mail Observer: serves observer API
- Express Server → News Observer: serves briefing API
- Backtest Research → KIS Paper API: paper integration