@trlc/super-memory 1.3.0 → 1.3.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.
- package/README.md +0 -4
- package/dist/index.js +98 -28
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,9 +27,6 @@ super-memory sync
|
|
|
27
27
|
|
|
28
28
|
# Check status
|
|
29
29
|
super-memory status
|
|
30
|
-
|
|
31
|
-
# Open local dashboard
|
|
32
|
-
super-memory dashboard
|
|
33
30
|
```
|
|
34
31
|
|
|
35
32
|
## Commands
|
|
@@ -41,7 +38,6 @@ super-memory dashboard
|
|
|
41
38
|
| `search` | Search memories semantically |
|
|
42
39
|
| `sync` | Sync with cloud storage (encrypted) |
|
|
43
40
|
| `status` | Show license, local/cloud stats, sync status |
|
|
44
|
-
| `dashboard` | Open local web dashboard |
|
|
45
41
|
| `index-update` | Update MEMORY_INDEX.md + auto-curate |
|
|
46
42
|
| `curate` | Auto-curate memories to MEMORY.md |
|
|
47
43
|
| `flush` | Save critical context before compaction |
|
package/dist/index.js
CHANGED
|
@@ -9,11 +9,9 @@
|
|
|
9
9
|
* super-memory search "query term"
|
|
10
10
|
* super-memory sync
|
|
11
11
|
* super-memory status
|
|
12
|
-
* super-memory
|
|
13
|
-
* super-memory curate [--days=7] [--dry-run] ← NEW!
|
|
12
|
+
* super-memory curate [--days=7] [--dry-run]
|
|
14
13
|
*/
|
|
15
14
|
import { execSync } from 'child_process';
|
|
16
|
-
import { startDashboard } from './commands/dashboard.js';
|
|
17
15
|
import { cmdIndexUpdate } from './commands/indexUpdate.js';
|
|
18
16
|
import { cmdFlush } from './commands/flush.js';
|
|
19
17
|
import { cmdMaintenance } from './commands/maintenance.js';
|
|
@@ -241,6 +239,97 @@ async function cmdInit(args) {
|
|
|
241
239
|
---
|
|
242
240
|
|
|
243
241
|
*Powered by The Red Lobster Cartel 🦞*
|
|
242
|
+
`);
|
|
243
|
+
}
|
|
244
|
+
// Create SKILL.md for OpenClaw integration
|
|
245
|
+
const skillsDir = join(homedir(), '.openclaw', 'skills', 'super-memory');
|
|
246
|
+
if (!existsSync(skillsDir)) {
|
|
247
|
+
mkdirSync(skillsDir, { recursive: true });
|
|
248
|
+
}
|
|
249
|
+
const skillPath = join(skillsDir, 'SKILL.md');
|
|
250
|
+
if (!existsSync(skillPath)) {
|
|
251
|
+
writeFileSync(skillPath, `# Super Memory Skill for AI Agents
|
|
252
|
+
# The Red Lobster Cartel 🦞
|
|
253
|
+
#
|
|
254
|
+
# This skill was auto-installed by Super Memory CLI
|
|
255
|
+
# Add this to your AGENTS.md file to enable Super Memory integration
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Super Memory - Persistent Memory System
|
|
260
|
+
|
|
261
|
+
You have access to Super Memory, a 5-layer persistent memory system that remembers conversations across sessions.
|
|
262
|
+
|
|
263
|
+
### Overview
|
|
264
|
+
|
|
265
|
+
Super Memory stores information in 5 layers:
|
|
266
|
+
1. **Session Context** - Current conversation (automatic)
|
|
267
|
+
2. **Daily Logs** - Raw conversation logs (memory/YYYY-MM-DD.md)
|
|
268
|
+
3. **Long-Term Memory** - Curated important info (MEMORY.md)
|
|
269
|
+
4. **Progressive Index** - Compact search index (memory/MEMORY_INDEX.md)
|
|
270
|
+
5. **Action Logs** - System operations (memory/actions.jsonl)
|
|
271
|
+
|
|
272
|
+
### CLI Commands Available
|
|
273
|
+
|
|
274
|
+
| Command | Purpose | Example |
|
|
275
|
+
|---------|---------|---------|
|
|
276
|
+
| super-memory save "text" --category=X | Save a memory | super-memory save "Fixed CORS" --category=problem |
|
|
277
|
+
| super-memory search "query" | Find memories | super-memory search "authentication" |
|
|
278
|
+
| super-memory sync | Sync with cloud | super-memory sync |
|
|
279
|
+
| super-memory status | View stats | super-memory status |
|
|
280
|
+
| super-memory index-update | Update search index | super-memory index-update |
|
|
281
|
+
| super-memory curate | Auto-curate to long-term | super-memory curate |
|
|
282
|
+
|
|
283
|
+
### Categories (with Emojis)
|
|
284
|
+
|
|
285
|
+
- 🔴 **gotcha** - Traps, warnings, pitfalls
|
|
286
|
+
- 🟡 **problem** - Problems encountered and solutions
|
|
287
|
+
- 🟤 **decision** - Important decisions and rationale
|
|
288
|
+
- 🟣 **discovery** - New learnings, insights
|
|
289
|
+
|
|
290
|
+
### When to Save Memories
|
|
291
|
+
|
|
292
|
+
**Always save when:**
|
|
293
|
+
- User mentions something important to remember
|
|
294
|
+
- A problem is solved (document the fix)
|
|
295
|
+
- An architectural decision is made
|
|
296
|
+
- User preferences are revealed
|
|
297
|
+
|
|
298
|
+
### Search Strategy
|
|
299
|
+
|
|
300
|
+
Before answering questions, run:
|
|
301
|
+
\`\`\`bash
|
|
302
|
+
super-memory search "[topic or keywords]"
|
|
303
|
+
\`\`\`
|
|
304
|
+
|
|
305
|
+
Then reference relevant memories in your answer.
|
|
306
|
+
|
|
307
|
+
### Examples
|
|
308
|
+
|
|
309
|
+
**Problem Solved:**
|
|
310
|
+
User: "Finally fixed that auth bug"
|
|
311
|
+
You: [runs] super-memory save "Fixed auth bug by switching to JWT" --category=problem
|
|
312
|
+
|
|
313
|
+
**Decision Made:**
|
|
314
|
+
User: "Let's use React"
|
|
315
|
+
You: [runs] super-memory save "Chose React for frontend" --category=decision
|
|
316
|
+
|
|
317
|
+
**User Preference:**
|
|
318
|
+
User: "I hate cilantro"
|
|
319
|
+
You: [runs] super-memory save "User dislikes cilantro" --category=discovery
|
|
320
|
+
|
|
321
|
+
### Best Practices
|
|
322
|
+
|
|
323
|
+
1. Be specific - include context
|
|
324
|
+
2. Categorize correctly - use the right emoji
|
|
325
|
+
3. Search before answering - check if relevant info exists
|
|
326
|
+
4. Ask permission - "Should I save this?" for uncertain cases
|
|
327
|
+
5. Reference memories - "According to your memory..."
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
*Auto-installed by Super Memory CLI v${VERSION}*
|
|
332
|
+
*The Red Lobster Cartel 🦞 - Never forget a conversation again*
|
|
244
333
|
`);
|
|
245
334
|
}
|
|
246
335
|
console.log(`
|
|
@@ -257,7 +346,10 @@ async function cmdInit(args) {
|
|
|
257
346
|
super-memory search "query"
|
|
258
347
|
super-memory sync
|
|
259
348
|
super-memory status
|
|
260
|
-
|
|
349
|
+
|
|
350
|
+
🤖 OpenClaw Integration:
|
|
351
|
+
Skill installed: ~/.openclaw/skills/super-memory/SKILL.md
|
|
352
|
+
Add to AGENTS.md: See ~/.openclaw/skills/super-memory/SKILL.md
|
|
261
353
|
|
|
262
354
|
🦞 Welcome to The Red Lobster Cartel!
|
|
263
355
|
`);
|
|
@@ -581,10 +673,6 @@ COMMANDS:
|
|
|
581
673
|
|
|
582
674
|
status Show status and stats
|
|
583
675
|
|
|
584
|
-
dashboard Open web dashboard
|
|
585
|
-
--port=8765 Custom port
|
|
586
|
-
--no-browser Don't auto-open browser
|
|
587
|
-
|
|
588
676
|
index-update Update progressive MEMORY_INDEX.md (Layer 4)
|
|
589
677
|
Also auto-curates to MEMORY.md
|
|
590
678
|
|
|
@@ -598,10 +686,6 @@ COMMANDS:
|
|
|
598
686
|
|
|
599
687
|
categorize <id> Auto-categorize memory entry
|
|
600
688
|
|
|
601
|
-
dashboard Open web dashboard
|
|
602
|
-
--port=8765 Custom port
|
|
603
|
-
--no-browser Don't auto-open browser
|
|
604
|
-
|
|
605
689
|
help Show this help
|
|
606
690
|
|
|
607
691
|
EXAMPLES:
|
|
@@ -610,22 +694,11 @@ EXAMPLES:
|
|
|
610
694
|
super-memory search "cors error"
|
|
611
695
|
super-memory sync
|
|
612
696
|
super-memory status
|
|
613
|
-
super-memory dashboard
|
|
614
|
-
super-memory dashboard --port=3000 --no-browser
|
|
615
697
|
|
|
616
|
-
WEBSITE: https://
|
|
617
|
-
SUPPORT: support@
|
|
698
|
+
WEBSITE: https://redlobstercartel.ai/super-memory
|
|
699
|
+
SUPPORT: support@redlobstercartel.ai
|
|
618
700
|
`);
|
|
619
701
|
}
|
|
620
|
-
// COMMAND: dashboard
|
|
621
|
-
async function cmdDashboard(args) {
|
|
622
|
-
const portArg = args.find(arg => arg.startsWith('--port='))?.split('=')[1];
|
|
623
|
-
const noBrowser = args.includes('--no-browser');
|
|
624
|
-
await startDashboard({
|
|
625
|
-
port: portArg ? parseInt(portArg, 10) : undefined,
|
|
626
|
-
noBrowser,
|
|
627
|
-
});
|
|
628
|
-
}
|
|
629
702
|
// Main
|
|
630
703
|
async function main() {
|
|
631
704
|
const args = process.argv.slice(2);
|
|
@@ -647,9 +720,6 @@ async function main() {
|
|
|
647
720
|
case 'status':
|
|
648
721
|
await cmdStatus(cmdArgs);
|
|
649
722
|
break;
|
|
650
|
-
case 'dashboard':
|
|
651
|
-
await cmdDashboard(cmdArgs);
|
|
652
|
-
break;
|
|
653
723
|
case 'index-update':
|
|
654
724
|
await cmdIndexUpdate(cmdArgs);
|
|
655
725
|
break;
|