diff --git a/landing/index.html b/landing/index.html new file mode 100644 index 0000000..ce81f0a --- /dev/null +++ b/landing/index.html @@ -0,0 +1,2116 @@ + + + + + +MemPalace — Memory is identity. + + + + + + + + + + + +
+ + + + + +
+ + +
+ MP-001 · fol. i · a memory palace for ai +

+ Memory is + identity. +

+

+ An AI that forgets cannot know you. MemPalace keeps every word you have + shared — verbatim, on your machine, forever available. One hundred + percent recall by design. +

+ + +
+
+
Recall
+
100%
+
+
+
API keys required
+
0
+
+
+
Hook budget
+
<500ms
+
+
+
+ + + +
+ + +
+
i the forgetting
+ +
+
+ before · after +

+ The same conversation, twice. +

+

+ Scroll down and watch. On the left, a model without memory. On the right, + the same model with MemPalace. The words are identical — until two weeks + pass. +

+
+ +
+ +
+
+
+ without mempalace + session resets · no recall +
+
+
+ + + +
+
+ with mempalace + verbatim · retrieved <50 ms +
+
+
+
+
+ + +
+
ii anatomy of a palace
+ +
+
+ the method of loci, updated +

+ Wings. Rooms. Drawers. +

+
+

+ A two-thousand-year-old memory technique, reworked for a machine. + Broad categories nest time-based groupings; time-based groupings hold + verbatim drawers. A symbolic index lets the model scan thousands of + drawers in a single breath and open only the ones it needs. +

+
+ +
+
+ W — wing +

The Wing

+

people · projects · topics

+

A broad region of the palace, keyed to a real entity — a person by name, a project by codename, a domain of your life. Entity-first, always.

+
+ + + + + + + +
+
+ +
+ R — room +

The Room

+

days · sessions · threads

+

Inside a wing sit rooms — discrete units of time. One room per day, or one per session. Walk the corridor and the palace unfolds chronologically, room by room.

+
+ + + + + + + +
+
+ +
+ D — drawer +

The Drawer

+

verbatim · permanent · exact

+

Each room holds drawers. A drawer is a single chunk of verbatim content — the exact words, untouched. The palace's promise is kept here.

+
+ + + + + + + + +
+
+
+
+ + +
+
iii the aaak dialect
+ +
+ index ← verbatim +

+ A compressed symbolic language for finding, not remembering. +

+

+ The content stays verbatim — always. The index above it is written + in AAAK: a dense symbolic dialect an LLM can scan at a glance. Tens of + thousands of entries, one pass, exact drawer located. +

+
+ +
+ +
+
+ drawer · D-007 + verbatim · exact · permanent +
+

The drawer, as stored.

+

+ "My son's name is Noah. He turns six + on September 12th. He loves dinosaurs — + especially the therizinosaurus because of the + claws. We want to do a small party at the park on Glebe + Point Road, maybe eight kids." +

+

+ — kept as spoken. never rewritten. +

+
+ + + + +
+
+ index · AAAK + indexes · compressed · addressable +
+

The pointer, as indexed.

+
§ W-042/R-11/D-007
+@p noah~son.age=6~dob=09-12
+@l glebe-pt-rd.park
+@e birthday~party(n≈8)
+@i therizinosaurus~claws
+@t 2026-04-14T09:41
+§ ptr → D-007 (verbatim)
+
+
+ +

+ Ninety-plus percent compression on the pointer layer. One hundred percent + fidelity on the content layer. You get speed without ever losing a word. +

+
+ + +
+
iv how it works
+ +
+ mechanism · architecture +

+ Four pieces. No cloud. No keys. +

+
+ +
+
+ + — 01 +

Local-first

+

ChromaDB on disk. SQLite for the knowledge graph. Nothing is uploaded. Nothing is synced. Your palace lives under a single directory on your machine.

+
path · ~/.mempalace
+
+ +
+ + — 02 +

Zero API

+

Extraction, chunking, and embedding all run locally. No OpenAI key, no Anthropic key, no sentence-transformers endpoint. The memory works even offline, on a plane.

+
keys required · none
+
+ +
+ + — 03 +

Background hooks

+

Filing and indexing happen silently through Claude Code hooks. On session end, on pre-compaction. You write. The palace fills itself behind the curtain.

+
hook budget · <500 ms
+
+ +
+ + — 04 +

Temporal graph

+

Relationships across entities with valid-from and valid-to dates. Who worked on what. When did this change. Facts that were true then, and may not be now.

+
store · sqlite
+
+
+
+ + +
+
v begin
+ open a drawer +

+ Build your palace. +

+

+ One command to install. One to initialize. Your words — yours, permanent, + instantly recallable — from that moment on. +

+ +
+
+ + ~/mempalace · bash +
+
$ pip install -e ".[dev]"
+Successfully installed mempalace
+$ mempalace init
+ palace created at ~/.mempalace
+ hooks registered (stop, precompact)
+ knowledge graph initialized
+$ mempalace remember "memory is identity."
+ filed · W-001/R-01/D-001
+
+ + +
+ + + +
+ + + + + diff --git a/landing/mempalace_logo.png b/landing/mempalace_logo.png new file mode 100644 index 0000000..7cd48d8 Binary files /dev/null and b/landing/mempalace_logo.png differ diff --git a/website/.vitepress/config.mts b/website/.vitepress/config.mts index 4fd5f60..fc12490 100644 --- a/website/.vitepress/config.mts +++ b/website/.vitepress/config.mts @@ -22,7 +22,7 @@ export default withMermaid( ['link', { rel: 'icon', href: `${docsBase}mempalace_logo.png` }], ['link', { rel: 'preconnect', href: 'https://fonts.googleapis.com' }], ['link', { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }], - ['link', { href: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap', rel: 'stylesheet' }], + ['link', { href: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@300;400;500&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Geist:wght@300;400;500;600&display=swap', rel: 'stylesheet' }], ['meta', { property: 'og:title', content: 'MemPalace — AI Memory System' }], ['meta', { property: 'og:description', content: '96.6% LongMemEval recall. Zero API calls. Local, free, open source.' }], ['meta', { property: 'og:image', content: `${docsBase}mempalace_logo.png` }], diff --git a/website/.vitepress/theme/Landing.vue b/website/.vitepress/theme/Landing.vue new file mode 100644 index 0000000..dc37acb --- /dev/null +++ b/website/.vitepress/theme/Landing.vue @@ -0,0 +1,2097 @@ + + + + + diff --git a/website/.vitepress/theme/index.ts b/website/.vitepress/theme/index.ts index 48d1b25..ec95b3d 100644 --- a/website/.vitepress/theme/index.ts +++ b/website/.vitepress/theme/index.ts @@ -1,6 +1,10 @@ import DefaultTheme from 'vitepress/theme' +import Landing from './Landing.vue' import './style.css' export default { extends: DefaultTheme, + enhanceApp({ app }) { + app.component('Landing', Landing) + }, } diff --git a/website/index.md b/website/index.md index a8487fb..67fb724 100644 --- a/website/index.md +++ b/website/index.md @@ -1,87 +1,6 @@ --- -layout: home - -hero: - name: MemPalace - text: Give your AI a memory. - tagline: "96.6% recall on LongMemEval in raw mode. Local-first, open source, and usable without an API key." - image: - src: /mempalace_logo.png - alt: MemPalace - actions: - - theme: brand - text: Get Started - link: /guide/getting-started - - theme: alt - text: Architecture → - link: /concepts/the-palace - - theme: alt - text: GitHub ↗ - link: https://github.com/MemPalace/mempalace - -features: - - icon: - src: /icons/file-text.svg - alt: Verbatim Storage - title: Verbatim Storage - details: Store source text directly instead of extracting facts up front. The raw benchmark result comes from retrieving verbatim content. - - icon: - src: /icons/building-2.svg - alt: Palace Structure - title: Palace Structure - details: Wings and rooms give retrieval useful structure. In the project benchmarks, narrowing search scope outperformed flat search. - - icon: - src: /icons/search.svg - alt: Semantic Search - title: Semantic Search - details: ChromaDB-powered vector search lets the model retrieve past discussions by topic, project, or room. - - icon: - src: /icons/git-merge.svg - alt: Knowledge Graph - title: Knowledge Graph - details: Temporal entity-relationship triples in SQLite. Facts can be added, queried, and invalidated over time. - - icon: - src: /icons/wrench.svg - alt: 19 MCP Tools - title: 19 MCP Tools - details: MCP tools expose search, filing, knowledge graph, graph navigation, and diary operations to compatible clients. - - icon: - src: /icons/shield-check.svg - alt: Zero Cloud - title: Zero Cloud - details: Core storage and retrieval run locally on ChromaDB and SQLite. Optional reranking features can add an API dependency. +layout: page +pageClass: mempalace-home --- - - -
- -## Verbatim Retrieval First - -MemPalace starts from a simple premise: **store the source text and retrieve it well**. The benchmarked raw mode does not require an LLM extraction step. - -| System | LongMemEval R@5 | API Required | Cost | -|--------|----------------|--------------|------| -| **MemPalace (hybrid)** | **100%** | Optional | Free | -| Supermemory ASMR | ~99% | Yes | — | -| **MemPalace (raw)** | **96.6%** | **None** | **Free** | -| Mastra | 94.87% | Yes | API costs | -| Mem0 | ~85% | Yes | $19–249/mo | - -The raw 96.6% LongMemEval result is the baseline story: strong recall without requiring an API key or an LLM in the retrieval pipeline. - -
- Full benchmark results → -
- -
+