3ba73b2d48
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
76 lines
4.3 KiB
Markdown
76 lines
4.3 KiB
Markdown
# echo-memory
|
|
|
|
Persistent memory for Claude via the **ECHO** Obsidian vault, using the [Obsidian Local REST API](https://github.com/coddingtonbear/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.
|
|
|
|
**The plugin is the single source of truth.** All control logic — bootstrap/repair, operating contract, taxonomy, frontmatter conventions, and the canonical note templates — ships inside this plugin under `skills/echo-memory/`. The vault itself holds **data only**: there are no `CLAUDE.md` / `BOOTSTRAP.md` / `STRUCTURE.md` / `index.md` control docs in it. This makes ECHO self-bootstrapping (point it at an empty Obsidian vault and it stands up the full structure), easy to update (update the plugin, not the vault), and portable to any other vault.
|
|
|
|
## 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
|
|
- **Bootstraps an empty vault from the bundled `scaffold/`** (folders, templates, anchor seeds, marker) and repairs/migrates an existing one — see `skills/echo-memory/references/bootstrap.md`
|
|
|
|
## 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/
|
|
├── README.md ← thin human signpost (not read for routing)
|
|
├── 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)
|
|
├── reviews/ (weekly, monthly, quarterly, annual)
|
|
├── archive/ (notes, projects, imports)
|
|
└── _agent/
|
|
├── echo-vault.md ← bootstrap marker (schema_version + date)
|
|
├── context/ ← task-scoped context bundles
|
|
├── memory/ ← working / episodic / semantic
|
|
├── sessions/ ← YYYY-MM-DD-HHMM-<slug>.md
|
|
├── templates/ ← canonical note templates (seeded from the plugin's scaffold/)
|
|
├── outputs/ ← briefs / drafts / summaries / synthesis
|
|
├── skills/ ← active / archived
|
|
└── heartbeat/
|
|
```
|
|
|
|
Control logic and the master scaffold live in the plugin, not the vault:
|
|
|
|
```
|
|
skills/echo-memory/
|
|
├── SKILL.md ← operating procedure (authoritative)
|
|
├── references/
|
|
│ ├── operating-contract.md ← durable principles + safety
|
|
│ ├── bootstrap.md ← bootstrap / repair / migrate an empty vault
|
|
│ ├── vault-layout.md ← canonical layout + frontmatter
|
|
│ ├── api-reference.md ← REST endpoint patterns + routing map
|
|
│ └── session-log-template.md
|
|
└── scaffold/ ← verbatim files the bootstrap writes into the vault
|
|
├── README.vault.md echo-vault.md
|
|
├── templates/ (8 note templates)
|
|
└── anchors/ (operator-preferences, current-context, inbox seeds)
|
|
```
|
|
|
|
## 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](https://github.com/coddingtonbear/obsidian-local-rest-api) enabled
|
|
- HTTPS access to `https://echoapi.alwisp.com` from the Claude/CoWork session environment
|