← Back to Plugins
Tools

Obsidian Memory

sabrawy-code By sabrawy-code 👁 293 views ▲ 0 votes

OpenClaw plugin for consolidated memory management with Obsidian vault integration

GitHub

Install

npm install &&

Configuration Example

{
     "config": {
       "openclawHome": "/home/youruser/.openclaw",
       "obsidianVaultPath": "/path/to/your/obsidian/vault"
     }
   }

README

# Obsidian Memory System

OpenClaw plugin for consolidated memory management with Obsidian vault integration.

## What It Does

Replaces scattered cron-based scripts with a unified, event-driven plugin:

- **Bridge Sync**: Scans daily notes for `[[wiki-links]]` and generates `HANDOFF.md` per project
- **Housekeeping**: Relocates misplaced notes, syncs to Obsidian vault, health checks
- **ContextEngine**: Manages memory context lifecycle (v2026.3.7 interface)
- **Scheduler**: Internal timers replace external cron jobs

## Installation

1. Clone into your OpenClaw plugins directory:
   ```bash
   cd ~/.openclaw/plugins/
   git clone https://github.com/sabrawy-code/obsidian-memory-plugin.git obsidian-memory-system
   cd obsidian-memory-system
   npm install && npm run build
   ```

2. Configure your paths in `openclaw.plugin.json`:
   ```json
   {
     "config": {
       "openclawHome": "/home/youruser/.openclaw",
       "obsidianVaultPath": "/path/to/your/obsidian/vault"
     }
   }
   ```

3. Create your project map:
   ```bash
   cp project-map.example.json ~/.openclaw/workspace/project-map.json
   # Edit project-map.json with your project structure
   ```

## CLI Usage

```bash
cd ~/.openclaw/plugins/obsidian-memory-system

# Bridge sync
npm run sync                          # Full sync
node dist/cli.js sync --dry-run       # Preview changes
node dist/cli.js sync --project X     # Sync one project
node dist/cli.js status               # Show last sync

# Housekeeping
npm run housekeep                     # Full (relocate + vault + health)
npm run health                        # Health check only
node dist/cli.js relocate             # Move misplaced notes
node dist/cli.js vault-sync           # Sync to Obsidian vault
```

## Configuration

Edit `openclaw.plugin.json` โ†’ `config`:

| Key | Default | Description |
|-----|---------|-------------|
| `openclawHome` | `$HOME/.openclaw` | OpenClaw root directory |
| `obsidianVaultPath` | *(empty)* | Path to Obsidian vault root |
| `obsidianDailySubdir` | `09_project-summaries/daily` | Daily notes subdirectory in vault |
| `syncIntervalMinutes` | `480` | Bridge sync interval (8 hours) |
| `housekeepIntervalMinutes` | `480` | Housekeeping interval (8 hours) |
| `autoSyncOnSessionEnd` | `true` | Run sync when agent session ends |
| `autoHousekeepOnCompaction` | `true` | Run health check after context compaction |
| `dryRun` | `false` | Preview mode (no file changes) |

## Project Mapping

Wiki-links in daily notes map to project directories. Create `~/.openclaw/workspace/project-map.json`:

```json
{
  "My_WebApp": "01_coding/my-webapp",
  "Research_Paper": "13_research/paper-title",
  "Side_Project": "02_product/side-project"
}
```

See `project-map.example.json` for the template.

## Architecture

```
src/
โ”œโ”€โ”€ bridge/
โ”‚   โ”œโ”€โ”€ WikiLinkScanner.ts     # [[wiki-link]] extraction from markdown
โ”‚   โ”œโ”€โ”€ HandoffGenerator.ts    # HANDOFF.md template generation
โ”‚   โ””โ”€โ”€ BridgeSync.ts          # Orchestrator
โ”œโ”€โ”€ housekeep/
โ”‚   โ”œโ”€โ”€ HealthChecker.ts       # Broken files, dead links, orphans
โ”‚   โ”œโ”€โ”€ FileRelocator.ts       # Move misplaced notes to daily/
โ”‚   โ”œโ”€โ”€ ObsidianSync.ts        # Vault sync with summaries
โ”‚   โ””โ”€โ”€ HousekeepRunner.ts     # Orchestrator
โ”œโ”€โ”€ context/
โ”‚   โ””โ”€โ”€ MemoryContextEngine.ts # v2026.3.7 ContextEngine
โ”œโ”€โ”€ scheduler/
โ”‚   โ””โ”€โ”€ InternalScheduler.ts   # Replaces cron
โ”œโ”€โ”€ shared/
โ”‚   โ”œโ”€โ”€ types.ts               # Shared interfaces
โ”‚   โ”œโ”€โ”€ paths.ts               # Centralized path resolution
โ”‚   โ””โ”€โ”€ config.ts              # Config loader + project map loader
โ”œโ”€โ”€ index.ts                   # Plugin entry (hooks + exports)
โ””โ”€โ”€ cli.ts                     # Standalone CLI
```

## Memory Architecture (4 Layers)

| Layer | Storage | Purpose |
|-------|---------|---------|
| L1 | Session JSONL | Raw conversation logs |
| L2 | Qdrant vectors | Semantic search |
| L3 | Daily notes | Structured summaries |
| L4 | HANDOFF.md | Cross-session project continuity |

## Building

```bash
npm install
npm run build    # tsc
npm run watch    # tsc --watch
```

## License

Apache-2.0 โ€” See [LICENSE](LICENSE) for details.
tools

Comments

Sign in to leave a comment

Loading comments...