Skip to content

WestsideUnion/Memory-Plane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MemoryPlane

MemoryPlane is an open-source, local-first memory control plane for AI agents.

It lets OpenClaw agents, Codex, Claude Code, and MCP-compatible assistants share scoped, cited, user-approved memory without locking that memory inside one agent or one vendor.

Working positioning

Your agents can remember — but only with receipts, boundaries, and a way to forget.

Problem MemoryPlane improves

Many users already keep their real knowledge in local second brains like Obsidian, Markdown folders, project notes, and agent memory files. Existing agents often cannot use that knowledge safely: they silently remember, blur personal/project/client context, lose source citations, or trap memory inside one vendor.

MemoryPlane improves that workflow by turning existing notes into reviewable memory proposals. Users keep their notes where they are; agents get scoped, cited, user-approved memory they can explain, update, supersede, or forget.

V1 direction

  • SQLite local memory store
  • MCP server
  • CLI: memoryctl
  • memory proposal inbox
  • scoped search
  • evidence packets with citations
  • forget/update/supersede memory
  • Markdown/JSON import-export

Current MVP

The first working slice is a zero-dependency Python CLI using SQLite from the standard library.

It proves the trust loop:

propose memory → review inbox → approve memory → scoped search with citations → forget if needed

It now also includes an Obsidian import MVP:

existing vault notes → pending proposals with note citations → human approval → agent-safe memory

Quick start

# optional: choose a database path
export MEMORYPLANE_DB=.memoryplane.sqlite

bin/memoryctl init

bin/memoryctl propose \
  --claim "The project owner prefers concise status updates." \
  --scope personal \
  --source-uri docs/example-source.md \
  --source-title "Daily memory" \
  --excerpt "The project owner asked for next steps and wanted action." \
  --agent demo-agent \
  --reason "User preference surfaced during project work."

bin/memoryctl inbox
bin/memoryctl approve 1 --actor reviewer
bin/memoryctl search "concise updates" --scope personal
bin/memoryctl explain 1
bin/memoryctl export --format markdown

# Reject proposals that should not become durable memory
bin/memoryctl reject 2 --actor reviewer --note "Not durable enough."


# Generate pending proposals from an existing Obsidian vault
bin/memoryctl import-obsidian /path/to/obsidian-vault --scope project

Local v0.2 slice

This working tree includes a local v0.2-oriented update based on the internal master plan:

  • added team scope
  • added memoryctl reject
  • added memoryctl explain
  • added memoryctl export --format json|markdown
  • added lightweight SQLite FTS5 search when available, with LIKE fallback
  • expanded tests for review lifecycle, explainability, export, and Obsidian import

This update has not been pushed to GitHub yet.

Test

python3 -m unittest discover -s tests -v

Project docs

About

Agent memory for existing second brains like Obsidian: scoped, cited, user-approved recall instead of silent, stale, vendor-locked memory.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages