memorix 1.0.5 → 1.0.6
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 +45 -2
- package/CLAUDE.md +1 -1
- package/README.md +429 -284
- package/README.zh-CN.md +429 -282
- package/dist/cli/index.js +1180 -197
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +1258 -320
- package/dist/index.js.map +1 -1
- package/llms-full.txt +61 -30
- package/llms.txt +42 -13
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,284 +1,429 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="assets/logo.png" alt="Memorix" width="120">
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
|
-
<h1 align="center">Memorix</h1>
|
|
6
|
-
|
|
7
|
-
<p align="center">
|
|
8
|
-
<strong>Open-source cross-agent memory layer for coding agents.</strong><br>
|
|
9
|
-
Compatible with Cursor, Claude Code, Codex, Windsurf, Gemini CLI, GitHub Copilot, Kiro, OpenCode, Antigravity, and Trae through MCP.
|
|
10
|
-
</p>
|
|
11
|
-
|
|
12
|
-
<p align="center">
|
|
13
|
-
<a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/v/memorix.svg?style=flat-square&color=cb3837" alt="npm"></a>
|
|
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
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-green.svg?style=flat-square" alt="license"></a>
|
|
16
|
-
<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>
|
|
17
|
-
<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>
|
|
18
|
-
</p>
|
|
19
|
-
|
|
20
|
-
<p align="center">
|
|
21
|
-
<strong>Git Memory</strong> | <strong>Reasoning Memory</strong> | <strong>Cross-Agent Recall</strong> | <strong>Control Plane Dashboard</strong>
|
|
22
|
-
</p>
|
|
23
|
-
|
|
24
|
-
<p align="center">
|
|
25
|
-
<a href="README.zh-CN.md"
|
|
26
|
-
<a href="#quick-start">Quick Start</a> |
|
|
27
|
-
<a href="#supported-clients">Supported Clients</a> |
|
|
28
|
-
<a href="#core-workflows">Core Workflows</a> |
|
|
29
|
-
<a href="#documentation">Documentation</a> |
|
|
30
|
-
<a href="docs/SETUP.md">Setup Guide</a>
|
|
31
|
-
</p>
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
##
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
##
|
|
49
|
-
|
|
50
|
-
Memorix
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
###
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
memorix
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
memorix serve-http --port 3211
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
[
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/logo.png" alt="Memorix" width="120">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">Memorix</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Open-source cross-agent memory layer for coding agents.</strong><br>
|
|
9
|
+
Compatible with Cursor, Claude Code, Codex, Windsurf, Gemini CLI, GitHub Copilot, Kiro, OpenCode, Antigravity, and Trae through MCP.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/v/memorix.svg?style=flat-square&color=cb3837" alt="npm"></a>
|
|
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
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-green.svg?style=flat-square" alt="license"></a>
|
|
16
|
+
<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>
|
|
17
|
+
<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>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<strong>Git Memory</strong> | <strong>Reasoning Memory</strong> | <strong>Cross-Agent Recall</strong> | <strong>Control Plane Dashboard</strong>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p align="center">
|
|
25
|
+
<a href="README.zh-CN.md">简体中文</a> |
|
|
26
|
+
<a href="#quick-start">Quick Start</a> |
|
|
27
|
+
<a href="#supported-clients">Supported Clients</a> |
|
|
28
|
+
<a href="#core-workflows">Core Workflows</a> |
|
|
29
|
+
<a href="#documentation">Documentation</a> |
|
|
30
|
+
<a href="docs/SETUP.md">Setup Guide</a>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## For Coding Agents
|
|
36
|
+
|
|
37
|
+
If you are using an AI coding agent to install or operate Memorix, have it read the [Agent Operator Playbook](docs/AGENT_OPERATOR_PLAYBOOK.md) first.
|
|
38
|
+
|
|
39
|
+
That playbook is the canonical AI-facing guide for:
|
|
40
|
+
|
|
41
|
+
- installation and runtime-mode selection
|
|
42
|
+
- Git/project binding rules
|
|
43
|
+
- stdio vs HTTP control-plane setup
|
|
44
|
+
- per-agent integration and hooks
|
|
45
|
+
- generated dot-directory behavior
|
|
46
|
+
- troubleshooting and safe operating rules
|
|
47
|
+
|
|
48
|
+
## Why Memorix
|
|
49
|
+
|
|
50
|
+
Most coding agents remember only the current thread. Memorix gives them a shared, persistent memory layer across IDEs, sessions, and projects.
|
|
51
|
+
|
|
52
|
+
What makes Memorix different:
|
|
53
|
+
|
|
54
|
+
- **Git Memory**: turn `git commit` into searchable engineering memory with noise filtering and commit provenance.
|
|
55
|
+
- **Reasoning Memory**: store why a decision was made, not just what changed.
|
|
56
|
+
- **Cross-Agent Local Recall**: multiple IDEs and agents can read the same local memory base instead of living in isolated silos.
|
|
57
|
+
- **Memory Quality Pipeline**: formation, compaction, retention, and source-aware retrieval work together instead of acting like isolated tools.
|
|
58
|
+
|
|
59
|
+
Memorix is built for one job: let multiple coding agents share the same durable project memory through MCP without giving up Git truth, reasoning history, or local control.
|
|
60
|
+
|
|
61
|
+
## Supported Clients
|
|
62
|
+
|
|
63
|
+
Memorix currently ships first-class integrations for:
|
|
64
|
+
|
|
65
|
+
- Cursor
|
|
66
|
+
- Claude Code
|
|
67
|
+
- Codex
|
|
68
|
+
- Windsurf
|
|
69
|
+
- Gemini CLI
|
|
70
|
+
- GitHub Copilot
|
|
71
|
+
- Kiro
|
|
72
|
+
- OpenCode
|
|
73
|
+
- Antigravity
|
|
74
|
+
- Trae
|
|
75
|
+
|
|
76
|
+
If a client can speak MCP and launch a local command or HTTP endpoint, it can usually connect to Memorix even if it is not in the list above yet.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Quick Start
|
|
81
|
+
|
|
82
|
+
Install globally:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm install -g memorix
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Initialize Memorix config:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
memorix init
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`memorix init` lets you choose between `Global defaults` and `Project config`.
|
|
95
|
+
|
|
96
|
+
Memorix uses two files with two roles:
|
|
97
|
+
|
|
98
|
+
- `memorix.yml` for behavior and project settings
|
|
99
|
+
- `.env` for secrets such as API keys
|
|
100
|
+
|
|
101
|
+
Then pick the path that matches what you want to do:
|
|
102
|
+
|
|
103
|
+
| You want | Run | Best for |
|
|
104
|
+
| --- | --- | --- |
|
|
105
|
+
| Quick MCP setup inside one IDE | `memorix serve` | Cursor, Claude Code, Codex, Windsurf, Gemini CLI, and other stdio MCP clients |
|
|
106
|
+
| Dashboard + long-lived HTTP MCP in the background | `memorix background start` | Daily use, multiple agents, collaboration, dashboard |
|
|
107
|
+
| Foreground HTTP mode for debugging or a custom port | `memorix serve-http --port 3211` | Manual supervision, debugging, custom launch control |
|
|
108
|
+
|
|
109
|
+
Most users should choose **one** of the first two options:
|
|
110
|
+
|
|
111
|
+
- `memorix serve` if you just want Memorix available inside your IDE as fast as possible
|
|
112
|
+
- `memorix background start` if you want the dashboard and a shared HTTP control plane running in the background
|
|
113
|
+
|
|
114
|
+
Optional local UI:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
memorix
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Use bare `memorix` only when you want the interactive local workbench in a TTY. It is not the main setup path for most users.
|
|
121
|
+
|
|
122
|
+
Companion commands:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
memorix background status
|
|
126
|
+
memorix background logs
|
|
127
|
+
memorix background stop
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
If you need the HTTP control plane in the foreground for debugging, manual supervision, or a custom port, use:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
memorix serve-http --port 3211
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
If you are using the HTTP control plane across multiple workspaces or agents, make sure each session binds with `memorix_session_start(projectRoot=...)`.
|
|
137
|
+
|
|
138
|
+
The deeper details around startup root selection, project binding, config precedence, and agent/operator workflows live in [docs/SETUP.md](docs/SETUP.md) and the [Agent Operator Playbook](docs/AGENT_OPERATOR_PLAYBOOK.md).
|
|
139
|
+
|
|
140
|
+
Add Memorix to your MCP client:
|
|
141
|
+
|
|
142
|
+
### Generic stdio MCP config
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"mcpServers": {
|
|
147
|
+
"memorix": {
|
|
148
|
+
"command": "memorix",
|
|
149
|
+
"args": ["serve"]
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Generic HTTP MCP config
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"mcpServers": {
|
|
160
|
+
"memorix": {
|
|
161
|
+
"transport": "http",
|
|
162
|
+
"url": "http://localhost:3211/mcp"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
If you use the HTTP control plane across multiple workspaces or agents, the client or agent should also call `memorix_session_start(projectRoot=ABSOLUTE_WORKSPACE_PATH)` at the beginning of each project session.
|
|
169
|
+
|
|
170
|
+
The per-client examples below show the simplest stdio shape. If you prefer the shared HTTP control plane, keep the generic HTTP block above and use the client-specific variants in [docs/SETUP.md](docs/SETUP.md).
|
|
171
|
+
|
|
172
|
+
<details open>
|
|
173
|
+
<summary><strong>Cursor</strong> | <code>.cursor/mcp.json</code></summary>
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"mcpServers": {
|
|
178
|
+
"memorix": {
|
|
179
|
+
"command": "memorix",
|
|
180
|
+
"args": ["serve"]
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
</details>
|
|
186
|
+
|
|
187
|
+
<details>
|
|
188
|
+
<summary><strong>Claude Code</strong></summary>
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
claude mcp add memorix -- memorix serve
|
|
192
|
+
```
|
|
193
|
+
</details>
|
|
194
|
+
|
|
195
|
+
<details>
|
|
196
|
+
<summary><strong>Codex</strong> | <code>~/.codex/config.toml</code></summary>
|
|
197
|
+
|
|
198
|
+
```toml
|
|
199
|
+
[mcp_servers.memorix]
|
|
200
|
+
command = "memorix"
|
|
201
|
+
args = ["serve"]
|
|
202
|
+
```
|
|
203
|
+
</details>
|
|
204
|
+
|
|
205
|
+
For the full IDE matrix, Windows notes, and troubleshooting, see [docs/SETUP.md](docs/SETUP.md).
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Core Workflows
|
|
210
|
+
|
|
211
|
+
### 1. Store and retrieve memory
|
|
212
|
+
|
|
213
|
+
Use MCP tools such as:
|
|
214
|
+
|
|
215
|
+
- `memorix_store`
|
|
216
|
+
- `memorix_search`
|
|
217
|
+
- `memorix_detail`
|
|
218
|
+
- `memorix_timeline`
|
|
219
|
+
- `memorix_resolve`
|
|
220
|
+
|
|
221
|
+
This covers decisions, gotchas, problem-solution notes, and session handoff context.
|
|
222
|
+
|
|
223
|
+
### 2. Capture Git truth automatically
|
|
224
|
+
|
|
225
|
+
Install the post-commit hook:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
memorix git-hook --force
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Or ingest manually:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
memorix ingest commit
|
|
235
|
+
memorix ingest log --count 20
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Git memories are stored with `source='git'`, commit hashes, changed files, and noise filtering.
|
|
239
|
+
|
|
240
|
+
### 3. Run the control plane
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
memorix background start
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Then open:
|
|
247
|
+
|
|
248
|
+
- MCP HTTP endpoint: `http://localhost:3211/mcp`
|
|
249
|
+
- Dashboard: `http://localhost:3211`
|
|
250
|
+
|
|
251
|
+
Companion commands:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
memorix background status
|
|
255
|
+
memorix background logs
|
|
256
|
+
memorix background stop
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Use `background start` as the default long-lived HTTP mode. If you need to keep the control plane in the foreground for debugging or manual supervision, use:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
memorix serve-http --port 3211
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
This HTTP mode gives you collaboration tools, project identity diagnostics, config provenance, Git Memory views, and the dashboard in one place.
|
|
266
|
+
|
|
267
|
+
When multiple HTTP sessions are open at once, each session should bind itself with `memorix_session_start(projectRoot=...)` before using project-scoped memory tools.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## How It Works
|
|
272
|
+
|
|
273
|
+
```mermaid
|
|
274
|
+
flowchart LR
|
|
275
|
+
subgraph Ingress["Ingress Surfaces"]
|
|
276
|
+
A1["Git hooks / ingest"]
|
|
277
|
+
A2["MCP tools"]
|
|
278
|
+
A3["CLI / TUI"]
|
|
279
|
+
A4["HTTP dashboard"]
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
subgraph Runtime["Memorix Runtime"]
|
|
283
|
+
B1["stdio MCP server"]
|
|
284
|
+
B2["HTTP control plane"]
|
|
285
|
+
B3["project binding + config"]
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
subgraph Memory["Memory Substrates"]
|
|
289
|
+
C1["Observation memory"]
|
|
290
|
+
C2["Reasoning memory"]
|
|
291
|
+
C3["Git memory"]
|
|
292
|
+
C4["Session + team state"]
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
subgraph Processing["Async Processing"]
|
|
296
|
+
D1["Formation pipeline"]
|
|
297
|
+
D2["Embedding + indexing"]
|
|
298
|
+
D3["Graph linking"]
|
|
299
|
+
D4["Dedup + retention"]
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
subgraph Consumption["Consumption Surfaces"]
|
|
303
|
+
E1["Search / detail / timeline"]
|
|
304
|
+
E2["Dashboard / team views"]
|
|
305
|
+
E3["Agent recall / handoff"]
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
A1 --> B1
|
|
309
|
+
A2 --> B1
|
|
310
|
+
A2 --> B2
|
|
311
|
+
A3 --> B1
|
|
312
|
+
A3 --> B2
|
|
313
|
+
A4 --> B2
|
|
314
|
+
|
|
315
|
+
B1 --> B3
|
|
316
|
+
B2 --> B3
|
|
317
|
+
|
|
318
|
+
B3 --> C1
|
|
319
|
+
B3 --> C2
|
|
320
|
+
B3 --> C3
|
|
321
|
+
B3 --> C4
|
|
322
|
+
|
|
323
|
+
C1 --> D1
|
|
324
|
+
C1 --> D2
|
|
325
|
+
C1 --> D3
|
|
326
|
+
C1 --> D4
|
|
327
|
+
C2 --> D1
|
|
328
|
+
C2 --> D3
|
|
329
|
+
C3 --> D2
|
|
330
|
+
C4 --> D3
|
|
331
|
+
|
|
332
|
+
D1 --> E1
|
|
333
|
+
D2 --> E1
|
|
334
|
+
D3 --> E2
|
|
335
|
+
D4 --> E3
|
|
336
|
+
C4 --> E3
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Memorix is not a single linear pipeline. It accepts memory from multiple ingress surfaces, persists it across multiple substrates, runs several asynchronous quality/indexing branches, and exposes the results through different retrieval and collaboration surfaces.
|
|
340
|
+
|
|
341
|
+
### Memory Layers
|
|
342
|
+
|
|
343
|
+
- **Observation Memory**: what changed, how something works, gotchas, problem-solution notes
|
|
344
|
+
- **Reasoning Memory**: why a choice was made, alternatives, trade-offs, risks
|
|
345
|
+
- **Git Memory**: immutable engineering facts derived from commits
|
|
346
|
+
|
|
347
|
+
### Retrieval Model
|
|
348
|
+
|
|
349
|
+
- Default search is **project-scoped**
|
|
350
|
+
- `scope="global"` searches across projects
|
|
351
|
+
- Global hits can be opened explicitly with project-aware refs
|
|
352
|
+
- Source-aware retrieval boosts Git memories for "what changed" questions and reasoning memories for "why" questions
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Documentation
|
|
357
|
+
|
|
358
|
+
### Getting Started
|
|
359
|
+
|
|
360
|
+
- [Setup Guide](docs/SETUP.md)
|
|
361
|
+
- [Configuration Guide](docs/CONFIGURATION.md)
|
|
362
|
+
|
|
363
|
+
### Product and Architecture
|
|
364
|
+
|
|
365
|
+
- [Architecture](docs/ARCHITECTURE.md)
|
|
366
|
+
- [Memory Formation Pipeline](docs/MEMORY_FORMATION_PIPELINE.md)
|
|
367
|
+
- [Design Decisions](docs/DESIGN_DECISIONS.md)
|
|
368
|
+
|
|
369
|
+
### Reference
|
|
370
|
+
|
|
371
|
+
- [API Reference](docs/API_REFERENCE.md)
|
|
372
|
+
- [Git Memory Guide](docs/GIT_MEMORY.md)
|
|
373
|
+
- [Modules](docs/MODULES.md)
|
|
374
|
+
|
|
375
|
+
### Development
|
|
376
|
+
|
|
377
|
+
- [Development Guide](docs/DEVELOPMENT.md)
|
|
378
|
+
- [Known Issues and Roadmap](docs/KNOWN_ISSUES_AND_ROADMAP.md)
|
|
379
|
+
|
|
380
|
+
### AI-Facing Project Docs
|
|
381
|
+
|
|
382
|
+
- [Agent Operator Playbook](docs/AGENT_OPERATOR_PLAYBOOK.md)
|
|
383
|
+
- [AI Context Note](docs/AI_CONTEXT.md)
|
|
384
|
+
- [`llms.txt`](llms.txt)
|
|
385
|
+
- [`llms-full.txt`](llms-full.txt)
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Development
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
git clone https://github.com/AVIDS2/memorix.git
|
|
393
|
+
cd memorix
|
|
394
|
+
npm install
|
|
395
|
+
|
|
396
|
+
npm run dev
|
|
397
|
+
npm test
|
|
398
|
+
npm run build
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
Key local commands:
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
memorix status
|
|
405
|
+
memorix dashboard
|
|
406
|
+
memorix background start
|
|
407
|
+
memorix serve-http --port 3211
|
|
408
|
+
memorix git-hook --force
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Acknowledgements
|
|
414
|
+
|
|
415
|
+
Memorix builds on ideas from [mcp-memory-service](https://github.com/doobidoo/mcp-memory-service), [MemCP](https://github.com/maydali28/memcp), [claude-mem](https://github.com/anthropics/claude-code), [Mem0](https://github.com/mem0ai/mem0), and the broader MCP ecosystem.
|
|
416
|
+
|
|
417
|
+
## Star History
|
|
418
|
+
|
|
419
|
+
<a href="https://star-history.com/#AVIDS2/memorix&Date">
|
|
420
|
+
<picture>
|
|
421
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=AVIDS2/memorix&type=Date&theme=dark" />
|
|
422
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=AVIDS2/memorix&type=Date" />
|
|
423
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=AVIDS2/memorix&type=Date" width="600" />
|
|
424
|
+
</picture>
|
|
425
|
+
</a>
|
|
426
|
+
|
|
427
|
+
## License
|
|
428
|
+
|
|
429
|
+
[Apache 2.0](LICENSE)
|