LongMemory
Memory server
Created by CaviraOSS
Published in CaviraOSS/LongMemory. Publisher page
4,573 GitHub stars
What it is
LongMemory Hydrograph TypeScript package: library, CLI, self-hosted API server, and benchmark harness.
AutoGineer overview, from the brain’s own files
LongMemory is a cognitive memory engine designed to provide AI agents with durable, governed, and temporal recall. Unlike standard RAG pipelines that rely on simple vector similarity, LongMemory utilizes a Hydrograph substrate to manage immutable nodes, executable edges, and temporal truth. It supports complex recall modes including strict, historical, associative, and world-grounded retrieval. The system is built for local-first deployment using SQLite, offering a self-hosted API server, CLI, and native integrations for various agent frameworks, IDEs, and automation tools. It enforces governance policies across projects, users, and teams, ensuring that memory remains grounded, explainable, and context-aware.
How it works
Memory model: LLM wiki
AutoGineer overview, from the brain’s own files
LongMemory operates as a memory server that stores data in a local SQLite database. It ingests events, documents, and session data into a Hydrograph structure. When an agent needs information, the system performs recall based on specific modes—such as strict, historical, or associative—to retrieve relevant, token-bounded context. The engine supports governance by scoping memory to specific projects, tenants, or users. It provides an API for agents to interact with this memory, and includes tools for maintenance, such as decay and reinforcement, to manage the lifecycle of stored information.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 13 |
| docs | docs | 34 |
| packages | source-code | 7 |
| src | source-code | 340 |
| tools | scripts | 5 |
| .agents | folder | 1 |
| .do | folder | 1 |
| apps | folder | 19 |
| benchmarks | folder | 32 |
| dashboard | folder | 34 |
| integrations | folder | 47 |
Requirements
Apps: Docker
Runtimes: Node.js >=20
Databases: SQLite
API keys (by name): AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AZURE_DEVOPS_TOKEN, BITBUCKET_TOKEN, GEMINI_API_KEY, GITHUB_TOKEN, GITLAB_TOKEN, GOOGLE_ACCESS_TOKEN, LINEAR_API_KEY, LONGMEMORY_API_KEY, MICROSOFT_GRAPH_TOKEN, NOTION_API_KEY, NVIDIA_API_KEY, OM_API_KEY, OM_GEMINI_API_KEY, OM_OPENAI_API_KEY, OM_SIRAY_API_TOKEN, OPENAI_API_KEY, SIRAY_API_TOKEN, SLACK_BOT_TOKEN
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 1 script. Review Makefile before opening the folder in Claude Code. No step below turns a hook on for you.
Makefile:corepack enable; pnpm install --frozen-lockfile
- Not scanned by AutoGineerThe author’s README also describes installing it with Docker Compose. Read its install section: AutoGineer did not scan that path. https://github.com/CaviraOSS/LongMemory/blob/aec98ced33a7586a2fcd198a04bc38b5590750c4/README.md#2-run-as-a-service
- Not scanned by AutoGineerThe author’s README also describes installing it from a clone of its repository. Read its install section: AutoGineer did not scan that path. https://github.com/CaviraOSS/LongMemory/blob/aec98ced33a7586a2fcd198a04bc38b5590750c4/README.md#2-run-as-a-service
Created by CaviraOSS. Published in CaviraOSS/LongMemory. Licence: Apache License 2.0.
Usage
AutoGineer overview, from the brain’s own files
- Install as a TypeScript library for in-memory or SQLite-backed agent memory.
- Deploy as a self-hosted API server using Docker or Docker Compose.
- Use the CLI to ingest data, manage project context, or perform maintenance tasks.
- Connect to agent hosts via MCP (Model Context Protocol) for seamless integration.
- Use the Python SDK to interact with the memory server from Python-based agents.
- Visualize and manage memory through the provided Next.js dashboard or VS Code extension.
- “What was the deployment region in January?”
- The agent uses historical recall mode with a specified valid_time to retrieve the correct configuration from that period.
- “Prepare the next release.”
- The agent retrieves project context, including architecture notes, open tasks, and relevant code facts, to assist with release planning.
Documentation by CaviraOSS
<!-- __ __ ___ / / ____ ____ ____ _/ |/ /__ ____ ___ ____ _______ __ / / / __ \/ __ \/ __ `/ /|_/ / _ \/ __ `__ \/ __ \/ ___/ / / / / /___/ /_/ / / / / /_/ / / / / __/ / / / / / /_/ / / / /_/ / /_____/\____/_/ /_/\__, /_/ /_/\___/_/ /_/ /_/\____/_/ \__, / /____/ /____/ cavira oss (c) 2026 - nullure (c) 2026 ========================================================== file : README.md usage : introduces LongMemory, its architecture, integrations, and deployment options -->
LongMemory
Durable, temporal, governed memory for AI agents. Not just RAG. Not just a vector database. Local-first and self-hosted.
Image: npm Image: PyPI Image: VS Code Image: Container Image: License
LongMemory is a cognitive memory engine for LLM applications and autonomous agents.
Durable local-first storage with SQLite
Immutable content, provenance, and temporal truth
Strict, historical, associative, grounded, and multilingual recall
Explainable evidence selection and token-bounded context
Governed project memory, Skills, Chat Memory, LLM-Wiki, and CodeGraph
One TypeScript engine across npm, CLI, HTTP, MCP, dashboard, and VS Code
Native integrations for agent hosts, automation tools, and Python frameworks
Your model stays stateless. Your application stops being amnesiac.
1. Use It in 10 Seconds
Install as a library
npm install longmemoryimport { createMemory } from 'longmemory';
const memory = await createMemory();
await memory.ingest({
user_id: 'alice',
text: 'I prefer TypeScript for backend services',
});
const result = await memory.recall({
text: 'What language does Alice prefer?',
mode: 'strict',
});
console.log(result);
await memory.close();No service or external database is required for in-memory use.
For optional evidence-grounded answers with your own model, use the exported
answer_from_evidence adapter. It accepts authorized evidence, validates cited
excerpts, and makes at most one model call; ordinary recall is unchanged.
See docs/answering.md for policies, limits, and integration.
Persist with SQLite
const memory = await createMemory({
store: 'sqlite',
db_path: './longmemory.db',
tenant_id: 'acme',
user_id: 'alice',
});Reopening the same database restores nodes, worlds, entities, edges, temporal history, grounding, and lifecycle state.
Install the CLI
npm install --global longmemory
longmemory init
longmemory recall "current project priorities" --mode associativeCall a self-hosted server from Python
pip install longmemory-sdkfrom longmemory import LongMemory
memory = LongMemory(
"http://127.0.0.1:7331",
api_key="change-me",
user_id="alice",
)
memory.ingest("I prefer TypeScript")
result = memory.recall("What language do I prefer?", mode="strict")The Python package is a zero-dependency HTTP client. The Hydrograph engine remains in the self-hosted TypeScript service. See docs/python-sdk.md.
2. Run as a Service
From source
git clone https://github.com/CaviraOSS/LongMemory.git
cd LongMemory
corepack enable
pnpm install --frozen-lockfile
pnpm build
pnpm startThe API listens on http://127.0.0.1:7331 by default.
Docker
docker run --rm \
-p 7331:7331 \
-v longmemory-data:/data \
-e LONGMEMORY_API_KEY=change-me \
ghcr.io/caviraoss/longmemory:latestDocker Compose
cp .env.example .env
docker compose up --build -d longmemoryInclude the dashboard:
docker compose --profile ui up --build -dAPI and MCP:
http://127.0.0.1:7331Dashboard:
http://127.0.0.1:3000Health:
http://127.0.0.1:7331/health
3. Why LongMemory
Most systems called memory are retrieval pipelines:
Split text into chunks.
Embed the chunks.
Return the nearest vectors.
That does not establish what was true at a particular time, whether a new fact superseded an old one, which source is authoritative, who may see it, or why a result belongs in context.
LongMemory models those concerns directly:
Temporal truth: recorded time and valid time are separate.
Immutable memory: content, vectors, hashes, and provenance are not rewritten by recall or decay.
Executable graph: typed relationships participate in recall and explanation.
Governance: project, tenant, user, team, role, agent, task, and framework scope are enforced.
Lifecycle: deterministic decay, explicit reinforcement, consolidation, compression, and reconsolidation.
Evidence: recall is bounded by relevance, contradictions, grounding, permissions, and token cost.
See Why.md for the design rationale.
4. Recall Modes
const strict = await memory.recall({
text: 'What is the current deployment region?',
mode: 'strict',
});
const historical = await memory.recall({
text: 'What was the deployment region in January?',
mode: 'historical',
valid_time: Date.UTC(2026, 0, 15),
});
const associative = await memory.recall({
text: 'Incidents related to the payment migration',
mode: 'associative',
});
const grounded = await memory.recall({
text: 'Which production endpoint is currently live?',
mode: 'world_grounded',
});Strict recall applies temporal, contradiction, contract, confidence, and grounding gates. Historical recall preserves superseded truth. Associative recall follows semantic, lexical, entity, activation, and graph signals. World-grounded recall requires current external evidence.
5. Features
Hydrograph memory substrate with immutable nodes, executable edges, worlds, entities, facets, and traces.
Temporal reasoning with point-in-time truth, event ordering, supersession, and stale-evidence controls.
Multilingual memory with script detection, code switching, transliteration, and cross-language embeddings.
Project memory for architecture, decisions, tasks, conventions, failures, handoffs, and code impact.
Governed assets for Chat Memory, Skills, LLM-Wiki, and CodeGraph with lifecycle and ACL policy.
Session porter for Claude Code, Codex, OpenCode, Gemini CLI, Copilot Chat, Cline, and raw harness logs.
Connectors for repositories, local files, Markdown, web content, feeds, cloud documents, and provider APIs.
Embeddings through OpenAI-compatible APIs, Gemini, AWS Bedrock, Ollama, Siray, and local HTTP models.
Operational surfaces through HTTP, MCP, dashboard, VS Code, n8n, and framework-native MCP clients.
Auditable benchmarks for LongMemEval, LoCoMo, BEAM, retrieval quality, temporal behavior, and latency.
6. MCP and Agent Integrations
Start local stdio MCP:
longmemory mcp --db .longmemory/project.db --project currentExpose authenticated Streamable HTTP MCP:
LONGMEMORY_API_KEY=change-me longmemory serve --mcp-httpLongMemory exposes 13 high-level governed tools plus readable resources and agent workflow prompts. Tool arguments cannot override server-bound runtime identity.
Installable integrations include:
Claude Code plugin
Codex and ChatGPT desktop plugin
Gemini CLI extension
Agent Plugins 1.0 bundle for OpenClaw and compatible hosts
n8n community node usable as an AI Agent tool
Cline, Continue, and LibreChat configuration packs
Dify and Flowise native MCP setup
CrewAI, AutoGen, LangGraph/LangChain, OpenAI Agents SDK, and PydanticAI examples
See integrations/README.md and docs/mcp.md.
7. Temporal and Project Memory
import { createProjectMemory } from 'longmemory';
const projects = await createProjectMemory({
tenant_id: 'cavira',
organization_id: 'CaviraOSS',
project_id: 'longmemory',
name: 'LongMemory',
store: 'sqlite',
db_path: './longmemory.db',
});
await projects.ingestProjectEvent('longmemory', {
kind: 'decision',
topic: 'persistence',
text: 'Use SQLite for local-first persistence',
source_type: 'architecture_note',
});
const context = await projects.getProjectContext('longmemory', 'prepare the next release');Project context combines relevant architecture, current decisions, open tasks, failures, code facts, matched Skills, conflicts, and governed asset loadouts under one token budget.
8. CLI
longmemory init
longmemory tui
longmemory status --memories 20 --json
longmemory ingest "Remember the rollback procedure" --type procedure
longmemory recall "What is the rollback procedure?" --mode associative
longmemory memory list --limit 50
longmemory project context "prepare the next release"
longmemory maintenance decay --all
longmemory maintenance reinforce <memory-id>
longmemory skill match "run the release checklist" --agent reviewer
longmemory asset loadout "prepare the release" --agent reviewer --framework codex
longmemory code impact createMemory
longmemory detect
longmemory session discover --from claude-code
longmemory port --from claude-code --to longmemory --all
longmemory session wiki --from gemini-cli --all --name "Project knowledge"
longmemory serve --mcp-httpFinite commands emit stable JSON outside a TTY or when --json is supplied. The session porter reads supported coding-agent stores without modifying them. See docs/cli.md.
9. Dashboard and VS Code
The Next.js dashboard provides health, memory browsing, ingestion, search, project selection, activity, decay, settings, timelines, and memory-aware chat through a same-origin API proxy.
pnpm --dir dashboard build
pnpm --dir dashboard startThe VS Code extension provides an activity-bar browser, status bar, recall, project context, explanation, reinforcement, explicit decay, session import, and reviewed AI-change capture.
pnpm extension:packageThe generated package is apps/vscode-extension/longmemory-vscode-0.2.0.vsix.
10. Architecture
graph TB
INPUT[Events, documents, sessions] --> INGEST[Immutable ingest pipeline]
INGEST --> GRAPH[(Hydrograph)]
GRAPH --> STRICT[Strict and historical recall]
GRAPH --> ASSOC[Associative recall]
GRAPH --> GROUND[World-grounded recall]
GRAPH --> PROJECT[Project memory and governed assets]
GRAPH --> SQLITE[(SQLite)]
STRICT --> CONTEXT[Explainable bounded context]
ASSOC --> CONTEXT
GROUND --> CONTEXT
PROJECT --> MCP[MCP tools, resources, prompts]
CONTEXT --> API[Library, CLI, HTTP]
MCP --> AGENTS[Agents, IDEs, automation]
API --> UI[Dashboard and VS Code]Read ARCHITECTURE.md and docs/architecture.md for subsystem details.
11. Deployment Options
| Platform | Configuration | What it deploys |
|---|---|---|
| Docker | Dockerfile | API and Streamable HTTP MCP |
| Docker Compose | docker-compose.yml | API/MCP plus optional dashboard |
| Heroku | app.json | Containerized API/MCP |
| Railway | railway.json | Containerized API/MCP |
| Render | render.yaml | API/MCP with persistent disk |
| DigitalOcean | .do/spec.yaml | App Platform API/MCP service |
| Vercel | vercel.json | Dashboard; configure LONGMEMORY_API_URL |
| Windows | start-longmemory.ps1 | Background local API/MCP process |
For hosted API deployments, set LONGMEMORY_API_KEY, mount persistent storage at /data, and terminate TLS at the platform edge. Vercel hosts only the stateless dashboard and requires a separately deployed LongMemory API.
12. Benchmarks
pnpm bench
pnpm bench:ci
pnpm bench:fullThe benchmark harness publishes explicit manifests, dataset completion, evidence metrics, answer judgments, temporal categories, latency percentiles, and N/A reasons. Official scorecards fail closed on incomplete datasets or semantic embedding fallback. See benchmarks/README.md.
13. Migration
Import supported SQLite, JSON, or JSONL memory:
longmemory migrate \
--from ./legacy.db \
--to ./longmemory.db \
--report ./migration-report.jsonImport coding-agent conversations as governed Chat Memory:
longmemory port --from codex --to longmemory --allSee MIGRATION.md and docs/migration.md.
Legacy package migration:
npm uninstall openmemory-js && npm install longmemory
pip uninstall openmemory-py && pip install longmemory-sdkopenmemory-js@2 and openmemory-py@2 are forwarding bridges for existing installations. New applications should use longmemory and longmemory-sdk directly. PyPI's unrelated longmemory name is owned by another project, so the official distribution is longmemory-sdk while the import remains longmemory.
14. Release and Operations
corepack enable
pnpm install --frozen-lockfile
pnpm release:check
pnpm pack
pnpm extension:packagerelease:check validates branding, types, integration manifests, the benchmark smoke gate, the root build, extension build, and dashboard production build.
Useful Make targets:
make install
make build
make check
make docker-up
make dashboard15. Security
LongMemory is local-first, but network deployment still requires explicit controls:
Protect API and MCP routes with
LONGMEMORY_API_KEY.Restrict allowed origins and terminate TLS at the edge.
Keep connector and embedding credentials outside repository files.
Treat recalled content as untrusted evidence, not authorization.
Preserve server-bound user, project, agent, and framework identity.
Report vulnerabilities privately as described in SECURITY.md.
16. Contributing
Issues and pull requests are welcome. Read CONTRIBUTING.md, GOVERNANCE.md, and CODE_OF_CONDUCT.md before contributing.
Discussions: https://github.com/CaviraOSS/LongMemory/discussions
Changelog: CHANGELOG.md
17. License
LongMemory is licensed under the Apache License 2.0. The separately published n8n community node uses MIT as required by n8n's strict package validator.
Contributors
<!-- readme: contributors -start -->
<table> <tbody> <tr> <td align="center"> <a href="https://github.com/nullure"> <img src="https://avatars.githubusercontent.com/u/81895400?v=4" width="100;" alt="nullure"/> <br /> <sub><b>Morven</b></sub> </a> </td> <td align="center"> <a href="https://github.com/dontbanmeplz"> <img src="https://avatars.githubusercontent.com/u/59851616?v=4" width="100;" alt="dontbanmeplz"/> <br /> <sub><b>Chis</b></sub> </a> </td> <td align="center"> <a href="https://github.com/amihos"> <img src="https://avatars.githubusercontent.com/u/35190548?v=4" width="100;" alt="amihos"/> <br /> <sub><b>Hossein Amirkhalili</b></sub> </a> </td> <td align="center"> <a href="https://github.com/DKB0512"> <img src="https://avatars.githubusercontent.com/u/23116307?v=4" width="100;" alt="DKB0512"/> <br /> <sub><b>DKB</b></sub> </a> </td> <td align="center"> <a href="https://github.com/stevo1403"> <img src="https://avatars.githubusercontent.com/u/34807365?v=4" width="100;" alt="stevo1403"/> <br /> <sub><b>Stephen Adebayo</b></sub> </a> </td> <td align="center"> <a href="https://github.com/mameikagou"> <img src="https://avatars.githubusercontent.com/u/116348059?v=4" width="100;" alt="mameikagou"/> <br /> <sub><b>mrlonely</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/haosenwang1018"> <img src="https://avatars.githubusercontent.com/u/167664334?v=4" width="100;" alt="haosenwang1018"/> <br /> <sub><b>Sense_wang</b></sub> </a> </td> <td align="center"> <a href="https://github.com/recabasic"> <img src="https://avatars.githubusercontent.com/u/102372274?v=4" width="100;" alt="recabasic"/> <br /> <sub><b>Elvoro</b></sub> </a> </td> <td align="center"> <a href="https://github.com/zfaustk"> <img src="https://avatars.githubusercontent.com/u/4340287?v=4" width="100;" alt="zfaustk"/> <br /> <sub><b>Clio</b></sub> </a> </td> <td align="center"> <a href="https://github.com/suyua9"> <img src="https://avatars.githubusercontent.com/u/273297082?v=4" width="100;" alt="suyua9"/> <br /> <sub><b>suyua9</b></sub> </a> </td> <td align="center"> <a href="https://github.com/vincenzopalazzo"> <img src="https://avatars.githubusercontent.com/u/17150045?v=4" width="100;" alt="vincenzopalazzo"/> <br /> <sub><b>Vincenzo Palazzo</b></sub> </a> </td> <td align="center"> <a href="https://github.com/msris108"> <img src="https://avatars.githubusercontent.com/u/43115330?v=4" width="100;" alt="msris108"/> <br /> <sub><b>Sriram M</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/fparrav"> <img src="https://avatars.githubusercontent.com/u/9319430?v=4" width="100;" alt="fparrav"/> <br /> <sub><b>Felipe Parra</b></sub> </a> </td> <td align="center"> <a href="https://github.com/DoKoB0512"> <img src="https://avatars.githubusercontent.com/u/123281216?v=4" width="100;" alt="DoKoB0512"/> <br /> <sub><b>DoKoB0512</b></sub> </a> </td> <td align="center"> <a href="https://github.com/whiterabb17"> <img src="https://avatars.githubusercontent.com/u/90134688?v=4" width="100;" alt="whiterabb17"/> <br /> <sub><b>MistrHyde</b></sub> </a> </td> <td align="center"> <a href="https://github.com/octo-patch"> <img src="https://avatars.githubusercontent.com/u/266937838?v=4" width="100;" alt="octo-patch"/> <br /> <sub><b>Octopus</b></sub> </a> </td> <td align="center"> <a href="https://github.com/therexone"> <img src="https://avatars.githubusercontent.com/u/27387245?v=4" width="100;" alt="therexone"/> <br /> <sub><b>Ayush Singh</b></sub> </a> </td> <td align="center"> <a href="https://github.com/kishan0725"> <img src="https://avatars.githubusercontent.com/u/36665975?v=4" width="100;" alt="kishan0725"/> <br /> <sub><b>Kishan Lal</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/pc-quiknode"> <img src="https://avatars.githubusercontent.com/u/126496711?v=4" width="100;" alt="pc-quiknode"/> <br /> <sub><b>Peter Chung</b></sub> </a> </td> <td align="center"> <a href="https://github.com/muhammad-fiaz"> <img src="https://avatars.githubusercontent.com/u/75434191?v=4" width="100;" alt="muhammad-fiaz"/> <br /> <sub><b>Muhammad Fiaz</b></sub> </a> </td> <td align="center"> <a href="https://github.com/jasonkneen"> <img src="https://avatars.githubusercontent.com/u/502002?v=4" width="100;" alt="jasonkneen"/> <br /> <sub><b>Jason Kneen</b></sub> </a> </td> <td align="center"> <a href="https://github.com/Hchunjun"> <img src="https://avatars.githubusercontent.com/u/11238835?v=4" width="100;" alt="Hchunjun"/> <br /> <sub><b>shan</b></sub> </a> </td> <td align="center"> <a href="https://github.com/naabakkcrypto"> <img src="https://avatars.githubusercontent.com/u/258882739?v=4" width="100;" alt="naabakkcrypto"/> <br /> <sub><b>Naabakk</b></sub> </a> </td> <td align="center"> <a href="https://github.com/mikemikimike"> <img src="https://avatars.githubusercontent.com/u/186855910?v=4" width="100;" alt="mikemikimike"/> <br /> <sub><b>mikemikimike</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/mgajewskik"> <img src="https://avatars.githubusercontent.com/u/47600161?v=4" width="100;" alt="mgajewskik"/> <br /> <sub><b>Maciej Gajewski</b></sub> </a> </td> <td align="center"> <a href="https://github.com/ajitam"> <img src="https://avatars.githubusercontent.com/u/672661?v=4" width="100;" alt="ajitam"/> <br /> <sub><b>Matija Urh</b></sub> </a> </td> <td align="center"> <a href="https://github.com/machj8968-lab"> <img src="https://avatars.githubusercontent.com/u/274563644?v=4" width="100;" alt="machj8968-lab"/> <br /> <sub><b>machj8968-lab</b></sub> </a> </td> <td align="center"> <a href="https://github.com/buyua9"> <img src="https://avatars.githubusercontent.com/u/274236111?v=4" width="100;" alt="buyua9"/> <br /> <sub><b>buyua9</b></sub> </a> </td> <td align="center"> <a href="https://github.com/aziham"> <img src="https://avatars.githubusercontent.com/u/94932043?v=4" width="100;" alt="aziham"/> <br /> <sub><b>Hamza</b></sub> </a> </td> <td align="center"> <a href="https://github.com/GPT-AGI"> <img src="https://avatars.githubusercontent.com/u/181050363?v=4" width="100;" alt="GPT-AGI"/> <br /> <sub><b>Ting Zhang</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/RockinPaul"> <img src="https://avatars.githubusercontent.com/u/3741448?v=4" width="100;" alt="RockinPaul"/> <br /> <sub><b>Paul Zarudnev</b></sub> </a> </td> <td align="center"> <a href="https://github.com/oantoshchenko"> <img src="https://avatars.githubusercontent.com/u/1749531?v=4" width="100;" alt="oantoshchenko"/> <br /> <sub><b>Oleksandr Antoshchenko</b></sub> </a> </td> <td align="center"> <a href="https://github.com/lwsinclair"> <img src="https://avatars.githubusercontent.com/u/2829939?v=4" width="100;" alt="lwsinclair"/> <br /> <sub><b>Lawrence Sinclair</b></sub> </a> </td> <td align="center"> <a href="https://github.com/jungdaesuh"> <img src="https://avatars.githubusercontent.com/u/78460559?v=4" width="100;" alt="jungdaesuh"/> <br /> <sub><b>jungdaesuh</b></sub> </a> </td> <td align="center"> <a href="https://github.com/josephgoksu"> <img src="https://avatars.githubusercontent.com/u/6523823?v=4" width="100;" alt="josephgoksu"/> <br /> <sub><b>Joseph Goksu</b></sub> </a> </td> <td align="center"> <a href="https://github.com/EikoocS"> <img src="https://avatars.githubusercontent.com/u/80829508?v=4" width="100;" alt="EikoocS"/> <br /> <sub><b>EikoocS</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/Dhravya"> <img src="https://avatars.githubusercontent.com/u/63950637?v=4" width="100;" alt="Dhravya"/> <br /> <sub><b>Dhravya Shah</b></sub> </a> </td> <td align="center"> <a href="https://github.com/dflor003"> <img src="https://avatars.githubusercontent.com/u/103017?v=4" width="100;" alt="dflor003"/> <br /> <sub><b>Danil Flores</b></sub> </a> </td> <td align="center"> <a href="https://github.com/DAESA24"> <img src="https://avatars.githubusercontent.com/u/173488786?v=4" width="100;" alt="DAESA24"/> <br /> <sub><b>DAESA24</b></sub> </a> </td> <td align="center"> <a href="https://github.com/ammesonb"> <img src="https://avatars.githubusercontent.com/u/2522710?v=4" width="100;" alt="ammesonb"/> <br /> <sub><b>Brett Ammeson</b></sub> </a> </td> <td align="center"> <a href="https://github.com/auto-pr-bot"> <img src="https://avatars.githubusercontent.com/u/245575329?v=4" width="100;" alt="auto-pr-bot"/> <br /> <sub><b>auto-pr-bot</b></sub> </a> </td> <td align="center"> <a href="https://github.com/anush008"> <img src="https://avatars.githubusercontent.com/u/46051506?v=4" width="100;" alt="anush008"/> <br /> <sub><b>Anush</b></sub> </a> </td> </tr> <tr> <td align="center"> <a href="https://github.com/annelchavez-11594"> <img src="https://avatars.githubusercontent.com/u/271067077?v=4" width="100;" alt="annelchavez-11594"/> <br /> <sub><b>Annel Chavez</b></sub> </a> </td> <td align="center"> <a href="https://github.com/atao2004"> <img src="https://avatars.githubusercontent.com/u/148929819?v=4" width="100;" alt="atao2004"/> <br /> <sub><b>Anna Tao</b></sub> </a> </td> </tr> <tbody> </table> <!-- readme: contributors -end -->
CHANGELOG.md
<!-- __ __ ___ / / ____ ____ ____ _/ |/ /__ ____ ___ ____ _______ __ / / / __ \/ __ \/ __ `/ /|_/ / _ \/ __ `__ \/ __ \/ ___/ / / / / /___/ /_/ / / / / /_/ / / / / __/ / / / / / /_/ / / / /_/ / /_____/\____/_/ /_/\__, /_/ /_/\___/_/ /_/ /_/\____/_/ \__, / /____/ /____/ cavira oss (c) 2026 - nullure (c) 2026 ---------------------------------------------------------- file : CHANGELOG.md usage : records the complete OpenMemory-to-LongMemory project history -->
Changelog
All notable changes to LongMemory are documented here. The current project follows Semantic Versioning. The archived pre-rewrite releases are retained at the end of this file for historical context.
Unreleased
Python SDK and package registry migration
Added
packages/longmemory-py, a zero-runtime-dependency Python HTTP client for the self-hosted LongMemory service.Added synchronous
LongMemoryand asynchronousAsyncLongMemoryclients.Added typed convenience methods for health, ingest, recall, explain, worlds, entities, timeline, statistics, runtime information, and arbitrary API calls.
Added structured
LongMemoryErrorandLongMemoryConnectionErrorfailures that preserve API status, error code, and response metadata.Kept the Hydrograph engine in TypeScript. The Python package is intentionally a transport client and does not duplicate persistence, retrieval, temporal, lifecycle, or governance logic.
Selected the PyPI distribution name
longmemory-sdkbecause the unrelatedlongmemoryproject name is already registered by another organization. The Python import remainsfrom longmemory import LongMemory.Added a deprecated
openmemory-pycompatibility distribution that depends onlongmemory-sdkand forwards the former Python import namespace.Added a deprecated
openmemory-jsnpm bridge that depends on and re-exportslongmemory, while forwarding the formeropmcommand to the new CLI.Added migration documentation for npm and PyPI users moving from the former package names.
Expanded package publication automation for npm, PyPI, n8n, VS Code, and compatibility bridge releases.
Registry status
Reserved
longmemoryas the primary npm package name.Preserved the existing
openmemory-jsnpm channel as a migration bridge for users of the former JavaScript package.Preserved the existing
openmemory-pyPyPI channel as a migration bridge for users of the former Python package.Did not claim the unrelated
longmemoryPyPI project. New Python installs uselongmemory-sdk.
Fixes
Notes with newline-separated preferences or facts now keep each claim in stored summaries without splitting wrapped lines into separate statements.
Embedded project-scoped writes.
longmemory_ingestwith aproject_id,longmemory_remember_decisionand connector imports go throughapplyImportPlan, which stored every node without a semantic vector, so those memories never received a vector score in recall (#216).The HTTP server never read
LONGMEMORY_TENANT_ID/LONGMEMORY_USER_ID, so every restart silently re-scoped the engine (and the/mcpendpoint) to thedefaulttenant and user, making memories saved under a configured scope unreachable after a restart (#215).MCP tool responses (
longmemory_ingest,longmemory_recall, and others) embedded each node's full embedding vector, repeated across every place the node is nested in a response, inflating responses by thousands of tokens. Vectors are now stripped by default (LONGMEMORY_MCP_INCLUDE_VECTORS=trueor a per-callinclude_vectors: trueinput restores them); ingest and recall responses also no longer repeat a node already returned in full elsewhere in the same response, andstructuredContent— an unvalidated duplicate ofcontent[].text, since no tool declares anoutputSchema— is no longer emitted at all (#219).
Documentation
Added a guide for connecting Grok's Bring Your Own MCP connector to LongMemory's Streamable HTTP MCP endpoint, covering tunneling for local testing, a TLS-terminated deployment for persistent use, and authentication (
integrations/grok-connectors.md) (#176).
1.0.0 - 2026-08-31
LongMemory 1.0 is a ground-up architecture rewrite rather than an incremental rename of the archived OpenMemory implementation. It consolidates the product around one immutable TypeScript Hydrograph engine shared by every supported surface.
Product rename and release identity
Renamed the product from OpenMemory to LongMemory.
Renamed the npm package and executable to
longmemory.Renamed public environment variables to the
LONGMEMORY_*namespace.Renamed workspace state from
.openmemory/to.longmemory/.Renamed dashboard routes, VS Code command IDs, MCP names, plugin IDs, integration folders, package metadata, assets, and documentation.
Moved the canonical repository to
https://github.com/CaviraOSS/LongMemory.Added an idempotent branding and file-header migration/checking tool.
Added canonical CaviraOSS file headers to every comment-capable active file, with explicit exceptions for strict JSON, binary assets, generated metadata, license texts, and host-owned byte-exact files.
Licensed the repository and primary packages under Apache License 2.0.
Retained MIT only for the separately published n8n community package because n8n's strict validator requires it.
Architecture: pre-phase HSG to immutable Hydrograph
Before the rewrite
The archived pre-phase implementation contained separate Python and JavaScript SDKs, HSG memory sectors, direct framework adapters, multiple storage backends, and a permissive five-tool MCP server. Important behavior was spread across package-specific implementations and asynchronous wrappers.
Observed pre-phase limitations included:
Separate Python and Node engine paths with behavior drift.
Query-time cache and lifecycle mutation.
Wall-clock-sensitive ranking and decay behavior.
Unbatched or per-document embedding requests in several paths.
Direct framework adapters with incomplete asynchronous lifecycle handling.
Model-supplied user identifiers in MCP calls instead of server-bound identity.
Destructive MCP operations without the current deny-by-default allowlist.
Incomplete session isolation in conversational integrations.
Retrieval that could return derived claims without the original source text.
Dense additive graph scoring that diluted strong lexical, vector, or entity evidence when applied universally.
After the rewrite
Replaced the HSG implementation with one immutable Hydrograph substrate.
Made memory content, vectors, content hashes, provenance, valid-time history, and identity immutable after ingest.
Separated mutable activation and lifecycle envelopes from source truth.
Made library, CLI, HTTP, MCP, benchmark, dashboard, and editor surfaces call the same engine instead of maintaining parallel implementations.
Standardized all durable storage around an in-memory store or SQLite.
Separated recorded time from valid time throughout ingest, recall, history, supersession, and conflict handling.
Added executable typed edges, world hierarchy, entities, grounding, contracts, conflict reporting, and explainable ingest/recall traces.
Bound tenant, user, project, team, role, agent, task, and framework identity at trusted runtime boundaries rather than accepting model impersonation.
Kept recall finite, read-only, permission-aware, and token bounded.
Rewrite phase history
The new system was developed in explicit capability phases. Each phase extended the same shared substrate instead of creating a new parallel engine.
Foundation and temporal substrate
Phase 1 - package foundation: established the TypeScript package, public entry points, shared engine rule, CLI/server shells, and invariant documents.
Phase 2 - memory substrate: added immutable nodes, content identity, facets, state envelopes, provenance, working memory, and core stores.
Phase 3 - temporal model: added recorded time, observed time, valid-time intervals, point-in-time filtering, supersession, and timeline reconstruction.
Phase 4 - executable edges: introduced typed edge handlers for support, contradiction, containment, derivation, grounding, equivalence, supersession, and semantic shift.
Phase 5 - entities: added conservative entity resolution, aliases, candidate indexing, merge/create decisions, and temporal entity identity.
Phase 6 - worlds: introduced endocortex/exocortex worlds, parent-child hierarchy, zones, containment, and scoped retrieval.
Phase 7 - grounding: added source-backed facts, reliability, freshness, grounding thresholds, and world-grounded evidence gates.
Phase 8 - contracts: added memory contracts, required/forbidden evidence, contradiction policy, confidence rules, and validation boundaries.
Phase 9 - mathematical primitives: added activation, salience, decay, Hopfield/Oja-style updates, sketches, similarity, and scoring formulas.
Recall and memory evolution
Phase 10 - strict recall: combined temporal validity, confidence, contracts, contradictions, grounding, entities, and bounded ranking.
Phase 11 - historical recall: preserved superseded facts and enabled point-in-time reconstruction without mutating current truth.
Phase 12 - world-grounded recall: required current external evidence for answers that depend on live world state.
Phase 13 - associative recall: added BM25, semantic vectors, entities, activation, graph spread, session signals, diversity, and context assembly.
Phase 14 - reconsolidation: added explicit, immutable memory revision and supersession rather than in-place content rewriting.
Phase 15 - consolidation: added bounded combination of related memories, provenance preservation, and opt-in maintenance.
Phase 16 - compression: added deterministic summaries and layered context compression while preserving lossless source text.
Phase 17 - ingest pipeline: implemented the production staged ingest path, extraction, identity, graph updates, entities, temporal state, and traces.
Persistence and public surfaces
Phase 18 - SQLite: added durable nodes, edges, worlds, entities, grounded facts, sketches, lifecycle state, migrations, integrity, and atomic updates.
Phase 19 - public API: stabilized
createMemory, ingest, recall, explain, world/entity access, timeline, stats, decay, reinforcement, and shutdown.Phase 20 - HTTP server: added dependency-light authenticated API routes, response envelopes, validation, rate limiting, concurrency limits, CORS, telemetry, health, and
Server-Timing.Phase 21 - CLI: added stable JSON automation, interactive TUI behavior, project scoping, ingest/recall/maintenance commands, and server management.
Phase 22 - legacy migration: added SQLite/JSON/JSONL import, duplicate and corruption handling, relation restoration, integrity checks, and reports.
Intelligence, projects, and interoperability
Phase 23 - connector intelligence: added normalized source documents, permissions, provenance, cursors, rate limits, and import plans.
Phase 24 - connector catalog: added GitHub, local files, Markdown, web, feeds, cloud documents, and extensible transport/mapper registries.
Phase 25 - project memory: added tenant/organization/project worlds, architecture, decisions, tasks, conventions, failures, handoffs, and code impact tied to persisted source snapshots.
Phase 26 - multilingual memory: added script/language detection, code-switch handling, multilingual tokenization, transliteration, cross-script aliases, and optional provenance-marked translation.
Phase 27 - MCP: added stdio and authenticated Streamable HTTP transports, 13 governed tools, readable resources, prompts, audit logging, read-only mode, and a deny-by-default tool allowlist.
Phase 28 - recovered features: selectively restored useful archived behavior without restoring query-time mutation or duplicate engines.
Phase 29 - environment embeddings: added OpenAI-compatible, Gemini, AWS Bedrock, Ollama, Siray, local HTTP, and deterministic fallback stacks with dimensions, tiers, retries, timeouts, and batched embedding support.
Phase 30 - performance hardening: added bounded ingest/recall checks, cached immutable preparation, entity indexes, and large-world regression gates.
Phase 31 - retrieval quality: added lossless evidence text, targeted matrix retrieval, calibrated feature fusion, aspect-aware evidence selection, polarity/exception coverage, and deterministic retrieval diagnostics.
Retrieval redesign and measured outcomes
Split speaker identity from ordinary body terms so common participant names no longer dominated BM25 ranking.
Unified query and document token analysis to remove asymmetric stemming and tokenization behavior.
Added lightweight stemming and lexical length calibration.
Disabled RM3 expansion by default after controlled runs showed query drift and lower evidence quality when the initial top results were wrong.
Added a bounded lexical coverage/phrase reranker for shortlist refinement.
Replaced quadratic repeated MMR similarity scans with incremental cached maximum-similarity tracking.
Added lossless evidence reconstruction so answers receive original source text alongside derived facets and claims.
Added matrix-assisted retrieval for universal, contrast, and exception-style questions. Kept it targeted after global application reduced recall.
Preserved the legacy linear calibrated signal blend after RRF experiments degraded Hit@K and MRR by discarding useful score magnitude.
Reduced recall hot-path CPU by adding ASCII script fast paths, eliminating repeated script detection, hoisting tokenizer expressions, avoiding token object materialization, and caching node token counts.
In measured LoCoMo profiling, recall compute at
k=20fell from roughly 147 ms to roughly 89 ms, and ingest CPU fell from 14-46 ms per node to about 10 ms per node without changing retrieval outputs in the controlled check.The complete official comparison made LongMemory the only evaluated provider to complete all selected LongMemEval and LoCoMo cases in that run; competitor failures and incomplete denominators remained explicit rather than being rendered as zero scores.
Deterministic memory lifecycle
Replaced destructive/archive-style decay with deterministic envelope-only decay.
Added hot, warm, and cold base rates adjusted by salience, confidence, grounding, retention, procedural/emotional value, contradiction, source support, and reinforcement.
Made associative recall project decay without persisting it.
Added explicit cursor-bounded
runDecay()maintenance for persistence.Added monotonic, diminishing explicit reinforcement.
Guaranteed that decay and reinforcement never rewrite content, summaries, vectors, provenance, IDs, hashes, or temporal truth.
Added SQLite atomicity and audit records for persisted maintenance.
Governed project and agent memory
Added project world hierarchies and project-isolated connector sync, recall, timelines, decisions, tasks, failures, and context handoffs.
Added immutable reusable Skills with versions, triggers, instructions, validation, resources, archives, and agent bindings.
Added snapshot-derived CodeGraph symbol search, callers, callees, and reverse impact paths.
Added provider-neutral past-agent session import with original role, order, timestamp, tool-call, provider, and source provenance.
Added governed Chat Memory, Skill, LLM-Wiki, and CodeGraph assets.
Added candidate/approved/deprecated/archived/failed lifecycle states.
Added private/project/team/restricted/agent/task visibility and deny-first ACLs for user, team, role, agent, task, and framework identities.
Added deterministic token-budgeted loadouts with direct, summary, tool, and reference injection modes.
Added portable manifests with MCP discovery URIs and optional A2A-compatible Agent Card metadata without claiming a complete A2A task server.
Session porter and AI Wiki
Added read-only discovery and import adapters for Claude Code, Codex, OpenCode, Gemini CLI, VS Code Copilot Chat, Cline, and raw DeepSeek Harness records.
Added portable session IR, preview, select, port, verify, and interactive TUI workflows.
Made import idempotency depend on source harness plus native session ID and an immutable revision hash.
Made changed sessions create new immutable revisions; unchanged sessions skip.
Isolated per-session failures and included them in structured summaries.
Added explicit
--jsonlprogress while preserving one-document JSON for ordinary automation.Added deterministic conversation-to-Markdown LLM-Wiki conversion with source provenance and optional agent binding.
Explicitly rejected unsupported compressed DeepSeek records rather than silently parsing partial concatenated Zstandard frames.
CLI and developer experience
Added a native terminal application with Library, Review, and Transfer views.
Added
init,status,memory list,ingest --stdin, recall, explain, timeline, worlds, entities, migration, maintenance, project, Skill, asset, CodeGraph, agent, session, connector, and benchmark commands.Added stable non-interactive JSON and optional JSONL progress.
Added workspace-aware
.longmemory/project.dbdefaults and global overrides for database, project, user, and working directory.Canonicalized executable and module paths so linked npm shims work on Windows, macOS, and Linux.
Kept prompting exclusive to explicitly interactive workflows.
HTTP API and operational controls
Added
/health,/v1/ingest,/v1/recall,/v1/explain/:id,/v1/worlds,/v1/worlds/:id,/v1/entities/:id,/v1/timeline,/v1/stats, and/v1/runtime.Added consistent
{data, meta}success envelopes and structured errors.Added optional bearer or
X-API-Keyauthentication.Added maximum payload, active request, fixed-window rate limit, CORS, auth logging, runtime telemetry, and graceful close controls.
Added platform-assigned
PORTsupport while preserving local port7331.Added server-side-only dashboard credentials and removed client-bundled API secrets.
MCP and integrations
Added local stdio and authenticated Streamable HTTP MCP transports.
Added 13 high-level tools for context, recall, ingest, decisions, tasks, explanation, conflicts, connectors, Skills, CodeGraph, and governed assets.
Added project resources, prompts, tool filtering, read-only mode, and JSONL audit logs.
Removed the experimental assimilation protocol and all duplicate integration engine wrappers.
Added a strict n8n community node with Recall, Store, Explain, and Stats operations and
usableAsToolsupport.Added an Agent Plugins 1.0 bundle for OpenClaw and compatible hosts.
Added native Claude Code, Codex/ChatGPT desktop, and Gemini CLI packages.
Added Cline, Continue, and LibreChat MCP configuration packs.
Added runnable native-MCP examples for CrewAI, AutoGen, LangGraph/LangChain, OpenAI Agents SDK, and PydanticAI.
Documented native MCP attachment for Dify, Flowise, and other compatible hosts.
Dashboard and VS Code
Added a production Next.js dashboard for health, memory browsing, ingest, project selection, activity, search, timelines, decay, settings, and chat.
Added a same-origin server proxy so API credentials stay server-side.
Removed dashboard controls that attempted to mutate immutable memory content.
Added a native VS Code activity view, status indicators, quick note and selection ingest, recall, project context, explanation, reinforcement, decay, and session import.
Added explicit AI-change sessions that capture bounded, redacted patches from editor buffers and direct workspace writes.
Kept extension-detection heuristics opt-in, low confidence, review-only, and never automatically persisted.
Added process tracking and Windows process-tree shutdown for CLI subprocesses.
Packaged the extension as
longmemory-vscodewith its Apache license.
Connectors and documents
Added a unified connector contract with inspection, preview, dry-run, permissions, provenance, source versions, cursors, rate limits, updates, and deletions.
Added repository and local filesystem intelligence, GitHub transport, Markdown, websites, feeds, cloud services, communication tools, project systems, and data connectors.
Added extraction for PDF, DOCX, HTML, Markdown, plain text, source code, audio transcripts, and video-derived audio.
Added atomic import plans instead of allowing connectors to write arbitrary memory chunks directly.
Embedding providers
Added OpenAI and OpenAI-compatible endpoints.
Added Gemini Embedding 001 with required truncation renormalization.
Added AWS Bedrock Titan, Ollama, Siray, local HTTP, OpenRouter-compatible, and DashScope-compatible configurations.
Added environment-driven fast, smart, deep, and hybrid tiers.
Added timeout, retry, dimension, model, batch size, and ordered fallback controls.
Added batched Gemini embedding requests and provider-specific benchmark batch sizes.
Made official semantic benchmark runs fail closed when a fallback provider was actually used.
Benchmark and release engineering
Replaced the archived benchmark scripts with a manifest-driven TypeScript runner and deterministic checkpoint/resume model.
Added LongMemEval, LoCoMo, BEAM-1M, BEAM-10M, and deterministic smoke datasets.
Added answer-at-every-cutoff evaluation with distinct answerer and judge roles.
Added evidence Hit@K, recall, rank-weighted precision, MRR, nDCG, answer accuracy, temporal categories, abstention, stale-evidence, latency, context, and optional cost metrics.
Added explicit incomplete-run accounting and
N/Avalues instead of silently converting missing evidence or judgments to zero.Added comparative adapters for Mem0, Zep/Graphiti, Cognee, and Supermemory.
Added a stable public K=5 scorecard and benchmark release gates.
Added clean npm package builds that remove stale
distfiles before emission.Added package-content inspection to prevent test, legacy, or removed artifacts from reaching npm.
Added Docker, Compose, Heroku, Railway, Render, DigitalOcean, and Vercel dashboard deployment files.
Added npm, n8n, VS Code, container, and trusted-publisher workflow definitions.
Added dependency auditing and a zero-vulnerability dashboard release lockfile.
Added release validation without shipping active test suites or Vitest.
Breaking changes from pre-phase OpenMemory
The product and repository are now LongMemory.
The primary JavaScript package changed from
openmemory-jstolongmemory.The primary CLI changed from
opm/openmemory-jstolongmemory.Environment variables changed from
OM_*/OPENMEMORY_*toLONGMEMORY_*, with only selected internal configuration aliases retained.The default network port changed from
8080to7331.The default workspace database moved to
.longmemory/project.db.The former embedded Python engine was removed. Python now accesses the single TypeScript engine through the self-hosted HTTP API.
Postgres, Valkey, Qdrant, and separate Python-engine storage claims from the archived line are not part of the LongMemory 1.0 public contract.
Direct LangChain/CrewAI/AutoGen memory wrappers were replaced by official MCP client surfaces and thin examples.
The former permissive MCP query/store/get/delete/list interface was replaced by governed high-level tools with server-bound identity and audit policy.
Destructive delete and model-selected identity are not exposed through the new MCP surface.
Query-time mutation, implicit wall-clock decay, and hidden maintenance timers were removed.
Compatibility is delivered through temporary registry bridge packages, not by preserving old runtime namespaces throughout the engine.
Migration guidance
JavaScript:
npm uninstall openmemory-js
npm install longmemoryPython:
pip uninstall openmemory-py
pip install longmemory-sdkData:
longmemory migrate \
--from ./legacy.db \
--to ./longmemory.db \
--report ./migration-report.jsonSee MIGRATION.md and docs/migration.md
for package, database, and session migration details.
Archived pre-phase lineage
The following entries describe the archived OpenMemory implementation and are not statements about the LongMemory 1.0 public contract.
[OpenMemory 1.3.0] - 2025-12-20
Added
Simplified the archived Python SDK to a zero-configuration
Memory()API.Reworked the archived benchmark suite in TypeScript with LongMemEval and multi-backend comparison.
Added
Memory.wipe()and database reset support for benchmark isolation.Added embedding model, vector dimension, database path, and provider environment overrides.
Added additional Postgres vector-store operation logging.
Fixed
Corrected Ollama model override and embedding dimension handling.
Corrected deep-tier semantic embedding configuration.
Reduced benchmark cross-user contamination through reset handling.
Corrected benchmark environment loading and dataset path resolution.
Changed
Replaced the former
OpenMemoryPython class entry point withMemory.Moved the benchmark implementation from Python to TypeScript.
Expanded archived Python and JavaScript SDK documentation.
[OpenMemory 1.2.2] - 2024-11
Fixed consolidation edge cases.
Improved multi-user query isolation.
Corrected vector dimension handling.
[OpenMemory 1.2.1] - 2024-11
Improved large-dataset performance.
Improved archived sector classification behavior.
[OpenMemory 1.2.0] - 2024-10
Added the original multi-sector memory architecture.
Added the original cognitive decay system.
Added reflection and consolidation.
[OpenMemory 1.1.0] - 2024-09
Added the initial TypeScript SDK.
Added SQLite vector storage.
Added basic query and add operations.
[OpenMemory 1.0.0] - 2024-08
Published the original Python SDK.
Established the initial local-first architecture.
Added basic memory operations.
512 files · 459 not served here
- .agents/plugins/marketplace.json (not served here)
- .do/spec.yaml (not served here)
- .dockerignore (not served here)
- .editorconfig (not served here)
- .env.example (not served here)
- .gitattributes (not served here)
- .github/ISSUE_TEMPLATE/bug_report.yml (not served here)
- .github/ISSUE_TEMPLATE/config.yml (not served here)
- .github/ISSUE_TEMPLATE/feature_request.yml (not served here)
- .github/ascii.txt (not served here)
- .github/banner.png (not served here)
- .github/logo.png (not served here)
- .github/longmemory.gif (not served here)
- .github/pull_request_template.md (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/docker-build.yml (not served here)
- .github/workflows/main.yml (not served here)
- .github/workflows/publish-docker-image.yml (not served here)
- .github/workflows/publish-sdks.yml (not served here)
- .gitignore (not served here)
- .prettierignore (not served here)
- .prettierrc.js (not served here)
- ARCHITECTURE.md
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- Dockerfile (not served here)
- GOVERNANCE.md
- LICENSE
- MIGRATION.md
- Makefile (not served here)
- README.md
- SECURITY.md
- Why.md
- app.json (not served here)
- apps/vscode-extension/.gitignore (not served here)
- apps/vscode-extension/.vscode/launch.json (not served here)
- apps/vscode-extension/.vscode/tasks.json (not served here)
- apps/vscode-extension/CHANGELOG.md (not served here)
- apps/vscode-extension/LICENSE
- apps/vscode-extension/README.md (not served here)
- apps/vscode-extension/esbuild.mjs (not served here)
- apps/vscode-extension/media/longmemory.svg (not served here)
- apps/vscode-extension/package.json (not served here)
- apps/vscode-extension/src/agent_changes.ts (not served here)
- apps/vscode-extension/src/agent_tracker.ts (not served here)
- apps/vscode-extension/src/cli.ts (not served here)
- apps/vscode-extension/src/extension.ts (not served here)
- apps/vscode-extension/src/markdown.ts (not served here)
- apps/vscode-extension/src/memory_tree.ts (not served here)
- apps/vscode-extension/src/status_bar.ts (not served here)
- apps/vscode-extension/src/status_bar_model.ts (not served here)
- apps/vscode-extension/src/types.ts (not served here)
- apps/vscode-extension/tsconfig.json (not served here)
- benchmarks/FAILURE_ANALYSIS.md (not served here)
- benchmarks/README.md (not served here)
- benchmarks/src/ai/index.ts (not served here)
- benchmarks/src/ai/judge.ts (not served here)
- benchmarks/src/ai/model.ts (not served here)
- benchmarks/src/ai/prompts.ts (not served here)
- benchmarks/src/check.ts (not served here)
- benchmarks/src/checkpoint.ts (not served here)
- benchmarks/src/cli.ts (not served here)
- benchmarks/src/config.ts (not served here)
- benchmarks/src/datasets/beam.ts (not served here)
- benchmarks/src/datasets/download.ts (not served here)
- benchmarks/src/datasets/index.ts (not served here)
- benchmarks/src/datasets/public.ts (not served here)
- benchmarks/src/datasets/smoke.ts (not served here)
- benchmarks/src/metrics.ts (not served here)
- benchmarks/src/official.ts (not served here)
- benchmarks/src/providers/cognee.ts (not served here)
- benchmarks/src/providers/graphiti.ts (not served here)
- benchmarks/src/providers/http.ts (not served here)
- benchmarks/src/providers/index.ts (not served here)
- benchmarks/src/providers/longmemory.ts (not served here)
- benchmarks/src/providers/mem0.ts (not served here)
- benchmarks/src/providers/shared.ts (not served here)
- benchmarks/src/providers/supermemory.ts (not served here)
- benchmarks/src/report.ts (not served here)
- benchmarks/src/runner.ts (not served here)
- benchmarks/src/scorecard.ts (not served here)
- benchmarks/src/source_ref.ts (not served here)
- benchmarks/src/types.ts (not served here)
- benchmarks/src/ui.ts (not served here)
- benchmarks/tsconfig.json (not served here)
- dashboard/.env.local.example (not served here)
- dashboard/CHAT_SETUP.md (not served here)
- dashboard/Dockerfile (not served here)
- dashboard/README.md (not served here)
- dashboard/app/api/longmemory/[...path]/route.ts (not served here)
- dashboard/app/api/settings/route.ts (not served here)
- dashboard/app/chat/page.tsx (not served here)
- dashboard/app/decay/page.tsx (not served here)
- dashboard/app/globals.css (not served here)
- dashboard/app/layout.tsx (not served here)
- dashboard/app/memories/page.tsx (not served here)
- dashboard/app/page.tsx (not served here)
- dashboard/app/settings/page.tsx (not served here)
- dashboard/app/timeline/page.tsx (not served here)
- dashboard/components.json (not served here)
- dashboard/components/dashboard/HealthMetric.tsx (not served here)
- dashboard/components/dashboard/StatCard.tsx (not served here)
- dashboard/components/navbar.tsx (not served here)
- dashboard/components/sidebar.tsx (not served here)
- dashboard/eslint.config.mjs (not served here)
- dashboard/instrumentation.ts (not served here)
- dashboard/lib/api.ts (not served here)
- dashboard/lib/colors.ts (not served here)
- dashboard/lib/memory-ai-engine.ts (not served here)
- dashboard/lib/project-context.tsx (not served here)
- dashboard/lib/utils.ts (not served here)
- dashboard/next-env.d.ts (not served here)
- dashboard/next.config.js (not served here)
- dashboard/package-lock.json (not served here)
- dashboard/package.json (not served here)
- dashboard/postcss.config.mjs (not served here)
- dashboard/public/favicon.ico (not served here)
- dashboard/tsconfig.json (not served here)
- dashboard/tsconfig.tsbuildinfo (not served here)
- docker-compose.yml (not served here)
- docs/agent-assets.md
- docs/ai-context.md
- docs/ai-rules.md
- docs/answering.md
- docs/api.md
- docs/architecture.md
- docs/associative-recall.md
- docs/cli.md
- docs/compression.md
- docs/connectors.md
- docs/consolidation.md
- docs/contracts.md
- docs/decisions.md
- docs/edges.md
- docs/embeddings.md
- docs/entities.md
- docs/formulas.md
- docs/grounding.md
- docs/historical-recall.md
- docs/immutability.md
- docs/ingest.md
- docs/invariants.md
- docs/matrix-retrieval-redesign.md
- docs/mcp.md
- docs/migration.md
- docs/multilingual.md
- docs/project-memory.md
- docs/reconsolidation.md
- docs/session-porter.md
- docs/sqlite.md
- docs/strict-recall.md
- docs/temporal.md
- docs/world-grounded-recall.md
- docs/worlds.md
- header.txt (not served here)
- heroku.yml (not served here)
- integrations/README.md (not served here)
- integrations/claude-code-longmemory/.claude-plugin/plugin.json (not served here)
- integrations/claude-code-longmemory/.mcp.json (not served here)
- integrations/claude-code-longmemory/LICENSE
- integrations/claude-code-longmemory/README.md (not served here)
- integrations/claude-code-longmemory/skills/longmemory/SKILL.md (not served here)
- integrations/codex-longmemory/.codex-plugin/plugin.json (not served here)
- integrations/codex-longmemory/.mcp.json (not served here)
- integrations/codex-longmemory/LICENSE
- integrations/codex-longmemory/README.md (not served here)
- integrations/codex-longmemory/skills/longmemory/SKILL.md (not served here)
- integrations/frameworks/README.md (not served here)
- integrations/frameworks/autogen/main.py (not served here)
- integrations/frameworks/autogen/requirements.txt (not served here)
- integrations/frameworks/crewai/main.py (not served here)
- integrations/frameworks/crewai/requirements.txt (not served here)
- integrations/frameworks/langgraph/main.py (not served here)
- integrations/frameworks/langgraph/requirements.txt (not served here)
- integrations/frameworks/openai-agents/main.py (not served here)
- integrations/frameworks/openai-agents/requirements.txt (not served here)
- integrations/frameworks/pydantic-ai/main.py (not served here)
- integrations/frameworks/pydantic-ai/requirements.txt (not served here)
- integrations/gemini-cli-longmemory/GEMINI.md (not served here)
- integrations/gemini-cli-longmemory/LICENSE
- integrations/gemini-cli-longmemory/README.md (not served here)
- integrations/gemini-cli-longmemory/gemini-extension.json (not served here)
- integrations/grok-connectors.md (not served here)
- integrations/longmemory-agent-plugin/LICENSE
- integrations/longmemory-agent-plugin/README.md (not served here)
- integrations/longmemory-agent-plugin/mcp.json (not served here)
- integrations/longmemory-agent-plugin/plugin.json (not served here)
- integrations/longmemory-agent-plugin/skills/longmemory/SKILL.md (not served here)
- integrations/mcp-configs/README.md (not served here)
- integrations/mcp-configs/cline.json (not served here)
- integrations/mcp-configs/continue.yaml (not served here)
- integrations/mcp-configs/librechat.yaml (not served here)
- integrations/n8n-nodes-longmemory/LICENSE
- integrations/n8n-nodes-longmemory/README.md (not served here)
- integrations/n8n-nodes-longmemory/credentials/LongMemoryApi.credentials.ts (not served here)
- integrations/n8n-nodes-longmemory/credentials/longmemory.svg (not served here)
- integrations/n8n-nodes-longmemory/eslint.config.mjs (not served here)
- integrations/n8n-nodes-longmemory/nodes/LongMemory/LongMemory.node.json (not served here)
- integrations/n8n-nodes-longmemory/nodes/LongMemory/LongMemory.node.ts (not served here)
- integrations/n8n-nodes-longmemory/nodes/LongMemory/longmemory.dark.svg (not served here)
- integrations/n8n-nodes-longmemory/nodes/LongMemory/longmemory.svg (not served here)
- integrations/n8n-nodes-longmemory/package.json (not served here)
- integrations/n8n-nodes-longmemory/tsconfig.json (not served here)
- models.yml (not served here)
- package.json (not served here)
- packages/longmemory-py/LICENSE
- packages/longmemory-py/README.md (not served here)
- packages/longmemory-py/pyproject.toml (not served here)
- packages/longmemory-py/src/longmemory/__init__.py (not served here)
- packages/longmemory-py/src/longmemory/client.py (not served here)
- packages/longmemory-py/src/longmemory/errors.py (not served here)
- packages/longmemory-py/src/longmemory/py.typed (not served here)
- pnpm-lock.yaml (not served here)
- pnpm-workspace.yaml (not served here)
- railway.json (not served here)
- render.yaml (not served here)
- src/answering/evidence_reader.ts (not served here)
- src/cli/cli_app.ts (not served here)
- src/cli/commands/agent/after_run.ts (not served here)
- src/cli/commands/agent/context.ts (not served here)
- src/cli/commands/agent/manifest.ts (not served here)
- src/cli/commands/agent/preflight.ts (not served here)
- src/cli/commands/agent/remember_failure.ts (not served here)
- src/cli/commands/asset/common.ts (not served here)
- src/cli/commands/asset/govern.ts (not served here)
- src/cli/commands/asset/list.ts (not served here)
- src/cli/commands/asset/loadout.ts (not served here)
- src/cli/commands/asset/register.ts (not served here)
- src/cli/commands/bench.ts (not served here)
- src/cli/commands/code/callees.ts (not served here)
- src/cli/commands/code/callers.ts (not served here)
- src/cli/commands/code/impact.ts (not served here)
- src/cli/commands/code/search.ts (not served here)
- src/cli/commands/connectors/add.ts (not served here)
- src/cli/commands/connectors/list.ts (not served here)
- src/cli/commands/connectors/status.ts (not served here)
- src/cli/commands/connectors/sync.ts (not served here)
- src/cli/commands/doctor.ts (not served here)
- src/cli/commands/explain.ts (not served here)
- src/cli/commands/ingest.ts (not served here)
- src/cli/commands/init.ts (not served here)
- src/cli/commands/maintenance/decay.ts (not served here)
- src/cli/commands/maintenance/reinforce.ts (not served here)
- src/cli/commands/mcp.ts (not served here)
- src/cli/commands/memory/list.ts (not served here)
- src/cli/commands/memory/summary.ts (not served here)
- src/cli/commands/porter/common.ts (not served here)
- src/cli/commands/porter/detect.ts (not served here)
- src/cli/commands/porter/port.ts (not served here)
- src/cli/commands/porter/tui.ts (not served here)
- src/cli/commands/porter/verify.ts (not served here)
- src/cli/commands/project/conflicts.ts (not served here)
- src/cli/commands/project/context.ts (not served here)
- src/cli/commands/project/decisions.ts (not served here)
- src/cli/commands/project/handoff.ts (not served here)
- src/cli/commands/project/init.ts (not served here)
- src/cli/commands/project/tasks.ts (not served here)
- src/cli/commands/recall.ts (not served here)
- src/cli/commands/serve.ts (not served here)
- src/cli/commands/session/discover.ts (not served here)
- src/cli/commands/session/import.ts (not served here)
- src/cli/commands/session/list.ts (not served here)
- src/cli/commands/session/wiki.ts (not served here)
- src/cli/commands/skill/archive.ts (not served here)
- src/cli/commands/skill/bind.ts (not served here)
- src/cli/commands/skill/create.ts (not served here)
- src/cli/commands/skill/list.ts (not served here)
- src/cli/commands/skill/match.ts (not served here)
- src/cli/commands/status.ts (not served here)
- src/cli/commands/timeline.ts (not served here)
- src/cli/context/cli_context.ts (not served here)
- src/cli/context/config_loader.ts (not served here)
- src/cli/context/cwd_project.ts (not served here)
- src/cli/context/project_scope.ts (not served here)
- src/cli/index.ts (not served here)
- src/cli/main.ts (not served here)
- src/cli/output/empty_state.ts (not served here)
- src/cli/output/errors.ts (not served here)
- src/cli/output/json.ts (not served here)
- src/cli/output/panel.ts (not served here)
- src/cli/output/pretty.ts (not served here)
- src/cli/output/progress.ts (not served here)
- src/cli/output/spinner.ts (not served here)
- src/cli/output/table.ts (not served here)
- src/cli/output/tree.ts (not served here)
- src/cli/output/utility_window.ts (not served here)
- src/cli/porter/adapters/claude_code.ts (not served here)
- src/cli/porter/adapters/cline.ts (not served here)
- src/cli/porter/adapters/codex.ts (not served here)
- src/cli/porter/adapters/copilot_chat.ts (not served here)
- src/cli/porter/adapters/deepseek_harness.ts (not served here)
- src/cli/porter/adapters/gemini_cli.ts (not served here)
- src/cli/porter/adapters/opencode.ts (not served here)
- src/cli/porter/adapters/shared.ts (not served here)
- src/cli/porter/detect.ts (not served here)
- src/cli/porter/filesystem.ts (not served here)
- src/cli/porter/orchestrator.ts (not served here)
- src/cli/porter/preview.ts (not served here)
- src/cli/porter/types.ts (not served here)
- src/cli/porter/wiki.ts (not served here)
- src/cli/theme/badges.ts (not served here)
- src/cli/theme/colors.ts (not served here)
- src/cli/theme/icons.ts (not served here)
- src/cli/theme/layout.ts (not served here)
- src/connectors/adapter_connector.ts (not served here)
- src/connectors/cloud/cloud_connectors.ts (not served here)
- src/connectors/cloud/cloud_transports.ts (not served here)
- src/connectors/configurable_connector.ts (not served here)
- src/connectors/docs/docs_connector.ts (not served here)
- src/connectors/docs/docs_mapper.ts (not served here)
- src/connectors/domain_mapper.ts (not served here)
- src/connectors/extraction/content_extractor.ts (not served here)
- src/connectors/extraction/document_connector.ts (not served here)
- src/connectors/extraction/document_transport.ts (not served here)
- src/connectors/github/github_connector.ts (not served here)
- src/connectors/github/github_mapper.ts (not served here)
- src/connectors/index.ts (not served here)
- src/connectors/local/local_file_connector.ts (not served here)
- src/connectors/local/markdown_connector.ts (not served here)
- src/connectors/local/markdown_parser.ts (not served here)
- src/connectors/mock_connector.ts (not served here)
- src/connectors/plan_helpers.ts (not served here)
- src/connectors/registry.ts (not served here)
- src/connectors/service_catalog.ts (not served here)
- src/connectors/transports/base.ts (not served here)
- src/connectors/transports/extractors/file_analysis.ts (not served here)
- src/connectors/transports/extractors/language.ts (not served here)
- src/connectors/transports/filesystem.ts (not served here)
- src/connectors/transports/github.ts (not served here)
- src/connectors/transports/rest.ts (not served here)
- src/connectors/transports/types.ts (not served here)
- src/connectors/transports/web.ts (not served here)
- src/connectors/web/website_connector.ts (not served here)
- src/connectors/youtube/youtube_connector.ts (not served here)
- src/connectors/youtube/youtube_mapper.ts (not served here)
- src/core/connectors/connector.ts (not served here)
- src/core/connectors/connector_ingest.ts (not served here)
- src/core/connectors/connector_registry.ts (not served here)
- src/core/connectors/index.ts (not served here)
- src/core/connectors/permission.ts (not served here)
- src/core/connectors/provenance_mapper.ts (not served here)
- src/core/connectors/rate_limit.ts (not served here)
- src/core/connectors/source_document.ts (not served here)
- src/core/connectors/source_event.ts (not served here)
- src/core/connectors/sync_cursor.ts (not served here)
- src/core/create_memory.ts (not served here)
- src/core/edges/edge_context.ts (not served here)
- src/core/edges/edge_registry.ts (not served here)
- src/core/edges/edge_runtime.ts (not served here)
- src/core/edges/handlers/contains.ts (not served here)
- src/core/edges/handlers/contradicts.ts (not served here)
- src/core/edges/handlers/derived_from.ts (not served here)
- src/core/edges/handlers/grounds.ts (not served here)
- src/core/edges/handlers/index.ts (not served here)
- src/core/edges/handlers/same_as.ts (not served here)
- src/core/edges/handlers/semantic_shift.ts (not served here)
- src/core/edges/handlers/supersedes.ts (not served here)
- src/core/edges/handlers/supports.ts (not served here)
- src/core/edges/index.ts (not served here)
- src/core/embeddings/environment.ts (not served here)
- src/core/embeddings/index.ts (not served here)
- src/core/embeddings/providers.ts (not served here)
- src/core/embeddings/stack.ts (not served here)
- src/core/embeddings/types.ts (not served here)
- src/core/embeddings/utility.ts (not served here)
- src/core/engine/claim_extractor.ts (not served here)
- src/core/engine/facet_extractor.ts (not served here)
- src/core/engine/index.ts (not served here)
- src/core/engine/ingest_engine.ts (not served here)
- src/core/engine/ingest_transaction.ts (not served here)
- src/core/engine/perception_parser.ts (not served here)
- src/core/grounding/exocortex.ts (not served here)
- src/core/grounding/grounding_score.ts (not served here)
- src/core/grounding/index.ts (not served here)
- src/core/grounding/resonance.ts (not served here)
- src/core/grounding/world_update.ts (not served here)
- src/core/grounding/worlddb_adapter.ts (not served here)
- src/core/hash/canonical_json.ts (not served here)
- src/core/hash/content_hash.ts (not served here)
- src/core/hash/index.ts (not served here)
- src/core/hash/merkle.ts (not served here)
- src/core/i18n/crosslingual_recall.ts (not served here)
- src/core/i18n/index.ts (not served here)
- src/core/i18n/language_detection.ts (not served here)
- src/core/i18n/locale_context.ts (not served here)
- src/core/i18n/multilingual_embeddings.ts (not served here)
- src/core/i18n/multilingual_entity_resolver.ts (not served here)
- src/core/i18n/multilingual_tokenizer.ts (not served here)
- src/core/i18n/normalization.ts (not served here)
- src/core/i18n/script_detection.ts (not served here)
- src/core/i18n/transliteration.ts (not served here)
- src/core/index.ts (not served here)
- src/core/invariants.ts (not served here)
- src/core/math/activation.ts (not served here)
- src/core/math/contradiction.ts (not served here)
- src/core/math/count_min.ts (not served here)
- src/core/math/decay.ts (not served here)
- src/core/math/evidence.ts (not served here)
- src/core/math/frequent_directions.ts (not served here)
- src/core/math/index.ts (not served here)
- src/core/math/oja.ts (not served here)
- src/core/math/sketches.ts (not served here)
- src/core/math/surprise.ts (not served here)
- src/core/math/utility.ts (not served here)
- src/core/memory/consolidation.ts (not served here)
- src/core/memory/decay_engine.ts (not served here)
- src/core/memory/durable_graph.ts (not served here)
- src/core/memory/index.ts (not served here)
- src/core/memory/pattern_detector.ts (not served here)
- src/core/memory/procedure_builder.ts (not served here)
- src/core/memory/reconsolidation.ts (not served here)
- src/core/memory/reflection_builder.ts (not served here)
- src/core/memory/working_memory.ts (not served here)
- src/core/migration/index.ts (not served here)
- src/core/migration/legacy_cleaner.ts (not served here)
- src/core/migration/legacy_mapper.ts (not served here)
- src/core/migration/legacy_reader.ts (not served here)
- src/core/migration/migration_report.ts (not served here)
- src/core/project/index.ts (not served here)
- src/core/project/project_agent_manifest.ts (not served here)
- src/core/project/project_assets.ts (not served here)
- src/core/project/project_code_index.ts (not served here)
- src/core/project/project_context.ts (not served here)
- src/core/project/project_conventions.ts (not served here)
- src/core/project/project_decisions.ts (not served here)
- src/core/project/project_ingest.ts (not served here)
- src/core/project/project_memory.ts (not served here)
- src/core/project/project_recall.ts (not served here)
- src/core/project/project_sessions.ts (not served here)
- src/core/project/project_skills.ts (not served here)
- src/core/project/project_state.ts (not served here)
- src/core/project/project_tasks.ts (not served here)
- src/core/project/project_world.ts (not served here)
- src/core/recall/activation_spread.ts (not served here)
- src/core/recall/associative_recall.ts (not served here)
- src/core/recall/candidate_selection.ts (not served here)
- src/core/recall/context_builder.ts (not served here)
- src/core/recall/contract_gate.ts (not served here)
- src/core/recall/evidence.ts (not served here)
- src/core/recall/evidence_selection.ts (not served here)
- src/core/recall/explain_trace.ts (not served here)
- src/core/recall/fusion.ts (not served here)
- src/core/recall/grounded_recall.ts (not served here)
- src/core/recall/grounding_trace.ts (not served here)
- src/core/recall/historical_recall.ts (not served here)
- src/core/recall/hopfield_recall.ts (not served here)
- src/core/recall/index.ts (not served here)
- src/core/recall/matrix_fusion.ts (not served here)
- src/core/recall/mode_gates.ts (not served here)
- src/core/recall/recall_planner.ts (not served here)
- src/core/recall/recall_text.ts (not served here)
- src/core/recall/rerank.ts (not served here)
- src/core/recall/scoring.ts (not served here)
- src/core/recall/strict_recall.ts (not served here)
- src/core/recall/subject_relevance.ts (not served here)
- src/core/recall/timeline_builder.ts (not served here)
- src/core/resolver/alias_index.ts (not served here)
- src/core/resolver/candidate_merge.ts (not served here)
- src/core/resolver/entity_candidate_index.ts (not served here)
- src/core/resolver/entity_resolver.ts (not served here)
- src/core/resolver/entity_score.ts (not served here)
- src/core/resolver/index.ts (not served here)
- src/core/resolver/semantic_drift.ts (not served here)
- src/core/temporal/bitemporal.ts (not served here)
- src/core/temporal/index.ts (not served here)
- src/core/temporal/interval_algebra.ts (not served here)
- src/core/temporal/mvcc.ts (not served here)
- src/core/types.ts (not served here)
- src/core/types/contract.ts (not served here)
- src/core/types/contradiction.ts (not served here)
- src/core/types/entity.ts (not served here)
- src/core/types/evidence.ts (not served here)
- src/core/types/facets.ts (not served here)
- src/core/types/hydro_edge.ts (not served here)
- src/core/types/hydro_node.ts (not served here)
- src/core/types/index.ts (not served here)
- src/core/types/node_state.ts (not served here)
- src/core/types/provenance.ts (not served here)
- src/core/types/recall_mode.ts (not served here)
- src/core/types/world.ts (not served here)
- src/core/worlds/index.ts (not served here)
- src/core/worlds/recursive_world.ts (not served here)
- src/core/worlds/world_composer.ts (not served here)
- src/core/worlds/world_contracts.ts (not served here)
- src/core/worlds/world_embedding.ts (not served here)
- src/index.ts (not served here)
- src/mcp/index.ts (not served here)
- src/mcp/mcp_server.ts (not served here)
- src/mcp/prompts/after_coding.ts (not served here)
- src/mcp/prompts/architecture_context.ts (not served here)
- src/mcp/prompts/before_coding.ts (not served here)
- src/mcp/prompts/common.ts (not served here)
- src/mcp/prompts/debug_session.ts (not served here)
- src/mcp/prompts/project_handoff.ts (not served here)
- src/mcp/resources/agent_manifest.ts (not served here)
- src/mcp/resources/assets.ts (not served here)
- src/mcp/resources/common.ts (not served here)
- src/mcp/resources/conflicts.ts (not served here)
- src/mcp/resources/decisions.ts (not served here)
- src/mcp/resources/entity.ts (not served here)
- src/mcp/resources/memory.ts (not served here)
- src/mcp/resources/project_context.ts (not served here)
- src/mcp/resources/project_summary.ts (not served here)
- src/mcp/resources/projects.ts (not served here)
- src/mcp/resources/skills.ts (not served here)
- src/mcp/resources/tasks.ts (not served here)
- src/mcp/resources/world.ts (not served here)
- src/mcp/runtime.ts (not served here)
- src/mcp/schemas/resource_schemas.ts (not served here)
Advantages
- Supports temporal truth by separating recorded time from valid time, allowing for historical accuracy. evidence: README.md
- Provides immutable memory where content and provenance are preserved, preventing accidental overwrites. evidence: README.md
- Enforces governance policies for projects, teams, and roles to ensure secure and scoped memory access. evidence: README.md
Limitations
- Requires manual configuration for network deployment, including API key management and TLS termination. evidence: README.md
- The Python SDK requires a running LongMemory server instance for persistent storage. evidence: README.md
Security
Risk level: Low risk
This brain runs
Install scripts (1)
Makefile(make install):corepack enable; pnpm install --frozen-lockfile
MCP servers (2)
integrations/claude-code-longmemory/.mcp.json(longmemory):longmemory mcp --project currentintegrations/gemini-cli-longmemory/gemini-extension.json(longmemory):longmemory mcp --project current
- Low risk: scripts-present (benchmarks/src/official.ts)
- Low risk: scripts-present (src/cli/index.ts)
- Low risk: scripts-present (tools/check-integrations.mjs)
Attribution and licence
- Created by
- CaviraOSS
- First committed by
- @nullure
- Declared authors
- CaviraOSS (declared in package.json)
- Publisher
- Cavira (Community)
- Source
- CaviraOSS/LongMemory · commit aec98ce
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by CaviraOSS.
Install from source
459 of its files are not served here, so there is no ZIP. CaviraOSS/LongMemory at aec98ce