Tools
Obsidian Memory
OpenClaw plugin for consolidated memory management with Obsidian vault integration
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