diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
new file mode 100644
index 0000000..590cbf9
--- /dev/null
+++ b/.github/workflows/pages.yml
@@ -0,0 +1,45 @@
+name: GitHub Pages
+
+on:
+ push:
+ branches: [main, master]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages
+ cancel-in-progress: true
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Pages
+ uses: actions/configure-pages@v5
+
+ - name: Assemble site
+ run: |
+ mkdir -p _site
+ cp web/index.html _site/index.html
+ cp web/musememory-comparison.html _site/musememory-comparison.html
+ cp web/favicon.svg _site/favicon.svg
+ cp -R assets _site/assets
+
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: _site
+
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/README.md b/README.md
index 88ddc16..9117a04 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,7 @@
- **Dashboard "โก Optimize" Trigger**: Live visual optimization controls directly inside the Web Observability Studio (`memory ui` / `memory studio`) with real-time feedback on items pruned and bytes reclaimed.
- **Concurrent Multi-Agent Workstream Tracking**: Live coordination table in `CURRENT.md` enabling multiple agents across parallel chats to monitor active tasks and target scopes without collisions.
- **Clean Operational Guidelines**: Curated single-pane executive summary for humans and strict grounding/concurrency rules for AI agents.
+- **GitHub Pages Landing Page**: A static public homepage now lives in [`web/index.html`](./web/index.html), built to mirror the project's current positioning in a responsive marketing layout and deployed from the `web/` folder.
---
@@ -351,7 +352,7 @@ memory migrate --provider mem0
memory migrate --provider beads
memory migrate --all
```
-> See [`musememory-comparison.html`](musememory-comparison.html) for the full table-free 30-system architectural dossier.
+> See [`web/musememory-comparison.html`](./web/musememory-comparison.html) for the matching comparison page and architectural dossier.
---
@@ -647,4 +648,4 @@ Muse Memory features are developed in structured sprints moving across 4 determi
## ๐ License
-MIT License. Built for the AI Developer Ecosystem.
\ No newline at end of file
+MIT License. Built for the AI Developer Ecosystem.
diff --git a/web/favicon.svg b/web/favicon.svg
new file mode 100644
index 0000000..c73f87e
--- /dev/null
+++ b/web/favicon.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/index.html b/web/index.html
new file mode 100644
index 0000000..d4e241a
--- /dev/null
+++ b/web/index.html
@@ -0,0 +1,1265 @@
+
+
+
+
+
+
+
+ Muse Memory
+
+
+
+
+
+
+
+ Skip to content
+
+
+
+
+
+
+
+
+
+ GitHub Pages demo
+
+
Keep context when sessions end.
+
+ Muse Memory is a local-first memory layer for agents. It keeps project facts, working constraints, and handoffs in one place, so the next session starts with the same picture.
+
+
+
+ Zero daemon local runtime
+ SQLite primary store
+ MCP native support
+ GitHub Pages static build
+
+
+
+
+
+
+
+
+
+ Project-local memory
+ Current work visible
+ Provenance kept
+
+
+
+ Working state
+ Current.md + store
+
+
+ Access paths
+ CLI, MCP, web studio
+
+
+ Promise
+ Memory that stays with the work
+
+
+
+
+
+
+
+
+
+
+
+
+ Up and running in minutes
+
+
Install it locally, then point it at the workspace.
+
+ Start with one command, keep the current task in view, and use the same store from the CLI, the MCP server, or the dashboard.
+
+
+
+
+
+
+
+
+ Bun
+ npm
+ Studio
+
+
+
+
bunx musememory install
+
+ Best when Bun is already installed.
+
+ Copy command
+
+
+
+
+
+
+
+
+
+
+
+
+ What it keeps in view
+
+
The system is useful when it stays out of the way.
+
+ These are the parts that matter most when the work spans multiple sessions, multiple tools, and more than one agent.
+
+
+
+
+
+
+ Project-local memory.
+ Each repo keeps its own working state. You can link broader context when you want it, not before.
+
+
+
+
+ Current work stays visible.
+ The active task, open loops, and handoff notes live in plain Markdown so a new session can pick them up fast.
+
+
+
+
+ Why and provenance travel with the memory.
+ Claims keep their source trail, so the next person or agent can see what changed and why it was kept.
+
+
+
+
+ Secret defense is built in.
+ Vibeguard checks for obvious credentials before they land in memory, so the store does not become a leak path.
+
+
+
+
+
+
+
+
+
+
+ Built in the open
+
+
It sits beside the editor, the terminal, and the agent loop.
+
+ The page stays close to the same rhythm as the reference site: a simple promise up top, one practical way to begin, and a section that shows where it fits in the real workflow.
+
+
+
+
+
+
Works with the tools you already use.
+
Muse Memory plugs into CLI agents, MCP clients, and the local dashboard without asking for a new workflow.
+
+
+ Claude Code
+ Cursor
+ Codex
+ OpenCode
+ Windsurf
+ Gemini CLI
+ MCP clients
+ Obsidian
+ GitHub
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always improving
+
+
The store gets trimmed, the handoff stays current, and the studio keeps the state visible.
+
+ This section mirrors the reference layout's release area, but keeps the copy grounded in what Muse Memory actually does today.
+
+
+
+
+
+ Optimizer
+ Less noise, less drift.
+ Use the optimizer when the store needs a clean pass. It trims low-value clutter and keeps the useful parts near the surface.
+
+
+
+ Studio
+ One place to see the current state.
+ The dashboard keeps health, workstreams, and active constraints visible without asking you to dig through separate files.
+
+
+
+ Workstreams
+ Parallel sessions without guesswork.
+ Multiple agents can stay coordinated because the active task and next step are written down where everyone can see them.
+
+
+
+
+
+
+
+
+
+
+ Ready when you are
+
+
Keep the memory close.
+
+ If the work matters tomorrow, it belongs in Muse Memory today. Start local, keep the state visible, and let the next session begin with context instead of guesswork.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/musememory-comparison.html b/web/musememory-comparison.html
similarity index 82%
rename from musememory-comparison.html
rename to web/musememory-comparison.html
index 2160590..720070e 100644
--- a/musememory-comparison.html
+++ b/web/musememory-comparison.html
@@ -3,7 +3,7 @@
- Muse Memory vs 34 Agent Memory Providers ยท Architecture & Feature Matrix
+ Muse Memory vs 42 Agent Memory Providers ยท Architecture & Feature Matrix
@@ -124,12 +124,12 @@
-
Muse Memory vs 34 Agent Memory Providers
+
Muse Memory vs 42 Agent Memory Providers
Architectural Dossier, Concrete Differences & Autonomous Migration Playbook
-
Compared Engines: 34 Total
-
Test Suite: 278 Passing (50 Suites)
+
Compared Engines: 42 Total
+
Test Suite: 502 Passing (85 Suites)
Zero Secret Exposure: Vibeguard Inline
Primary DB: SQLite .memory/memory.db
Auto-Wired: 80+ Platforms
@@ -185,15 +185,15 @@
Muse Memory vs 34 Agent Memory Providers
๐
- Showing 34 External Providers
+ Showing 42 External Providers
Categories:
-
All (34)
-
Local File-First (12)
-
Graph / Vector DB (10)
-
Agent Harnesses (6)
-
Cloud Managed (5)
+
All (42)
+
Local File-First (16)
+
Graph / Vector DB (12)
+
Agent Harnesses (7)
+
Cloud Managed (7)
@@ -889,6 +889,166 @@ Muse Memory vs 34 Agent Memory Providers
offline: "100% Local-first (No cloud requirement)",
detectPath: ".slm/ | slm CLI",
mappingRule: "admitted memories โ confirmed, expired nodes โ stale"
+ },
+ {
+ id: "zep",
+ name: "Zep (Graphiti)",
+ category: "graph-rag",
+ catLabel: "Graph / Vector DB",
+ badgeClass: "badge-graph",
+ url: "https://github.com/getzep/graphiti",
+ storage: "Temporal Knowledge Graph (Neo4j / FalkorDB + Vector Embeddings)",
+ scoping: "Users, Sessions & Group Spaces",
+ difference: "Zep/Graphiti requires an external graph database daemon (Neo4j/FalkorDB) and Python service for bi-temporal edge maintenance, whereas Muse Memory delivers zero-daemon in-process SQLite with AST code anchors, git-level drift detection, and knapsack token budgeting without external services.",
+ secrets: "None (Raw text ingested into graph extractors)",
+ retrieval: "Hybrid search over temporal knowledge subgraphs",
+ lifecycle: "Bi-temporal edge invalidation based on timestamped updates",
+ proactive: "Passive API queries on user turn",
+ compounding: "Dynamic entity-edge consolidation into graph nodes",
+ wiring: "Python/TypeScript SDK connecting to Zep Cloud or local Docker daemon",
+ offline: "Requires Docker graph database & background services",
+ detectPath: "zep.yaml | .zep/ | ZEP_API_KEY",
+ mappingRule: "active graph edges โ confirmed, invalidated temporal nodes โ superseded"
+ },
+ {
+ id: "langmem",
+ name: "LangMem (LangChain / LangGraph)",
+ category: "agent-harness",
+ catLabel: "Agent Harnesses",
+ badgeClass: "badge-harness",
+ url: "https://github.com/langchain-ai/langmem",
+ storage: "LangGraph BaseStore (Postgres, In-Memory, SQLite) + Semantic Extractors",
+ scoping: "Namespaced Key-Value (User, Assistant, Thread)",
+ difference: "LangMem is an extraction SDK tightly bound to LangGraph execution graphs and LLM prompt runs, whereas Muse Memory is an autonomous, framework-agnostic engine that auto-connects to 80+ agent platforms, inspects codebase AST symbols, and enforces strict pre-write secret defenses.",
+ secrets: "None (Relies on caller sanitization)",
+ retrieval: "Semantic vector search & namespaces via LangGraph Store",
+ lifecycle: "Custom prompt-based memory consolidator functions",
+ proactive: "Background async consolidation jobs across threads",
+ compounding: "Thread summarization and episodic fact extraction",
+ wiring: "LangGraph / LangChain Python and JS/TS SDKs",
+ offline: "In-memory or local SQLite, but requires LLM API keys for extraction",
+ detectPath: ".langmem/ | langgraph.json | @langchain/langmem",
+ mappingRule: "namespace facts โ confirmed, thread summaries โ candidate"
+ },
+ {
+ id: "hipporag",
+ name: "HippoRAG",
+ category: "graph-rag",
+ catLabel: "Graph / Vector DB",
+ badgeClass: "badge-graph",
+ url: "https://github.com/OSU-NLP-Group/HippoRAG",
+ storage: "OpenIE Knowledge Graph + Personalized PageRank (PPR) + Vector DB",
+ scoping: "Corpus / Document Level (Global)",
+ difference: "HippoRAG focuses on multi-hop associative recall via graph algorithms (Personalized PageRank) for academic question answering, whereas Muse Memory operates as a production coding memory harness with deterministic state lifecycles, AST code anchors, and live CURRENT.md handoff checkpoints.",
+ secrets: "None",
+ retrieval: "Personalized PageRank associative diffusion across entity graphs",
+ lifecycle: "Static graph indexing without explicit confirmation or supersession gates",
+ proactive: "None (Query-time PPR exploration)",
+ compounding: "Entity co-occurrence graph extraction",
+ wiring: "Python research codebase / scripts",
+ offline: "Local Python environment with heavy embedding dependencies",
+ detectPath: "hipporag/ | .hipporag",
+ mappingRule: "high PPR entity triples โ confirmed, unindexed nodes โ candidate"
+ },
+ {
+ id: "lightrag",
+ name: "LightRAG",
+ category: "graph-rag",
+ catLabel: "Graph / Vector DB",
+ badgeClass: "badge-graph",
+ url: "https://github.com/HKUDS/LightRAG",
+ storage: "Dual-Level Graph Structure (NanoVectorDB / NetworkX / Neo4j / TiDB)",
+ scoping: "Workspace / Corpus Namespaces",
+ difference: "LightRAG builds a lightweight two-level entity-relationship graph for document RAG, whereas Muse Memory focuses specifically on autonomous agent engineering with AST code anchors, ADR drift verification, negative mistake sentries, and 5-pillar project health gates.",
+ secrets: "None",
+ retrieval: "Dual-level retrieval (low-level specific entities + high-level themes)",
+ lifecycle: "Graph node insertion with incremental update scripts",
+ proactive: "None (Passive RAG pipeline)",
+ compounding: "Entity extraction and community theme summarization",
+ wiring: "Python package (pip install lightrag-hku)",
+ offline: "Local storage options (NanoVectorDB / JSON / SQLite)",
+ detectPath: "lightrag/ | .lightrag/ | lightrag.db",
+ mappingRule: "entity relationships โ confirmed, high-level themes โ candidate"
+ },
+ {
+ id: "claude-projects",
+ name: "Claude Projects / Custom Instructions",
+ category: "cloud-service",
+ catLabel: "Cloud Managed",
+ badgeClass: "badge-cloud",
+ url: "https://claude.ai",
+ storage: "Anthropic Cloud Project Context (Project Knowledge + Custom Instructions)",
+ scoping: "Project-Level & User-Level Cloud Scopes",
+ difference: "Claude Projects stores flat text snippets and project files locked inside Anthropic's cloud ecosystem with no code anchor tracking, AST awareness, or local offline CLI access, whereas Muse Memory provides zero-cloud local SQLite storage with bidirectional drift detection across 80+ agent platforms.",
+ secrets: "Cloud-hosted; proprietary filtering",
+ retrieval: "Full prompt prefix injection without knapsack budgeting",
+ lifecycle: "Manual text edit or automatic cloud memory updates",
+ proactive: "None (Static prompt injection on conversation start)",
+ compounding: "None (Relies on manual documentation uploads)",
+ wiring: "Web UI and Claude API",
+ offline: "0% Offline (Requires Anthropic Cloud API)",
+ detectPath: ".claude/ | claude.json | CLAUDE.md",
+ mappingRule: "project instructions โ confirmed, scratchpad notes โ candidate"
+ },
+ {
+ id: "windsurf",
+ name: "Windsurf Cascade Memories",
+ category: "local-file",
+ catLabel: "Local File-First",
+ badgeClass: "badge-local",
+ url: "https://codeium.com/windsurf",
+ storage: "Local Scratchpad & Auto-Generated Rules (.windsurf/rules or global storage)",
+ scoping: "Workspace & Global User Profile",
+ difference: "Windsurf Cascade generates informal rule bullets and session scratchpads within its proprietary IDE, whereas Muse Memory is open-standard MCP/CLI, line-independently fingerprinting AST symbols, detecting living ADR drift, and enforcing Vibeguard secret scrubbing.",
+ secrets: "Basic IDE sanitization",
+ retrieval: "IDE prompt context injection per cascade prompt",
+ lifecycle: "Implicit creation from user corrections; manual deletion",
+ proactive: "Auto-detects developer preferences during IDE chatting",
+ compounding: "Accumulates markdown rules in project settings",
+ wiring: "Proprietary Windsurf IDE native engine",
+ offline: "Local rule files with cloud model execution",
+ detectPath: ".windsurfrules | .windsurf/ | ~/.codeium/windsurf",
+ mappingRule: "confirmed rules โ confirmed, cascade scratchpad โ candidate"
+ },
+ {
+ id: "amem",
+ name: "A-Mem (Agentic Memory)",
+ category: "agent-harness",
+ catLabel: "Agent Harnesses",
+ badgeClass: "badge-harness",
+ url: "https://github.com/WooooDyy/A-mem",
+ storage: "Zettelkasten Semantic Note Graph + Vector Embeddings",
+ scoping: "Agent Experiential Space (Local/Global)",
+ difference: "A-Mem applies Zettelkasten interlinked slip-box notes with dynamic memory evolution for conversational agents, while Muse Memory scales this into real-world software engineering with native AST code anchors, multi-repo workspace meshes, and 5-pillar architectural health gates.",
+ secrets: "None",
+ retrieval: "Semantic note traversal with dynamic link expansion",
+ lifecycle: "Dynamic memory evolution (updating past notes when new knowledge arrives)",
+ proactive: "Autonomous link creation upon new memory arrival",
+ compounding: "Interlinked note graph with evolving context attributes",
+ wiring: "Python framework",
+ offline: "Local JSON/vector storage",
+ detectPath: ".amem/ | amem_store/ | a_mem.py",
+ mappingRule: "interlinked note nodes โ confirmed, dangling thoughts โ candidate"
+ },
+ {
+ id: "openhands",
+ name: "OpenHands Microagents",
+ category: "local-file",
+ catLabel: "Local File-First",
+ badgeClass: "badge-local",
+ url: "https://github.com/All-Hands-AI/OpenHands",
+ storage: "Repository Microagents (.openhands/microagents/) & Episodic Event Log",
+ scoping: "Repository-Scoped Markdown Microagents",
+ difference: "OpenHands uses markdown microagent triggers matching keyword regexes, whereas Muse Memory features an 11-dimension multi-factor scoring engine, SQLite FTS5 BM25, deterministic supersession lineages, and live bidirectional doc/code drift auditing.",
+ secrets: "None (Relies on environment isolation)",
+ retrieval: "Keyword match & trigger regex against user prompts",
+ lifecycle: "Static markdown files loaded based on keyword triggers",
+ proactive: "Injects microagent guidelines when triggered by keywords",
+ compounding: "Manual curation of repo microagents",
+ wiring: "OpenHands runtime / GitHub action / Docker sandbox",
+ offline: "Local repository files",
+ detectPath: ".openhands/microagents/ | .openhands/",
+ mappingRule: "repo microagents โ confirmed, episodic task events โ candidate"
}
];