memory-mimir 2.5.3 → 2.5.5
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/dist/cli.js +56 -14
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -97,11 +97,11 @@ description: >
|
|
|
97
97
|
Use when: (1) The user asks about past conversations, people, events, or preferences,
|
|
98
98
|
(2) The user says "remember this" or shares important facts to save,
|
|
99
99
|
(3) The user references something discussed before ("remember when...", "what did I say about..."),
|
|
100
|
-
(4) The user wants to forget or
|
|
100
|
+
(4) The user wants to forget or find stored memories about a topic,
|
|
101
101
|
(5) Auto-recalled memories are insufficient and a deeper search is needed,
|
|
102
102
|
(6) The user asks a time-specific question about the past ("last week", "in January").
|
|
103
|
-
Available tools: mimir_search (active memory lookup), mimir_store (save facts), mimir_forget (
|
|
104
|
-
Auto-recall injects basic context automatically
|
|
103
|
+
Available tools: mimir_search (active memory lookup), mimir_store (save facts), mimir_forget (preview matching memories).
|
|
104
|
+
Auto-recall injects basic context automatically — use mimir_search for deeper or broader queries.
|
|
105
105
|
---
|
|
106
106
|
|
|
107
107
|
# Mimir Memory
|
|
@@ -127,12 +127,29 @@ Do NOT repeat this in subsequent conversations where \\\`<memories>\\\` is prese
|
|
|
127
127
|
|
|
128
128
|
## How Memory Works
|
|
129
129
|
|
|
130
|
-
|
|
131
|
-
- **mimir_search**: Actively search memory when auto-recall is insufficient.
|
|
132
|
-
- **mimir_store**: Save important facts, preferences, or notes the user wants remembered.
|
|
133
|
-
- **mimir_forget**: Look up and preview memories for deletion.
|
|
130
|
+
The plugin has two automatic behaviors and three manual tools:
|
|
134
131
|
|
|
135
|
-
|
|
132
|
+
### Automatic (no action needed)
|
|
133
|
+
|
|
134
|
+
- **Auto-recall**: Before each conversation, relevant memories are silently injected as a \\\`<memories>\\\` block. It searches **event_log, entity, and relation** types only, returning up to 15 results. It does NOT search episodes or raw documents.
|
|
135
|
+
- **Auto-capture**: After each conversation ends, new messages are automatically ingested into memory. You do NOT need to manually save everything the user says — important content is captured automatically.
|
|
136
|
+
|
|
137
|
+
### Manual Tools
|
|
138
|
+
|
|
139
|
+
- **mimir_search**: Actively search memory. Use when auto-recall is insufficient — especially for episodes, full conversation context, or specific time ranges.
|
|
140
|
+
- **mimir_store**: Save an explicit atomic fact or preference. Use sparingly — auto-capture already handles most content.
|
|
141
|
+
- **mimir_forget**: Preview memories matching a query. NOTE: Actual deletion is not yet supported — this only shows what would be affected.
|
|
142
|
+
|
|
143
|
+
## When to Use mimir_search (vs relying on auto-recall)
|
|
144
|
+
|
|
145
|
+
Auto-recall covers basic facts, entities, and relations. Use mimir_search when:
|
|
146
|
+
|
|
147
|
+
| Scenario | Why auto-recall isn't enough |
|
|
148
|
+
|----------|------------------------------|
|
|
149
|
+
| "Summarize our Chrome extension discussion" | Auto-recall doesn't search **episodes** |
|
|
150
|
+
| "What did I say last Tuesday?" | Auto-recall may not apply **time filters** |
|
|
151
|
+
| "Tell me everything about the Japan trip" | Need broader search with multiple memory types |
|
|
152
|
+
| Auto-recalled \\\`<memories>\\\` don't answer the question | Need different query terms or types |
|
|
136
153
|
|
|
137
154
|
### Query Crafting
|
|
138
155
|
|
|
@@ -177,9 +194,14 @@ mimir_search({
|
|
|
177
194
|
})
|
|
178
195
|
\\\`\\\`\\\`
|
|
179
196
|
|
|
180
|
-
##
|
|
197
|
+
## When to Use mimir_store (vs relying on auto-capture)
|
|
198
|
+
|
|
199
|
+
Auto-capture saves the full conversation after each session. Use mimir_store ONLY for:
|
|
181
200
|
|
|
182
|
-
|
|
201
|
+
- **Explicit requests**: User says "remember that I prefer dark mode"
|
|
202
|
+
- **Atomic facts worth highlighting**: Important preferences, decisions, or plans that might get buried in a long conversation
|
|
203
|
+
|
|
204
|
+
Do NOT use mimir_store to save things the user already said in conversation — auto-capture handles that.
|
|
183
205
|
|
|
184
206
|
\\\`\\\`\\\`
|
|
185
207
|
mimir_store({ content: "Arthur prefers dark roast coffee, no sugar." })
|
|
@@ -187,17 +209,25 @@ mimir_store({ content: "Arthur prefers dark roast coffee, no sugar." })
|
|
|
187
209
|
|
|
188
210
|
Keep content atomic — one fact per call. Include the person's name for attribution.
|
|
189
211
|
|
|
212
|
+
## Using mimir_forget
|
|
213
|
+
|
|
214
|
+
Preview memories matching a topic the user wants to forget. Deletion is NOT yet implemented — inform the user that you can show what's stored but cannot delete it yet.
|
|
215
|
+
|
|
216
|
+
\\\`\\\`\\\`
|
|
217
|
+
mimir_forget({ query: "my old phone number" })
|
|
218
|
+
\\\`\\\`\\\`
|
|
219
|
+
|
|
190
220
|
## Installation
|
|
191
221
|
|
|
192
222
|
\\\`\\\`\\\`bash
|
|
193
|
-
# With invite code (closed beta)
|
|
223
|
+
# With invite code (closed beta, single-use)
|
|
194
224
|
npx memory-mimir init --code XXXXXX
|
|
195
225
|
|
|
196
226
|
# Or with existing API key
|
|
197
227
|
npx memory-mimir setup --api-key sk-mimir-xxx
|
|
198
228
|
\\\`\\\`\\\`
|
|
199
229
|
|
|
200
|
-
|
|
230
|
+
Restart the AI agent after setup.
|
|
201
231
|
`;
|
|
202
232
|
function installSkill() {
|
|
203
233
|
try {
|
|
@@ -236,6 +266,18 @@ function installPlugin() {
|
|
|
236
266
|
return false;
|
|
237
267
|
}
|
|
238
268
|
}
|
|
269
|
+
function printSuccess() {
|
|
270
|
+
console.log(`
|
|
271
|
+
✅ Memory activated! Restart OpenClaw to start.
|
|
272
|
+
|
|
273
|
+
After restart, try:
|
|
274
|
+
- Introduce yourself (name, job, interests) — I'll remember
|
|
275
|
+
- Say "remember I prefer dark mode" — saves to memory
|
|
276
|
+
- Next session, ask "do you remember me?" — verifies it works
|
|
277
|
+
|
|
278
|
+
Chat normally — important details are captured automatically.
|
|
279
|
+
`);
|
|
280
|
+
}
|
|
239
281
|
function promptForCode() {
|
|
240
282
|
if (!process.stdin.isTTY) {
|
|
241
283
|
return Promise.resolve("");
|
|
@@ -294,7 +336,7 @@ async function cmdInit(url, code) {
|
|
|
294
336
|
installSkill();
|
|
295
337
|
const configPath = path.join(os.homedir(), ".openclaw", "openclaw.json");
|
|
296
338
|
writeConfig(configPath, deviceData.device_key, url);
|
|
297
|
-
|
|
339
|
+
printSuccess();
|
|
298
340
|
}
|
|
299
341
|
async function cmdSetup(url, apiKey, skipVerify) {
|
|
300
342
|
if (!apiKey) {
|
|
@@ -318,7 +360,7 @@ async function cmdSetup(url, apiKey, skipVerify) {
|
|
|
318
360
|
installSkill();
|
|
319
361
|
const configPath = path.join(os.homedir(), ".openclaw", "openclaw.json");
|
|
320
362
|
writeConfig(configPath, apiKey, url);
|
|
321
|
-
|
|
363
|
+
printSuccess();
|
|
322
364
|
}
|
|
323
365
|
async function main() {
|
|
324
366
|
const { command, url, apiKey, code, skipVerify } = parseArgs(process.argv);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|