refactor: replace Obsidian with SilverBullet as the self-hosted memory platform + structural updates

This commit is contained in:
Ty
2026-05-23 23:27:09 +00:00
parent 57de137e00
commit 0b014e3e9c
+16 -165
View File
@@ -8,7 +8,7 @@ This is injected into every conversation turn automatically. It covers things li
## Tier 2 — Vault Living Files (stable reference, on-demand) ## Tier 2 — Vault Living Files (stable reference, on-demand)
When hot memory hits about 67% capacity, I scan for entries that are stable enough to promote. Things like environment configs, operational context, and known failure patterns get written to markdown files in the Obsidian vault. The assistant reads these on-demand when deeper context is needed. This keeps the per-turn context window lean while still having access to months of accumulated knowledge. When hot memory hits about 67% capacity, I scan for entries that are stable enough to promote. Things like environment configs, operational context, and known failure patterns get written to markdown files in the SilverBullet vault. The assistant reads these on-demand when deeper context is needed. This keeps the per-turn context window lean while still having access to months of accumulated knowledge.
## Tier 3 — Daily Notes (searchable timeline) ## Tier 3 — Daily Notes (searchable timeline)
@@ -26,7 +26,7 @@ A cron job fires and does three things:
- Fetches tasks from Todoist via API, categorizing them by project (work, personal, side business) - Fetches tasks from Todoist via API, categorizing them by project (work, personal, side business)
- Fetches calendar events from Google Calendar, filtering out noise like sleep tracking entries - Fetches calendar events from Google Calendar, filtering out noise like sleep tracking entries
- Creates or updates the daily note at `Daily/YYYY-MM-DD.md` in the Obsidian vault - Creates or updates the daily note at `Daily/YYYY-MM-DD.md` in the SilverBullet vault
The daily note follows a strict format: The daily note follows a strict format:
@@ -62,20 +62,21 @@ Here's the data flow in simple terms:
External APIs (Calendar, Todoist, Stocks, Email, Weather) feed into the AI assistant. The assistant processes this data through scheduled cron jobs and interactive skills. The results land in two places: External APIs (Calendar, Todoist, Stocks, Email, Weather) feed into the AI assistant. The assistant processes this data through scheduled cron jobs and interactive skills. The results land in two places:
- Hot memory for immediate context (preferences, corrections, active state) - Hot memory for immediate context (preferences, corrections, active state)
- Obsidian vault for persistent storage (daily notes, operational docs, stable reference files) - SilverBullet vault for persistent storage (daily notes, operational docs, stable reference files)
The vault also feeds back — the assistant reads vault files on-demand when it needs deeper context that isn't in hot memory. It's a two-way street. The vault also feeds back — the assistant reads vault files on-demand when it needs deeper context that isn't in hot memory. It's a two-way street.
--- ---
## Why Obsidian Specifically ## Why SilverBullet
A few reasons this works well with Obsidian specifically: A few reasons this works well with SilverBullet as the self-hosted platform:
- **Plain text markdown** — The AI can read and write Obsidian notes without any special plugins or APIs. It's just files on disk. - **Plain text markdown** — The AI can read and write notes without any special plugins or APIs. It's just files on disk.
- **Backlinks and graph view** — When the assistant links to a person, decision, or file in a daily note, Obsidian's native linking creates a visual graph of connections over time. You can actually see how topics relate. - **Backlinks and graph view** — SilverBullet supports native backlinks and graph visualization, allowing the assistant to create meaningful connections over time.
- **Searchable history** — Every daily note is a timestamped record. Need to know what happened last Tuesday? Search the vault. The AI can do the same thing. - **Searchable history** — Every daily note is a timestamped record. Need to know what happened last Tuesday? Search the vault. The AI can do the same thing.
- **Works without the AI** — The vault is still a fully functional PKM system even if the assistant goes offline. No vendor lock-in. - **Works without the AI** — The vault remains a fully functional note-taking system even if the assistant goes offline. No vendor lock-in.
- **Self-hosted and standalone** — Runs entirely on the VPS with no dependency on external services or TrueNAS.
--- ---
@@ -114,166 +115,16 @@ The key discipline is the filing rules: operational events go to the daily log,
--- ---
## Getting Started (High Level) ## Implementation Status
Here is the template you can copy paste to your Hermes. This system is currently being implemented using **SilverBullet** as the self-hosted note-taking platform on the VPS.
### Obsidian + AI Assistant — Starter Template - SilverBullet binary installation in progress
- Atomic Markdown Memory structure will be layered on top
- Hermes integration via file access and structured prompts
Copy and paste the instructions below into your AI assistant (Hermes, Claude, Cursor, etc.) to set up an Obsidian vault that works as persistent long-term memory. Detailed implementation notes are tracked in the `docs/` folder.
#### Part 1 — Tell Your AI Assistant This
Paste the following block into your AI assistant as system instructions or a persistent prompt. Adjust the vault path to match where you actually create the vault.
```
OBSIDIAN VAULT INTEGRATION
You have access to an Obsidian vault that serves as persistent long-term memory.
The vault root is: /PATH/TO/YOUR/VAULT/
VAULT STRUCTURE:
Vault/
├── Daily/ # YYYY-MM-DD.md daily notes — append-only
├── System/
│ └── Assistant/
│ ├── context.md # Operations, health, family overview
│ ├── preferences.md # Communication style, delivery rules
│ └── environment.md # Hardware, services, known issues
├── Work/
│ └── Business/ # Work documents, reports, logs
├── Personal/
│ └── Projects/ # Side projects, personal tracking
├── People/ # Contacts, relationships, MOC
└── Inbox/ # Unclassified incoming — file these later
RULES FOR VAULT ACCESS:
1. DAILY NOTES
- Create Daily/YYYY-MM-DD.md each day if it does not exist
- Use frontmatter:
---
date: YYYY-MM-DD
type: daily
tags: [daily]
---
- Sections in order: ## Tasks, ## Schedule, ## Log, ## Wins, ## Context
- Tasks use checkboxes: - [ ] Task Description (p2), (p3), (p4)
- Log entries: - HH:MM AM/PM — what happened
- Wins: completed items with checkmark: ✅ Task Description
- Context section: backlinks to People, Decisions, Files
- APPEND ONLY — never delete content from daily notes
2. MEMORY PIPELINE (Three Tiers)
- Tier 1 — Hot Memory: Your per-session memory (MEMORY.md or equivalent).
Injected every turn. Keep it under 6000 characters. Covers active projects,
recent corrections, communication preferences, procedural quirks.
- Tier 2 — Vault Living Files: When hot memory hits ~67% capacity, promote
stable entries to System/Assistant/ files (context.md, preferences.md,
environment.md). Read these on-demand when deeper context is needed.
- Tier 3 — Daily Notes: Searchable timeline. Every event logged during the day
creates a permanent timestamped record. Search past daily notes to recall
what happened on a specific date.
3. CONTENT ROUTING
When the user says "log it" or "save it", route by type:
- Operational events (meetings, calls, decisions) → Daily/YYYY-MM-DD.md ## Log
- System issues, technical fixes → System/Assistant/logs/issues-fixes-log.md
- Learned corrections, preferences → Hot memory (or vault if stable)
- Recurring workflows → Save as a reusable skill/procedure file
- Unknown incoming → Inbox/ until classified
4. VAULT HYGIENE
- Always use Obsidian wiki-links: [[People/Name]], [[Daily/2026-04-23]]
- Build the link graph — every person, decision, and file mentioned in daily
notes should be linked so the vault graph view shows real connections
- Notice orphaned notes unprompted — if a note has no incoming links, flag it
- Never delete vault content without explicit user confirmation
- Use absolute paths when referencing vault files
5. PERSONA FILE SETUP
Tell the user to create the following three files in System/Assistant/:
System/Assistant/context.md — Current life situation, active things to track.
Include: operations overview, health goals, family, work dependencies,
location/timezone, admin tendencies.
System/Assistant/preferences.md — How the user likes things done.
Include: communication style, agenda ordering, delivery preferences,
session style, task management conventions.
System/Assistant/environment.md — Hardware, tools, known issues.
Include: hardware specs, services/ports, key file paths,
known failure patterns, troubleshooting steps.
6. HOT MEMORY FILES
The AI assistant uses two memory files that are injected into every session:
MEMORY.md — Your personal notes (procedural knowledge, environment facts,
tool quirks, lessons learned). Format each entry with a § separator.
Keep entries compact and factual. Delete entries that are no longer relevant.
USER.md — Who the user is (name, role, preferences, timezone, family,
vault lookup map). This helps the assistant personalize responses.
Both files live in the AI's memory directory (e.g., ~/.hermes/memories/)
and are automatically loaded at the start of each session.
```
#### Part 2 — Create the Vault Folder Structure
Run this in your terminal to scaffold the vault:
```bash
VAULT_PATH="/PATH/TO/YOUR/VAULT"
mkdir -p "$VAULT_PATH"/{Daily,System/Assistant/logs,Work/Business,Personal/Projects,People,Inbox}
# Create the three core assistant files
cat > "$VAULT_PATH/System/Assistant/context.md" << 'EOF'
# Assistant — Context
Current life situation, health protocols, and active things to track.
Read when context matters for decisions or advice.
--- ---
## Operations *Last updated: 2026-05-23*
- Describe your main work or business here
- Note any secondary projects or side operations
## Health
- Goals and baselines
- Any recurring protocols or reminders
## Family
- Key people and relationships
- Link to People/ folder for details
## Work Dependencies
- Who you wait on for approvals or sign-offs
- Blockers and their schedules
## Location & Timezone
- Home address (optional)
- Timezone
- Weather location
---
*Last updated: YYYY-MM-DD*
EOF
```
(The rest of the template follows the same pattern for `preferences.md`, `environment.md`, logs, and People MOC. The full cleaned version is committed below.)
---
**Note**: This is a cleaned and reformatted version of the original Reddit post. The structure, headings, and code blocks have been restored for readability. The core content remains unchanged.