Operations
Prerequisites
- Python 3.12+
- DuckDB
- Ollama running locally, with
phi4-miniandsnowflake-arctic-embed2pulled - Node (for the
4-Lookupserver and web client)
Pipeline scripts
scripts/
extract_raw.py <-- parse raw clipboard .txt dumps from 1-Input/
extract_checked.py <-- process the reviewed/checked subset
embed.py <-- generate vector embeddings via Ollama
ingest.py <-- load embedded entries into 3-Database/clipboard.duckdb
Run them in pipeline order (extract → embed → ingest) against files placed in 1-Input/.
Lookup UI
cd 4-Lookup/server
npm install
npm start # Express + DuckDB API
cd 4-Lookup/web
npm install
npm run dev # React + Vite client
Lookup API
| Endpoint | Purpose |
|---|---|
GET /api/stats | Summary stats |
GET /api/categories | Available entry categories |
GET /api/entry-types | Available entry types |
GET /api/entries | List/filter entries |
GET /api/entries/:entryId | Single entry detail |
GET /api/embeddings/status | Embedding generation status |
Configuration
Runtime configuration lives in config.toml at the repo root — model endpoints, paths, and pipeline options.