amem

io.github.sslugic由 GitHub 帳號 sslugic 發布v0.7.5更新於 Oct 31, 2026

Local, private memory for coding agents: facts, skills and tasks that persist across sessions.

概覽

AI 產生的概覽

給程式開發代理的本地私有記憶:把事實、技能與任務存在本機,讓助理跨工作階段記得。

可以做什麼
  • 依查詢取出排序後的記憶脈絡包,並提供何時讀取或寫入記憶的說明
  • 儲存持久事實、淘汰過時結論,並檢視某個儲存庫或工作區已存的事實、元件與流程
  • 以索引與完整內文列出、檢視並儲存可重複使用的多步驟技能
  • 管理延後任務看板:列出、新增、更新與完成任務
  • 檢視受監控的儲存庫與工作區、狀態、用量與節省統計,並回報實際開啟了哪些錨點
適用情境
適合程式開發助理在工作階段之間反覆重讀檔案、重新摸索相同限制、決策或踩過的坑,並希望這些知識留在本機而非每次貼進提示詞。也適合希望後續工作與可重複流程不隨對話結束而消失的團隊。
執行需求
以本機程序方式執行 npm 套件 @iamem/amem(需要 Node.js/npx);setup 會在支援的用戶端(如 Claude Code、Cursor、Codex、Copilot)註冊 MCP 伺服器並安裝掛鉤。記憶存放在 ~/.amem 下的 SQLite 檔案。未宣告任何 API 金鑰或環境變數。
安裝前請注意
此伺服器會寫入持久的本機記憶、技能與任務,掛鉤會在工作階段開始與每次提示時自動把脈絡提供給助理。選用的匿名遙測(版本、作業系統、執行了哪些部分)只在主動開啟後傳送,可隨時關閉。憑證與權杖會被阻止儲存;解除安裝時除非明確清除,記憶會留在本機。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

amem

[npm version] [npm downloads] [CI] [License: MIT] [Node 20+] [MCP server] [Local only]

[amem MCP server] [amem on Glama]

Personal agent memory that stays on your machine. Works with Claude Code, Cursor, Claude Desktop, Copilot, Codex, Gemini CLI, Windsurf, Continue, Aider and Zed, on macOS, Linux and Windows.

bash
npx @iamem/amem setup --platform claude   # or cursor, codex, copilot …

[amem dashboard: Home, Memory and Tasks]

Website · Features · Why amem · How it works Coding agents forget between sessions. They re-read the same files, re-learn the same constraints and spend tokens rediscovering decisions you already made.

amem gives them a private memory that lives on your machine. The next session starts with what the last one learned.

What you get

  • Memory: short facts (constraints, gotchas, decisions, owners) tied to the files they describe. Facts are flagged stale when those files change.
  • Context on autopilot: hooks hand your agent a small, ranked packet at session start and with each prompt. No pasting a project brief.
  • Skills: repeatable procedures (release steps, deploy order, test setup), loaded only when they apply.
  • Tasks: a Backlog → Next → Doing → Done board your agents update, so follow-ups survive the chat.
  • A dashboard: amem ui shows what your agents remember, what needs review and open tasks. Retire or delete a fact in one click.
  • Private by design: one SQLite file in ~/.amem, a localhost-only UI, optional encryption and local backups.

Works with Claude Code, Cursor, Claude Desktop, Copilot, Codex, Gemini CLI, Windsurf, Continue, Aider, Zed and any other MCP client.

Quick start

bash
cd ~/code/your-projectnpx @iamem/amem setup --platform claude   # or: cursor, codex, copilot, windsurf … (amem platforms)amem ui                                   # open the dashboard at http://127.0.0.1:7843

Setup installs the amem CLI, adds the hooks, registers the amem MCP server (restart your client once) and seeds the repo with build, test and CI facts from its manifests, so the first question already has an answer. From then on your agent checks memory before exploring and saves what it learns. You can also do it by hand:

bash
amem remember "Stripe webhooks must be verified with the raw body" --kind gotcha --anchor src/webhooks/stripe.tsamem context "stripe webhook signature"
markdown
### claim.remember_2f41c0c9e1ffKind: `gotcha`Why: `keyword+12`, `fts+4.2`, `embed+5.4`, `kind:gotcha`, `fresh`
Stripe webhooks must be verified with the raw body.Anchors: `src/webhooks/stripe.ts`

Any MCP client can use the same memory: amem mcp --print-config prints a ready-to-paste config.

Something off? amem doctor --fix rewires the current repo's client. To remove amem, run amem uninstall to see what it added, then amem uninstall --yes. Your memory stays unless you add --purge.

How well it finds things

npm run bench loads 36 memories from a sample web shop and asks 32 questions phrased the way people ask, often without the memory's words. It also sends 8 vague prompts ("ok sounds good, go ahead") that name no topic. CI fails if these numbers drop.

PathRight memory firstRight memory in top 3Vague prompts given memory
Prompt hook (automatic)88%97%0%
amem_context (agent asks)81%94%n/a

The data is in bench/retrieval.json. Add your own cases and run npm run bench -- --misses to see what it gets wrong.

Privacy (non-negotiable)

  • Memory never leaves your machine: no sync, no cloud embeddings, no "share with org" mode.
  • The UI and HTTP MCP endpoint bind to 127.0.0.1 only, and ~/.amem is created with mode 0700.
  • Credentials and tokens are blocked from being saved. Personal notes stay out of work projects unless you ask about them.
  • Optional AES-256-GCM lock (amem lock) and encrypted local backups (amem backup schedule).
  • No network calls by default. If you opt in (amem setup asks once, or amem telemetry on), amem sends an anonymous ping at install and first run, then at most one a day with the version, OS and which parts ran (MCP, hooks, UI, CLI). No memory, repos, paths or names. amem telemetry off stops it; managed (IT policy) installs never send it.

Learn more

License

MIT, see LICENSE.

來源:README.md,提交 72c30df

工具

16

amem_context

Retrieve compact local amem memory for a query. Use before exploring files or calling a remote LLM with a large prompt. Pass workspace for named app memory, not only git repos.

輸入參數query必填platformsessionIdworkspace

amem_recipe

Return the generic amem remember contract: when to call amem_context vs amem_remember. Use if you are unsure whether to read or write memory. Same recipe for every MCP host. Takes no arguments.

無需輸入參數。

amem_remember

Store a durable local fact in amem (stays on this machine). Use kind `private` (or anchor `private`) for personal, non-work facts so they never appear in work repositories' context. When the fact replaces an older one (a newer status, a fixed bug, a changed decision), pass the old claim ids in `supersedes` so the outdated memory stops being served. The response lists `possiblySupersedes`: older look-alikes to retire with amem_supersede if they are now wrong.

輸入參數kindtext必填anchorsworkspacesupersedes

amem_supersede

Retire outdated claims so they stop appearing in context: marks them superseded (kept for history, not served). Pass `by` with the claim id that replaces them, if any.

輸入參數byids必填workspace

amem_repos

List what amem is monitoring. Each item has kind git or workspace. Workspaces also have a stable slug (MCP id); the display name can differ. Use when asked which projects, workspaces, or repos amem knows about. All arguments are optional.

輸入參數kind

amem_stats

Usage and savings stats (local lookup time, estimated tokens/ms saved, hit rate) for one workspace/repo or everything. Use when asked how much amem helped, how often it hit, or usage over time. All arguments are optional.

輸入參數daysscopeworkspace

amem_graph

Dump stored facts for a workspace or git repo: claims, components, flows, and recent activity. Use when asked what amem remembers about a project. Prefer amem_context for a ranked packet for the current question. All arguments are optional.

輸入參數daysworkspace

amem_status

Binding, policy, and counts for one workspace/repo, plus the full monitored inventory. Omit workspace for a machine-wide overview. All arguments are optional.

輸入參數workspace

amem_skill_list

List stored skills (procedures the agent learned) as an index of names and descriptions only. Cheap — call this first, then amem_skill_view to load the one you need. Skills are longer procedures; use amem_context for small durable facts. All arguments are optional.

輸入參數query

amem_skill_view

Load the full body of one skill by name, or a supporting file inside it. Call this only after amem_skill_list (or the 'Relevant skills' section of an amem context packet) shows a skill worth following.

輸入參數filename必填sessionId

amem_skill_save

Save a non-trivial multi-step procedure you just worked out as a reusable skill. Use after solving something worth repeating — a workflow, a dead end you found the way past, or a correction the user gave you. Provide a full SKILL.md in `content`, or a description plus body.

輸入參數name必填contentsessionIddescription

amem_task_list

List deferred agent tasks (Kanban) for a workspace/repo. Use for work to do later — not durable facts (use amem_remember for those). Default excludes done tasks. All arguments are optional.

輸入參數statusworkspaceinclude_done

amem_task_add

Create a deferred agent task on the project Kanban (default backlog). Use for work that should not get lost in chat. Durable facts still go through amem_remember.

輸入參數bodytitle必填statusanchorsworkspace

amem_task_update

Change an existing Kanban task: move it between columns (set status to doing when you start it, blocked when it waits on someone), rename it, or replace its notes or file anchors. Only the fields you pass change. Use amem_task_complete to finish a task and amem_task_add for new work. Returns the updated task as JSON; an unknown id returns an error.

輸入參數id必填bodytitlestatusanchorsworkspace

amem_task_complete

Mark a Kanban task done as soon as its work is finished and verified, so the next session does not pick it up again. Records the completion time and keeps the task in history (amem_task_list with include_done shows it). Same as amem_task_update with status done. Returns the completed task as JSON; an unknown id returns an error.

輸入參數id必填workspace

amem_usage_report

Report what you actually did with the last amem context packet, so its savings estimate becomes a measurement instead of a guess. Call this once after you have finished acting on a packet. Do NOT estimate tokens — just list which of the anchors amem gave you you ended up opening anyway (anchors_opened), and whether the packet answered the question without further exploration (answered). amem computes the saving from the real size of the files you did not have to open. Reporting that you opened everything is a useful and expected answer.

輸入參數answered必填event_idworkspaceanchors_opened必填

版本歷史

6
  1. v0.7.5最新Oct 31, 2026
  2. v0.7.4Oct 31, 2026
  3. v0.7.3Oct 31, 2026
  4. v0.7.0Oct 30, 2026
  5. v0.4.4Oct 30, 2026
  6. v0.4.3Oct 29, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分