memorix 1.9.0 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +22 -5
  3. package/README.zh-CN.md +9 -5
  4. package/dist/cli/index.js +2635 -1942
  5. package/dist/index.js +2445 -1766
  6. package/dist/maintenance-runner.js +1696 -1036
  7. package/dist/media-audio-runner.js +2197 -1537
  8. package/dist/media-video-runner.js +2195 -1535
  9. package/dist/memcode-runtime/CHANGELOG.md +39 -0
  10. package/dist/sdk.js +2507 -1764
  11. package/dist/vector-backfill-runner.js +2193 -1533
  12. package/docs/CONFIGURATION.md +22 -0
  13. package/docs/DEVELOPMENT.md +2 -2
  14. package/docs/INTEGRATIONS.md +4 -0
  15. package/docs/PERFORMANCE.md +77 -20
  16. package/docs/README.md +1 -1
  17. package/docs/SETUP.md +5 -0
  18. package/package.json +2 -2
  19. package/plugins/antigravity/memorix/plugin.json +1 -1
  20. package/plugins/claude/memorix/.claude-plugin/plugin.json +1 -1
  21. package/plugins/codebuddy/memorix/.codebuddy-plugin/plugin.json +1 -1
  22. package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
  23. package/plugins/copilot/memorix/plugin.json +1 -1
  24. package/plugins/gemini/memorix/gemini-extension.json +1 -1
  25. package/plugins/hermes/memorix/plugin.yaml +1 -1
  26. package/plugins/omp/memorix/package.json +1 -1
  27. package/plugins/openclaw/memorix/.codex-plugin/plugin.json +1 -1
  28. package/plugins/pi/memorix/package.json +1 -1
  29. package/server.json +2 -2
  30. package/src/cli/commands/memory.ts +2 -1
  31. package/src/cli/default-mode.ts +15 -0
  32. package/src/cli/index.ts +10 -1
  33. package/src/codegraph/lite-provider.ts +10 -1
  34. package/src/compact/engine.ts +14 -4
  35. package/src/dashboard/maintenance.ts +11 -2
  36. package/src/memory/consolidation.ts +15 -6
  37. package/src/memory/freshness.ts +7 -4
  38. package/src/memory/observations.ts +118 -6
  39. package/src/runtime/vector-backfill-runner.ts +1 -1
  40. package/src/sdk.ts +13 -6
  41. package/src/search/semantic-index.ts +340 -0
  42. package/src/server.ts +1 -1
  43. package/src/store/obs-store.ts +54 -2
  44. package/src/store/orama-store.ts +300 -12
  45. package/src/store/sqlite-db.ts +6 -0
  46. package/src/store/sqlite-fts.ts +164 -0
  47. package/src/store/sqlite-store.ts +83 -6
  48. package/assets/star-history-dark.svg +0 -30
  49. package/assets/star-history-light.svg +0 -30
  50. package/assets/star-history.json +0 -712
package/CHANGELOG.md CHANGED
@@ -4,6 +4,45 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.9.2] - 2026-09-11
8
+
9
+ ### Fixed
10
+ - **Non-interactive MCP startup** -- running the package without arguments
11
+ through piped stdio now starts the MCP server, while a real terminal keeps
12
+ opening the bundled memcode agent. This makes generic npm MCP launchers and
13
+ registry handshake checks use the correct protocol entry point.
14
+ - **Maintenance initialization** -- dashboard Consolidate uses its
15
+ request-scoped observation store, and CLI deduplication initializes the
16
+ project memory LLM before checking availability.
17
+
18
+ ## [1.9.1] - 2026-09-08
19
+
20
+ ### Changed
21
+ - **Large-scale retrieval** -- SQLite FTS5 is now the persistent lexical
22
+ candidate index. It stays synchronized on insert, update, delete, and can be
23
+ rebuilt from the durable observations table.
24
+ - **Disk-backed semantic retrieval** -- the optional local LanceDB shadow index
25
+ stores only vector IDs and metadata, uses HNSW with scalar quantization once
26
+ the corpus is large enough, and fuses bounded semantic candidates with FTS5
27
+ results. Search falls back to Orama when the optional native package is not
28
+ available.
29
+ - **Lazy large-corpus startup** -- projects above the Orama hydration threshold
30
+ keep SQLite as the source of truth and do not load the complete observation
31
+ corpus into the interactive agent process. Detail, export, and maintenance
32
+ paths can still load the data they explicitly need.
33
+ - **Large-store acceptance** -- adds regression coverage and verified gates for
34
+ 1k, 10k, 40k, and 100k records without reducing the durable memory corpus.
35
+ - **Post-threshold vector writes** -- newly generated vectors still reach the
36
+ persistent semantic index after the in-memory Orama corpus is released.
37
+
38
+ ### Fixed
39
+ - **Stale lexical index on upsert** -- replace-style SQLite writes could leave
40
+ old terms in an external-content FTS index. Observation upserts now preserve
41
+ trigger-visible row updates so old terms are removed.
42
+ - **Optional native dependency bundling** -- LanceDB is resolved at runtime so
43
+ unsupported platforms or installations without its native binary continue
44
+ to build and use the FTS5/Orama fallback.
45
+
7
46
  ## [1.9.0] - 2026-09-07
8
47
 
9
48
  ### Added
package/README.md CHANGED
@@ -63,7 +63,11 @@ Use Claude Code today, Codex tomorrow, and Cursor in the afternoon. The agent ca
63
63
  | Static rule files drift | Gotchas, fixes, and project skills evolve from real work |
64
64
  | Parallel agent work gets messy | `memorix orchestrate` coordinates task context, handoffs, locks, verification, and review loops |
65
65
 
66
- Memorix is local-first. SQLite is the canonical store, Orama handles search, and LLM-backed formation/embedding is optional. Without model keys, Memorix still works with local full-text retrieval.
66
+ Memorix is local-first. SQLite is the canonical store. Small projects use the
67
+ in-process Orama path; larger projects use a persistent SQLite FTS5 candidate
68
+ index and, when available, an optional local LanceDB semantic shadow index.
69
+ Both indexes are rebuildable and are never a limit on how many durable memories
70
+ you can keep. LLM-backed formation and embedding remain optional.
67
71
 
68
72
  ### Capabilities
69
73
 
@@ -313,6 +317,11 @@ If your agent only needs a manual MCP entry, use stdio:
313
317
  }
314
318
  ```
315
319
 
320
+ For an npm-based MCP client or registry tester, use the complete command
321
+ `npx -y memorix serve`. The `serve` argument matters: `memorix` without
322
+ arguments opens the bundled memcode terminal agent when run by a human, while
323
+ MCP clients should start the stdio server explicitly.
324
+
316
325
  For a manually managed Claude Code entry, add `"alwaysLoad": true` inside the `memorix` server object. This lets Claude Code expose Memorix tools during print-mode startup; `memorix doctor agents --agent claude` can detect and repair a missing setting.
317
326
 
318
327
  HTTP is not required for normal setup. Use it only when you intentionally want a shared background service, dashboard, VPS Docker deployment, or multiple clients using the same endpoint. Local development uses the Node service directly and does not require Docker:
@@ -589,6 +598,14 @@ npm test
589
598
  npm run build
590
599
  ```
591
600
 
601
+ ## Community
602
+
603
+ Desktop and shell integrations built on Memorix:
604
+
605
+ - [omarchy-memorix](https://github.com/mbot11/omarchy-memorix) — a native [Omarchy](https://omarchy.org) shell bar widget: pool stats, live global search, per-project breakdown, recent memories, and a workbench launcher. Read-only over `~/.memorix/data`; no daemons, no telemetry.
606
+
607
+ Built something on top of Memorix? Open a PR to list it here.
608
+
592
609
  <h2 id="acknowledgements"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-acknowledgements.svg"><img src="assets/tags/section-acknowledgements.svg" alt="Acknowledgements" height="32" /></picture></h2>
593
610
 
594
611
  Memorix draws from the MCP ecosystem and prior memory projects such as mcp-memory-service, MemCP, claude-mem, and Mem0. memcode is based on the Pi coding-agent codebase and adapts its terminal-agent model for the Memorix ecosystem.
@@ -601,10 +618,10 @@ Memorix draws from the MCP ecosystem and prior memory projects such as mcp-memor
601
618
 
602
619
  <a href="https://github.com/AVIDS2/memorix/stargazers">
603
620
  <picture>
604
- <source media="(prefers-color-scheme: dark)" srcset="assets/star-history-dark.svg">
605
- <source media="(prefers-color-scheme: light)" srcset="assets/star-history-light.svg">
606
- <img alt="Memorix Star History" src="assets/star-history-light.svg" width="100%">
621
+ <source media="(prefers-color-scheme: dark)" srcset="https://mem.rglens.com/metrics/star-history-dark.svg">
622
+ <source media="(prefers-color-scheme: light)" srcset="https://mem.rglens.com/metrics/star-history-light.svg">
623
+ <img alt="Memorix Star History" src="https://mem.rglens.com/metrics/star-history-light.svg" width="100%">
607
624
  </picture>
608
625
  </a>
609
626
 
610
- <sub>Generated daily from GitHub stargazer events by GitHub Actions.</sub>
627
+ <sub>Updated automatically from GitHub's privacy-safe star history API. No generated PRs.</sub>
package/README.zh-CN.md CHANGED
@@ -62,7 +62,7 @@ Memorix 给你已经在用的 AI 编程 Agent 加上一套共享、可检索的
62
62
  | 静态规则文件容易过期 | 坑点、修复和项目技能从真实工作中持续沉淀 |
63
63
  | 并行 Agent 工作容易乱 | `memorix orchestrate` 负责协调任务上下文、交接、文件锁、验证和 review 流程 |
64
64
 
65
- Memorix 是本地优先的。SQLite 是权威存储,Orama 负责搜索,LLM 记忆整理和 embedding 是可选能力。没有模型 key 时,Memorix 仍然可以用本地全文检索工作。
65
+ Memorix 是本地优先的。SQLite 是权威存储。小项目使用进程内 Orama;数据量较大时,关键词检索使用持久化的 SQLite FTS5 候选索引,并在可用时使用本地 LanceDB 语义影子索引。索引都可以重建,也不会限制你能长期保存多少条记忆。LLM 记忆整理和 embedding 仍然是可选能力。
66
66
 
67
67
  ### 能力矩阵
68
68
 
@@ -310,6 +310,10 @@ memorix setup --agent grok --global
310
310
  }
311
311
  ```
312
312
 
313
+ 如果是 npm 方式启动 MCP 客户端或收录平台测试器,请使用完整命令
314
+ `npx -y memorix serve`。`serve` 参数不能省略:人类在终端里直接运行
315
+ `memorix` 会打开内置 memcode,而 MCP 客户端应明确启动 stdio MCP 服务。
316
+
313
317
  如果是手动维护 Claude Code 的 MCP 配置,需要在 `memorix` server 对象里加上 `"alwaysLoad": true`。这样 Claude Code 在 print-mode 启动时就会暴露 Memorix tools;`memorix doctor agents --agent claude` 可以检查并修复缺失的设置。
314
318
 
315
319
  普通安装不需要 HTTP。只有在你明确需要共享后台服务、Dashboard、VPS Docker 部署,或多个客户端共用一个端点时才使用。本机开发直接运行 Node 服务,不需要 Docker:
@@ -575,10 +579,10 @@ Memorix 借鉴了 MCP 生态和 mcp-memory-service、MemCP、claude-mem、Mem0
575
579
 
576
580
  <a href="https://github.com/AVIDS2/memorix/stargazers">
577
581
  <picture>
578
- <source media="(prefers-color-scheme: dark)" srcset="assets/star-history-dark.svg">
579
- <source media="(prefers-color-scheme: light)" srcset="assets/star-history-light.svg">
580
- <img alt="Memorix Star History" src="assets/star-history-light.svg" width="100%">
582
+ <source media="(prefers-color-scheme: dark)" srcset="https://mem.rglens.com/metrics/star-history-dark.svg">
583
+ <source media="(prefers-color-scheme: light)" srcset="https://mem.rglens.com/metrics/star-history-light.svg">
584
+ <img alt="Memorix Star History" src="https://mem.rglens.com/metrics/star-history-light.svg" width="100%">
581
585
  </picture>
582
586
  </a>
583
587
 
584
- <sub>由 GitHub Actions 根据 GitHub stargazer 事件每日生成。</sub>
588
+ <sub>由 GitHub 隐私安全的 Star History API 自动更新,不再生成自动 PR。</sub>