second-brain: hybrid Claude memory + git-based vault sync (Mac + Unraid)
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
tags: [project, memory, claude, sync]
|
||||||
|
topic: second-brain
|
||||||
|
date: 2026-07-14
|
||||||
|
status: active
|
||||||
|
related:
|
||||||
|
- "[[projects-index]]"
|
||||||
|
- "[[services-catalog]]"
|
||||||
|
- "[[openbrain]]"
|
||||||
|
---
|
||||||
|
|
||||||
|
# second-brain — хибридна памет за Claude Code (Mac + Unraid)
|
||||||
|
|
||||||
|
Изградена 2026-07-13/14. Код: `~/Homelab/second-brain` (Mac) = `/mnt/user/projects/second-brain` (Unraid). Repo: `git.xtrm-lab.org/jazzymc/second-brain`.
|
||||||
|
|
||||||
|
## Архитектура
|
||||||
|
|
||||||
|
- **SessionStart hook** — инжектира working memory + скорошни логове + активни решения + скорошни бележки, routed по cwd → vault
|
||||||
|
- **SessionEnd hook** — `claude -p` haiku обобщение в 3-то лице → `Session-Memory/logs/YYYY-MM-DD.md` → git commit+push → FTS индекс
|
||||||
|
- **`memory` skill** — „запомни" (working memory, 2500 cap), „решихме" (append-only ADR със supersedes верига), recall със задължителни цитати
|
||||||
|
- **FTS5 индекс** — SQLite, локален на всяка машина (не се синхронизира, rebuild-ва се)
|
||||||
|
- **Decision ledger** — `Decisions/` във всеки vault: решение никога не се пренаписва, supersede верига пази пълната история
|
||||||
|
|
||||||
|
## Синхронизация (замени неработещия Obsidian LiveSync)
|
||||||
|
|
||||||
|
| Repo | Mac | Unraid |
|
||||||
|
|------|-----|--------|
|
||||||
|
| obsidian-{ampeco,homelab,personal} | `~/Obsidian/*` | `/mnt/user/projects/obsidian/*` (`/root/Obsidian` symlink) |
|
||||||
|
| claude-memory (споделена working memory) | `~/.claude/memory` | `.claude/memory` в appdata |
|
||||||
|
| second-brain (код) | `~/Homelab/second-brain` | `/mnt/user/projects/second-brain` |
|
||||||
|
|
||||||
|
- **Mac**: launchd `org.xtrm.vault-sync` на 5 мин (pull --rebase + commit + push)
|
||||||
|
- **Unraid**: cron през `/boot/config/plugins/dynamix/vault-sync.cron` на 5 мин
|
||||||
|
- **Конфликти**: session логове и memory.md са `merge=union` (append-only → auto-merge); други файлове → rebase abort + лог във `vault-sync.log`, sync-ът на този vault спира до ръчна намеса
|
||||||
|
- **Boot persistence** (Unraid): symlinks в `install-claude.sh`; python3 през NerdTools плъгин
|
||||||
|
|
||||||
|
## Операционни бележки
|
||||||
|
|
||||||
|
- Старите LiveSync копия: `/mnt/user/projects/obsidian-livesync-old-20260714`
|
||||||
|
- Sync лог: `~/.claude/memory/vault-sync.log` (и на двете машини)
|
||||||
|
- Unraid repos: `core.fileMode false` (FUSE)
|
||||||
|
- Recall: `python3 ~/Homelab/second-brain/scripts/recall.py "<query>"`
|
||||||
Reference in New Issue
Block a user