307c7f5e9b
Promotes the previously session-local search-first write rule into the canonical plugin and applies items 2-7 from echo-skill-improvements memory: 1. Loading Step 4 and a new mandatory pre-write search section now require POST /search/simple/?query=<slug> across all four project lifecycle subfolders before creating any slug-addressed note. 2. Daily-note Agent Log uses a resilient PATCH procedure that auto-creates the daily note from the template if missing and adds the heading if absent before patching. 3. New Style Rule: `created:` is the earliest known date, not "today"; preserve it on merges. 4. New Project Lifecycle section: incubating / active / on-hold / archived, with the rule that folder and frontmatter.status must agree. 5. Session filename pinned to YYYY-MM-DD-HHMM-<slug>.md (lex-sortable); existing files left as-is. 6. Loading Step 3: read only the ~5 most recent sessions by reverse lex sort instead of the full list. 7. `source_notes` defined as a backward link to inputs; forward links belong in `## Related` in the body. Repo layout: promotes the previously zipped-only plugin to a tracked source tree at echo-memory.plugin.src/. The .plugin zip is rebuilt from source on each version bump. Bumps plugin.json to 0.3.0.
2.8 KiB
2.8 KiB
echo-memory
Persistent memory for Claude via the ECHO Obsidian vault, using the Obsidian Local REST API.
Reads and writes notes across Claude/CoWork sessions using direct REST calls — no MCP server required. Built for Jason Stedwell (Director of Technical Services / Systems Engineer, MPM / ALABAMA wISP), who is both the operator and the architect of this vault. Successor to the obsidian-memory system and sibling of the goldbrain vault (Bryan's).
What it does
- Loads operator preferences, current context, and relevant project notes at the start of substantive conversations
- Writes facts, preferences, and decisions Jason asks Claude to remember
- Logs working sessions so future conversations can pick up where they left off
- Defers to the vault's own
BOOTSTRAP.mdto verify and repair structure
Configuration
The plugin is hardcoded for:
- Server:
https://echoapi.alwisp.com(reverse proxy → backend Obsidian Local REST API) - API Key: stored in the skill (personal plugin, not for distribution)
The endpoint presents a valid TLS certificate, so -k is not required. The bearer key lives only in the plugin — never inside the vault (per the vault's own safety rules).
Vault layout (root-addressed)
/vault/
├── CLAUDE.md STRUCTURE.md BOOTSTRAP.md spinup.md index.md README.md
├── inbox/ (captures, imports, processing-log)
├── journal/ (daily, weekly, monthly, templates)
├── projects/ (active, incubating, on-hold, archived)
├── areas/ (business, personal, learning, systems)
├── resources/ (concepts, references, people, meetings, source-material)
├── decisions/ (by-date, by-project)
├── reviews/ (weekly, monthly, quarterly, annual)
├── archive/ (notes, projects, imports)
└── _agent/
├── context/ ← task-scoped context bundles
├── memory/ ← working / episodic / semantic
├── sessions/ ← YYYY-MM-DD-HHMM-<slug>.md
├── templates/ ← canonical note templates
├── outputs/ ← briefs / drafts / summaries / synthesis
├── skills/ ← active / archived
└── heartbeat/
Skills
| Skill | Triggers |
|---|---|
echo-memory |
"remember that", "save to memory", "what do you know about me", "load my profile", "check my notes", "log this decision", "add to my inbox" — and proactively at the start of substantive conversations |
Requirements
- Obsidian running on the backend with the Local REST API plugin enabled
- HTTPS access to
https://echoapi.alwisp.comfrom the Claude/CoWork session environment