Memento

com.runmemento由 runmemento.com 發布v0.9.2更新於 Oct 25, 2026

Local-first, LLM-agnostic memory layer for AI assistants.

已驗證STDIO僅桌面資料庫知識與記憶

概覽

AI 產生的概覽

本地優先的記憶層,讓任何支援 MCP 的 AI 助理跨工作階段保存並回想結構化的事實、偏好、決策、待辦與程式碼片段。

可以做什麼
在本地 SQLite 資料庫中保存與檢索帶類型的記憶(事實、偏好、決策、待辦、程式碼片段),支援全文檢索與可選的向量檢索,可跨工作階段與跨用戶端使用。稽核與整理記憶庫:每次寫入都會留下紀錄,衝突會浮現待處理,未確認的記憶會衰減。安裝、預覽、列出與移除精選記憶包,也可從既有記憶建立記憶包以供分享。以 JSONL 匯出與匯入記憶,備份與壓縮記憶庫。透過僅限本機的瀏覽器儀表板檢視與管理記憶庫。
適用情境
適合希望助理記住你的偏好、專案慣例與過往決策、不必每次工作階段重新說明,並且希望這些記憶留在本機、能在不同 AI 用戶端之間通用,而不是綁定某一家廠商記憶功能的場景。
執行需求
透過 npx 以 stdio 在本機執行;需要 Node.js 22.11 或更新版本,在沒有預先編譯套件的平台上還需要 C/C++ 工具鏈來編譯 better-sqlite3。需先執行一次 init 指令建立資料庫;可用 MEMENTO_DB 環境變數指定自訂資料庫路徑。向量檢索首次使用時會下載約 110 MB 的模型;未下載時檢索退化為僅全文檢索。
安裝前請注意
init 流程可能將一段 persona 片段寫入 CLAUDE.md、AGENTS.md、Cline 規則等 AI 用戶端指令檔;此操作可重複執行且可移除,但會修改專案以外的檔案。助理可以寫入、修改與刪除已存記憶,衝突或衰減會影響回想結果。正規表達式清洗器會在持久化前移除機密,但屬於樣式比對,仍應避免存入憑證。儀表板僅綁定本機位址。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Memento,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Memento]

[CI] [CodeQL] [npm] [MCP Registry] [License: Apache-2.0] [Node.js: 22.11+]

A local-first, LLM-agnostic memory layer for AI assistants
runmemento.com

Every AI session starts the same way: re-explaining your preferences, your project's conventions, the decisions you made last week, the dead-ends to avoid. Each tool solves this in its own siloed way (CLAUDE.md, .cursorrules, copilot-instructions.md, ChatGPT Memory) — but you, the human, are the one constant. Your memory shouldn't fragment across vendors.

Memento is one place where that memory lives. It runs an MCP server over a local SQLite file, so any MCP-capable AI assistant — Claude Desktop, Claude Code, Cursor, GitHub Copilot, Cline, OpenCode, Aider, a research bot, a custom agent — can read and write durable, structured memory about you, your work, and your decisions. Local-first, no outbound network calls by default, no vendor lock-in.

[Claude Chat answering 'what did we lock-in for the dashboard revamp last week?' by recalling memories from Memento — the assistant uses the Memento integration, calls search and confirm, and returns a structured answer with no re-explanation from the user]

A fresh chat with no prior context — Memento supplies the memory of what was decided last week.

Quickstart

Three steps from zero to a working memory layer:

1. Run init (interactive on a TTY)

bash
npx @psraghuveer/memento init

Creates the database under the XDG default ($XDG_DATA_HOME/memento/memento.db, typically ~/.local/share/memento/memento.db on POSIX), runs migrations, and — on a TTY — walks you through four one-keystroke setup questions:

  • Your preferred name. Stored as the user.preferredName config key so memories read "Raghu prefers …" instead of "The user prefers …".
  • Install the bundled skill? One y/N. Copies skills/memento/ into ~/.claude/skills/ for clients that load Anthropic-format skills.
  • Seed with a starter pack? Pick one of four bundled packs (engineering-simplicity, pragmatic-programmer, twelve-factor-app, google-sre) so your store has useful memories on day one. Skip to start empty.
  • Auto-install the persona snippet? Detects AI clients on your machine and writes a marker-wrapped block to each one's user-scope custom-instructions file (~/.claude/CLAUDE.md for Claude Code, ~/.config/opencode/AGENTS.md for OpenCode, ~/Documents/Cline/Rules/memento.md for Cline). Idempotent and removable. UI-only clients (Cowork, Claude Desktop, Claude Chat, Cursor User Rules) get printed paste instructions instead.

Then prints copy-paste MCP snippets for every supported client. Idempotent — re-run any time to reprint the snippets and re-ask anything you skipped. Pass --no-prompt to suppress the interactive flow (CI, scripts).

2. Connect your AI client

init prints either a one-line subcommand (where the client ships one) or a JSON snippet to merge into the client's MCP config. Pick the one for your client, paste it, then restart the client so it loads the new MCP server.

The full per-client walkthrough lives in docs/guides/mcp-client-setup.md.

3. Confirm the persona snippet reaches your assistant

Memento ships three teaching surfaces — an MCP instructions spine on the wire, a bundled skill for skill-capable clients, and the persona snippet. Of the three, only the persona snippet is guaranteed to reach the assistant's system prompt on every message — the MCP spec leaves instructions optional and client implementations vary in whether they surface it; the skill is intent-triggered so it doesn't fire on neutral first messages.

If you said Y to the persona auto-install prompt in Step 1, this is already done for every file-based AI client detected on your machine — the snippet was written to ~/.claude/CLAUDE.md, ~/.config/opencode/AGENTS.md, and/or ~/Documents/Cline/Rules/memento.md as applicable. For UI-only clients (Cowork, Claude Desktop, Claude Chat at claude.ai, Cursor User Rules) and for any client you have where the auto-installer didn't fire, copy the persona snippet from docs/guides/teach-your-assistant.md and paste it into the client's custom-instructions / system-prompt slot (the field's name varies — "Custom Instructions" in the client's settings UI, etc.).

That's it. Verify the wire works end-to-end with npx @psraghuveer/memento verify-setup — a write/search/cleanup round-trip that proves your assistant can actually call Memento.

Then try a fresh session: "Remember that I prefer pnpm over npm for Node projects." In the next session, ask "What's my preferred package manager?" and the assistant should recall it without you re-explaining.

Seed your store with a pack

A fresh Memento install is empty. Packs are curated YAML bundles of memories you can install in one step — a stack guide (Rust + Axum, TypeScript + pnpm, Python + uv…), a team's conventions, or a personal set you authored on another machine.

bash
memento pack install engineering-simplicity

That command installs one of the bundled packs — eleven memories distilled from John Maeda's The Laws of Simplicity. Four bundled packs ship out of the box: engineering-simplicity, pragmatic-programmer (Hunt & Thomas's tips), twelve-factor-app (Wiggins / Heroku), and google-sre (Google's SRE books). Preview before installing with memento pack preview <id-or-path>; list what's installed with memento pack list; remove any time with memento pack uninstall <id> --confirm (dry-run by default).

Packs are also how you share. Author one from your existing memories with memento pack create, then distribute it as a file, an HTTPS URL, or a community contribution. The reserved pack:<id>:<version> tag stamps every pack-installed memory so provenance never drifts. Full guide: docs/guides/packs.md. Design rationale: ADR-0020.

Getting started

Prerequisites. Node.js ≥ 22.11, and a C/C++ toolchain so better-sqlite3 can compile on platforms without a prebuild (Xcode command-line tools on macOS, build-essential on Debian/Ubuntu).

Run init once to set things up:

bash
npx @psraghuveer/memento init

init defaults the database to the XDG data dir; pass --db /custom/path/memento.db (or set MEMENTO_DB=/custom/path/memento.db) if you want a non-default location.

To run the server directly (e.g. for debugging):

bash
npx @psraghuveer/memento serve

The server listens on stdio for MCP requests. To pass extra flags (e.g. a custom database location):

bash
npx @psraghuveer/memento serve --db ~/.local/share/memento/memento.db

You can also point at an existing database with the MEMENTO_DB environment variable.

Verify the install by running npx @psraghuveer/memento doctor (add --quick to skip the DB and embedder probes; add --mcp to also scan known MCP client config files). For a one-screen summary of what's in your store, npx @psraghuveer/memento status. To inspect what your install can do — registered commands, current config, database location — without speaking MCP, run npx @psraghuveer/memento context. To smoke-test the MCP transport end-to-end, npx @psraghuveer/memento ping.

Wiring Memento into an MCP client (Claude Desktop, Claude Code, Cursor, Cline, OpenCode, VS Code Agent mode, …) is covered step by step in docs/guides/mcp-client-setup.md. The TL;DR is the three-step quickstart above: init (which auto-installs the persona snippet into detected file-based clients if you say Y), paste the MCP-server snippet into your client, then for UI-only clients paste the persona snippet manually.

Vector retrieval (paraphrase matching on top of FTS) is on by default. The first search triggers a one-time model download (~110 MB) into $XDG_CACHE_HOME/memento/models (or ~/.cache/memento/models / %LOCALAPPDATA%\memento\Cache\models); after that, both FTS and vector arms run automatically. If the model has not yet downloaded, search degrades gracefully to FTS-only. For configuration options and library-wiring details, see docs/guides/embeddings.md.

Operating the store day-to-day — compact, backup, status, scheduling — is covered in docs/guides/operations.md. The conflict workflow is in docs/guides/conflicts.md. To prime an AI assistant on how to use Memento well, see docs/guides/teach-your-assistant.md — and, if your client loads Anthropic-format skills, install the bundled skill as on-intent enrichment over the persona snippet.

See and curate your store in a browser. npx @psraghuveer/memento dashboard launches a local-first web UI that reads against your MEMENTO_DB: memory counts by kind and scope, audit trail, conflict triage, config inspection, installed packs. Localhost-only, gated by a per-launch random token in the URL the launcher hands the browser, no telemetry. The dashboard is a sibling package (@psraghuveer/memento-dashboard) shipped under ADR-0018; see docs/guides/dashboard.md for the full walkthrough.

Stuck? Common failure modes (better-sqlite3 build errors, command not found: memento, STORAGE_ERRORs, missing embedder dependency) are covered in docs/guides/troubleshooting.md.

For the contributor workflow (branching, commit conventions, PR checklist) see CONTRIBUTING.md. AI agents working on the codebase must also read AGENTS.md.

Guiding principles

These are the four principles every design decision is judged against. They are documented at length in ARCHITECTURE.md.

  1. First principles. Every construct exists because we proved we need it, not because it's how things are usually done.
  2. Modular. Any component can be replaced without rewriting the rest.
  3. Extensible. New variants don't require breaking changes.
  4. Config-driven by the user. Behavior is shaped by configuration, not by code.

What Memento is

Four pillars. Same four words used everywhere else this is described.

  • Local. One SQLite file under your home directory. No cloud, no telemetry, no outbound network calls by default. Fully offline.
  • Typed. Five memory kinds — fact, preference, decision, todo, snippet — with kind-specific fields (a decision carries its rationale, a todo its due date, a snippet its language). The assistant can reason about what's still true, not just retrieve text blobs.
  • Audited. Every write produces an event in an append-only log. Conflicts surface for triage instead of silently coexisting. Memories decay if you don't confirm them. You can answer "why is this here?" and "when did it change?" at any time.
  • Yours. Configurable behavior (every retrieval weight, every decay half-life, every scrubber rule), JSONL export and import, Apache-2.0. Carry your memory between machines, leave any time. No vendor lock-in.

Plus: LLM-agnostic (works with whatever model your client talks to), MCP-native (Claude Desktop, Claude Code, Cursor, GitHub Copilot, Cline, OpenCode, Aider, custom agents), privacy-conscious (regex scrubber strips secrets before persistence; patterns are user-configurable).

What Memento is not

  • Not a chat history store. It records distilled, structured memory — preferences, facts, episodes, lessons — not raw transcripts.
  • Not a knowledge graph or semantic database. Use the right tools for that.
  • Not a cloud service. Memory lives on your machine; cloud embedders, sync across machines, and team-shared memory are not part of the product.
  • Not a plugin platform. The architecture leaves the door open, but Memento ships with a fixed surface to hold the line on quality.

The full list of out-of-scope and current limitations is in KNOWN_LIMITATIONS.md.

How it fits together

text
┌─────────────────────────────────────────────────────────┐│  Clients: Claude Desktop, Claude Code, Cursor, Copilot, ││           OpenCode, custom agents, …                    │└──────────────────────┬──────────────────────────────────┘                       │ MCP (stdio)┌──────────────────────▼──────────────────────────────────┐│  memento-server (MCP adapter)                           │└──────────────────────┬──────────────────────────────────┘                       │ Command registry┌──────────────────────▼──────────────────────────────────┐│  memento-core: services, scope resolver, scrubber,      ││                conflict detector, decay engine          │└──────────────────────┬──────────────────────────────────┘                       │ Repository interfaces┌──────────────────────▼──────────────────────────────────┐│  SQLite (better-sqlite3) + FTS5 + optional sqlite-vec   │└─────────────────────────────────────────────────────────┘

A full architectural walkthrough lives in ARCHITECTURE.md. Each significant decision has an Architecture Decision Record.

For contributors (human or AI)

Contributions are welcome from both human and AI-assisted authors. We treat them with the same standards.

  • Read AGENTS.md if you are an AI agent or working with one. It is the canonical instruction set; CLAUDE.md and .github/copilot-instructions.md are thin pointers to it.
  • Read CONTRIBUTING.md for development setup, branching, commit conventions, and the PR lifecycle.
  • Open a design proposal issue before any non-trivial change.
  • Use the PR template. It asks you to justify, not just describe, the change.

We use GitHub Discussions for questions and ideas; the issue tracker is for bugs and accepted work.

License

Apache-2.0. See NOTICE for attribution.

Packages

Memento is a small workspace of focused packages. The architecture is documented in docs/architecture/ and the design decisions in docs/adr/; both are the source of truth for what Memento does and why.

PackageNotes
@psraghuveer/memento-schemaMemory / event / scope / scrubber / conflict / config / result schemas, plus per-ConfigKey value schemas.
@psraghuveer/memento-coreStorage and migrations, memory + event repositories, scope resolver, scrubber, decay engine with compact archival pass, conflict detection + supersession workflow, embedding hook + bulk re-embed driver, EmbeddingProvider interface, FTS + brute-force vector retrieval pipeline + ranker, and the command registry with validating execute path (ADR 0003).
@psraghuveer/memento-serverMCP adapter — buildMementoServer projects the @psraghuveer/memento-core command registry as MCP tools; serveStdio wires it to stdio. Used by memento serve.
@psraghuveer/memento-embedder-localLocal EmbeddingProvider backed by transformers.js + bge-base-en-v1.5. Ships as a regular dependency; lazy single-flight init downloads the model on first use. See ADR 0006.
@psraghuveer/memento (CLI)The published memento binary (npx @psraghuveer/memento or npm i -g @psraghuveer/memento). Lifecycle commands (init, serve, dashboard, context, doctor, verify-setup, status, ping, backup, export, import, pack, store migrate, completions, explain, skill-path, uninstall) plus a generic projection of the registry surface (memento <namespace> <verb>). See docs/reference/cli.md.
@psraghuveer/memento-dashboardLocal-first web dashboard. Hono server in-process with the engine + Vite-built React SPA. Launched by memento dashboard; binds 127.0.0.1 only. See ADR-0018 and docs/guides/dashboard.md.
@psraghuveer/memento-landingMarketing landing page. Static SPA, deployed to GitHub Pages on every push to main that touches packages/landing/**. Mirrors the dashboard's design tokens; light/dark toggle. Private (not published to npm).

來源:README.md,提交 fddebe1

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.9.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分