memorix 0.12.0 → 1.0.1

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,83 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.0.1] — 2026-03-14
6
+
7
+ ### Fixed
8
+ - **OpenCode stdout pollution** — Removed all `console.log` / `console.error` from the generated OpenCode plugin template. Hooks now run fully silent. (fixes #15)
9
+ - **OpenCode session_id missing** — `normalizeOpenCode()` now reads `session_id` from the payload instead of hardcoding empty string. Plugin template generates and injects a stable session ID per plugin lifetime. (fixes #14)
10
+ - **Auto-install hooks scope** — Hooks are now only auto-installed for IDEs whose project-level config directory already exists (e.g., `.cursor/`, `.windsurf/`), preventing unwanted IDE directories from appearing in projects opened with a different IDE.
11
+
12
+ ### Added
13
+ - **`MEMORIX_DATA_DIR` environment variable** — Override the default data directory (`~/.memorix/data/`) by setting `MEMORIX_DATA_DIR`. Applied consistently across persistence, alias registry, and embedding cache.
14
+
15
+ ---
16
+
17
+ ## [1.0.0] — 2026-03-09
18
+
19
+ ### 🎉 First Stable Release
20
+
21
+ Memorix reaches v1.0.0 — all major features complete. Future versions will iterate based on AI/agent ecosystem evolution.
22
+
23
+ ### Added
24
+ - **Multi-Agent Team Collaboration** — 4 team tools (`team_manage`, `team_file_lock`, `team_task`, `team_message`) for cross-IDE agent coordination. File-based persistence via `team-state.json`. Verified: Windsurf ↔ Antigravity bidirectional communication.
25
+ - **Auto-Cleanup on Startup** — Background retention archiving and intelligent deduplication run automatically in `deferredInit`. With LLM configured: semantic dedup via any OpenAI-compatible model. Without LLM: Jaccard similarity consolidation. Zero manual maintenance required.
26
+ - **`memorix_transfer` tool** — Merged `memorix_export` + `memorix_import` into a single tool with `action: "export" | "import"`.
27
+ - **TEAM.md** — Multi-agent coordination protocol documentation.
28
+
29
+ ### Changed
30
+ - **Tool consolidation: 41 → 22 default tools (-46%)**
31
+ - Team tools: 13 individual → 4 merged (action parameter pattern)
32
+ - Knowledge Graph tools: 9 → conditional via `~/.memorix/settings.json` (`{ "knowledgeGraph": true }`)
33
+ - Export+Import: 2 → 1 (`memorix_transfer`)
34
+ - **Dashboard Team Panel** — Redesigned with Iconify icons, Material Design 3 style. Agent cards, task lists, message panel, file lock panel.
35
+ - **README updated** for v1.0.0 stable (EN + 中文).
36
+
37
+ ### Fixed
38
+ - **Windows EPERM file lock race condition** — Treat EPERM same as EEXIST in file-lock.ts.
39
+ - **PowerShell BOM in config.json** — `Set-Content -Encoding UTF8` adds BOM in PS 5.x, breaking `JSON.parse`. Always use Node.js for config file writes.
40
+
41
+ ### Production Hardening
42
+ - Cross-session shared team state
43
+ - Inbox capped at 200 messages with auto-eviction
44
+ - Session timeout GC (30min idle → auto-close)
45
+ - Send to inactive agent rejected
46
+ - Agent leave releases file locks + clears inbox
47
+ - Orphaned task rescue when assignee inactive
48
+ - Input validation: agent name max 100, message max 10KB
49
+
50
+ ### Stats
51
+ - **Default MCP Tools:** 22 (+9 optional KG)
52
+ - **Tests:** 753/753 passing across 56 files
53
+ - **IDE Support:** 10 agents (Cursor, Windsurf, Claude Code, Codex, Copilot, Kiro, Antigravity, OpenCode, Trae, Gemini CLI)
54
+
55
+ ## [0.12.0] — 2026-03-08
56
+
57
+ ### Added
58
+ - **Intent-Aware Recall** — Search understands query intent ("why X?" prioritizes decisions/trade-offs, "how to X?" prioritizes how-it-works).
59
+ - **MCP Deadlock Fix** — Resolved stdio transport deadlock under high concurrency.
60
+ - **Dashboard Dark Theme Fix** — Proper dark mode support across all panels.
61
+ - **Build Race Condition Fix** — Fixed tsup parallel build race condition.
62
+
63
+ ## [0.11.0] — 2026-03-07
64
+
65
+ ### Added
66
+ - **Mini-Skills** (`memorix_promote`) — Promote observations to permanent skills that auto-inject at session start. Never decay, project-scoped.
67
+ - **LLM Quality Engine** — Compact-on-write (duplicate detection at write time), narrative compression (~27% token reduction), search reranking (60% queries improved).
68
+ - **`memorix_deduplicate` tool** — LLM-powered semantic deduplication with dry-run support.
69
+ - **`memorix_resolve` tool** — Mark completed tasks and fixed bugs as resolved to prevent context pollution.
70
+
71
+ ### Fixed
72
+ - **Retention decay fix** — Reclassified `what-changed`/`discovery` to low retention (30d instead of 90d).
73
+
74
+ ### Stats
75
+ - **Tests:** 641 → 674 passing
76
+
77
+ ## [0.10.6] — 2026-03-06
78
+
79
+ ### Fixed
80
+ - Minor stability improvements.
81
+
5
82
  ## [0.10.5] — 2026-03-05
6
83
 
7
84
  ### Fixed
package/CLAUDE.md CHANGED
@@ -42,6 +42,15 @@ You have access to Memorix, a cross-agent memory system. Use it to persist and r
42
42
  | `memorix_store` | Save new knowledge | `type: "decision", title: "Use JWT for auth"` |
43
43
  | `memorix_detail` | Get full observation | `ids: [42, 43]` |
44
44
  | `memorix_timeline` | See what happened around an event | `anchorId: 42` |
45
- | `memorix_retention` | Check memory health | `action: "summary"` |
45
+ | `memorix_resolve` | Mark task done / bug fixed | `ids: [42]` |
46
+ | `memorix_session_start` | Load context at session start | (no params needed) |
47
+ | `memorix_session_end` | Save session summary | `summary: "## Goal\n..."` |
48
+ | `memorix_promote` | Make observation permanent | `action: "promote", observationIds: [42]` |
49
+ | `memorix_retention` | Check memory health | `action: "report"` |
50
+ | `memorix_transfer` | Export/import memories | `action: "export"` |
46
51
  | `memorix_rules_sync` | Sync agent rules | `action: "status"` |
47
52
  | `memorix_workspace_sync` | Migrate workspace configs | `action: "scan"` |
53
+ | `team_manage` | Register agent | `action: "join", name: "claude-backend"` |
54
+ | `team_file_lock` | Lock file before editing | `action: "lock", file: "src/auth.ts"` |
55
+ | `team_task` | Create/claim tasks | `action: "create", description: "Fix auth bug"` |
56
+ | `team_message` | Send message to other agent | `action: "send", to: "agent-id"` |
package/README.md CHANGED
@@ -14,11 +14,12 @@
14
14
  <a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/dm/memorix.svg?style=flat-square&color=blue" alt="downloads"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-green.svg?style=flat-square" alt="license"></a>
16
16
  <a href="https://github.com/AVIDS2/memorix"><img src="https://img.shields.io/github/stars/AVIDS2/memorix?style=flat-square&color=yellow" alt="stars"></a>
17
- <img src="https://img.shields.io/badge/tests-674%20passed-brightgreen?style=flat-square" alt="tests">
17
+ <img src="https://img.shields.io/badge/tests-753%20passed-brightgreen?style=flat-square" alt="tests">
18
+ <a href="https://github.com/AVIDS2/memorix/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/AVIDS2/memorix/ci.yml?style=flat-square&label=CI" alt="CI"></a>
18
19
  </p>
19
20
 
20
21
  <p align="center">
21
- <strong>27% fewer tokens via LLM compression | 60% search precision improvement via reranking | 10 agents supported</strong>
22
+ <strong>v1.0 Stable | 22 MCP tools | Auto-cleanup | Multi-agent collaboration | 10 IDEs supported</strong>
22
23
  </p>
23
24
 
24
25
  <p align="center">
@@ -58,6 +59,8 @@ No re-explaining. No copy-pasting. No vendor lock-in.
58
59
  ### Core Capabilities
59
60
 
60
61
  - **Cross-Agent Memory**: All agents share the same memory store. Store in Cursor, retrieve in Claude Code.
62
+ - **Multi-Agent Collaboration**: Team tools for agent coordination — join/leave, file locks, task boards, and cross-IDE messaging via shared `team-state.json`.
63
+ - **Auto-Cleanup on Startup**: Background retention archiving and intelligent deduplication (LLM or heuristic) run automatically — zero manual maintenance.
61
64
  - **Dual-Mode Quality**: Free heuristic engine for basic dedup; optional LLM mode for intelligent compression, reranking, and conflict resolution.
62
65
  - **3-Layer Progressive Disclosure**: Search returns compact indices (~50 tokens/result), timeline shows chronological context, detail provides full content. ~10x token savings over full-text retrieval.
63
66
  - **Mini-Skills**: Promote high-value observations to permanent skills that auto-inject at every session start. Critical knowledge never decays.
@@ -168,18 +171,26 @@ Restart your agent. No API keys required. No cloud. No external dependencies.
168
171
 
169
172
  ## Features
170
173
 
171
- ### 28 MCP Tools
174
+ ### 22 MCP Tools (Default)
172
175
 
173
176
  | Category | Tools |
174
177
  |----------|-------|
175
178
  | **Memory** | `memorix_store` · `memorix_search` · `memorix_detail` · `memorix_timeline` · `memorix_resolve` · `memorix_deduplicate` · `memorix_suggest_topic_key` |
176
179
  | **Sessions** | `memorix_session_start` · `memorix_session_end` · `memorix_session_context` |
177
- | **Knowledge Graph** | `create_entities` · `create_relations` · `add_observations` · `delete_entities` · `delete_observations` · `delete_relations` · `search_nodes` · `open_nodes` · `read_graph` |
178
180
  | **Skills** | `memorix_skills` · `memorix_promote` |
179
181
  | **Workspace** | `memorix_workspace_sync` · `memorix_rules_sync` |
180
- | **Maintenance** | `memorix_retention` · `memorix_consolidate` · `memorix_export` · `memorix_import` |
182
+ | **Maintenance** | `memorix_retention` · `memorix_consolidate` · `memorix_transfer` |
183
+ | **Team** | `team_manage` · `team_file_lock` · `team_task` · `team_message` |
181
184
  | **Dashboard** | `memorix_dashboard` |
182
185
 
186
+ <details>
187
+ <summary><strong>+9 Optional: Knowledge Graph tools</strong> (enable in <code>~/.memorix/settings.json</code>)</summary>
188
+
189
+ `create_entities` · `create_relations` · `add_observations` · `delete_entities` · `delete_observations` · `delete_relations` · `search_nodes` · `open_nodes` · `read_graph`
190
+
191
+ Enable with: `{ "knowledgeGraph": true }` in `~/.memorix/settings.json`
192
+ </details>
193
+
183
194
  ### Observation Types
184
195
 
185
196
  Nine structured types for classifying stored knowledge:
@@ -255,6 +266,19 @@ Promote high-value observations to permanent skills using `memorix_promote`. Min
255
266
 
256
267
  Use this for critical knowledge that must survive indefinitely: deployment procedures, architectural constraints, recurring gotchas.
257
268
 
269
+ ### Team Collaboration
270
+
271
+ Multiple agents working in the same workspace can coordinate via 4 team tools:
272
+
273
+ | Tool | Actions | Purpose |
274
+ |------|---------|---------|
275
+ | `team_manage` | join, leave, status | Agent registry — see who's active |
276
+ | `team_file_lock` | lock, unlock, status | Advisory file locks to prevent conflicts |
277
+ | `team_task` | create, claim, complete, list | Shared task board with dependencies |
278
+ | `team_message` | send, broadcast, inbox | Direct and broadcast messaging |
279
+
280
+ State is persisted to `team-state.json` and shared across all IDE processes. See [TEAM.md](TEAM.md) for the full protocol.
281
+
258
282
  ### Auto-Memory Hooks
259
283
 
260
284
  ```bash
@@ -277,32 +301,19 @@ memorix hooks install # Install auto-capture for IDEs
277
301
 
278
302
  ## Architecture
279
303
 
280
- ```
281
- ┌─────────┐ ┌───────────┐ ┌────────────┐ ┌───────┐ ┌──────────┐
282
- Cursor │ │ Claude │ │ Windsurf │ │ Codex │ │ +6 more
283
- │ │ │ Code │ │ │ │ │ │ │
284
- └────┬────┘ └─────┬─────┘ └─────┬──────┘ └───┬───┘ └────┬─────┘
285
- │ │ │ │ │
286
- └─────────────┴──────┬───────┴──────────────┴───────────┘
287
- MCP (stdio)
288
- ┌──────┴──────┐
289
- │ Memorix │
290
- │ MCP Server
291
- └──────┬──────┘
292
-
293
- ┌────────────────────┼────────────────────┐
294
- │ │ │
295
- ┌────┴─────┐ ┌──────┴──────┐ ┌──────┴──────┐
296
- │ Search │ │ Knowledge │ │ Rules & │
297
- │ Pipeline │ │ Graph │ │ Workspace │
298
- │ │ │ (Entities) │ │ Sync │
299
- │ BM25 │ └─────────────┘ └─────────────┘
300
- │ +Vector │
301
- │ +Rerank │
302
- └──────────┘
303
-
304
- ~/.memorix/data/
305
- (100% local, per-project isolation)
304
+ ```mermaid
305
+ graph TB
306
+ A["Cursor · Claude Code · Windsurf · Codex · +6 more"]
307
+ A -->|MCP stdio| Core
308
+ Core["Memorix MCP Server\n22 Default Tools · Auto-Hooks · Auto-Cleanup"]
309
+ Core --> Search["Search Pipeline\nBM25 + Vector + Rerank"]
310
+ Core --> Team["Team Collab\nAgents · Tasks · Locks · Msgs"]
311
+ Core --> Sync["Rules & Workspace Sync\n10 Adapters"]
312
+ Core --> Cleanup["Auto-Cleanup\nRetention + LLM Dedup"]
313
+ Core --> KG["Knowledge Graph\nEntities · Relations"]
314
+ Search --> Disk["~/.memorix/data/\nobservations · sessions · mini-skills · team-state · entities · relations"]
315
+ Team --> Disk
316
+ KG --> Disk
306
317
  ```
307
318
 
308
319
  ### Search Pipeline
@@ -337,7 +348,7 @@ git clone https://github.com/AVIDS2/memorix.git
337
348
  cd memorix && npm install
338
349
 
339
350
  npm run dev # watch mode
340
- npm test # 674 tests
351
+ npm test # 753 tests
341
352
  npm run build # production build
342
353
  ```
343
354
 
package/README.zh-CN.md CHANGED
@@ -14,11 +14,12 @@
14
14
  <a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/dm/memorix.svg?style=flat-square&color=blue" alt="downloads"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-green.svg?style=flat-square" alt="license"></a>
16
16
  <a href="https://github.com/AVIDS2/memorix"><img src="https://img.shields.io/github/stars/AVIDS2/memorix?style=flat-square&color=yellow" alt="stars"></a>
17
- <img src="https://img.shields.io/badge/tests-674%20passed-brightgreen?style=flat-square" alt="tests">
17
+ <img src="https://img.shields.io/badge/tests-753%20passed-brightgreen?style=flat-square" alt="tests">
18
+ <a href="https://github.com/AVIDS2/memorix/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/AVIDS2/memorix/ci.yml?style=flat-square&label=CI" alt="CI"></a>
18
19
  </p>
19
20
 
20
21
  <p align="center">
21
- <strong>LLM 压缩降低 27% token 消耗 | 重排序提升 60% 检索精度 | 支持 10 Agent</strong>
22
+ <strong>v1.0 正式版 | 22 MCP 工具 | 自动清理 | Agent 协作 | 10 IDE 支持</strong>
22
23
  </p>
23
24
 
24
25
  <p align="center">
@@ -58,6 +59,8 @@ AI 编码 Agent 在会话之间会丢失全部上下文。切换 IDE 后,之
58
59
  ### 核心能力
59
60
 
60
61
  - **跨 Agent 记忆共享**:所有 Agent 共用同一记忆存储。在 Cursor 中存储,在 Claude Code 中检索。
62
+ - **多 Agent 协作**:Team 工具支持 Agent 间协调——注册/注销、文件锁、任务板、跨 IDE 消息传递,通过共享的 `team-state.json` 实现。
63
+ - **启动自动清理**:后台自动归档过期记忆 + 智能去重(配有 LLM 时用语义分析,否则用启发式),零人工维护。
61
64
  - **双模式质量引擎**:免费启发式引擎处理基础去重;可选 LLM 模式提供智能压缩、重排序和冲突检测。
62
65
  - **3 层渐进式展示**:搜索返回紧凑索引(每条约 50 tokens),时间线展示前后文,详情提供完整内容。相比全文检索节省约 10 倍 token。
63
66
  - **Mini-Skills**:将高价值观察提升为永久技能,每次会话启动自动注入。关键知识永不衰减。
@@ -168,18 +171,26 @@ args = ["serve"]
168
171
 
169
172
  ## 功能
170
173
 
171
- ### 28 个 MCP 工具
174
+ ### 22 个 MCP 工具(默认)
172
175
 
173
176
  | 分类 | 工具 |
174
177
  |------|------|
175
178
  | **记忆** | `memorix_store` · `memorix_search` · `memorix_detail` · `memorix_timeline` · `memorix_resolve` · `memorix_deduplicate` · `memorix_suggest_topic_key` |
176
179
  | **会话** | `memorix_session_start` · `memorix_session_end` · `memorix_session_context` |
177
- | **知识图谱** | `create_entities` · `create_relations` · `add_observations` · `delete_entities` · `delete_observations` · `delete_relations` · `search_nodes` · `open_nodes` · `read_graph` |
178
180
  | **技能** | `memorix_skills` · `memorix_promote` |
179
181
  | **工作区** | `memorix_workspace_sync` · `memorix_rules_sync` |
180
- | **维护** | `memorix_retention` · `memorix_consolidate` · `memorix_export` · `memorix_import` |
182
+ | **维护** | `memorix_retention` · `memorix_consolidate` · `memorix_transfer` |
183
+ | **团队** | `team_manage` · `team_file_lock` · `team_task` · `team_message` |
181
184
  | **仪表盘** | `memorix_dashboard` |
182
185
 
186
+ <details>
187
+ <summary><strong>+9 可选:知识图谱工具</strong>(在 <code>~/.memorix/settings.json</code> 中启用)</summary>
188
+
189
+ `create_entities` · `create_relations` · `add_observations` · `delete_entities` · `delete_observations` · `delete_relations` · `search_nodes` · `open_nodes` · `read_graph`
190
+
191
+ 启用方式:`{ "knowledgeGraph": true }` 写入 `~/.memorix/settings.json`
192
+ </details>
193
+
183
194
  ### 观察类型
184
195
 
185
196
  九种结构化类型用于分类存储的知识:
@@ -257,6 +268,19 @@ Memorix 自动检测已有环境变量:
257
268
 
258
269
  适用于必须永久保留的关键知识:部署流程、架构约束、反复出现的坑。
259
270
 
271
+ ### 团队协作
272
+
273
+ 多个 Agent 在同一工作区可通过 4 个团队工具协调:
274
+
275
+ | 工具 | 操作 | 用途 |
276
+ |------|------|------|
277
+ | `team_manage` | join, leave, status | Agent 注册——查看谁在线 |
278
+ | `team_file_lock` | lock, unlock, status | 协商式文件锁防止冲突 |
279
+ | `team_task` | create, claim, complete, list | 共享任务板+依赖管理 |
280
+ | `team_message` | send, broadcast, inbox | 直接消息和广播 |
281
+
282
+ 状态持久化到 `team-state.json`,所有 IDE 进程共享。详见 [TEAM.md](TEAM.md)。
283
+
260
284
  ### 自动记忆 Hook
261
285
 
262
286
  ```bash
@@ -279,32 +303,19 @@ memorix hooks install # 为 IDE 安装自动记忆
279
303
 
280
304
  ## 架构
281
305
 
282
- ```
283
- ┌─────────┐ ┌───────────┐ ┌────────────┐ ┌───────┐ ┌──────────┐
284
- Cursor │ │ Claude │ │ Windsurf │ │ Codex │ │ +6 more │
285
- │ │ │ Code │ │ │ │ │ │ │
286
- └────┬────┘ └─────┬─────┘ └─────┬──────┘ └───┬───┘ └────┬─────┘
287
- │ │ │ │ │
288
- └─────────────┴──────┬───────┴──────────────┴───────────┘
289
- MCP (stdio)
290
- ┌──────┴──────┐
291
- │ Memorix │
292
- │ MCP Server
293
- └──────┬──────┘
294
-
295
- ┌────────────────────┼────────────────────┐
296
- │ │ │
297
- ┌────┴─────┐ ┌──────┴──────┐ ┌──────┴──────┐
298
- │ Search │ │ Knowledge │ │ Rules & │
299
- │ Pipeline │ │ Graph │ │ Workspace │
300
- │ │ │ (Entities) │ │ Sync │
301
- │ BM25 │ └─────────────┘ └─────────────┘
302
- │ +Vector │
303
- │ +Rerank │
304
- └──────────┘
305
-
306
- ~/.memorix/data/
307
- (100% 本地,按项目隔离)
306
+ ```mermaid
307
+ graph TB
308
+ A["Cursor · Claude Code · Windsurf · Codex · +6 更多"]
309
+ A -->|MCP stdio| Core
310
+ Core["Memorix MCP Server\n22 个默认工具 · 自动Hook · 自动清理"]
311
+ Core --> Search["检索管线\nBM25 + 向量 + 重排序"]
312
+ Core --> Team["团队协作\n注册 · 任务 · 锁 · 消息"]
313
+ Core --> Sync["规则 & 工作区同步\n10 个适配器"]
314
+ Core --> Cleanup["自动清理\n保留衰减 + LLM 去重"]
315
+ Core --> KG["知识图谱\n实体 · 关系"]
316
+ Search --> Disk["~/.memorix/data/\nobservations · sessions · mini-skills · team-state · entities · relations"]
317
+ Team --> Disk
318
+ KG --> Disk
308
319
  ```
309
320
 
310
321
  ### 检索管线
@@ -339,7 +350,7 @@ git clone https://github.com/AVIDS2/memorix.git
339
350
  cd memorix && npm install
340
351
 
341
352
  npm run dev # 监听模式
342
- npm test # 674 个测试
353
+ npm test # 753 个测试
343
354
  npm run build # 生产构建
344
355
  ```
345
356