Repository navigation
Releases: Timwood0x10/Mnemosyne
Release list
Mnemosyne v0.1.2
Mnemosyne v0.1.2
Mnemosyne (Greek: Μνημοσύνη) — the Memory Distillation Engine.
An LLM-free knowledge distillation engine + MCP server that compiles
narrative text into a world model and conversations into cognitive facts.
Named after the Greek goddess of memory: memory never dies, is always
reconstructable, and persists across sessions. Companion AIs use it to keep a
consistent persona without an LLM in the loop.
Facts come from compilation, not guesswork.
State comes from events, not prompts.
Long-term cognition comes from the model, not context window length.
Supported platforms
| Platform | Architecture | Binary |
|---|---|---|
| macOS | arm64 (Apple Silicon) | mnemosyne-aarch64-apple-darwin |
| macOS | x86_64 (Intel) | mnemosyne-x86_64-apple-darwin |
| Linux | arm64 | mnemosyne-aarch64-unknown-linux-gnu |
| Linux | x86_64 | mnemosyne-x86_64-unknown-linux-gnu |
| Windows | x86_64 | mnemosyne-x86_64-pc-windows-msvc.exe |
All binaries are single-file, statically configured (SQLite-only, no API key
required), and ~6–8 MB after release optimization. They no longer embed a
compile-time source path — resources are resolved at runtime, so a released
binary runs on any machine, not just the CI builder that produced it.
Each release also ships the two customizable observation-marker word lists —
markers_zh.json (Chinese) and markers_en.json (English). Put them in the
same directory as the binary to enable customizing which words produce facts;
edit them freely and re-run without recompiling. When absent, the binary
falls back to built-in defaults and keeps working.
Quick start
# 1. Local stdio mode (IDE / Claude Desktop / Cursor integration)
./mnemosyne serve
# 2. Remote HTTP+SSE mode (token required; session isolation per client;
# default listen port is 5609)
./mnemosyne --transport http --http-addr 0.0.0.0:5609 --http-token <your-token> serveIDE integration
Highlights
- Dual MCP transport — stdio for local IDEs; HTTP+SSE for remote
deployments with per-sessionx-mcp-session-idisolation, mandatory
--http-tokenauth (constant-time comparison), and file-allowlist sandbox. - 33+ MCP tools —
memory_compile,generalize_compile,
persona_check,persona_inject,cognitive_context,inspect_entity,
timeline,relation_graph,search_graph,trace_path,memory_decay,
memory_export/import,knowledge_attach/ingest, and more. - LLM-free semantic similarity — FTS5 keyword search, HNSW / brute-force
cosine vector retrieval, character-bigram Jaccard name matching, and hybrid
retrieval. Zero API-key dependency, fully reproducible. - Knowledge graph — narrative text → documents / entities / events /
relations / evidence with traceable evidence chains (EvidenceRef). - Companion-AI persona guard —
persona_check/persona_inject/
relationship_updatekeep a companion AI's persona consistent; memory
decay never deletes, preserving evolution history. - Deterministic pipeline — Aho-Corasick verb matching, rule-driven event
extraction, 8-stage distillation. No LLM guessing anywhere.
Changelog (v0.1.2)
Fixed
- Prebuilt binaries no longer hardcode the build machine's source path.
env!("CARGO_MANIFEST_DIR")was baked into every release, so a binary
built on CI panicked withFailed to load core lexicon from config/dictionary.json(FileLoad { path: "/Users/runner/work/..." })on
every other machine. Resource paths are now resolved at runtime
(resolve_resource_path):MNEMOSYNE_HOMEenv override → current working
directory → executable's directory, in that order. - A missing lexicon no longer crashes the process. The global lexicon
registry previously panicked on first use whenconfig/dictionary.jsonwas
absent; it now degrades to an empty registry with a warning (same fail-soft
pattern as the dictionary loader). generalize_compileextracted document titles as fakeperson
entities. Auto-generated titles (generalize-1786331280) and filenames
were materialized as person objects while the actual people inside the text
(张三/李四/Alice/Bob) were never discovered — the knowledge graph was
unusable. Title entities are now only created when the title looks like a
real name, and corpus discovery was added/extended:- English Capitalized person names (
Alice met Bob) are extracted. - Vernacular Chinese dialogue verbs (
说/说道/答道) beyond the classic
novel list (曰/道) now surface speakers. - Overlapping verbs in one run (
说道matching 说/道/说道) no longer
double-count frequencies.
- English Capitalized person names (
memory_compileproduced zero facts for ordinary conversations. Only
12 hardcoded marker words were matched, so "我很焦虑,压力很大" compiled no
facts and the facts table stayed empty. The marker table was moved out of
the binary into configurable JSON (see below) and expanded to cover
emotions, preferences, plans, wants, beliefs, difficulties, life events,
modern vernacular, and internet slang.- Duplicate-fact inflation. One message matching several same-action
markers (失眠+加班+压力+好累 → fourfeel) emitted four near-identical
facts, polluting the cognitive snapshot. Observations are now deduplicated
per action per message while distinct actions are preserved. - Companion relationships never advanced.
relationship_updateonly
counted user-message emotions, so an assistant-heavy warm dialogue
("我很开心能认识你" / user replies "嗯嗯") left intimacy pinned at 0.0
forever. The agent's own emotional statements now move the relationship
with a lighter weight (user emotions remain the primary driver).
Changed
- One config root instead of ten environment variables. The scattered
DICTIONARY_PATH/FACTION_MAP_PATH/DECAY_CONFIG_PATH/
RELATION_RULES_PATH/PERSONA_CARDS_PATH/PERSONA_PROTOTYPES_PATH/
DOMAIN_PROFILES_PATH/EMOTION_LEXICON_PATH/ANCHOR_SEEDS_PATH/
NAME_VALIDATION_PATHoverrides were removed in favor of a single
MNEMOSYNE_HOMEroot directory, auto-detected when unset. - Observation markers are now data, not code. The marker table moved from
a hardcoded array into two shipped, user-editable JSON files —
markers_zh.jsonandmarkers_en.json— with a built-in fallback table
when the config is absent. - Default HTTP listen port changed 8080 → 5609 (avoiding a common
conflict);--http-addrstill overrides it. - Release artifacts now include the marker word lists. Each platform
binary ships alongsidemarkers_zh.json/markers_en.json, so a download
placed in one directory works out of the box and is customizable.
Docs
License
Apache-2.0
Mnemosyne v0.1.1
Mnemosyne v0.1.1
Mnemosyne (Greek: Μνημοσύνη) — the Memory Distillation Engine.
An LLM-free knowledge distillation engine + MCP server that compiles
narrative text into a world model and conversations into cognitive facts.
Named after the Greek goddess of memory: memory never dies, is always
reconstructable, and persists across sessions. Companion AIs use it to keep a
consistent persona without an LLM in the loop.
Facts come from compilation, not guesswork.
State comes from events, not prompts.
Long-term cognition comes from the model, not context window length.
Supported platforms
| Platform | Architecture | Binary |
|---|---|---|
| macOS | arm64 (Apple Silicon) | mnemosyne-aarch64-apple-darwin |
| macOS | x86_64 (Intel) | mnemosyne-x86_64-apple-darwin |
| Linux | arm64 | mnemosyne-aarch64-unknown-linux-gnu |
| Linux | x86_64 | mnemosyne-x86_64-unknown-linux-gnu |
| Windows | x86_64 | mnemosyne-x86_64-pc-windows-msvc.exe |
All binaries are single-file, statically configured (SQLite-only, no API key
required), and ~6–8 MB after release optimization.
Quick start
# 1. Local stdio mode (IDE / Claude Desktop / Cursor integration)
./mnemosyne serve
# 2. Remote HTTP+SSE mode (token required; session isolation per client)
./mnemosyne --transport http --http-addr 0.0.0.0:8080 --http-token <your-token> serveIDE integration
// .mcp.json
{
"mcpServers": {
"mnemosyne": {
"command": "/path/to/mnemosyne",
"args": ["serve"]
}
}
}Highlights
- Dual MCP transport — stdio for local IDEs; HTTP+SSE for remote
deployments with per-sessionx-mcp-session-idisolation, mandatory
--http-tokenauth (constant-time comparison), and file-allowlist sandbox. - 33 MCP tools —
memory_compile,generalize_compile,
persona_check,persona_inject,inspect_entity,timeline,
relation_graph,search_graph,trace_path,memory_decay,
memory_export/import,knowledge_attach/ingest, and more. - LLM-free semantic similarity — FTS5 keyword search, HNSW / brute-force
cosine vector retrieval, character-bigram Jaccard name matching, and hybrid
retrieval. Zero API-key dependency, fully reproducible. - Knowledge graph — narrative text → documents / entities / events /
relations / evidence with traceable evidence chains (EvidenceRef). - Companion-AI persona guard —
persona_check/persona_inject/
relationship_updatekeep a companion AI's persona consistent; memory
decay never deletes, preserving evolution history. - Deterministic pipeline — Aho-Corasick verb matching, rule-driven event
extraction, 8-stage distillation. No LLM guessing anywhere.
Changelog (v0.1.1)
- Rebrand to Mnemosyne (formerly LoreScope): package, binary, docs,
Makefile, repository. - MCP hardening: HTTP requires
--http-tokenwith constant-time compare;
per-session SSE isolation (x-mcp-session-id);memory_export/importpath
allowlist. - Faster CI/release: new
[profile.ci](thin LTO + 16 units) for builds;
release runs after CI succeeds, builds all 5 platforms, verifies assets
before publishing, version tag fromrelease.md. - Self-contained tests: all corpus-dependent tests removed (corpus is
gitignored); suite runs fully on CI with synthetic data only. - Wire fix:
ToolDefinition.input_schemanow serializes asinputSchema
(MCP camelCase contract).
Docs
License
Apache-2.0
Mnemosyne v1
Mnemosyne v0.1.0
Mnemosyne (Greek: Μνημοσύνη) — the Memory Distillation Engine.
An LLM-free knowledge distillation engine + MCP server that compiles
narrative text into a world model and conversations into cognitive facts.
Named after the Greek goddess of memory: memory never dies, is always
reconstructable, and persists across sessions. Companion AIs use it to keep a
consistent persona without an LLM in the loop.
Facts come from compilation, not guesswork.
State comes from events, not prompts.
Long-term cognition comes from the model, not context window length.
Supported platforms
| Platform | Architecture | Binary |
|---|---|---|
| macOS | arm64 (Apple Silicon) | mnemosyne-aarch64-apple-darwin |
| macOS | x86_64 (Intel) | mnemosyne-x86_64-apple-darwin |
| Linux | arm64 | mnemosyne-aarch64-unknown-linux-gnu |
| Linux | x86_64 | mnemosyne-x86_64-unknown-linux-gnu |
| Windows | x86_64 | mnemosyne-x86_64-pc-windows-msvc.exe |
All binaries are single-file, statically configured (SQLite-only, no API key
required), and ~5–6 MB after release optimization (opt-level=z + fat LTO +
strip).
Quick start
# 1. Local stdio mode (IDE / Claude Desktop / Cursor integration)
./mnemosyne serve
# 2. Remote HTTP+SSE mode (token required; session isolation per client)
./mnemosyne --transport http --http-addr 0.0.0.0:8080 --http-token <your-token> serveIDE integration
// .mcp.json
{
"mcpServers": {
"mnemosyne": {
"command": "/path/to/mnemosyne",
"args": ["serve"]
}
}
}Highlights
- Dual MCP transport — stdio for local IDEs; HTTP+SSE for remote
deployments with per-sessionx-mcp-session-idisolation, mandatory
--http-tokenauth (constant-time comparison), and file-allowlist sandbox. - 33 MCP tools —
memory_compile,generalize_compile,
persona_check,persona_inject,inspect_entity,timeline,
relation_graph,search_graph,trace_path,memory_decay,
memory_export/import,knowledge_attach/ingest, and more. - LLM-free semantic similarity — FTS5 keyword search, HNSW / brute-force
cosine vector retrieval, character-bigram Jaccard name matching, and hybrid
retrieval. Zero API-key dependency, fully reproducible. - Knowledge graph — narrative text → documents / entities / events /
relations / evidence with traceable evidence chains (EvidenceRef). - Companion-AI persona guard —
persona_check/persona_inject/
relationship_updatekeep a companion AI's persona consistent; memory
decay never deletes, preserving evolution history. - Deterministic pipeline — Aho-Corasick verb matching, rule-driven event
extraction, 8-stage distillation. No LLM guessing anywhere.
Changelog (v0.1.0)
- Rebranded to Mnemosyne (formerly LoreScope): package, binary, docs.
- MCP hardening: SSE session isolation, mandatory HTTP auth with
constant-time token compare, file-allowlist for transfer tools. - War and Peace tests sample the corpus (opening 100k chars) — full suite:
728 tests pass in ~18s. - Deep code review: 1 finding fixed (README remote URL → real
/sseroute). - Release binaries slimmed to ~5–6 MB.
Docs
License
Apache-2.0
Mnemosyne v0.1.0
Mnemosyne v0.1.0
Mnemosyne (Greek: Μνημοσύνη) — the Memory Distillation Engine.
An LLM-free knowledge distillation engine + MCP server that compiles
narrative text into a world model and conversations into cognitive facts.
Named after the Greek goddess of memory: memory never dies, is always
reconstructable, and persists across sessions. Companion AIs use it to keep a
consistent persona without an LLM in the loop.
Facts come from compilation, not guesswork.
State comes from events, not prompts.
Long-term cognition comes from the model, not context window length.
Supported platforms
| Platform | Architecture | Binary |
|---|---|---|
| macOS | arm64 (Apple Silicon) | mnemosyne-aarch64-apple-darwin |
| macOS | x86_64 (Intel) | mnemosyne-x86_64-apple-darwin |
| Linux | arm64 | mnemosyne-aarch64-unknown-linux-gnu |
| Linux | x86_64 | mnemosyne-x86_64-unknown-linux-gnu |
| Windows | x86_64 | mnemosyne-x86_64-pc-windows-msvc.exe |
All binaries are single-file, statically configured (SQLite-only, no API key
required), and ~5–6 MB after release optimization (opt-level=z + fat LTO +
strip).
Quick start
# 1. Local stdio mode (IDE / Claude Desktop / Cursor integration)
./mnemosyne serve
# 2. Remote HTTP+SSE mode (token required; session isolation per client)
./mnemosyne --transport http --http-addr 0.0.0.0:8080 --http-token <your-token> serveIDE integration
// .mcp.json
{
"mcpServers": {
"mnemosyne": {
"command": "/path/to/mnemosyne",
"args": ["serve"]
}
}
}Highlights
- Dual MCP transport — stdio for local IDEs; HTTP+SSE for remote
deployments with per-sessionx-mcp-session-idisolation, mandatory
--http-tokenauth (constant-time comparison), and file-allowlist sandbox. - 33 MCP tools —
memory_compile,generalize_compile,
persona_check,persona_inject,inspect_entity,timeline,
relation_graph,search_graph,trace_path,memory_decay,
memory_export/import,knowledge_attach/ingest, and more. - LLM-free semantic similarity — FTS5 keyword search, HNSW / brute-force
cosine vector retrieval, character-bigram Jaccard name matching, and hybrid
retrieval. Zero API-key dependency, fully reproducible. - Knowledge graph — narrative text → documents / entities / events /
relations / evidence with traceable evidence chains (EvidenceRef). - Companion-AI persona guard —
persona_check/persona_inject/
relationship_updatekeep a companion AI's persona consistent; memory
decay never deletes, preserving evolution history. - Deterministic pipeline — Aho-Corasick verb matching, rule-driven event
extraction, 8-stage distillation. No LLM guessing anywhere.
Changelog (v0.1.0)
- Rebranded to Mnemosyne (formerly LoreScope): package, binary, docs.
- MCP hardening: SSE session isolation, mandatory HTTP auth with
constant-time token compare, file-allowlist for transfer tools. - War and Peace tests sample the corpus (opening 100k chars) — full suite:
728 tests pass in ~18s. - Deep code review: 1 finding fixed (README remote URL → real
/sseroute). - Release binaries slimmed to ~5–6 MB.
Docs
License
Apache-2.0