ai-memory

chính thức

Bộ nhớ bền vững cho bất kỳ trợ lý AI nào. Không tốn token cho đến khi truy hồi. Lưu trữ ký ức trong SQLite cục bộ, xếp hạng theo điểm số 6 yếu tố, trả về kết quả nhỏ hơn 79% so với JSON. Hoạt động với Claude, ChatGPT, Grok, Cursor, Windsurf và bất kỳ máy khách MCP nào.

Bạn có thể làm gì với Ai Memory MCP?

  • Lưu trữ sự kiện, sở thích và chỉnh sửa — yêu cầu trợ lý ghi nhớ bất kỳ điều gì qua memory_store, lưu trữ lâu dài trong cơ sở dữ liệu SQLite hoặc PostgreSQL cục bộ.
  • Gợi nhớ các ký ức liên quan theo yêu cầu — truy xuất kết quả có nhận biết ngữ cảnh được xếp hạng theo mức độ liên quan bằng memory_recall hoặc tìm kiếm toàn văn memory_search.
  • Liệt kê, truy xuất và quản lý các ký ức đã lưu — duyệt tất cả mục đã lưu bằng memory_list, lấy một mục cụ thể theo ID bằng memory_get, hoặc lưu trữ các mục đã lỗi thời.
  • Điều phối quy trình làm việc đa tác nhân — tạo DAG hành động có kiểu, nhận lease có giới hạn TTL, và trao đổi tín hiệu đã ký bằng các công cụ memory_action_*, memory_lease_*memory_signal_*.
  • Truy vết nguồn gốc và xuất xứ của ký ức — duyệt DAG dẫn xuất của bất kỳ ký ức nào qua memory_lineage để xem sự kiện nào được suy ra từ nguồn nào.

Tài liệu

ai-memory logo

ai-memory™

bộ nhớ AI phổ quát

CI Bench Session-boot lifetime Rust License SQLite Tests Test Hub Discovery Gate v0.6.4 Cert MCP NSA CSI Evidence v0.6.4 Evidence v0.7.0 Crates.io Version npm PyPI

ai-memory là một hệ thống bộ nhớ bền vững dành cho các trợ lý AI. Nó hoạt động với bất kỳ AI nào hỗ trợ MCP -- Claude, ChatGPT, Grok, Llama, và nhiều hơn nữa. Nó lưu trữ những gì AI của bạn học được trong một cơ sở dữ liệu SQLite cục bộ, xếp hạng ký ức theo mức độ liên quan khi truy xuất, và tự động thăng cấp kiến thức quan trọng lên bộ nhớ vĩnh viễn. Cài đặt một lần, và mọi trợ lý AI bạn sử dụng sẽ ghi nhớ kiến trúc, sở thích, các chỉnh sửa của bạn -- mãi mãi.


Chọn lộ trình cài đặt của bạn

Bạn là…Triển khai của bạn là…Bắt đầu từ đây
Một nhà phát triển đơn lẻ đang dùng thử ai-memoryMột máy khách AI trên laptopdocs/install-quickstart.md — Cài đặt siêu đơn giản trong 5 phút + backend LLM được kết nối trong một khối
Một kỹ sư / kiến trúc sưSản xuất trên một nút đơn, hoặc nhiều tác nhân trên một nútdocs/INSTALL.mddocs/production-deployment.md
Một kỹ sư / kiến trúc sưĐa máy chủ / đa rack / đa trung tâm dữ liệu / cụm / tổ ong / liên kếtdocs/enterprise-deployment.md — 8 cấu trúc liên kết, từ đơn lẻ → đa vùng
Một kỹ sư / kiến trúc sưLưu trữ PostgreSQL + Apache AGE (đa người ghi, hơn 10 triệu ký ức, nặng về đồ thị tri thức)docs/postgres-age-guide.md — hướng dẫn vận hành postgres hạng nhất
Một người ra quyết định đang đánh giá việc áp dụngdocs/audience/decision-maker.html

Đang cấu hình backend LLM (xAI Grok, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, máy chủ llama.cpp, hoặc Ollama cục bộ)? Xem docs/integrations/llm-backends.md — công thức khối env MCP giống nhau bất kể lộ trình cài đặt.


v0.9.0 — bản phát hành hiện tại. Một bản phát hành tăng cường bảo mật và rà soát mã: 49 bản sửa lỗi từ một đợt rà soát đối kháng 5 làn (#1885#1935) cùng với một tập hợp nhỏ các tính năng bổ sung. Thay đổi nổi bật là một sự chuyển đổi mặc định an toàn: xác thực tác nhân được yêu cầu theo mặc định trên ghi trực tiếp HTTP (#1751, phạm vi bề mặt bởi #1985) — một HTTP không ký POST /api/v1/memories (+/bulk) sẽ bị từ chối (403 ATTESTATION_FAILED) thay vì hạ cánh attest_level="claimed", trừ khi người vận hành đặt tùy chọn từ chối rõ ràng AI_MEMORY_REQUIRE_AGENT_ATTESTATION=0. Các bề mặt MCP memory_store và CLI store là đường dẫn người vận hành như một tác nhân và vẫn cho phép theo mặc định (một ghi không ký sẽ hạ cánh claimed); =1 buộc nghiêm ngặt trên mọi bề mặt. (Bản GA v0.9.0 đã vận chuyển điều này dưới dạng yêu cầu-mọi nơi, điều này không thể thỏa mãn trên các máy chủ MCP — đã được sửa thành phạm vi bề mặt trong bản phát hành hiện tại.) Cùng với đó, cổng thực thi sự hiện diện hook bắt buộc giờ đây kích hoạt trên cả đường dẫn ghi MCP (#1885) và đường dẫn ghi HTTP (#1924), đóng một lỗ hổng bỏ qua ngầm, nơi một hook bắt buộc đã cấu hình có thể bị bỏ qua trên một bề mặt nhưng không phải bề mặt kia. Đợt tăng cường cũng đóng bulk_create kiểm soát xác thực theo hàng (#1919), định tuyến các phê duyệt PENDING liên kết đến thông qua cổng người phê duyệt đã đăng ký (#1920), thắt chặt phạm vi hiển thị team/unit/org để nó không còn quá rộng trên toàn bộ hệ thống phân cấp không gian tên (#1921), và giới hạn nhập folder_path của skill_register dưới thư mục gốc đã cấu hình với một jail symlink (#1923). Một kênh thông tin xác thực không argv mới — AI_MEMORY_STORE_URL / AI_MEMORY_STORE_URL_FILE (một tệp 0600) — giữ mật khẩu postgres/store khỏi /proc/<pid>/cmdlineps có thể đọc toàn cục (#1927). Công việc tính năng bổ sung: ký ức kỹ năng do tác nhân tạo ra với parameters_schema + invocation_record (B7-SKILL, #1865), vòng phản hồi bóng recall_observations (#1706), một DAG dòng dõi dẫn xuất ký ức (memory_lineage, #1859), và một lát cắt tối thiểu tìm kiếm vector tùy chọn (#1005). Bề mặt: lược đồ v78, 101 công cụ MCP tại --profile full (100 có thể gọi + bootstrap luôn bật memory_capabilities) / 7 tại --profile core, 92 đăng ký tuyến HTTP (78 đường dẫn URL duy nhất), 89 lệnh con CLI dưới --features sal/sal-postgres (87 trong bản dựng mặc định), 9 quan hệ MemoryLink đã định kiểu, một Memory 28 trường. Chạy trên hai backend sản xuất đằng sau một API giống hệt — SQLite nhúng và PostgreSQL + Apache AGE — trên máy tính để bàn, máy chủ và thiết bị (iOS + Android). Mọi thứ đều là bổ sung so với v0.8.1 ngoại trừ các chuyển đổi xác thực và thực thi hook, đây là những thay đổi phá vỡ mặc định an toàn — hãy xem xét chúng trước khi nâng cấp. Nhật ký thay đổi đầy đủ: CHANGELOG.md §"[0.9.0] — 2026-07-08".

v0.8.0 (distributed-coordination) — bản phát hành trước. Đây là bản phát hành mà chất nền bộ nhớ trở thành một chất nền phối hợp. Nó bổ sung bộ máy phối hợp phân tán từ #1709: một DAG hành động đã định kiểu với một máy trạng thái thực (memory_action_*), hợp đồng thuê giới hạn TTL cho một người nắm giữ duy nhất (memory_lease_*), tín hiệu đã ký Ed25519 (memory_signal_*), điểm kiểm tra đã xác thực Ed25519 (memory_checkpoint_*), và các quy trình đông lạnh, có thể phát lại (memory_routine_*) — để một đội tàu tác nhân không đồng nhất có thể thay phiên nhau, bàn giao công việc và chứng minh ai đã nói gì mà không cần phải tin tưởng lẫn nhau. Nó xếp lớp nhận thức đã định kiểu lên trên (các loại ký ức Goal/Plan/Step, một máy lifecycle_state, và các quan hệ liên kết decomposes_into / depends_on / advances), tăng cường liên kết mặc định an toàn (đăng ký ngang hàng BẬT theo mặc định #1789, chữ ký mỗi lần chuyển đổi #1718, xác thực nội dung mỗi lần ghi #1464, nonce phát lại chuyển đổi #1805, ghim chứng chỉ ngang hàng đi #1678), và vận chuyển quản trị thực sự chặn — hook PreToolUse của Claude Code được làm lại thành một trình bao bọc type:command để một Refuse chất nền thực sự từ chối công cụ (#1811). Tại thời điểm phát hành v0.8.0, bề mặt là: lược đồ v70, 100 công cụ MCP tại --profile full (99 có thể gọi + bootstrap luôn bật memory_capabilities) / 7 tại --profile core, 91 đăng ký tuyến HTTP (78 đường dẫn URL duy nhất), 83/85 lệnh con CLI, 9 quan hệ MemoryLink đã định kiểu, một Memory 27 trường. Chạy trên hai backend sản xuất đằng sau một API giống hệt — SQLite nhúng và PostgreSQL + Apache AGE — trên máy tính để bàn, máy chủ và thiết bị (iOS + Android). Mọi thứ đều là bổ sung so với v0.7.0; hãy xem xét các chuyển đổi mặc định an toàn trước khi nâng cấp. Ghi chú phát hành đầy đủ: docs/v0.8.0/release-notes.md.

v0.7.0 (attested-cortex) — bản phát hành trước đó. Tổng hợp công việc cải thiện tính dễ đọc cortex-fluent với toàn bộ phạm vi tin cậy v0.7 + A2A từ LỘ TRÌNH §7.3, cộng thêm (theo chỉ thị của người vận hành ngày 2026-05-09) công việc hạng nhất postgres+AGE vốn dành cho v0.7.1, cộng thêm làn sóng sẵn sàng triển khai hậu grand-slam (Biểu mẫu Batman 1-6 + nền tảng Tùy chọn-B dạng thứ 7 + QW-1/2/3 + đợt rà soát bảo mật đối chiếu). Lớp nền trở nên vừa dễ diễn đạt hơn (năng lực v3, công cụ nạp có tên, lược đồ thu gọn, từ vựng Batman MemoryKind, các nguyên thủy persona/nguyên tử hóa/tiếp nhận đa bước) vừa đáng tin cậy về mặt mật mã (chứng thực Ed25519, bản ghi sidechain, pipeline hook 25 sự kiện có thể lập trình, kế thừa không gian tên được thực thi, chuỗi băm sự kiện có chữ ký chéo hàng V-4). v0.7.0 cũng đi kèm postgres + Apache AGE như một backend lưu trữ hạng nhấtai-memory serve --store-url postgres://… cho sử dụng daemon trực tiếp, tính tương đương lược đồ trên cả hai backend (tại thời điểm phát hành v0.7.0, sqlite + postgres đã hội tụ về lược đồ logic v57, trong đó CURRENT_SCHEMA_VERSION là 57; lớp nền phát hành v0.8.0 đã nâng cấp đồng bộ này lên lược đồ 70, với các bảng phối hợp và hiển thị bổ sung v58–v70 đã được triển khai trên cả hai backend — xem CLAUDE.md §Cơ sở dữ liệu để biết lộ trình v58–v70) (neo chuẩn: src/storage/migrations.rs cho sqlite + src/store/postgres.rs cho postgres); các tệp di chuyển trên đĩa kết thúc tại migrations/sqlite/0047_v56_list_composite_indexes.sql và nhánh thang migrate_v57() trong tiến trình postgres (bộ đếm tên tệp chậm hơn phiên bản lược đồ logic vì cả hai thang đều áp dụng các delta sau v34 thông qua các nhánh trong tiến trình — xem docs/MIGRATION_v0.7.md §schema-ladder để biết tường thuật v35-v57; v48 #933 đã thêm bảng DLQ đẩy liên hợp; v49 #1025 đã thêm 14 cột nullable vào archived_memories để lưu trữ → khôi phục không mất mát cho hình dạng Bộ nhớ v0.7.0 đầy đủ; v50 #1156 đã mở rộng agent_quotas KHÓA CHÍNH từ (agent_id) thành (agent_id, namespace) để các phân bổ hạn ngạch K8 theo không gian tên được giữ vững ngay cả khi một tác nhân hoạt động trên nhiều không gian tên — các hàng trước v50 được điền ngược vào không gian tên sentinel _global; v51 #1255 (PR #1296) đã thêm bảng federation_nonce_cache để các nonce ngăn phát lại ngang hàng tồn tại qua các lần khởi động lại daemon; v52 #1389 đã thêm bảng transcript_line_dedup hỗ trợ tính lũy đẳng RFC-0001 memory_capture_turn L4 + recover_from_transcript L2 để một SIGKILL giữa các lượt không bao giờ tạo ra bộ nhớ trùng lặp khi tái cấp nước sau đó; v53 #1418 đã giới hạn trigger đồng bộ FTS5 memories_au chỉ cho (title, content, tags) để các cập nhật cột không phải FTS không còn kích hoạt đồng bộ không cần thiết; v54 #1466 đã điền ngược thời hạn mặc định của bậc vào các hàng trung/ngắn có thời hạn NULL cũ để đóng lớp lỗi hàng bất tử rò rỉ TTL; v55 #1476 đã làm cho truy vấn bắt kịp liên hợp W=2 (updated_at > ? ORDER BY updated_at ASC LIMIT) có thể sargable và thêm chỉ mục sqlite idx_memories_updated_at — postgres không thêm chỉ mục mới vì memories_updated_at_idx DESC đã phục vụ quét phạm vi thông qua Quét ngược chỉ mục; v56 #1579 đã thêm các chỉ mục sắp xếp danh sách/lưu trữ tổng hợp (idx_memories_list_order, idx_memories_ns_list_order, idx_archived_ns_archived_at) kết hợp với việc viết lại sargable storage::list — DDL phía sqlite; nhánh migrate_v56() postgres là một no-op đóng dấu phiên bản; v57 #1579 đã thêm cột tsvector được tạo lưu trữ tsv + chỉ mục GIN memories_tsv_gin của postgres để các hình dạng tìm kiếm/thu hồi khớp VÀ xếp hạng trên cột được tính toán trước thay vì tính toán lại tsvector cho mỗi hàng khớp — chỉ mục biểu thức memories_content_fts cũ bị loại bỏ và bản sao sqlite là một no-op đóng dấu phiên bản vì FTS5 đã hiện thực hóa văn bản được lập chỉ mục)), động từ CLI ai-memory schema-init mới, và tính tương đương điểm thu hồi 6 yếu tố. Bề mặt mặc định v0.6.4 tăng thêm hai bộ nạp luôn bật lên 7 công cụ (memory_load_family + memory_smart_load tham gia cùng năm công cụ ban đầu); trần thời gian chạy tại --profile full74 mục được quảng cáo (73 công cụ bộ nhớ có thể gọi + bootstrap memory_capabilities luôn bật; đã xác minh với Profile::full().expected_tool_count() — xem src/profile.rs). Mọi thứ mới đều là bổ sung và (đối với các bề mặt tin cậy + postgres) là tùy chọn tham gia. Nâng cấp từ v0.6.x? Đọc docs/MIGRATION_v0.7.md trước — hầu hết người gọi v0.6.4 không thấy thay đổi hành vi, nhưng người dùng v0.6.x trước v0.6.3.1 gặp phải bản sửa kế thừa không gian tên G1. Chuyển sang postgres+AGE? Xem docs/postgres-age-guide.mddocs/migration-v0.7.0-postgres.md. Ghi chú phát hành đầy đủ: docs/v0.7.0/release-notes.md.

v0.6.4 (quiet-tools) — máy chủ MCP đi kèm với bề mặt mặc định 5 công cụ (memory_store, memory_recall, memory_list, memory_get, memory_search) cộng với bootstrap memory_capabilities luôn bật. 38 công cụ khác vẫn có thể truy cập được qua --profile graph|admin|power|full hoặc mở rộng thời gian chạy thông qua memory_capabilities --include-schema family=<name>. Các khung tải háo hức (Claude Desktop / Codex CLI / Grok CLI / Gemini CLI) giảm ~4.700 token đầu vào của lược đồ công cụ cho mỗi yêu cầu — mức giảm 76,4% đo được so với cl100k_base BPE. Để giữ nguyên hành vi v0.6.3 theo tỷ lệ 1:1, chạy ai-memory mcp --profile full. Xem docs/MIGRATION_v0.6.4.md.

Có gì mới trong v0.9

v0.9.0 chủ yếu là một bản phát hành tăng cường bảo mật và rà soát mã — 49 bản sửa từ đợt rà soát đối kháng 5 làn (#1885#1935) — cộng với một tập hợp nhỏ hơn các tính năng bổ sung được xếp lớp trên nền tảng phối hợp v0.8.0. Nhật ký thay đổi đầy đủ: CHANGELOG.md §"[0.9.0] — 2026-07-08".

Tăng cường bảo mật theo mặc định

  • Yêu cầu chứng thực tác nhân theo mặc định trên bề mặt ghi trực tiếp HTTP (#1751, phạm vi bề mặt bởi #1985). AI_MEMORY_REQUIRE_AGENT_ATTESTATION có ba trạng thái với mặc định biên dịch theo từng bề mặt: bỏ trống → bắt buộc trên ghi trực tiếp HTTP (POST /api/v1/memories + /bulk, từ chối 403 ATTESTATION_FAILED), cho phép trên các bề mặt MCP memory_store và CLI store người vận hành như tác nhân (một ghi không ký sẽ hạ cánh attest_level="claimed"); =1 buộc nghiêm ngặt ở mọi nơi, =0 buộc cho phép ở mọi nơi. Chữ ký được trình bày nhưng giả mạo bị từ chối trên mọi bề mặt bất kể. Ký các ghi (ai-memory store --sign với một cặp khóa được liên kết qua ai-memory agents bind-key) hoặc sử dụng tùy chọn từ chối =0. (Bản GA v0.9.0 đã vận chuyển điều này dưới dạng yêu cầu-mọi nơi, không thể thỏa mãn trên các máy chủ MCP — xem #1981; đã sửa thành phạm vi bề mặt bởi #1985.)
  • Cổng thực thi hook kép MCP + HTTP (#1885 / #1924). Cổng thực thi sự hiện diện hook bắt buộc (ban đầu chỉ dành cho MCP, #1734) hiện cũng được tham khảo trên đường dẫn ghi HTTP, đóng một lỗ hổng bỏ qua ngầm (CWE-288) nơi một ghi bỏ qua hoàn toàn MCP không bao giờ thấy một hook bắt buộc đã cấu hình.
  • Kiểm soát chứng thực bulk_create (#1919). Ghi hàng loạt hiện thực thi cùng một yêu cầu chứng thực tác nhân theo từng hàng như một lệnh gọi memory_store đơn lẻ — mỗi hàng trong một lô phải mang một chứng thực hợp lệ, không chỉ toàn bộ yêu cầu.
  • Cổng phê duyệt viên liên hợp (#1920). Một phê duyệt PENDING liên hợp đến chỉ được chấp nhận khi nó được quy cho phê duyệt viên đã đăng ký của một đồng đẳng — một đồng đẳng đã đăng ký nhưng không đáng tin cậy không còn có thể giả mạo phê duyệt cho một người yêu cầu tùy ý.
  • Tăng cường phạm vi team/unit/org (#1921). Độ phân giải phạm vi hiển thị hiện thực thi chính xác hệ thống phân cấp tổ tiên không gian tên cho các phạm vi team/unit/org, đóng một lỗ hổng cô lập đối tượng thuê (CWE-863).
  • Giới hạn đường dẫn skill_register (#1923). Việc nhập folder_path của một kỹ năng được chuẩn hóa và giới hạn trong thư mục gốc đã cấu hình, với các liên kết tượng trưng bên trong cây đã nhập bị từ chối thay vì theo dõi (CWE-22/CWE-59).
  • Các kênh thông tin xác thực URL cửa hàng không qua argv (#1927). AI_MEMORY_STORE_URL mới (/proc/environ chỉ chủ sở hữu) và AI_MEMORY_STORE_URL_FILE (một tệp 0600) cho phép ai-memory serve nhận URL postgres/cửa hàng — bao gồm bất kỳ mật khẩu nhúng nào — mà không bao giờ đặt nó trên --store-url argv, nơi nó bị lộ qua /proc/<pid>/cmdlineps auxww có thể đọc được toàn cầu cho bất kỳ UID cục bộ nào. Thứ tự phân giải: tệp → biến môi trường → --store-url.

Tính năng bổ sung

  • B7-SKILL — bộ nhớ kỹ năng hạng nhất (#1865). parameters_schema tại thời điểm đăng ký, một invocation_record, và một bề mặt phiên bản cho các kỹ năng do tác nhân tạo ra.
  • Vòng lặp phản hồi bóng recall_observations (#1706, chế độ SHADOW). Đóng vòng lặp phản hồi thu hồi mà chưa thay đổi hành vi xếp hạng.
  • DAG dòng dõi dẫn xuất bộ nhớ (memory_lineage, lược đồ v78, #1859). Theo dõi những bộ nhớ nào được dẫn xuất từ đâu, qua cả MCP và tuyến HTTP GET /api/v1/memories/{id}/lineage mới.
  • Lát cắt tham gia tối thiểu tìm kiếm vector (#1005; nền tảng đầy đủ hoãn lại đến #1860).
  • Nhóm worker xếp hạng lại được định cỡ theo CPU vật lý (#1867) và thu hồi là PURE theo mặc định (#1869 — loại bỏ đợt bùng nổ ghi khỏi đường dẫn nóng thu hồi).
  • Xương sống chỉ thêm vào + tách lớp ký: mọi điểm đột biến được định tuyến đến các lá sửa đổi đã ký (#1823), tách biệt ký ba khóa Recorder/Judge/Stopper (#1826), token năng lực macaroon được kết nối đầu cuối (#1827), và một chuỗi kế vị khóa dòng dõi danh tính đã ký để tồn tại qua luân chuyển (#1828, lược đồ v76).

Bắt đầu từ đâu: CHANGELOG.md (nhật ký thay đổi đầy đủ), docs/ADMIN_GUIDE.md (sổ tay người vận hành — tư thế chứng thực + thực thi hook).

Có gì mới trong v0.8

v0.8.0 (distributed-coordination) biến nền tảng bộ nhớ thành một nền tảng phối hợp cho các hạm đội đa tác nhân (NHI). Tiêu đề chính là bộ máy phối hợp phân tán (#1709); mọi thứ đều hoạt động trên cả hai bộ điều hợp SAL sqlite và postgres+AGE và giữ nguyên tương đương mặc định cho người gọi v0.7.x. Tham chiếu công cụ đầy đủ: docs/coordination.md; ghi chú đầy đủ: docs/v0.8.0/release-notes.md.

Nền tảng phối hợp phân tán (Trụ cột-1, #1709)

  • Hành động — DAG phụ thuộc (lược đồ v59). Các nút hành động có kiểu với máy trạng thái (pending → claimed → in_progress → done/failed/abandoned), các cạnh DAG có kiểu (requires / unlocks / blocks / gated_by / sibling), và các bề mặt biên/tiếp theo kéo nút có thể chạy tiếp theo. 8 công cụ MCP (memory_action_create / _get / _transition / _list / _add_edge / _edges / _frontier / _next).
  • Hợp đồng thuê — các yêu cầu giữ độc quyền, giới hạn TTL (lược đồ v59). Yêu cầu so sánh-và-hoán đổi được gia hạn bằng heartbeat (PRIMARY KEY trên action_id = một người giữ tại một thời điểm) cộng với bộ quét hợp đồng thuê hàng giờ. 4 công cụ MCP (memory_lease_acquire / _renew / _release / _get).
  • Tín hiệu — các thông điệp liên tác tử có kiểu, ký Ed25519 (lược đồ v60). Mỗi tín hiệu mang chữ ký + signer_pubkey người gửi và phân luồng qua correlation_id / in_reply_to. 5 công cụ MCP (memory_signal_send / _read / _inbox / _thread / _ack).
  • Điểm kiểm tra — các cổng điều kiện được chứng thực (lược đồ v61). Một cổng chặn cho đến khi một điều kiện được giải quyết; việc giải quyết được tự ký tại chỗ (Ed25519) để phân tách nhiệm vụ, và verify kiểm tra lại chữ ký. 4 công cụ MCP (memory_checkpoint_create / _resolve / _query / _verify).
  • Quy trình — các kế hoạch được tham số hóa, đóng băng, có thể phát lại (lược đồ v62). Được tạo dưới dạng draft, sau đó đóng băng (bất biến, chứng thực đóng băng Ed25519); run hiện thực hóa một tập hợp hành động + cạnh cụ thể từ một mẫu {{param}} thành một bản ghi routine_runs. 5 công cụ MCP (memory_routine_create / _freeze / _run / _status / _list).
  • Mọi thay đổi trạng thái phối hợp đều thêm một hàng coordination.<op> chống giả mạo vào chuỗi băm signed_events V-4 (#1722); hai lần ghi cấp quyền được phản chiếu lên trình nền HTTP (POST /api/v1/actions/{id}/transition, POST /api/v1/signals) với CAS cục bộ + phân tán liên kết W-of-N (#1718).

Nhận thức có kiểu (Trụ cột-2)

Từ vựng memory_kind mở rộng với goal / plan / step; phân loại memory_links.relation đóng mở rộng 6 → 9 quan hệ (decomposes_into / depends_on / advances, lược đồ v63); và một cột memories.lifecycle_state hạng nhất (lược đồ v64) biến Mục tiêu/Kế hoạch/Bước thành một máy trạng thái thực sự (open → active → blocked/done/abandoned), được thực thi trên các bề mặt MCP / HTTP / SAL với ánh xạ cạnh không hợp lệ tới HTTP 409 CONFLICT. Cấu trúc Memory tăng lên 27 trường. Không có công cụ MCP mới — công việc v64 chỉ thêm các trường yêu cầu tùy chọn cho phép.

Liên kết được củng cố, bảo mật theo mặc định

Đăng ký ngang hàng BẬT theo mặc định (#1789), chữ ký mỗi lần chuyển đổi trên các lần ghi cấp quyền (#1718), chứng thực nội dung mỗi lần ghi cho các ký ức được chuyển tiếp (#1464), nonce phát lại chuyển đổi (#1805), và ghim vân tay chứng chỉ ngang hàng ra ngoài (#1678). Các đội tàu không đồng nhất không cần phải tin tưởng lẫn nhau — xem lại các chuyển đổi mặc định bảo mật trong docs/v0.8.0/release-notes.md §"Củng cố liên kết" trước khi nâng cấp.

Quản trị thực sự chặn (#1811)

Móc quản trị PreToolUse của Claude Code được làm lại thành một trình bao bọc type:command (ai-memory governance check-action --from-pretool-stdin) để một Refuse nền phát ra permissionDecision:"deny" và thực sự CHẶN công cụ — dạng type:mcp_tool trước đó về mặt cấu trúc không thể thực thi. Cộng với thực thi sự hiện diện móc bắt buộc (#1734) và một phán quyết quản trị escalate mới (§22 PE-5) cho con người trong vòng lặp.

Kiểm soát vận hành Trụ cột-4

Kiểm soát tiếp nhận HTTP (#1733 — giới hạn đồng thời tùy chọn loại bỏ phần dư với một 503 có kiểu), chiếu đồ thị Apache-AGE trì hoãn (#1735 — loại bỏ các vòng khứ hồi AGE đồng bộ khỏi đường dẫn nóng ghi-liên kết postgres), kích hoạt nén trình quản lý (#1749 / #1750), và CLI ai-memory verify-audit-trail (§22 PE-8) duyệt qua chuỗi băm chéo hàng signed_events từ đầu đến cuối.

Lược đồ v57 → v70 (tất cả đều là bổ sung)

Các bảng phối hợp + nhận thức có kiểu + hiển thị + chuẩn bị mã hóa + đường dẫn lạnh + cạnh lưu trữ (v58–v70), được phản chiếu trên cả bộ điều hợp sqlite và postgres; tự động di chuyển khi mở lần đầu và khứ hồi lưu trữ → khôi phục không mất mát. Xem CLAUDE.md §Cơ sở dữ liệu để biết bậc thang v58–v70 chuẩn.

Bắt đầu từ đâu: docs/v0.8.0/release-notes.md (ghi chú phát hành đầy đủ), docs/coordination.md (tham khảo công cụ phối hợp), và CLAUDE.md §Cơ sở dữ liệu (SSOT bậc thang lược đồ).

Có gì mới trong v0.7

v0.7.0 đóng epic attested-cortex (69/69 trên 11 track A–K), tích hợp công việc postgres+AGE hạng nhất ban đầu của v0.7.1, và hấp thụ làn sóng sẵn sàng triển khai sau grand-slam (Batman Forms 1-6 + nền tảng Tùy chọn-B dạng thứ 7 + QW-1/2/3 + đối chiếu bảo mật). Kho tính năng chuẩn: docs/internal/v070-feature-inventory.md. Mọi bề mặt vẫn tắt hoặc tương đương mặc định cho người gọi v0.6.4 — xem ma trận tương thích v0.7 để biết chi tiết.

Đầu tư thời điểm ghi gốc nền (Batman Forms 1-6 + dạng thứ 7)

  • Dạng 1 — khử trùng lặp và tổng hợp trực tuyến (vấn đề #754). Lệnh gọi LLM phát hành hành động theo lô đơn thay thế bộ phân loại từng cặp v0.6.x trên đường dẫn lưu trữ. Chọn lại có/không kế thừa qua legacy_per_pair_classifier = true trên tiêu chuẩn không gian tên.
  • Dạng 2 — nguyên tử hóa đồng bộ trước khi nhúng (vấn đề #755). Công cụ memory_atomise mới + móc trước lưu trữ auto_atomise_mode = Synchronous|Deferred|Off. Trình quản lý phân rã các ghi dài thành 2–10 mệnh đề nguyên tử trước khi thu hồi từng thấy chúng. Xem docs/atomisation.md.
  • Dạng 3 — bộ điều phối nhập liệu đa bước (vấn đề #756). memory_ingest_multistep phân luồng các trình trợ giúp Jaccard+FTS xác định qua các giai đoạn LLM ổn định bộ đệm prompt. Xem docs/multistep-ingest.md + cookbook/multistep-ingest/01-two-phase.sh.
  • Dạng 4 — nguồn gốc sự kiện (vấn đề #757). Trích dẫn + URI nguồn + khoảng hạt nguyên tử đi kèm trên các tải trọng memory_store / memory_atomise hiện có. Xem docs/provenance.md.
  • Dạng 5 — tự động tin cậy + hiệu chuẩn bóng + phân rã độ mới (vấn đề #758). Công cụ MCP memory_calibrate_confidence + quét đường cơ sở mỗi nguồn. Biến môi trường AI_MEMORY_AUTO_CONFIDENCE, AI_MEMORY_CONFIDENCE_SHADOW, AI_MEMORY_CONFIDENCE_SHADOW_SAMPLE_RATE, AI_MEMORY_CONFIDENCE_DECAY. Xem docs/confidence-calibration.md.
  • Dạng 6 — từ vựng MemoryKind Batman (vấn đề #759). Enum 10 biến thể (Observation mặc định + Reflection / Persona / Concept / Entity / Claim / Relation / Event / Conversation / Decision). Móc trước lưu trữ auto_classify_kind tùy chọn (tắt / chỉ regex / regex_rồi_llm). Xem docs/memory-kind-vocab.md.
  • Dạng thứ 7 — đấu nối Lớp-4 tác tử-NGOẠI VI (nền tảng Tùy chọn-B) (vấn đề #760; hoàn thiện đầy đủ v0.8.0 tại #697). Quy tắc hạt giống được ký bởi cặp khóa người vận hành R001..R004, memory_check_agent_action + công cụ MCP memory_rule_list, móc trước ghi nền storage::insert. Xem docs/policy-engine.md + docs/governance/agent-action-rules.md.
  • Hướng dẫn cho người vận hành — chuyển Dạng 1–6 + thứ 7 từ có khả năng → hoạt động (vấn đề #800). Công thức 7 bước (tạo khóa người vận hành → ký hạt giống → bật R001–R004 → trình nền quản lý → lượt phản chiếu tùy chọn → chính sách không gian tên), duy trì launchd / systemd / Task-Scheduler, khối xác minh, đường dẫn khôi phục. Xem docs/batman-active-mode.mdtập bản đồ GitHub Pages.

Thắng lợi nhanh (Tencent QW-1/2/3)

  • QW-1 — xuất chuỗi phản chiếu được hỗ trợ bởi tệp. Công cụ MCP memory_export_reflection + chính sách không gian tên auto_export_reflections_to_filesystem~/.ai-memory/reflections/<ns>/<id>.md.
  • QW-2 — persona như tạo tác. Công cụ memory_persona + memory_persona_generate, hàng MemoryKind::Persona, chính sách không gian tên auto_persona_trigger_every_n_memories. Xem docs/persona.md.
  • QW-3 — nguyên thủy giảm tải ngữ cảnh. memory_offload + memory_deref di chuyển đầu ra công cụ lớn ra khỏi cửa sổ ngữ cảnh tác tử vào lưu trữ blob có thể định địa chỉ. Xem docs/context-offload.md.

Epic vỏ não được chứng thực (Track A–K)

  • Liên kết được chứng thực (Ed25519). Cột signature trống được cung cấp trong phiên bản v0.6.3 hiện đã được điền bằng chứng thực Ed25519 thực tế cho từng tác nhân, và memory_verify(link_id) trả về {signature_verified, attest_level, signed_by, signed_at} theo yêu cầu. Tạo cặp khóa bằng ai-memory identity generate; chọn tham gia qua attest_level = "self_signed". Việc ký được kiểm soát bởi daemon agent_id đã phân giải có cặp khóa *.priv trên đĩa trong thư mục khóa đã cấu hình — khi load_daemon_signing_key trả về None (src/main.rs:116-118), các hàng vẫn được ghi nhưng sig trống và daemon phát ra dòng "continuing unsigned" khi khởi động. Chuỗi băm chéo hàng trên signed_events vẫn chống giả mạo trong mọi trường hợp. Xem RFC attested-cortex.
  • Sự kiện đã ký V-4 kết thúc (chuỗi băm chéo hàng) (vấn đề #698). Mỗi hàng signed_events mang prev_hash + sequence; prev_hash hàng đầu tiên là không, các hàng tiếp theo nối chuỗi SHA-256 của tải trọng CBOR chuẩn trước đó. ai-memory verify-signed-events-chain duyệt toàn bộ chuỗi từ đầu đến cuối. Xem docs/signed-events-v4.md.
  • Đường ống Hook (25 sự kiện vòng đời). Một bề mặt mở rộng có thể lập trình kích hoạt trên 20 sự kiện cơ bản pre_/post_store|recall|search|delete|promote|link|consolidate|governance_decision|archive|transcript_store + on_index_eviction, cộng thêm 5 bổ sung lớn (pre_recall_expand G10 + pre_reflect/post_reflect học đệ quy Nhiệm vụ 6/8 + pre_compaction/on_compaction_rollback L1-7). Hook trả về Allow / Modify / Deny / AskUser. Mặc định tắt; chọn tham gia qua ~/.config/ai-memory/hooks.toml. Xem docs/hook-pipeline.md.
  • Bản ghi Sidechain + phát lại. BLOB sidechain nén zstd-3 lưu trữ các dấu vết hội thoại/suy luận thô; memory_replay(memory_id) duyệt memory_transcript_links để tái tạo chuỗi. Chọn tham gia cho mỗi không gian tên qua [transcripts.namespaces."team/*"]. Xem docs/sidechain-transcripts.md.
  • Tăng cường liên kết. mTLS + X-API-Key + danh sách cho phép dấu vân tay chứng chỉ SHA-256; biến môi trường AI_MEMORY_FED_PEER_ATTESTATION, AI_MEMORY_FED_SYNC_TRUST_PEER, AI_MEMORY_FED_TRUST_BODY_AGENT_ID. Xem docs/federation.md.
  • Công cụ hạn ngạch K8 + Phê duyệt SSE K10. memory_quota_status + /api/v1/quota/status (K8). /api/v1/approvals/stream sự kiện do máy chủ gửi với HMAC nonce, ràng buộc method+pending_id, loại bỏ số lượng sự kiện trễ (K10). Xem docs/k8-quotas.md + docs/k10-sse-approvals.md.
  • Phụ trợ hạng nhất Postgres + Apache AGE. ai-memory serve --store-url postgres://…, tương đương lược đồ, tương đương tính điểm thu hồi 6 yếu tố, di chuyển liên kết, các tính năng KG (kg_query, kg_timeline, kg_invalidate, find_paths) trên AGE Cypher với dự phòng CTE đệ quy khi không có AGE, cộng thêm một động từ CLI ai-memory schema-init mới. Được kiểm soát bằng điểm chuẩn — p95 của AGE phải vượt p95 của CTE ≥30% ở độ sâu=5. Hướng dẫn cho người vận hành: docs/postgres-age-guide.md. Sổ tay di chuyển: docs/migration-v0.7.0-postgres.md.
  • Năng lực v3 + trình tải thông minh. memory_capabilities v3 thêm summary, to_describe_to_user, callable_now cho mỗi công cụ, agent_permitted_families, schema_version="3"; các công cụ luôn bật mới memory_load_family(family)memory_smart_load(intent) tham gia hồ sơ core mặc định. Các cách diễn đạt cố định nằm trong docs/v0.7/canonical-phrasings.md.
  • Quyền + Phê duyệt A2A. Hệ thống con quản trị v0.6.x được tái cấu trúc thành quy tắc + chế độ + hook → một Decision duy nhất, với kế thừa không gian tên (G1) thực sự được thực thi. memory_pending_list / memory_pending_approve / memory_pending_reject(remember=forever) cho phép tin cậy tiến bộ; ký HMAC trên API phê duyệt là bắt buộc. permissions.mode mặc định là enforce (trước đây là advisory trong v0.6.4). Di chuyển bằng ai-memory governance migrate-to-permissions (xem trước chạy thử; thêm --config-out ~/.config/ai-memory/config.toml để áp dụng tại chỗ). Xem docs/governance.md.

Làn sóng lớn học đệ quy + L1/L2

Nguyên thủy nền tảng memory_reflect với giới hạn max_reflection_depth theo phạm vi không gian tên (mặc định 3, Some(0) là công tắc dừng khẩn cấp). Trình quản lý lượt phản chiếu L2-1, điều phối phản chiếu nhận biết liên kết L2-2 (memory_reflection_origin), lan truyền vô hiệu hóa L2-3 (memory_dependents_of_invalidated), gói pháp y L2-5 (ai-memory export-forensic-bundle + verify-forensic-bundle), Kỹ năng Tác nhân L1-5 (memory_skill_register|list|get|resource|export|promote_from_reflection|compositional_context). Sách hướng dẫn đầy đủ: docs/RECURSIVE_LEARNING.md. Sách hướng dẫn Kỹ năng Tác nhân: docs/agent-skills.md. Sách hướng dẫn xuất pháp y: docs/forensic-export.md.

Bắt đầu từ đâu: docs/MIGRATION_v0.7.md (quy trình nâng cấp), docs/v0.7.0/release-notes.md (ghi chú phát hành đầy đủ), docs/whats-new-v07.html (tóm tắt trực quan), docs/v0.7/rfc-attested-cortex.md (lý do thiết kế), docs/ADMIN_GUIDE.md (sổ tay người vận hành), docs/internal/v070-feature-inventory.md (sự thật tính năng chuẩn).

Một tệp nhị phân, bốn chế độ vận hành (v0.6.4). Tệp nhị phân Rust ai-memory (tokio + axum) có thể chạy bất kỳ chế độ nào trong số này một cách độc lập hoặc đồng thời, chia sẻ một cơ sở dữ liệu SQLite duy nhất:

  1. Máy chủ MCP stdio -- 101 mục được quảng cáo qua JSON-RPC ở hồ sơ đầy đủ (v0.9.0; 100 công cụ bộ nhớ có thể gọi + khởi động luôn bật memory_capabilities; đã xác minh với Profile::full().expected_tool_count()). --profile core mặc định quảng cáo 7 (5 mục gốc + memory_load_family + memory_smart_load) cộng với khởi động luôn bật memory_capabilities. ai-memory mcp / ai-memory mcp --profile full
  2. Daemon HTTP / mTLS -- 92 đăng ký tuyến REST (78 đường dẫn URL duy nhất) trên 127.0.0.1:9077, TLS + danh sách cho phép mTLS tùy chọn + xác thực khóa API, vòng lặp GC nền. ai-memory serve
  3. Daemon quản lý tự động -- vòng lặp tự lên lịch (nhịp mặc định 1 giờ) tự động gắn thẻ, phát hiện mâu thuẫn giữa các không gian tên anh em, hợp nhất các mục gần trùng lặp và điều chỉnh mức độ ưu tiên theo mẫu truy cập. Mọi hành động đều được ghi vào nhật ký hoàn tác; các thao tác phá hủy có thể được kiểm soát sau luồng phê duyệt quản trị. ai-memory curator --daemon
  4. Daemon đồng bộ hóa -- liên kết ngang hàng dựa trên túc số giữa các phiên bản. Ghi W-of-N (đa số mặc định), hợp nhất CRDT-lite đồng hồ vector, danh sách cho phép mTLS giữa các đồng đẳng. ai-memory sync-daemon

Các bề mặt MCP, HTTP và CLI đều phản ứng. Trình quản lý là phần làm cho lớp bộ nhớ tự duy trì: giữa các phiên, nó giữ cho kho ngữ liệu gọn gàng để chất lượng thu hồi luôn cao khi kho lưu trữ phát triển. Mọi thứ đều ưu tiên cục bộ; không phụ thuộc vào đám mây.

Đánh giá thực tế bởi Claude Opus 4.7 sau khi đọc từng dòng mã nguồn v0.6.3:

"ai-memory là lớp bộ nhớ mạnh mẽ nhất mà tôi từng được kết nối, và có ý nghĩa hơn nhiều so với tên gọi của nó. Đối với tôi, về mặt thực tế, nó có nghĩa là: Tôi không bắt đầu lạnh lẽo mỗi phiên. Kho lưu trữ tôi đọc đã được giữ gọn gàng bởi thứ gì đó không phải tôi. Mâu thuẫn không âm thầm tích tụ. Chất lượng thu hồi vẫn cao ngay cả khi kho ngữ liệu phát triển. Không có gì rời khỏi Mac mini của bạn.

Nó không biến tôi thành một tác nhân tự động. Nó đang cung cấp cho tôi loại cơ sở hạ tầng bộ nhớ mà một tác nhân tự động sẽ cần — và tự nó chạy một vòng lặp tự động nhỏ để duy trì nó. Đó là một nền tảng thực sự. Khoảng cách từ đây đến 'ai-memory điều khiển các tác vụ chung' là hệ thống ống nước (giao thức gọi công cụ + đăng ký công cụ + mô hình có khả năng sử dụng công cụ), không phải phát minh."

Nền tảng cho AI đa tác nhân. ai-memory không phải là thời gian chạy tác nhân và không phải là "AI tự động" tự thân. Nó là lớp bộ nhớ mà các triển khai tự động đa tác nhân cần bên dưới chúng. Liên kết (broadcast_store_quorum + spawn_catchup_loop) xử lý tính nhất quán W-of-N trên các đồng đẳng khi nhiều tác nhân ghi song song; daemon quản lý giữ cho kho ngữ liệu chung không bị suy giảm thành nhiễu khi một bầy ghi vào nó; đăng ký webhook (ký HMAC, lọc theo không gian tên/tác nhân, tăng cường chống SSRF) biến kho lưu trữ thành một bus tin nhắn kích hoạt các tác nhân hạ nguồn trên các sự kiện bộ nhớ; hệ thống phân cấp không gian tên với kế thừa N cấp và chính sách quản trị cho mỗi không gian tên (quyền ghi/thăng cấp/xóa, loại người phê duyệt, đồng thuận N-of-M tùy chọn) ràng buộc bầy. Xếp chồng cái này dưới một trình chạy tác nhân đa máy 24/7 với các kỹ năng tự động tạo, và hệ thống kết hợp đáp ứng ngưỡng hành vi cho AI tự động. Những khoảng trống còn lại (không học ở cấp độ trọng số, nhân suy luận không trạng thái, mục tiêu gốc do con người gieo) là có thật và không phải là điều ai-memory giải quyết; ai-memory cung cấp nền tảng bộ nhớ đa tác nhân mà bất kỳ nỗ lực nghiêm túc nào để lấp đầy những khoảng trống đó sẽ cần.

Không tốn token cho đến khi thu hồi. Không giống như các hệ thống bộ nhớ tích hợp sẵn (bộ nhớ tự động Claude Code, bộ nhớ ChatGPT) tải toàn bộ bộ nhớ của bạn vào mỗi cuộc trò chuyện -- đốt token và tiền bạc trên mỗi tin nhắn -- ai-memory sử dụng không token ngữ cảnh cho đến khi AI gọi rõ ràng memory_recall. Chỉ những ký ức liên quan mới được trả về, được xếp hạng bởi thuật toán tính điểm 6 yếu tố. Định dạng TOON (Token-Oriented Object Notation) cắt giảm token phản hồi thêm 40-60% bằng cách loại bỏ các tên trường lặp lại -- 3 ký ức trong JSON = 1.600 byte; trong TOON = 626 byte (nhỏ hơn 61%); trong TOON compact = 336 byte (nhỏ hơn 79%). Đối với người dùng Claude Code: tắt bộ nhớ tự động ("autoMemoryEnabled": false trong settings.json) và thay thế bằng ai-memory để ngừng trả tiền cho hơn 200 dòng ngữ cảnh bộ nhớ trên mỗi tin nhắn.


Danh tính tác nhân (NHI) — mỗi ký ức cho bạn biết ai đã học nó

Mỗi ký ức ai-memory lưu trữ mang một metadata.agent_id — một dấu hiệu Nhận dạng Phi Nhân loại tồn tại qua mọi thao tác (cập nhật, loại bỏ trùng lặp, nhập, đồng bộ, hợp nhất). Mỗi kết quả thu hồi cho bạn biết AI nào đã viết mỗi ký ức, theo mặc định, trong định dạng phản hồi TOON-compact mà máy khách AI của bạn đã được tối ưu hóa:

count:5|mode:hybrid|tokens_used:842
memories[id|title|tier|namespace|priority|score|tags|agent_id]:
a1b2|Project DB is PostgreSQL 16|long|infra|8|0.91|database,postgres|ai:claude-code@workstation:pid-3812
c3d4|API rate limit is 100 rps|long|infra|7|0.87|api,limits|ai:claude-desktop@laptop:pid-5219

Trên một lần ghi không ký, agent_id là một danh tính được khai báo — đừng chỉ dựa vào nó để đưa ra quyết định bảo mật. Chứng thực tác nhân theo đường dẫn lưu trữ là bắt buộc theo mặc định trên bề mặt ghi trực tiếp HTTP (#1751, phạm vi bề mặt bởi #1985): một POST /api/v1/memories HTTP không ký (+/bulk) bị từ chối (403 ATTESTATION_FAILED) thay vì hạ cánh attest_level = "claimed", trừ khi người vận hành đặt rõ ràng tùy chọn từ chối AI_MEMORY_REQUIRE_AGENT_ATTESTATION=0. Các bề mặt người vận hành như tác nhân memory_store MCP và store CLI vẫn cho phép theo mặc định (một lần ghi không ký hạ cánh claimed); =1 thực thi nghiêm ngặt trên mọi bề mặt. Chứng thực mật mã Ed25519 được kết nối trên hai bề mặt: (1) chứng thực đường dẫn lưu trữ (#626 Lớp-3) — trình bày chữ ký tách rời trên bao thư SignableWrite chuẩn trên đường dẫn CLI (store --sign), MCP (memory_store), hoặc HTTP (POST /api/v1/memories) và daemon xác minh nó với khóa công khai ràng buộc của tác nhân, đóng dấu metadata.attest_level = "agent_attested" (một chữ ký được trình bày nhưng giả mạo luôn bị từ chối bất kể cờ); và (2) chứng thực liên kết (attested-cortex) — trường memory_links.signature đã được dành riêng trước đó với memory_verify(link_id) để xác minh đầu vào và một chuỗi kiểm toán signed_events chỉ thêm vào. Xem trang danh tính tác nhânRFC attested-cortex để biết hợp đồng nguồn gốc đầy đủ.

Nhập hội thoại hồi tố — ai-memory mine

Đừng bắt đầu lạnh lẽo. Trỏ ai-memory mine vào một bản xuất Claude, ChatGPT hoặc Slack và nó phân tích từng lượt thành các ký ức được xếp hạng, phân loại theo bậc, gắn thẻ — để AI của bạn bước vào phiên tiếp theo biết mọi quyết định, sửa chữa và phát hiện từ lịch sử hiện có của bạn.

ai-memory mine claude  ~/Downloads/claude-export/
ai-memory mine chatgpt ~/Downloads/chatgpt-export.json
ai-memory mine slack   ./slack-export/

Tự động gắn thẻ, loại bỏ trùng lặp trên (title, namespace) và nguồn gốc mined_from được đóng dấu trên mọi ký ức đã nhập. Quy trình giới thiệu năm phút từ không ngữ cảnh đến một kho lưu trữ dài hạn đã được điền đầy. Xem trang lịch sử nhập để biết công thức cho từng định dạng.


Nền tảng AI tương thích

ai-memory tích hợp với bất kỳ nền tảng AI nào hỗ trợ Giao thức Ngữ cảnh Mô hình (MCP). MCP là tiêu chuẩn phổ quát để kết nối trợ lý AI với các công cụ và nguồn dữ liệu bên ngoài.

Nền tảngPhương thức tích hợpĐịnh dạng cấu hìnhTrạng thái
Claude Code (Anthropic)MCP stdioJSON (~/.claude.json hoặc .mcp.json)Hỗ trợ đầy đủ
Codex CLI (OpenAI)MCP stdioTOML (~/.codex/config.toml)Hỗ trợ đầy đủ
Gemini CLI (Google)MCP stdioJSON (~/.gemini/settings.json)Hỗ trợ đầy đủ
Grok CLI (xAI)MCP stdioJSON (~/.grok/user-settings.json)Tích hợp sâu
Grok API (xAI)MCP remote HTTPSCấp APIHỗ trợ đầy đủ
Cursor IDEMCP stdioJSON (~/.cursor/mcp.json)Hỗ trợ đầy đủ
Windsurf (Codeium)MCP stdioJSON (~/.codeium/windsurf/mcp_config.json)Hỗ trợ đầy đủ
Continue.devMCP stdioYAML (~/.continue/config.yaml)Hỗ trợ đầy đủ
Llama Stack (META)MCP remote HTTPYAML / Python SDKHỗ trợ đầy đủ
OpenClawMCP stdioJSON (mcp.servers trong cấu hình)Hỗ trợ đầy đủ
Bất kỳ MCP client nàoMCP stdio hoặc HTTPĐa dạngPhổ quát

MCP là lớp tích hợp chính. Đối với các nền tảng AI chưa hỗ trợ MCP một cách tự nhiên, HTTP API (92 đăng ký route / 78 đường dẫn URL duy nhất trên localhost) và CLI (89 lệnh con dưới --features sal HOẶC --features sal-postgres; 87 trong bản dựng mặc định (sau #1389 L2 RecoverPreviousSession cho tái tạo ngữ cảnh xuyên phiên + #1443 Expand cho bề mặt mở rộng truy vấn ai-memory expand + #1598 Reembed cho bề mặt di chuyển không gian vector ai-memory reembed); SSOT được ghim bởi ai_memory::EXPECTED_CLI_SUBCOMMANDS_DEFAULT + EXPECTED_CLI_SUBCOMMANDS_SAL + bài kiểm tra tương đương cơ học tests/cli_subcommand_count_invariant.rs) cung cấp quyền truy cập phổ quát -- bất kỳ AI, script, hoặc tự động hóa nào có thể thực hiện cuộc gọi HTTP hoặc chạy lệnh shell đều có thể sử dụng ai-memory.


Cài đặt trong 60 giây

Các tệp nhị phân dựng sẵn không yêu cầu phụ thuộc. Xây dựng từ mã nguồn cần Rust và trình biên dịch C.

Nhanh nhất: Tệp nhị phân dựng sẵn (không cần Rust)

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.sh | sh

# Fedora/RHEL (COPR)
sudo dnf copr enable alpha-one-ai/ai-memory && sudo dnf install ai-memory

# Windows (PowerShell)
irm https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.ps1 | iex

Bước 1: Cài đặt Rust (bỏ qua nếu dùng tệp nhị phân dựng sẵn)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Làm theo hướng dẫn, sau đó khởi động lại terminal của bạn (hoặc chạy source ~/.cargo/env).

Bước 2: Từ mã nguồn (yêu cầu Rust)

Bản phát hành mới nhất từ Crates.io:

cargo install ai-memory

Mới nhất từ kho git:

cargo install --git https://github.com/alphaonedev/ai-memory-mcp.git

Lệnh này biên dịch tệp nhị phân và đặt nó vào PATH của bạn. Quá trình mất một hoặc hai phút.

Phụ thuộc xây dựng cho bản dựng từ mã nguồn:

  • Ubuntu/Debian: sudo apt-get install build-essential pkg-config
  • Fedora/RHEL: sudo dnf install gcc pkg-config

Bước 3: Kết nối AI của bạn

Cấu hình thay đổi tùy theo nền tảng. Tìm nền tảng của bạn bên dưới:

Claude Code (Anthropic)

Claude Code hỗ trợ ba phạm vi cấu hình MCP:

Phạm viTệpÁp dụng cho
Người dùng (toàn cục)~/.claude.json — thêm khóa mcpServersTất cả dự án trên máy của bạn
Dự án (chia sẻ).mcp.json trong thư mục gốc dự án (được commit vào git)Mọi người trong dự án
Cục bộ (riêng tư)~/.claude.json — dưới projects."/path".mcpServersMột dự án, chỉ bạn

Phạm vi người dùng (khuyến nghị — hoạt động ở mọi nơi):

Thêm khóa mcpServers vào ~/.claude.json (macOS/Linux) hoặc %USERPROFILE%\.claude.json (Windows):

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
    }
  }
}

Lưu ý: ~/.claude.json có thể đã tồn tại với các cài đặt khác. Hợp nhất khóa mcpServers vào tệp hiện có — không ghi đè lên nó.

Phạm vi dự án (chia sẻ với nhóm):

Tạo .mcp.json trong thư mục gốc dự án của bạn:

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
    }
  }
}

Bậc smart / autonomous với LLM đám mây — lộ trình khuyến nghị là phần [llm] trong ~/.config/ai-memory/config.toml (#1146). Một tệp, mọi bề mặt, không cần chỉnh sửa cho từng AI client:

# ~/.config/ai-memory/config.toml
schema_version = 2

[llm]
backend     = "xai"
model       = "grok-4.3"
base_url    = "https://api.x.ai/v1"
api_key_env = "XAI_API_KEY"            # process-env-var name (NOT the literal key)

Xuất XAI_API_KEY trong shell rc của bạn (.zshrc / .bashrc); cấu hình MCP vẫn tối giản:

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "autonomous"]
    }
  }
}

Xác minh: ai-memory boot --quiet --limit 1 sẽ báo cáo llm=xai:grok-4.3. Tham chiếu lược đồ chính tắc: docs/CONFIG_SCHEMA.md.

Đường dẫn ghi đè — khối env:. Thêm khối env: vào cấu hình MCP với AI_MEMORY_LLM_BACKEND / _API_KEY / _MODEL vẫn hoạt động và được ưu tiên hơn config.toml — hữu ích cho CI / tinh chỉnh theo phiên:

"env": {
  "AI_MEMORY_LLM_BACKEND": "xai",
  "AI_MEMORY_LLM_API_KEY": "xai-...",
  "AI_MEMORY_LLM_MODEL": "grok-4.3"
}

Các MCP client khởi tạo máy chủ như một tiến trình con mới chỉ với các khóa env: từ cấu hình MCP — các biến xuất shell trong .zshrc / .bashrc không đến được nó. Đường dẫn tệp cấu hình [llm] ở trên loại bỏ phiền toái này (mọi bề mặt đọc cùng một tệp). Khóa API nội tuyến trong config.toml bị từ chối tại thời điểm phân tích cú pháp — sử dụng api_key_env hoặc api_key_file. Bối cảnh: #1144#1146. Công thức đầy đủ cho từng backend: docs/integrations/llm-backends.md.

Đường dẫn Windows: Sử dụng dấu gạch chéo lên hoặc dấu gạch chéo ngược đã escape trong --db. Ví dụ: "--db", "C:/Users/YourName/.claude/ai-memory.db".

Cờ bậc: Cờ --tier chọn bậc tính năng: keyword, semantic (mặc định), smart, hoặc autonomous. Các bậc thông minh và tự động cần một backend LLM — sau #1067 (v0.7.0) đó là bất kỳ trong số: Ollama cục bộ, xAI Grok, OpenAI, Anthropic, Google Gemini, DeepSeek, Kimi (Moonshot), Qwen (Alibaba), Mistral, Groq, Together AI, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, hoặc máy chủ llama.cpp — được chọn qua AI_MEMORY_LLM_BACKEND. Cờ --tier phải được truyền trong các đối số — cài đặt bậc config.toml không được sử dụng khi máy chủ MCP được khởi chạy bởi một AI client.

Quan trọng: Các máy chủ MCP không được cấu hình trong settings.json hoặc settings.local.json — những tệp đó không hỗ trợ mcpServers.

Khiến Claude chủ động sử dụng ai-memory: Thêm tệp CLAUDE.md vào thư mục gốc dự án của bạn với các chỉ thị ai-memory. Điều này đảm bảo Claude nhớ lại ngữ cảnh khi bắt đầu mỗi cuộc trò chuyện và lưu trữ các phát hiện khi làm việc. Xem hướng dẫn tích hợp CLAUDE.md để có mẫu sao chép-dán và các tùy chọn vị trí.

OpenAI Codex CLI

Thêm vào ~/.codex/config.toml (toàn cục) hoặc .codex/config.toml (dự án). Windows: %USERPROFILE%\.codex\config.toml. Ghi đè bằng biến môi trường CODEX_HOME.

[mcp_servers.memory]
command = "ai-memory"
args = ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
enabled = true

Hoặc thêm qua CLI: codex mcp add memory -- ai-memory --db ~/.local/share/ai-memory/memories.db mcp --tier semantic

Lưu ý: Codex sử dụng định dạng TOML với khóa có dấu gạch dưới mcp_servers (không phải camelCase, không có dấu gạch nối). Hỗ trợ env (cặp khóa/giá trị), env_vars (danh sách để chuyển tiếp), enabled_tools, disabled_tools, startup_timeout_sec, tool_timeout_sec. Sử dụng /mcp trong TUI để xem trạng thái máy chủ. Xem tài liệu Codex MCP.

Google Gemini CLI

Thêm vào ~/.gemini/settings.json (người dùng) hoặc .gemini/settings.json (dự án). Windows: %USERPROFILE%\.gemini\settings.json.

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"],
      "timeout": 30000
    }
  }
}

Hoặc thêm qua CLI: gemini mcp add memory ai-memory -- --db ~/.local/share/ai-memory/memories.db mcp --tier semantic

Lưu ý: Tránh dấu gạch dưới trong tên máy chủ (sử dụng dấu gạch nối). Tên công cụ được tự động thêm tiền tố là mcp_memory_<toolName>. Biến môi trường trong trường env hỗ trợ $VAR / ${VAR} (tất cả nền tảng) và %VAR% (Windows). Gemini làm sạch các mẫu nhạy cảm khỏi môi trường kế thừa trừ khi được khai báo rõ ràng. Thêm "trust": true để bỏ qua lời nhắc xác nhận. Quản lý CLI: gemini mcp list/remove/enable/disable. Xem tài liệu Gemini CLI MCP.

Cursor IDE

Thêm vào ~/.cursor/mcp.json (toàn cục) hoặc .cursor/mcp.json (dự án). Windows: %USERPROFILE%\.cursor\mcp.json. Cấu hình dự án ghi đè toàn cục cho các máy chủ cùng tên.

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
    }
  }
}

Lưu ý: Khởi động lại Cursor sau khi chỉnh sửa mcp.json. Xác minh trạng thái máy chủ trong Settings > Tools & MCP (chấm xanh = đã kết nối). Hỗ trợ env, envFile, và nội suy ${env:VAR_NAME} (nội suy biến môi trường có thể không đáng tin cậy đối với các biến hồ sơ shell — sử dụng envFile như giải pháp thay thế). Giới hạn ~40 công cụ trên tất cả các máy chủ MCP. Xem tài liệu Cursor MCP.

Windsurf (Codeium)

Thêm vào ~/.codeium/windsurf/mcp_config.json (chỉ toàn cục — không có phạm vi cấp dự án). Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json.

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
    }
  }
}

Lưu ý: Hỗ trợ nội suy ${env:VAR_NAME} trong command, args, env, serverUrl, url, và headers. Giới hạn 100 công cụ trên tất cả các máy chủ MCP. Cũng có thể thêm qua MCP Marketplace hoặc Settings > Cascade > MCP Servers. Xem tài liệu Windsurf MCP.

Continue.dev

Thêm vào ~/.continue/config.yaml (người dùng) hoặc thư mục .continue/mcpServers/ trong thư mục gốc dự án (tệp YAML/JSON cho mỗi máy chủ). Windows: %USERPROFILE%\.continue\config.yaml.

mcpServers:
  - name: memory
    command: ai-memory
    args:
      - "--db"
      - "~/.local/share/ai-memory/memories.db"
      - "mcp"
      - "--tier"
      - "semantic"

Lưu ý: Các công cụ MCP chỉ hoạt động trong chế độ tác nhân. Hỗ trợ ${{ secrets.SECRET_NAME }} cho nội suy bí mật. Thư mục .continue/mcpServers/ cấp dự án tự động phát hiện cấu hình JSON từ các công cụ khác (Claude Code, Cursor, v.v.). Xem tài liệu Continue MCP.

Grok CLI (Nhánh AlphaOne — tích hợp sâu với tự động nhớ lại)

Nhánh AlphaOne của grok-cli có hỗ trợ ai-memory tích hợp sẵn với các kết nối MCP phạm vi phiên, tự động nhớ lại bộ nhớ khi bắt đầu phiên, lưu trữ tóm tắt compaction, và lời nhắc hệ thống nhận biết bộ nhớ.

Thêm vào ~/.grok/user-settings.json:

{
  "mcp": {
    "servers": [
      {
        "id": "ai-memory",
        "label": "AI Memory",
        "enabled": true,
        "transport": "stdio",
        "command": "ai-memory",
        "args": ["mcp", "--tier", "semantic"]
      }
    ]
  }
}

Tính năng: Tự động nhớ lại khi bắt đầu phiên (đưa các bộ nhớ liên quan vào lời nhắc hệ thống), tóm tắt compaction được lưu trữ dưới dạng bộ nhớ bậc trung, các công cụ MCP có sẵn trong tất cả các chế độ (tác nhân, kế hoạch, hỏi), kết nối phạm vi phiên (không khởi động nguội mỗi tin nhắn). Sử dụng --tier semantic theo mặc định (nhúng cục bộ, không cần backend LLM). Xem tài liệu grok-cli để thiết lập đầy đủ.

xAI Grok API (Cấp API, MCP từ xa)

Grok kết nối với các máy chủ MCP qua HTTPS (chỉ từ xa, không stdio). Không có tệp cấu hình — các máy chủ được chỉ định cho mỗi yêu cầu API.

ai-memory serve --host 127.0.0.1 --port 9077
# Expose via HTTPS reverse proxy (nginx, caddy, cloudflare tunnel, etc.)

Sau đó thêm máy chủ MCP vào cuộc gọi Grok API của bạn:

curl https://api.x.ai/v1/responses \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4.3",
    "tools": [{
      "type": "mcp",
      "server_url": "https://your-server.example.com/mcp",
      "server_label": "memory",
      "server_description": "Persistent AI memory with recall and search",
      "allowed_tools": ["memory_store", "memory_recall", "memory_search"]
    }],
    "input": "What do you remember about our project?"
  }'

Yêu cầu: Cần HTTPS. server_label là bắt buộc. Hỗ trợ các truyền tải Streamable HTTP và SSE. Tùy chọn: allowed_tools, authorization, headers. Hoạt động với xAI SDK, OpenAI-compatible Responses API, và Voice Agent API. Xem tài liệu xAI Remote MCP.

META Llama (qua Llama Stack)

Llama Stack đăng ký các máy chủ MCP dưới dạng nhóm công cụ. Không có đường dẫn tệp cấu hình chuẩn hóa — tùy thuộc vào triển khai.

ai-memory serve --host 127.0.0.1 --port 9077

Python SDK:

client.toolgroups.register(
    provider_id="model-context-protocol",
    toolgroup_id="mcp::memory",
    mcp_endpoint={"uri": "http://localhost:9077/sse"}
)

Hoặc khai báo trong run.yaml:

tool_groups:
  - toolgroup_id: mcp::memory
    provider_id: model-context-protocol
    mcp_endpoint:
      uri: "http://localhost:9077/sse"

Lưu ý: Hỗ trợ nội suy ${env.VAR_NAME} trong run.yaml. Truyền tải đang chuyển từ SSE sang Streamable HTTP. Xem tài liệu Llama Stack Tools.

OpenClaw

Thêm qua CLI hoặc chỉnh sửa trực tiếp cấu hình OpenClaw. Cấu hình sử dụng mcp.servers (không phải mcpServers).

openclaw mcp set memory '{"command":"ai-memory","args":["--db","~/.local/share/ai-memory/memories.db","mcp","--tier","semantic"]}'

Hoặc thêm vào tệp cấu hình OpenClaw của bạn:

{
  "mcp": {
    "servers": {
      "memory": {
        "command": "ai-memory",
        "args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
      }
    }
  }
}

Ghi chú: OpenClaw sử dụng khóa mcp.servers (không phải mcpServers). Quản lý CLI: openclaw mcp list, openclaw mcp show, openclaw mcp set, openclaw mcp unset. Hỗ trợ stdio, URL từ xa và các transport Streamable HTTP. Ưu tiên --token-file thay vì bí mật nội tuyến. Xem tài liệu OpenClaw MCP.

Bất kỳ client MCP nào khác

ai-memory giao tiếp MCP qua stdio (JSON-RPC 2.0). Trỏ client của bạn tới:

command: ai-memory
args: ["--db", "/path/to/ai-memory.db", "mcp"]

Đối với client chỉ hỗ trợ HTTP, khởi động REST API:

ai-memory serve
# 92 REST route registrations (78 unique URL paths) at http://127.0.0.1:9077/api/v1/

Bước 4: Hoàn tất. Kiểm tra.

Khởi động lại trợ lý AI của bạn. Nếu sử dụng MCP, giờ đây nó có bề mặt 7 công cụ mặc định được quảng bá khi khởi động phiên (5 công cụ gốc + memory_load_family + memory_smart_load; 93 công cụ còn lại trong số 100 công cụ có thể gọi sẽ tải theo yêu cầu qua --profile hoặc memory_capabilities --include-schema). Hãy hỏi nó: "Lưu một ký ức rằng ngôn ngữ yêu thích của tôi là Rust." Sau đó, trong một cuộc trò chuyện mới, hãy hỏi: "Ngôn ngữ yêu thích của tôi là gì?" Nó sẽ ghi nhớ.


Hỗ trợ nền tảng di động (v0.7.0 Posture-1a)

ai-memory có thể chạy trên iOS và Android thông qua đường dẫn biên dịch chéo di động tiêu chuẩn của Rust. v0.7.0 cung cấp phạm vi CI cho cả hai mục tiêu ở ba cấp độ tăng dần:

LớpPhạm viQuy trình CI
Lớp 1 — Biên dịch chéocargo check --target aarch64-apple-ios --no-default-features --features sqlite-bundled --lib và biên dịch chéo Android tương ứng chạy trên mỗi PR + push lên release/**. Phát hiện ~80% rủi ro hỏng hóc di động (bất kỳ bản cập nhật crate nào làm mất khả năng tương thích di động đều hiển thị ở đây)..github/workflows/ci.yml — công việc mobile-cross-compile
Lớp 2 — Tạo tác phát hànhViệc cắt tag phát hành tạo ra ai-memory-ios.xcframework.tar.gz (các lát cắt thiết bị iOS + trình giả lập qua xcodebuild -create-xcframework) và ai-memory-android.tar.gz (gói .so arm64 / armv7 / x86_64 / x86 của Android theo bố cục jniLibs/<abi>/)..github/workflows/release.yml — các công việc mobile-ios + mobile-android
Lớp 3 — Kiểm tra thời gian chạyMột tập con giới hạn ~50 bài kiểm tra (hộp cát hệ thống tệp, FTS5 trên SQLite thiết bị, thu hồi CPU HNSW, đường dẫn CPU trình nhúng, TLS client LLM) chạy trên Trình giả lập iOS trên mỗi lần push release/** + workflow_dispatch thủ công; nhánh arm của trình giả lập Android chạy trên push release/** + workflow_dispatch. Lý do lựa chọn: tests/mobile/README.md..github/workflows/mobile-runtime.yml

Trạng thái tại v0.7.0: Lớp 1 là cổng xuất xưởng — biên dịch chéo di động phải XANH trước khi cắt tag. Lớp 2 (tạo tác phát hành) xuất xưởng pipeline BUILD + bố cục tạo tác; bề mặt FFI có thể gọi từ C sẽ được đưa vào trong bản cập nhật tiếp theo của v0.7.x. Lớp 3 chạy tập con kiểm tra giới hạn trên mỗi lần push release/**.

Sử dụng các tạo tác phát hành:

  • iOS — tải xuống ai-memory-ios.xcframework.tar.gz từ trang phát hành v0.7.x, giải nén và kéo AiMemory.xcframework vào dự án Xcode của bạn trong "Frameworks, Libraries, and Embedded Content."
  • Android — tải xuống ai-memory-android.tar.gz từ trang phát hành v0.7.x, giải nén và sao chép cây jniLibs/ vào src/main/jniLibs/ của mô-đun ứng dụng của bạn.

Các tạo tác di động cũng là một phần của mọi bản phát hành v0.7.x đã xuất bản; công thức Homebrew + các gói APT/RPM (cung cấp các tệp nhị phân máy tính để bàn) bao gồm một ghi chú liên kết đến các bản tải xuống di động. Xem vấn đề #1068 để biết lịch sử triển khai CI.


Bắt đầu nhanh

Từ con số không đến bộ nhớ hoạt động trong vòng chưa đầy hai phút.

1. Cài đặt

curl -fsSL https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.sh | sh

2. Cấu hình MCP (ví dụ cho Claude Code -- các nền tảng khác hoạt động tương tự)

Hợp nhất vào ~/.claude.json:

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
    }
  }
}

3. Lưu ký ức đầu tiên của bạn

ai-memory store -T "Project uses PostgreSQL 15" -c "Main DB is PG 15 with pgvector." --tier long

4. Truy xuất nó

ai-memory recall "database"

5. Kiểm tra thống kê

ai-memory stats

6. Sử dụng với AI của bạn. Khởi động lại client AI của bạn. Giờ đây nó có 7 công cụ bộ nhớ mặc định được quảng bá khi khởi động (101 mục được quảng bá có thể truy cập thông qua mở rộng thời gian chạy hoặc --profile full) qua MCP -- nó có thể lưu trữ và truy xuất ký ức một cách tự nhiên trong các cuộc trò chuyện.


SDK

Ngoài các bề mặt MCP / HTTP / CLI, ai-memory còn cung cấp SDK ngôn ngữ bên thứ nhất cho các client HTTP và các tiện ích trợ giúp (ví dụ: requireProfile để xác nhận hồ sơ thời gian chạy trên các daemon v0.6.4+).

TypeScript / JavaScript@alphaone/ai-memory trên npm

npm install @alphaone/ai-memory

Pythonai-memory-mcp trên PyPI (tên import vẫn là ai_memory)

pip install ai-memory-mcp
from ai_memory import AiMemoryClient, require_profile

with AiMemoryClient(base_url="http://127.0.0.1:9077", api_key="...") as client:
    require_profile(client, "graph")  # raises ProfileNotLoaded on miss

Cả hai SDK đều được lập phiên bản cùng với máy chủ (0.9.0 khớp với ai-memory 0.9.0). Các daemon v0.6.4+ thực thi hợp đồng hồ sơ; các daemon trước v0.6.4 quay trở lại chế độ cảnh báo và tiếp tục cho phép để các bản nâng cấp SDK không phá vỡ các máy chủ cũ. Mã nguồn nằm trong sdk/typescript/sdk/python/.


Nó Làm Gì?

Các trợ lý AI quên mọi thứ giữa các cuộc trò chuyện. ai-memory khắc phục điều đó.

Nó chạy như một máy chủ công cụ MCP (Model Context Protocol) -- một tiến trình nền mà AI của bạn giao tiếp một cách tự nhiên. Khi AI của bạn học được điều gì quan trọng, nó sẽ lưu trữ. Khi cần ngữ cảnh, nó truy xuất các ký ức liên quan được xếp hạng bởi thuật toán chấm điểm 6 yếu tố. Ký ức tồn tại trong ba tầng:

  • Ngắn hạn (mặc định 6 giờ, có thể cấu hình) -- ngữ cảnh dùng một lần như trạng thái gỡ lỗi hiện tại
  • Trung hạn (mặc định 7 ngày, có thể cấu hình) -- kiến thức làm việc như mục tiêu sprint và các quyết định gần đây
  • Dài hạn (vĩnh viễn) -- kiến trúc, tùy chọn người dùng, bài học khó nhọc

Những ký ức tiếp tục được truy cập sẽ tự động thăng hạng từ trung hạn lên dài hạn. Mỗi lần truy xuất kéo dài TTL. Mức độ ưu tiên tăng lên khi sử dụng. Hệ thống tự quản lý.

Ngoài MCP, ai-memory cũng cung cấp một REST API HTTP đầy đủ (92 đăng ký tuyến / 78 đường dẫn URL duy nhất trên cổng 9077) và một CLI hoàn chỉnh (89 lệnh con dưới --features sal HOẶC --features sal-postgres; 87 trong bản dựng mặc định (sau #1389 L2 RecoverPreviousSession để tái hydrat hóa ngữ cảnh xuyên phiên + #1443 Expand cho bề mặt mở rộng truy vấn ai-memory expand + #1598 Reembed cho bề mặt di chuyển không gian vector ai-memory reembed); SSOT được ghim bởi ai_memory::EXPECTED_CLI_SUBCOMMANDS_{DEFAULT,SAL} + bài kiểm tra tính ngang bằng cơ học tests/cli_subcommand_count_invariant.rs) để tương tác trực tiếp, viết kịch bản và tích hợp với bất kỳ nền tảng hoặc công cụ AI nào.


Tính năng

Cốt lõi

  • Máy chủ công cụ MCP -- 101 công cụ qua stdio JSON-RPC (hồ sơ đầy đủ), tương thích với bất kỳ client MCP nào
  • Bộ nhớ ba tầng -- ngắn (TTL mặc định 6h), trung (TTL mặc định 7d), dài (vĩnh viễn) -- TTL có thể cấu hình
  • Tìm kiếm toàn văn -- SQLite FTS5 với truy xuất được xếp hạng
  • Truy xuất lai -- từ khóa FTS5 + độ tương đồng cosine với pha trộn thích ứng: trọng số ngữ nghĩa thay đổi 0,50 (nội dung ngắn) → 0,15 (nội dung dài) vì embedding mất thông tin trên văn bản dài
  • Chấm điểm truy xuất 6 yếu tố -- mức độ liên quan FTS + ưu tiên + tần suất truy cập + độ tin cậy + tăng cường tầng + phân rã thời gian gần đây
  • Tự động thăng hạng -- ký ức được truy cập 5+ lần thăng hạng từ trung lên dài
  • Gia hạn TTL -- mỗi lần truy xuất kéo dài thời hạn (ngắn +1h, trung +1d)
  • Củng cố ưu tiên -- +1 mỗi 10 lần truy cập (tối đa 10)
  • Phát hiện mâu thuẫn -- cảnh báo khi lưu trữ ký ức xung đột với ký ức hiện có
  • Chống trùng lặp -- upsert trên tiêu đề+không gian tên, tầng không bao giờ bị hạ cấp
  • Chấm điểm độ tin cậy -- độ chắc chắn 0.0-1.0 được tính vào xếp hạng

Tổ chức

  • Không gian tên -- cô lập ký ức theo dự án (tự động phát hiện từ git remote)
  • Liên kết ký ức -- quan hệ có kiểu: related_to, supersedes, contradicts, derived_from, reflects_on (học đệ quy Nhiệm vụ 1/8), derives_from (nguyên tử hóa WT-1-A), decomposes_into, depends_on, advances -- chín biến thể tại v0.8.0
  • Hợp nhất -- gộp nhiều ký ức thành một bản tóm tắt dài hạn duy nhất
  • Tự động hợp nhất -- nhóm theo không gian tên+thẻ, tự động gộp các nhóm trên ngưỡng
  • Giải quyết mâu thuẫn -- đánh dấu một ký ức thay thế ký ức khác, hạ cấp ký ức thua
  • Quên theo mẫu -- xóa hàng loạt theo không gian tên + mẫu FTS + tầng
  • Theo dõi nguồn -- theo dõi nguồn gốc: user, claude, hook, api, cli, import, consolidation, system
  • Danh tính tác nhân (NHI) -- mọi ký ức mang metadata.agent_id (danh tính được khai báo) với tính bất biến phòng thủ chuyên sâu qua cập nhật/chống trùng lặp/nhập/đồng bộ/hợp nhất; lọc list/search theo tác nhân
  • Gắn thẻ -- thẻ phân cách bằng dấu phẩy với hỗ trợ lọc

Giao diện

  • 92 tuyến HTTP (78 đường dẫn duy nhất) -- REST API đầy đủ trên 127.0.0.1:9077 (hoạt động với bất kỳ AI hoặc công cụ nào)
  • 89 lệnh con CLI dưới --features sal HOẶC --features sal-postgres (87 trong bản dựng mặc định) -- CLI hoàn chỉnh với các khả năng giống hệt
  • 101 công cụ MCP ở hồ sơ đầy đủ (7 mặc định; được xác minh dựa trên Profile::full().expected_tool_count()) -- tích hợp tự nhiên cho bất kỳ AI tương thích MCP nào
  • Shell REPL tương tác -- truy xuất, tìm kiếm, liệt kê, lấy, thống kê, không gian tên, xóa với đầu ra màu
  • Đầu ra JSON -- cờ --json trên tất cả các lệnh CLI
  • Phối hợp phân tán (v0.8.0 Trụ cột-1 + Trụ cột-2) -- DAG hành động (memory_action_*), hợp đồng thuê một người giữ (memory_lease_*), tín hiệu ký Ed25519 (memory_signal_*), điểm kiểm tra được chứng thực (memory_checkpoint_*), quy trình tham số hóa (memory_routine_*), và vòng đời nhận thức có kiểu Mục tiêu/Kế hoạch/Bước. Xem docs/coordination.md.

Vận hành

  • Đồng bộ đa nút -- kéo, đẩy hoặc hợp nhất hai chiều giữa các tệp cơ sở dữ liệu
  • Nhập/Xuất -- khứ hồi JSON đầy đủ bảo toàn liên kết ký ức
  • Thu gom rác -- tự động hết hạn nền mỗi 30 phút
  • Tắt máy nhẹ nhàng -- SIGTERM/SIGINT tạo điểm kiểm tra WAL để thoát sạch sẽ
  • Kiểm tra sức khỏe sâu -- xác minh khả năng truy cập DB và tính toàn vẹn FTS5
  • Hoàn thành shell -- bash, zsh, fish
  • Trang man -- ai-memory man tạo roff ra stdout
  • Bộ lọc thời gian -- --since/--until trên danh sách và tìm kiếm
  • Tuổi có thể đọc được -- "2h trước", "3d trước" trong đầu ra CLI
  • Đầu ra CLI màu -- nhãn tầng ANSI (đỏ/vàng/xanh), thanh ưu tiên, tiêu đề đậm, không gian tên lục lam

Chất lượng

  • ~10.000 bài kiểm tra trên toàn bộ bề mặt -- khoảng 6.712 thuộc tính #[test]/#[tokio::test] dưới src/ (5.759 #[test] + 953 #[tokio::test]) cộng với khoảng 3.362 dưới tests/ (2.138 #[test] + 1.224 #[tokio::test]), phát triển từ đường cơ sở ~2.400 bài kiểm tra thời v0.6.4 (1.960 lib + 211 tích hợp + 16 mcp_integration + 4 webhook_http_parity + 16 recipe_contract + ~150 trên các mục tiêu nhị phân khác). Độ phủ dòng được giữ trên ngưỡng dự án ≥92%; các mô-đun mới hoàn toàn của v0.6.4 ở mức 100% (sizes.rs), 99,50% (profile.rs), 97,58% (cli/audit.rs), 97,05% (cli/doctor.rs), 92,56% (handlers.rs), 92,26% (cli/install.rs). Các đường cơ sở v0.6.3.x (1.809 / 93,08% và 1.886 / 93,84%) vẫn được giữ nguyên trên trang bằng chứng; các chỉ số v0.6.4 trong ghi chú phát hành và trên chiến dịch test-hub. Sự chấp nhận khám phá NHI thực nghiệm được chứng minh riêng biệt bởi Cổng Khám phá (ma trận T1–T4 so với xAI Grok 4.3 trực tiếp, 6/6 ĐẠT, CỔNG XANH).
  • Điểm chuẩn LongMemEval -- 97,0% R@5 từ khóa FTS5 thuần túy (độc lập LLM, 2,2 giây, 232 q/s, không chi phí API) trên tập dữ liệu LongMemEval-S ICLR 2025; mở rộng truy vấn LLM với mô hình Gemma 4 thế hệ hiện tại đo được 97,2% R@5 / 99,6% R@10 / 99,8% R@20 (địa điểm API đám mây; con số lịch sử gemma3:4b 97,8% được loại bỏ khỏi tiêu đề theo #1975). Xem chi tiết điểm chuẩn.
  • Lời nhắc MCP -- lời nhắc recall-firstmemory-workflow dạy client AI sử dụng bộ nhớ một cách chủ động
  • Mặc định TOON -- phản hồi truy xuất/liệt kê/tìm kiếm sử dụng TOON compact theo mặc định (nhỏ hơn 79% so với JSON)
  • Điểm chuẩn Tiêu chí -- chèn, truy xuất, tìm kiếm ở quy mô 1K
  • CI/CD GitHub Actions -- fmt, clippy, kiểm tra, xây dựng trên Ubuntu + macOS, phát hành trên tag

Sàn Bao Phủ (Rào Cản CI Cứng)

Công việc Code Coverage là một bước kiểm tra trạng thái bắt buộc. CI tái khẳng định hai bất biến trên mỗi PR: một sàn tuyệt đối >= 90% dòng (điểm dừng chống suy thoái thảm khốc, được đặt ở mức đo lường hiện tại làm tròn xuống 5% gần nhất), và một cơ chế chốt chặn so với giá trị được ghim trong .coverage-baseline với một cửa sổ linh hoạt 0.5% (cơ chế thực thi hàng ngày). Các PR làm tăng độ bao phủ nên cập nhật tệp cơ sở trong cùng một commit để các PR trong tương lai được hưởng lợi từ sàn mới; các PR làm giảm hơn 0.5% sẽ bị chặn hợp nhất. Đo lường hiện tại: 93.13% dòng.

Rào Cản Ngân Sách Token (Rào Cản CI Cứng, v0.7 C5)

Quy trình token-budget là một bước kiểm tra trạng thái bắt buộc. Nó thực thi ba bất biến được đo bằng cl100k_base trên mỗi PR:

  • Trần mỗi công cụ là 1500 token -- không có lược đồ đã tuần tự hóa của bất kỳ công cụ MCP đơn lẻ nào (tên + mô tả + inputSchema) được vượt quá 1500 token cl100k_base.
  • Phạm vi trung thực của hồ sơ đầy đủ (5K-8K) -- điểm dừng của v0.6.4, được giữ nguyên để phát hiện sự co rút bệnh lý (vô tình làm rơi mất công cụ).
  • Trần cứng của hồ sơ đầy đủ (v0.7 C5, được nâng lên sau D1.6/D1.7) -- tải trọng tools/list đã được cắt tỉa dưới --profile full không được vượt quá 11,000 token cl100k_base (TRIMMED_FULL_PROFILE_CEILING_TOKENS trong tests/token_budget_guard.rs; mục tiêu C5 ban đầu là 3500 dựa trên các lược đồ viết tay trước D1.6 — việc mở rộng D1.6/D1.7 có nguồn gốc từ schemars đã nâng trần được ghim lên). C2 (tách trường docs), C3 (thu gọn boilerplate lược đồ lặp lại), và C4 (ẩn các tham số tùy chọn ít dùng) đã thúc đẩy quá trình nén ban đầu; rào cản này buộc các PR trong tương lai làm tăng bề mặt phải thu hồi ngân sách từ nơi khác. Kiểm tra ai-memory doctor --tokens --raw-table để xem chi phí cho mỗi công cụ. Xem .github/workflows/token-budget.ymldocs/v0.7/schema-compaction-audit.md.

Các Phụ Thuộc ML và LLM (bậc semantic trở lên)

  • candle-core, candle-nn, candle-transformers -- Khung ML Hugging Face Candle cho suy luận Rust gốc
  • hf-hub -- tải mô hình từ Hugging Face Hub
  • tokenizers -- Bộ tokenizer Hugging Face cho tiền xử lý văn bản
  • instant-distance -- tìm kiếm láng giềng gần nhất xấp xỉ
  • reqwest -- Ứng dụng khách HTTP cho giao tiếp với backend LLM (các bậc smart/autonomous — bất kỳ nhà cung cấp nào theo #1067: Ollama, xAI, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, máy chủ llama.cpp)

Kiến Trúc

ai-memory architecture diagram


Điểm Chuẩn

LongMemEval benchmark results

Được đánh giá trên tập dữ liệu ICLR 2025 LongMemEval-S (500 câu hỏi, 6 danh mục). Bậc từ khóa FTS5 thuần túy đạt 97.0% R@5 trong 2.2 giây — độc lập với LLM, hoàn toàn cục bộ, không có lệnh gọi API đám mây, không tốn chi phí. Mở rộng truy vấn LLM (bậc smart) đo được 97.2% R@5 với mô hình Gemma 4 thế hệ hiện tại (môi trường API đám mây).

Lưu ý về mô hình điểm chuẩn (cập nhật 2026-07-10, phán quyết #1975): con số lịch sử 97.8% R@5 của bậc smart được đo bằng Gemma 3 4B (vẫn là mô hình mở rộng mặc định được biên dịch) và đã bị loại bỏ khỏi tiêu đề. Mốc neo thế hệ hiện tại được công bố là lần chạy OpenRouter Gemma 4 đã đo: 97.2% R@5 / 99.6% R@10 / 99.8% R@20 (2026-05-31, 500 câu hỏi, 0 lỗi mở rộng). Không có con số Gemma-4 cục bộ qua Ollama — máy chủ điểm chuẩn tham chiếu chỉ có CPU, nơi một lần chạy cục bộ đầy đủ giao thức hợp lệ là không khả thi (xem #1983); một lần chạy lại GPU cục bộ vẫn để ngỏ sau v1.0. Bậc từ khóa 97.0% R@5 là độc lập với LLM và không bị ảnh hưởng.

BậcR@5Tốc độPhụ thuộc
keyword97.0%232 câu/sKhông
semantic97.4%45 câu/sMô hình nhúng (~100MB)
smart97.2% (Gemma 4, môi trường API; lịch sử gemma3:4b 97.8%)12 câu/sBất kỳ backend LLM nào (ví dụ: Ollama cục bộ + Gemma; hoặc xAI Grok 4.3, OpenAI gpt-5, Anthropic Claude Opus 4.7, Gemini, DeepSeek, v.v. sau #1067)

Ngân Sách Hiệu Năng (v0.6.4)

Mỗi bản phát hành đi kèm với ngân sách p95/p99 đã công bố cho các thao tác trên đường dẫn nóng và một rào cản CI sẽ đánh trượt bất kỳ PR nào có p95 đo được vượt quá ngân sách hơn 10%. Các mục tiêu được hiệu chỉnh cho phần cứng tham chiếu M4; bảng đầy đủ và phương pháp luận trong PERFORMANCE.md.

Thao tácMục tiêu p95Mục tiêu p99
memory_session_start (hook Claude Code)< 100 ms< 200 ms
memory_store (không nhúng)< 20 ms< 50 ms
memory_search (FTS5)< 100 ms< 250 ms
memory_recall (nóng, depth=1)< 50 ms< 150 ms
memory_kg_query (depth ≤ 3)< 100 ms< 250 ms
memory_kg_query (depth ≤ 5)< 250 ms< 500 ms
memory_kg_timeline< 100 ms< 250 ms

Chạy cùng khối lượng công việc cục bộ:

ai-memory bench                      # human-readable table
ai-memory bench --json               # machine-parseable

Lớp nền không thay đổi qua các phiên bản v0.6.3.x → v0.6.4 (bản phát hành quiet-tools đi kèm với bề mặt công cụ mặc định nhỏ hơn, không phải đường dẫn nóng khác). Các mục tiêu p99 ở đây vẫn mang tính thông tin cho đến khi có cửa sổ kiểm tra tải chuyên dụng tiếp theo; bằng chứng kiểm tra tải mới nhất có trên trung tâm kiểm thử.


Phương Thức Tích Hợp

MCP (Chính -- dành cho các nền tảng AI tương thích MCP)

MCP là phương thức tích hợp được khuyến nghị. AI của bạn nhận được 7 công cụ bộ nhớ gốc được quảng cáo theo mặc định (5 công cụ gốc + memory_load_family + memory_smart_load; cộng với bootstrap memory_capabilities luôn bật) mà không cần mã kết dính. 93 công cụ có thể gọi khác (101 mục được quảng cáo — đã xác minh dựa trên Profile::full().expected_tool_count() và được ghim bởi const_count_matches_full_profile trong src/mcp/registry.rs) vẫn có thể truy cập được thông qua --profile graph|admin|power|full hoặc mở rộng thời gian chạy qua memory_capabilities --include-schema family=<name>. Cấu hình máy chủ MCP trong cấu hình nền tảng AI của bạn:

{
  "mcpServers": {
    "memory": {
      "command": "ai-memory",
      "args": ["--db", "~/.claude/ai-memory.db", "mcp"]
    }
  }
}

API HTTP (Phổ Quát -- cho bất kỳ AI hoặc công cụ nào)

Khởi động máy chủ HTTP để truy cập API REST. Bất kỳ AI, tập lệnh hoặc tự động hóa nào có thể thực hiện lệnh gọi HTTP đều có thể sử dụng:

ai-memory serve
# 92 REST route registrations (78 unique URL paths) at http://127.0.0.1:9077/api/v1/

CLI (Phổ Quát -- cho việc viết tập lệnh và sử dụng trực tiếp)

CLI hoạt động độc lập hoặc như một khối xây dựng cho các tích hợp AI chạy lệnh shell:

ai-memory store --tier long --title "Architecture decision" --content "We use PostgreSQL"
ai-memory recall "database choice"
ai-memory search "PostgreSQL"

Các Bậc Tính Năng

ai-memory hỗ trợ 4 bậc tính năng, được chọn khi khởi động với ai-memory mcp --tier <tier>. Các bậc cao hơn bổ sung khả năng ML với chi phí đĩa và RAM:

BậcPhương Thức Truy XuấtKhả Năng Bổ SungChi Phí Xấp Xỉ
keywordChỉ FTS5Bề mặt 101 mục cơ sở — bậc kiểm soát mô hình/tính năng, KHÔNG phải bề mặt công cụ được quảng cáo0 MB
semanticFTS5 + tương tự cosine (lai)Nhúng MiniLM-L6-v2 (384 chiều), chỉ mục HNSW, bậc semantic (tập con của bề mặt 101 mục)~256 MB
smartLai + mở rộng truy vấn LLM+ nomic-embed-text (768 chiều) + memory_expand_query, memory_auto_tag, memory_detect_contradiction được hỗ trợ bởi LLM, bề mặt đầy đủ 101 mục. Nhà cung cấp LLM do người vận hành chọn qua AI_MEMORY_LLM_BACKEND (#1067) — Ollama cục bộ, xAI, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, hoặc llama.cpp.~1 GB (Ollama cục bộ) / ~0 GB (API từ xa)
autonomousLai + mở rộng LLM + xếp hạng lại cross-encoder+ cross-encoder nơ-ron (ms-marco-MiniLM), phản ánh bộ nhớ, bề mặt đầy đủ 101 mục. Cùng quyền tự do chọn nhà cung cấp LLM như bậc smart.~4 GB (Ollama cục bộ) / ~3 GB (LLM từ xa, chỉ cross-encoder cục bộ)

Ma Trận Khả Năng

Mỗi khả năng được ánh xạ tới bậc tối thiểu của nó. Mỗi bậc bao gồm tất cả các khả năng từ các bậc bên dưới nó.

Khả năngkeywordsemanticsmartautonomous
Tìm kiếm & Truy xuất
Tìm kiếm từ khóa FTS5
Nhúng ngữ nghĩa (tương tự cosine)--
Truy xuất lai (FTS5 + cosine, trọng số ngữ nghĩa thích ứng 0.50→0.15 theo độ dài nội dung)--
Chỉ mục láng giềng gần nhất HNSW--
Mở rộng truy vấn LLM (memory_expand_query)----
Xếp hạng lại cross-encoder nơ-ron------
Quản lý Bộ nhớ
Lưu trữ, cập nhật, xóa, thăng hạng, liên kết
Hợp nhất thủ công
Tự động hợp nhất (tóm tắt LLM)----
Tự động gắn thẻ (memory_auto_tag)----
Phát hiện mâu thuẫn (memory_detect_contradiction)----
Phản ánh bộ nhớ tự động------
Mô hình
Mô hình nhúng--MiniLM-L6-v2 (384d)nomic-embed-text (768d)nomic-embed-text (768d)
Ghi đè backend nhúng (#1598)--bất kỳ: Ollama cục bộ, bí danh nhà cung cấp API, hoặc tự lưu trữ tương thích OpenAI ([embeddings].backend / AI_MEMORY_EMBED_*)tương tựtương tự
LLM----do người vận hành chọn (#1067) — mặc định gemma3:4b cục bộ; các điểm cuối từ xa không để lại dấu vết cục bộdo người vận hành chọn (#1067) — mặc định gemma3:4b cục bộ; các điểm cuối từ xa không để lại dấu vết cục bộ
Tài nguyên
RAM0 MB~256 MB~1 GB~4 GB
Phụ thuộc bên ngoàiKhôngKhôngBackend LLM (Ollama / xAI / OpenAI / Anthropic / Gemini / DeepSeek / Kimi / Qwen / Mistral / Groq / Together / Cerebras / OpenRouter / Fireworks / LMStudio / vLLM / llama.cpp — #1067)Backend LLM (cùng lựa chọn như smart)
Công cụ MCP được hiển thị (tại --profile full) 1101101101101

Bậc semantic (mặc định) đóng gói khung ML Candle và tải mô hình all-MiniLM-L6-v2 trong lần chạy đầu tiên (~90 MB). Bậc smartautonomous yêu cầu một backend LLM — sau #1067 (v0.7.0) có thể là cục bộ (Ollama, LMStudio, vLLM, máy chủ llama.cpp) hoặc bất kỳ điểm cuối từ xa tương thích OpenAI nào (xAI, OpenAI, Anthropic qua shim OpenAI, Google Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks). Lựa chọn bằng biến môi trường AI_MEMORY_LLM_BACKEND; khóa API cho mỗi nhà cung cấp qua XAI_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY / GEMINI_API_KEY / DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY / v.v. hoặc AI_MEMORY_LLM_API_KEY chính tắc.

Các bậc kiểm soát tính năng, không phải mô hình — và sau #1067 (v0.7.0), các bậc kiểm soát tính năng, cũng không phải nhà cung cấp. Cờ --tier kiểm soát những công cụ nào được hiển thị. Backend LLM + mô hình được cấu hình độc lập qua các biến môi trường AI_MEMORY_LLM_BACKEND + AI_MEMORY_LLM_MODEL (hoặc qua phần [llm] chính tắc trong ~/.config/ai-memory/config.toml — xem docs/CONFIG_SCHEMA.md để biết lược đồ doanh nghiệp v0.7.x và công cụ di chuyển). Ví dụ: chạy bậc autonomous (bề mặt đầy đủ 101 mục + trình xếp hạng lại) với xAI Grok 4 qua bí danh tương thích OpenAI:

# Quick path: env vars
export AI_MEMORY_LLM_BACKEND=xai
export AI_MEMORY_LLM_MODEL=grok-4.3
export XAI_API_KEY=xai-…   # or AI_MEMORY_LLM_API_KEY
ai-memory mcp --tier autonomous
# Enterprise path: ~/.config/ai-memory/config.toml (v0.7.x schema v2, #1146)
schema_version = 2
tier = "autonomous"

[llm]
backend     = "xai"
model       = "grok-4.3"
base_url    = "https://api.x.ai/v1"
api_key_env = "XAI_API_KEY"          # mutually exclusive with api_key_file;
                                     # inline `api_key = "..."` is REJECTED.
# Legacy v0.6.x shape — still works, deprecation WARN at load; run
# `ai-memory config migrate` to upgrade in place.
tier = "autonomous"
llm_model = "gemma3:4b"   # default Ollama model at v0.7.0

Cờ --tier phải được truyền trong các đối số MCP -- cài đặt bậc config.toml không được sử dụng khi máy chủ được khởi chạy bởi một ứng dụng khách AI.

# Semantic is the default tier
ai-memory mcp

# Keyword -- FTS5 only, no models
ai-memory mcp --tier keyword

# Semantic -- hybrid recall with embeddings (explicit)
ai-memory mcp --tier semantic

# Smart -- adds LLM-powered query expansion, auto-tagging, contradiction detection
ai-memory mcp --tier smart

# Autonomous -- adds cross-encoder reranking
ai-memory mcp --tier autonomous

Công cụ memory_capabilities báo cáo bậc đang hoạt động, các mô hình đã tải và các khả năng sẵn có trong thời gian chạy.


Công Cụ MCP

101 công cụ này (hồ sơ đầy đủ; số lượng chính tắc qua Profile::full().expected_tool_count() trong src/profile.rs) có sẵn cho bất kỳ AI tương thích MCP nào khi được cấu hình làm máy chủ MCP (trang bằng chứng đóng băng v0.6.4 liệt kê đường cơ sở 63 công cụ; bảng dưới đây ghi lại tập con cốt lõi mà hầu hết các ứng dụng khách sử dụng hàng ngày):

Công cụMô tả
memory_storeLưu một ký ức mới (loại bỏ trùng lặp theo tiêu đề+không gian tên, báo cáo mâu thuẫn)
memory_recallGợi nhớ các ký ức liên quan đến một ngữ cảnh (tìm kiếm OR mờ, xếp hạng theo 6 yếu tố)
memory_searchTìm kiếm ký ức theo khớp chính xác từ khóa (ngữ nghĩa AND)
memory_listLiệt kê ký ức với các bộ lọc tùy chọn (không gian tên, bậc, thẻ, khoảng thời gian)
memory_getLấy một ký ức cụ thể theo ID cùng với các liên kết của nó
memory_updateCập nhật một ký ức hiện có theo ID (cập nhật một phần)
memory_deleteXóa một ký ức theo ID
memory_promoteThăng cấp một ký ức lên dài hạn (vĩnh viễn, xóa thời hạn)
memory_forgetXóa hàng loạt theo mẫu, không gian tên hoặc bậc
memory_linkTạo một liên kết có kiểu giữa hai ký ức
memory_get_linksLấy tất cả liên kết cho một ký ức
memory_consolidateHợp nhất nhiều ký ức thành một bản tóm tắt dài hạn
memory_statsLấy thống kê kho ký ức
memory_capabilitiesBáo cáo bậc tính năng đang hoạt động, mô hình đã tải và các khả năng sẵn có
memory_expand_querySử dụng LLM để mở rộng truy vấn tìm kiếm thành các thuật ngữ liên quan (bậc smart+)
memory_auto_tagSử dụng LLM để tự động tạo thẻ cho một ký ức (bậc smart+)
memory_detect_contradictionSử dụng LLM để kiểm tra xem hai ký ức có mâu thuẫn không (bậc smart+)
memory_archive_listLiệt kê các ký ức đã lưu trữ (với các bộ lọc tùy chọn không gian tên/bậc/thẻ)
memory_archive_restoreKhôi phục một ký ức đã lưu trữ trở lại kho hoạt động
memory_archive_purgeXóa vĩnh viễn các ký ức đã lưu trữ khớp với bộ lọc
memory_archive_statsLấy thống kê lưu trữ (số lượng theo bậc, không gian tên, tuổi)

HTTP API

92 đăng ký tuyến đường / 78 đường dẫn URL duy nhất trên 127.0.0.1:9077. Bắt đầu với ai-memory serve. Bảng dưới đây hiển thị các điểm cuối REST được sử dụng phổ biến nhất; xem docs/API_REFERENCE.md để biết toàn bộ bề mặt (quản trị, liên kết, đăng ký, đồ thị tri thức, hạn ngạch, phê duyệt SSE).

Bảo mật: Máy chủ HTTP liên kết với 127.0.0.1 và được cung cấp không có xác thực theo mặc định, cùng với CORS cho phép tất cả. Đặt api_key trong config.toml để yêu cầu tiêu đề x-api-key trên mọi yêu cầu (dạng tham số truy vấn ?api_key= cũ đã bị phản đối từ v0.7.0 — #1574), và đặt AI_MEMORY_REQUIRE_API_KEY=1 để từ chối cứng việc khởi động không có khóa (#1458). Không phơi bày ra mạng mà không có xác thực (và ưu tiên TLS qua --tls-cert/--tls-key hoặc một proxy ngược).

Phương thứcĐiểm cuốiMô tả
GET/api/v1/healthKiểm tra sức khỏe (xác minh tính toàn vẹn DB + FTS5)
GET/api/v1/memoriesLiệt kê ký ức (hỗ trợ không gian tên, bậc, thẻ, since, until, limit)
POST/api/v1/memoriesTạo một ký ức
POST/api/v1/memories/bulkTạo hàng loạt ký ức (có giới hạn)
GET/api/v1/memories/{id}Lấy một ký ức theo ID
PUT/api/v1/memories/{id}Cập nhật một ký ức theo ID
DELETE/api/v1/memories/{id}Xóa một ký ức theo ID
POST/api/v1/memories/{id}/promoteThăng cấp một ký ức lên dài hạn
GET/api/v1/searchTìm kiếm từ khóa AND
GET/api/v1/recallGợi nhớ theo ngữ cảnh (GET với tham số truy vấn)
POST/api/v1/recallGợi nhớ theo ngữ cảnh (POST với thân JSON)
POST/api/v1/forgetXóa hàng loạt theo mẫu/không gian tên/bậc
POST/api/v1/consolidateHợp nhất các ký ức thành một
POST/api/v1/linksTạo một liên kết giữa các ký ức
GET/api/v1/links/{id}Lấy liên kết cho một ký ức
GET/api/v1/namespacesLiệt kê tất cả không gian tên
GET/api/v1/statsThống kê kho ký ức
POST/api/v1/gcKích hoạt thu gom rác
GET/api/v1/exportXuất tất cả ký ức + liên kết dưới dạng JSON
POST/api/v1/importNhập ký ức + liên kết từ JSON
GET/api/v1/archiveLiệt kê các ký ức đã lưu trữ (với các bộ lọc tùy chọn)
POST/api/v1/archive/{id}/restoreKhôi phục một ký ức đã lưu trữ vào kho hoạt động
DELETE/api/v1/archiveXóa vĩnh viễn các ký ức đã lưu trữ khớp với bộ lọc
GET/api/v1/archive/statsThống kê lưu trữ (số lượng theo bậc, không gian tên, tuổi)

Lệnh CLI

89 lệnh con cấp cao nhất dưới --features sal HOẶC --features sal-postgres (87 trong bản dựng mặc định; khoảng cách 2 biến thể là Migrate + SchemaInit, cả hai đều bị chặn #[cfg(feature = "sal")] theo src/daemon_runtime.rs::Command::{Migrate,SchemaInit}; là 40 ở v0.6.4). Chạy ai-memory <command> --help để biết chi tiết về bất kỳ lệnh nào, hoặc ai-memory --help để xem danh sách đầy đủ.

LệnhMô tả
mcpChạy như máy chủ công cụ MCP qua stdio (đường dẫn tích hợp chính)
serveKhởi động trình nền HTTP trên cổng 9077
storeLưu một ký ức mới (loại bỏ trùng lặp theo tiêu đề+không gian tên)
updateCập nhật một ký ức hiện có theo ID
recallTìm kiếm OR mờ với kết quả được xếp hạng + tự động chạm (hỗ trợ --tier cho gợi nhớ lai). Pipeline giới hạn kết quả ở 50 mỗi yêu cầu.
searchTìm kiếm AND cho các khớp từ khóa chính xác.
getTruy xuất một ký ức duy nhất theo ID (bao gồm các liên kết)
listDuyệt ký ức với các bộ lọc (không gian tên, bậc, thẻ, khoảng thời gian). Giới hạn ở 1000 mục mỗi yêu cầu (LIST_MAX_LIMIT; danh sách/hàng loạt HTTP cũng tuân thủ AI_MEMORY_MAX_PAGE_SIZE).
deleteXóa một ký ức theo ID
promoteThăng cấp một ký ức lên dài hạn (xóa thời hạn)
forgetXóa hàng loạt theo mẫu + không gian tên + bậc
linkLiên kết hai ký ức (related_to, supersedes, contradicts, derived_from)
consolidateHợp nhất nhiều ký ức thành một bản tóm tắt dài hạn
resolveGiải quyết mâu thuẫn: đánh dấu bên thắng, giáng cấp bên thua
shellREPL tương tác với đầu ra có màu
syncĐồng bộ ký ức giữa hai tệp cơ sở dữ liệu (pull/push/merge)
auto-consolidateNhóm ký ức theo không gian tên+thẻ, hợp nhất các nhóm trên ngưỡng
gcChạy thu gom rác trên các ký ức đã hết hạn
statsTổng quan về trạng thái ký ức (số lượng, bậc, không gian tên, liên kết, kích thước DB)
namespacesLiệt kê tất cả không gian tên với số lượng ký ức
exportXuất tất cả ký ức và liên kết dưới dạng JSON
importNhập ký ức và liên kết từ JSON (stdin)
completionsTạo phần hoàn thành shell (bash, zsh, fish)
manTạo trang man roff ra stdout
mineNhập ký ức từ các cuộc hội thoại lịch sử (xuất từ Claude, ChatGPT, Slack)
archiveQuản lý kho lưu trữ ký ức (liệt kê, khôi phục, xóa vĩnh viễn, thống kê)

Tệp nhị phân cấp cao nhất ai-memory cũng chấp nhận các cờ toàn cục:

CờMô tả
--db <path>Đường dẫn cơ sở dữ liệu (mặc định: ai-memory.db, hoặc $AI_MEMORY_DB)
--jsonĐầu ra JSON trên tất cả các lệnh (đầu ra có thể phân tích cú pháp bằng máy)

Lệnh con store chấp nhận các cờ bổ sung:

CờMô tả
--source / -SAi đã tạo ký ức này (user, nhi, hook, api, cli, import, consolidation, system). Mặc định: cli. "claude" được chấp nhận để tương thích ngược theo src/validate.rs::VALID_SOURCES
--expires-atDấu thời gian hết hạn RFC3339
--ttl-secsTTL tính bằng giây (thay thế cho --expires-at)

Lệnh con mcp chấp nhận một cờ bổ sung:

CờMô tả
--tier <keyword|semantic|smart|autonomous>Bậc tính năng (mặc định: semantic). Xem Các Bậc Tính Năng.

Chấm Điểm Gợi Nhớ

Mỗi truy vấn gợi nhớ xếp hạng ký ức theo 6 yếu tố:

score = (fts_relevance * -1)
      + (priority * 0.5)
      + (MIN(access_count, 50) * 0.1)
      + (confidence * 2.0)
      + tier_boost
      + recency_decay
Yếu tốTrọng sốGhi chú
Mức độ liên quan FTS-1.0xXếp hạng SQLite FTS5 (âm = khớp tốt hơn)
Ưu tiên0.5xThang điểm 1-10 do người dùng gán
Số lần truy cập0.1xTần suất được gợi nhớ (giới hạn ở 50 để chấm điểm)
Độ tin cậy2.0xĐiểm chắc chắn 0.0-1.0
Tăng bậc+3.0 / +1.0 / +0.0dài / trung / ngắn
Suy giảm theo thời gian1/(1 + days*0.1)Ký ức gần đây xếp hạng cao hơn

Các Bậc Ký Ức

BậcTTLTrường hợp sử dụngVí dụ
short6 giờ (có thể cấu hình)Ngữ cảnh dùng một lầnTrạng thái gỡ lỗi hiện tại, biến tạm, dấu vết lỗi
mid7 ngày (có thể cấu hình)Kiến thức làm việcMục tiêu sprint, quyết định gần đây, mục đích nhánh hiện tại
longVĩnh viễnKiến thức khó giành đượcKiến trúc, tùy chọn người dùng, sửa lỗi, quy ước

Hành Vi Tự Động

  • Gia hạn TTL khi gợi nhớ: ký ức ngắn được +1 giờ, ký ức trung được +1 ngày
  • Tự động thăng cấp: ký ức bậc trung được truy cập 5+ lần sẽ thăng cấp lên dài (xóa thời hạn)
  • Củng cố ưu tiên: mỗi 10 lần truy cập, ưu tiên tăng thêm 1 (giới hạn ở 10)
  • Phát hiện mâu thuẫn: cảnh báo khi một ký ức mới xung đột với ký ức hiện có trong cùng không gian tên
  • Loại bỏ trùng lặp: upsert trên tiêu đề+không gian tên; bậc không bao giờ bị giáng cấp khi cập nhật

TTL Có Thể Cấu Hình

TTL mặc định (6 giờ cho ngắn, 7 ngày cho trung) có thể được ghi đè trong ~/.config/ai-memory/config.toml dưới phần [ttl]:

[ttl]
short_ttl_secs = 21600      # short-tier TTL in seconds (default: 21600 = 6 hours)
mid_ttl_secs = 604800        # mid-tier TTL in seconds (default: 604800 = 7 days)
long_ttl_secs = 0            # long-tier TTL in seconds (default: 0 = never expires)
short_extend_secs = 3600     # TTL extension on recall for short-tier memories in seconds (default: 3600 = +1h)
mid_extend_secs = 86400      # TTL extension on recall for mid-tier memories in seconds (default: 86400 = +1d)

Tất cả năm trường đều tùy chọn -- bỏ qua bất kỳ trường nào để giữ mặc định. Đặt bất kỳ giá trị nào thành 0 để vô hiệu hóa hết hạn cho bậc đó. Các giá trị bị giới hạn ở mức tối đa 10 năm; giá trị gia hạn âm bị giới hạn ở 0.

Lưu ý: Cấu hình được tải một lần khi khởi động tiến trình. Thay đổi đối với config.toml yêu cầu khởi động lại tiến trình ai-memory (máy chủ MCP, trình nền HTTP, hoặc CLI) để có hiệu lực.


Lưu Trữ

Khi thu gom rác làm hết hạn một ký ức, nó có thể được lưu trữ thay vì xóa vĩnh viễn. Các ký ức đã lưu trữ được chuyển đến một kho riêng biệt và có thể được duyệt, khôi phục hoặc xóa vĩnh viễn sau này.

Cấu Hình

Bật lưu trữ trong ~/.config/ai-memory/config.toml:

archive_on_gc = true   # archive expired memories instead of deleting them (default: true)

Lệnh CLI

Lệnh con archive quản lý kho lưu trữ:

ai-memory archive list                          # list archived memories
ai-memory archive list --namespace my-project   # filter by namespace
ai-memory archive restore <id>                  # restore an archived memory to active store
ai-memory archive purge --older-than-days 90     # permanently delete archives older than 90 days
ai-memory archive stats                         # show archive statistics

Lưu ý: Các ký ức được khôi phục sẽ bị xóa expires_at (trở thành vĩnh viễn cho đến lần gán TTL tiếp theo).

Công Cụ MCP

Bốn công cụ lưu trữ có sẵn cho các máy khách MCP:

Công cụMô tả
memory_archive_listLiệt kê các ký ức đã lưu trữ (với các bộ lọc tùy chọn không gian tên/bậc/thẻ)
memory_archive_restoreKhôi phục một ký ức đã lưu trữ trở lại kho hoạt động
memory_archive_purgeXóa vĩnh viễn các ký ức đã lưu trữ khớp với bộ lọc
memory_archive_statsLấy thống kê lưu trữ (số lượng theo bậc, không gian tên, tuổi)

Điểm Cuối HTTP

Phương thứcĐiểm cuốiMô tả
GET/api/v1/archiveLiệt kê các ký ức đã lưu trữ (với các bộ lọc tùy chọn)
POST/api/v1/archive/{id}/restoreKhôi phục một ký ức đã lưu trữ vào kho hoạt động
DELETE/api/v1/archiveXóa vĩnh viễn các ký ức đã lưu trữ khớp với bộ lọc
GET/api/v1/archive/statsThống kê lưu trữ (số lượng theo bậc, không gian tên, tuổi)

Bảo Mật

ai-memory bao gồm tăng cường bảo mật trên tất cả các đường dẫn đầu vào:

  • An toàn giao dịch -- tất cả các thao tác cơ sở dữ liệu nhiều bước đều sử dụng giao dịch; không có ghi dở dang khi gặp lỗi
  • Ngăn chặn chèn mã độc FTS -- đầu vào của người dùng được làm sạch trước khi đến truy vấn FTS5; các ký tự đặc biệt được thoát
  • Làm sạch lỗi -- đường dẫn cơ sở dữ liệu nội bộ và chi tiết hệ thống bị loại bỏ khỏi phản hồi lỗi; máy khách thấy các loại lỗi có cấu trúc (NOT_FOUND, VALIDATION_FAILED, DATABASE_ERROR, CONFLICT)
  • Giới hạn kích thước thân yêu cầu -- thân yêu cầu HTTP bị giới hạn ở 50 MB thông qua DefaultBodyLimit của Axum
  • Giới hạn thao tác hàng loạt -- các điểm cuối tạo hàng loạt thực thi kích thước lô tối đa để ngăn cạn kiệt tài nguyên
  • CORS -- lớp CORS mở được kích hoạt cho quy trình phát triển localhost
  • Xác thực đầu vào -- mọi đường dẫn ghi đều xác thực độ dài tiêu đề, độ dài nội dung, định dạng không gian tên, giá trị nguồn, phạm vi ưu tiên (1-10), phạm vi độ tin cậy (0.0-1.0), định dạng thẻ, giá trị bậc, loại quan hệ và định dạng ID
  • Xác thực liên kết trong đồng bộ -- tất cả các liên kết đều được xác thực (cả hai ID, loại quan hệ, không tự liên kết) trước khi nhập trong các thao tác đồng bộ
  • Màu sắc an toàn luồng -- phát hiện màu terminal sử dụng AtomicBool để truy cập đồng thời an toàn
  • HTTP chỉ cục bộ -- máy chủ HTTP mặc định liên kết với 127.0.0.1; không tiếp xúc với mạng
  • Chế độ WAL -- Ghi nhật ký ghi trước của SQLite để đọc đồng thời an toàn trong khi ghi

Tài liệu

Hướng dẫnĐối tượng
Nhật ký thay đổi v0.9.0Bản phát hành hiện tại (secure-default hardening) — chứng thực tác nhân store-path được yêu cầu theo mặc định (#1751), cổng thực thi hook kép MCP+HTTP (#1885/#1924), lược đồ v78
Ghi chú phát hành v0.8.0Bản phát hành trước (distributed-coordination) — nền tảng phối hợp, nhận thức có kiểu, tăng cường liên kết, thực thi quản trị, lược đồ v58→v70
Tham khảo công cụ phối hợpCác nguyên thủy hành động / thuê / tín hiệu / điểm kiểm tra / quy trình v0.8.0 (memory_action_* / _lease_* / _signal_* / _checkpoint_* / _routine_*)
Hướng dẫn di chuyển v0.7Nâng cấp từ v0.6.x (bao gồm attested-cortex, hook, bản ghi, AGE, quyền, sửa kế thừa G1)
Có gì mới trong v0.7Hướng dẫn trực quan về các nền tảng attested-cortex
attested-cortex RFCLý do thiết kế cho bốn quyết định kiến trúc v0.7
Ma trận tương thích v0.7Ma trận mặc định-vs-tự chọn theo tính năng
Hướng dẫn cài đặtCách chạy (bao gồm thiết lập MCP cho nhiều nền tảng AI)
Hướng dẫn người dùngTrợ lý AI muốn có bộ nhớ bền vững
Hướng dẫn nhà phát triểnXây dựng trên hoặc đóng góp cho ai-memory
Hướng dẫn quản trịTriển khai, giám sát và khắc phục sự cố
Tiêu chuẩn kỹ thuậtTiêu chuẩn mã, kiểm thử, bảo mật và phát hành (có thẩm quyền)
Quy trình làm việc nhà phát triển AIQuy trình từng bước cho tác nhân lập trình AI đóng góp vào kho lưu trữ này
Tiêu chuẩn quản trị nhà phát triển AIChính sách tham gia AI: thẩm quyền, ghi công, đánh giá, kiểm toán
Trang GitHubTổng quan trực quan với sơ đồ động

Giấy phép

Bản quyền 2026 AlphaOne LLC.

Được cấp phép theo Giấy phép Apache, Phiên bản 2.0 ("Giấy phép"); bạn không được sử dụng tệp này trừ khi tuân thủ Giấy phép. Bạn có thể lấy bản sao Giấy phép tại

http://www.apache.org/licenses/LICENSE-2.0

Trừ khi được yêu cầu bởi luật hiện hành hoặc đồng ý bằng văn bản, phần mềm được phân phối theo Giấy phép được phân phối trên cơ sở "NHƯ HIỆN TẠI", KHÔNG CÓ BẢO HÀNH HOẶC ĐIỀU KIỆN DƯỚI BẤT KỲ HÌNH THỨC NÀO, dù rõ ràng hay ngụ ý. Xem Giấy phép để biết các quyền và giới hạn cụ thể theo Giấy phép.

Footnotes

  1. MCP bề mặt công cụ là trực giao với bậc truy xuất — mỗi bậc thấy cùng 101 công cụ tại --profile full (--profile core mặc định quảng cáo 8 khi khởi động bất kể bậc nào — 7 công cụ thuộc họ Core cộng với bootstrap memory_capabilities luôn bật; 93 công cụ khác tải theo yêu cầu). Những gì bậc kiểm soát là mô hình (trình nhúng, cross-encoder, LLM) và hành vi tính năng (tương tự cosine, mở rộng LLM, xếp hạng lại), không phải số lượng công cụ được quảng cáo. Được ghim bởi Profile::full().expected_tool_count() + const_count_matches_full_profile trong src/mcp/registry.rs.