wiki-vault/Wiki/Reference/ob1.md
Travis Herbranson 30e2483e71 lint: fix 4 session-note types, 6 broken wikilinks
- type: session-note -> session-notes (4 files: 2 vault-integration-test, 2 postgres-consolidation phases)
- [[Sources/Homelab/ob1-jsonl-watcher]] -> actual filename (5 links across ob1, ai-memory synthesis, Homelab index)
- [[Sources/Dev/env-file-hardening]] -> Sources/Homelab/env-file-hardening (gitea entity)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 21:30:15 -04:00

3.8 KiB
Raw Blame History

type path tags created updated
entity Wiki/Reference
ob1
embeddings
pgvector
automation
2026-05-08 2026-05-24

OB1

What it is

OB1 (Open Brain) is Travis's personal AI memory and retrieval system — a self-hosted pgvector/pgvector:pg17 Postgres store holding embeddings of session content, project notes, and vault content for semantic recall across AI conversations. It is the fast, voluminous, agent-facing half of the two-system memory model; the Wiki/Dev/ai-memory-architecture is the slow, curated, human-facing half. OB1 is forked from the upstream community project NateBJones-Projects/OB1.

Correction (2026-05-24 compile): earlier versions of this page described OB1 as a "Supabase + pgvector" stack. The postgres-consolidation recon proved that's wrong — OB1 has always been a self-hosted pgvector container (homelab-postgres, DB now petalbrain), with embeddings from local Ollama nomic-embed-text (768-d), never Supabase.

Current state

Operational and consolidated into the petalbrain Postgres instance. Key facts as of the May 2026 consolidation:

  • Storageob1.thoughts (raw captures) + ob1.reflections (synthesized lessons); embeddings live in the shared public.embeddings table (HNSW, vector_cosine_ops, m=16/ef_construction=64), 512-token chunks / 64-token overlap
  • Two-layer model — raw captures + a daily reflection job (claude-sonnet-4-6 via Anthropic API direct) that synthesizes generalizable lessons, mirroring the wiki's Sources/Wiki split
  • Ambient capture — the Sources/Homelab/ob1-jsonl-watcher-ambient-capture-from-claude-code-sessions tails Claude Code / Cowork JSONL session files and posts turn-pairs to OB1's capture_thought (replaces the earlier "n8n parallel write" idea)
  • Embedding model — Ollama nomic-embed-text (768-d), local; switching requires a full re-embed
  • Tailscale-only access — no public endpoint
  • ob1-watcher / ob1-enricher daemons; enricher has a known PENDING_QUERY loop bug pending a fix before restart

Where it lives

  • Postgrespetalbrain DB on homelab-postgres (pgvector:pg17), Proxmox; schema ob1, owned by the ob1_mcp service role
  • Embeddings — Ollama (nomic-embed-text) on the homelab
  • Captureob1-jsonl-watcher daemon on herbydev reading ~/.claude session logs
  • Access — Tailscale-only

History

  • 2026 — Architecture research: pgvector, harness vs model layers, Poolside/Pi.dev reviewed
  • 2026 — Deployment (Phases 06); pgvector container + Ollama embeddings; Tailscale-only
  • 2026-05-14 — Embedding dim migrated 1536→768 for nomic-embed-text; ob1-jsonl-watcher plan written
  • 2026-05-15 — Consolidated into petalbrain; ob1.thoughts + shared public.embeddings; reflection layer designed
  • 2026-05-18 — Dispatch subprocess-leak incident reinforced the case for harness-owned subprocess lifecycle