superlocalmemory 3.4.16 → 3.4.18
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 +20 -0
- package/package.json +1 -3
- package/pyproject.toml +10 -1
- package/src/superlocalmemory/cli/setup_wizard.py +30 -0
- package/src/superlocalmemory/server/routes/entity.py +5 -9
- package/src/superlocalmemory/server/routes/helpers.py +120 -15
- package/src/superlocalmemory/server/routes/ingest.py +2 -3
- package/src/superlocalmemory/server/routes/v3_api.py +42 -2
- package/src/superlocalmemory/server/unified_daemon.py +21 -11
- package/src/superlocalmemory.egg-info/PKG-INFO +5 -2
- package/src/superlocalmemory.egg-info/requires.txt +3 -0
- package/docs/ARCHITECTURE.md +0 -149
- package/docs/api-reference.md +0 -284
- package/docs/auto-memory.md +0 -150
- package/docs/cli-reference.md +0 -327
- package/docs/cloud-backup.md +0 -174
- package/docs/compliance.md +0 -191
- package/docs/configuration.md +0 -182
- package/docs/getting-started.md +0 -102
- package/docs/ide-setup.md +0 -261
- package/docs/mcp-tools.md +0 -220
- package/docs/migration-from-v2.md +0 -170
- package/docs/profiles.md +0 -173
- package/docs/screenshots/01-dashboard-main.png +0 -0
- package/docs/screenshots/02-knowledge-graph.png +0 -0
- package/docs/screenshots/03-math-health.png +0 -0
- package/docs/screenshots/03-patterns-learning.png +0 -0
- package/docs/screenshots/04-learning-dashboard.png +0 -0
- package/docs/screenshots/04-recall-lab.png +0 -0
- package/docs/screenshots/05-behavioral-analysis.png +0 -0
- package/docs/screenshots/05-trust-dashboard.png +0 -0
- package/docs/screenshots/06-graph-communities.png +0 -0
- package/docs/screenshots/06-settings.png +0 -0
- package/docs/screenshots/07-memories-blurred.png +0 -0
- package/docs/skill-evolution.md +0 -256
- package/docs/troubleshooting.md +0 -310
- package/docs/v2-archive/ACCESSIBILITY.md +0 -291
- package/docs/v2-archive/ARCHITECTURE.md +0 -886
- package/docs/v2-archive/CLI-COMMANDS-REFERENCE.md +0 -425
- package/docs/v2-archive/COMPRESSION-README.md +0 -390
- package/docs/v2-archive/FRAMEWORK-INTEGRATIONS.md +0 -300
- package/docs/v2-archive/MCP-MANUAL-SETUP.md +0 -775
- package/docs/v2-archive/MCP-TROUBLESHOOTING.md +0 -787
- package/docs/v2-archive/PATTERN-LEARNING.md +0 -228
- package/docs/v2-archive/PROFILES-GUIDE.md +0 -453
- package/docs/v2-archive/RESET-GUIDE.md +0 -353
- package/docs/v2-archive/SEARCH-ENGINE-V2.2.0.md +0 -749
- package/docs/v2-archive/SEARCH-INTEGRATION-GUIDE.md +0 -502
- package/docs/v2-archive/UI-SERVER.md +0 -262
- package/docs/v2-archive/UNIVERSAL-INTEGRATION.md +0 -488
- package/docs/v2-archive/V2.2.0-OPTIONAL-SEARCH.md +0 -666
- package/docs/v2-archive/WINDOWS-INSTALL-README.txt +0 -34
- package/docs/v2-archive/WINDOWS-POST-INSTALL.txt +0 -45
- package/docs/v2-archive/example_graph_usage.py +0 -146
- package/ui/index.html +0 -1879
- package/ui/js/agents.js +0 -192
- package/ui/js/auto-settings.js +0 -399
- package/ui/js/behavioral.js +0 -276
- package/ui/js/clusters.js +0 -206
- package/ui/js/compliance.js +0 -252
- package/ui/js/core.js +0 -246
- package/ui/js/dashboard.js +0 -110
- package/ui/js/events.js +0 -178
- package/ui/js/fact-detail.js +0 -92
- package/ui/js/feedback.js +0 -333
- package/ui/js/graph-core.js +0 -447
- package/ui/js/graph-filters.js +0 -220
- package/ui/js/graph-interactions.js +0 -351
- package/ui/js/graph-ui.js +0 -214
- package/ui/js/ide-status.js +0 -102
- package/ui/js/init.js +0 -45
- package/ui/js/learning.js +0 -435
- package/ui/js/lifecycle.js +0 -298
- package/ui/js/math-health.js +0 -98
- package/ui/js/memories.js +0 -264
- package/ui/js/modal.js +0 -357
- package/ui/js/patterns.js +0 -93
- package/ui/js/profiles.js +0 -236
- package/ui/js/recall-lab.js +0 -292
- package/ui/js/search.js +0 -59
- package/ui/js/settings.js +0 -224
- package/ui/js/timeline.js +0 -32
- package/ui/js/trust-dashboard.js +0 -73
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
# Pattern Learning
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The Pattern Learner is Layer 4 of the SuperLocalMemory system. It automatically learns user preferences, coding style, and terminology from stored memories — all processed locally with no external API calls.
|
|
6
|
-
|
|
7
|
-
**No external APIs. All processing is local.**
|
|
8
|
-
|
|
9
|
-
> For technical details on the learning algorithms, see our published research: https://zenodo.org/records/18709670
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## What It Learns
|
|
14
|
-
|
|
15
|
-
Pattern learning analyzes your saved memories and builds a profile of your preferences across multiple dimensions:
|
|
16
|
-
|
|
17
|
-
- **Technology preferences** — Which frameworks, languages, and tools appear most often in your memories
|
|
18
|
-
- **Architecture choices** — Your preferred patterns (e.g., REST vs GraphQL, microservices vs monolith)
|
|
19
|
-
- **Security approaches** — Your go-to authentication and authorization patterns
|
|
20
|
-
- **Coding style** — Performance vs readability, testing approach, code organization
|
|
21
|
-
- **Domain terminology** — How you define common terms in your project context
|
|
22
|
-
|
|
23
|
-
Each detected preference gets a confidence score based on the supporting evidence. The system is conservative by design — low confidence with small datasets is correct behavior, not a bug.
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Usage
|
|
28
|
-
|
|
29
|
-
### Command Line Interface
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Full pattern update (run weekly or after bulk imports)
|
|
33
|
-
python pattern_learner.py update
|
|
34
|
-
|
|
35
|
-
# List learned patterns
|
|
36
|
-
python pattern_learner.py list [min_confidence]
|
|
37
|
-
# Example: python pattern_learner.py list 0.7
|
|
38
|
-
|
|
39
|
-
# Get context formatted for AI assistant injection
|
|
40
|
-
python pattern_learner.py context [min_confidence]
|
|
41
|
-
# Example: python pattern_learner.py context 0.6
|
|
42
|
-
|
|
43
|
-
# Show statistics
|
|
44
|
-
python pattern_learner.py stats
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Python API
|
|
48
|
-
|
|
49
|
-
```python
|
|
50
|
-
from pattern_learner import PatternLearner
|
|
51
|
-
|
|
52
|
-
learner = PatternLearner()
|
|
53
|
-
|
|
54
|
-
# Full pattern analysis
|
|
55
|
-
counts = learner.weekly_pattern_update()
|
|
56
|
-
# Returns: {'preferences': 5, 'styles': 3, 'terminology': 4}
|
|
57
|
-
|
|
58
|
-
# Incremental update for new memory
|
|
59
|
-
learner.on_new_memory(memory_id=42)
|
|
60
|
-
|
|
61
|
-
# Query patterns
|
|
62
|
-
patterns = learner.get_patterns(min_confidence=0.7)
|
|
63
|
-
|
|
64
|
-
# Get formatted context for AI injection
|
|
65
|
-
context = learner.get_identity_context(min_confidence=0.7)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Example Output
|
|
71
|
-
|
|
72
|
-
### Pattern List
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
Type Category Pattern Confidence Evidence
|
|
76
|
-
-----------------------------------------------------------------------------------------------
|
|
77
|
-
style general Optimization Priority: Perfo... 90% 15
|
|
78
|
-
preference frontend Frontend Framework: Next.js... 85% 12
|
|
79
|
-
preference backend Database: PostgreSQL 72% 8
|
|
80
|
-
terminology general Optimize: Performance optimi... 90% 15
|
|
81
|
-
style general Error Handling: Explicit err... 78% 9
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### AI Context Injection
|
|
85
|
-
|
|
86
|
-
```markdown
|
|
87
|
-
## Working with User - Learned Patterns
|
|
88
|
-
|
|
89
|
-
**Technology Preferences:**
|
|
90
|
-
- **Frontend Framework:** Next.js over React (confidence: 85%, 12 examples)
|
|
91
|
-
- **Database:** PostgreSQL (confidence: 72%, 8 examples)
|
|
92
|
-
|
|
93
|
-
**Coding Style:**
|
|
94
|
-
- **Optimization Priority:** Performance over readability (confidence: 90%, 15 examples)
|
|
95
|
-
- **Error Handling:** Explicit error boundaries (confidence: 78%, 9 examples)
|
|
96
|
-
|
|
97
|
-
**Terminology:**
|
|
98
|
-
- **Optimize:** Performance optimization (speed/latency) (confidence: 90%, 15 examples)
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Confidence Calibration
|
|
104
|
-
|
|
105
|
-
| Dataset Size | Expected Confidence | Recommended Threshold |
|
|
106
|
-
|-------------|--------------------|-----------------------|
|
|
107
|
-
| Under 20 memories | 10-40% | Use 0.1 for exploration |
|
|
108
|
-
| 20-100 memories | 40-70% | Use 0.5 for reliable patterns |
|
|
109
|
-
| Over 100 memories | 70-95% | Use 0.7 for high-confidence patterns |
|
|
110
|
-
|
|
111
|
-
The system is designed to be conservative. Low confidence with small datasets is correct behavior.
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Pattern Update Schedule
|
|
116
|
-
|
|
117
|
-
### Incremental (on `/remember`)
|
|
118
|
-
- Quick check for pattern updates on every new memory
|
|
119
|
-
- For large datasets, defers to weekly consolidation
|
|
120
|
-
|
|
121
|
-
### Weekly Consolidation
|
|
122
|
-
- Full re-analysis of all memories
|
|
123
|
-
- Recommended cron job:
|
|
124
|
-
```bash
|
|
125
|
-
# Every Sunday at 2 AM
|
|
126
|
-
0 2 * * 0 cd ~/.superlocalmemory && python3 pattern_learner.py update >> pattern_updates.log 2>&1
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Integration with AI Assistants
|
|
132
|
-
|
|
133
|
-
### Automatic Context Injection
|
|
134
|
-
|
|
135
|
-
The `get_identity_context()` method formats patterns for any AI assistant's context window:
|
|
136
|
-
|
|
137
|
-
```python
|
|
138
|
-
learner = PatternLearner()
|
|
139
|
-
identity_context = learner.get_identity_context(min_confidence=0.7)
|
|
140
|
-
|
|
141
|
-
# Inject into system prompt or context (works with Claude, GPT, or any assistant)
|
|
142
|
-
prompt = f"""
|
|
143
|
-
{identity_context}
|
|
144
|
-
|
|
145
|
-
[Rest of your prompt...]
|
|
146
|
-
"""
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Works with:** Claude CLI, GPT, local LLMs, or any AI assistant that accepts context.
|
|
150
|
-
|
|
151
|
-
### Benefits
|
|
152
|
-
1. **Personalized responses:** AI understands your technology preferences
|
|
153
|
-
2. **Consistent terminology:** AI uses terms the way you define them
|
|
154
|
-
3. **Style matching:** AI respects your coding style priorities
|
|
155
|
-
4. **Efficient communication:** No need to repeat preferences every session
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## Privacy & Security
|
|
160
|
-
|
|
161
|
-
- **No external API calls** — all processing is local
|
|
162
|
-
- **All data stays local** — stored in `~/.superlocalmemory/`
|
|
163
|
-
- **SQL injection protected** — parameterized queries throughout
|
|
164
|
-
- **No credentials stored**
|
|
165
|
-
- **No network access required**
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## Limitations
|
|
170
|
-
|
|
171
|
-
1. **English-optimized:** Pattern detection works best with English text
|
|
172
|
-
2. **Technical domains:** Works best with technical and coding memories
|
|
173
|
-
3. **Minimum samples:** Requires a few mentions before a pattern is detected
|
|
174
|
-
4. **Conservative scoring:** Low confidence with small datasets is by design
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Troubleshooting
|
|
179
|
-
|
|
180
|
-
### "No patterns learned yet"
|
|
181
|
-
- **Cause:** Not enough memories or technical content
|
|
182
|
-
- **Solution:** Add 10-20 memories with technical details about your preferences
|
|
183
|
-
|
|
184
|
-
### Low confidence scores
|
|
185
|
-
- **Cause:** Small dataset or mixed evidence
|
|
186
|
-
- **Solution:** Normal behavior. Lower the threshold (0.1-0.3) or add more memories
|
|
187
|
-
|
|
188
|
-
### Wrong preference detected
|
|
189
|
-
- **Cause:** More mentions of alternative technology than your true preference
|
|
190
|
-
- **Solution:** Add more memories explicitly stating your correct preference
|
|
191
|
-
|
|
192
|
-
### Pattern not updating
|
|
193
|
-
- **Cause:** Weekly update not run
|
|
194
|
-
- **Solution:** Run `python pattern_learner.py update` manually
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## Testing
|
|
199
|
-
|
|
200
|
-
Sample memories for verifying pattern detection:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
# Add sample memories
|
|
204
|
-
python memory_store.py add "Built with Next.js for better performance" --tags nextjs
|
|
205
|
-
python memory_store.py add "Using Next.js on all new projects" --tags nextjs
|
|
206
|
-
python memory_store.py add "Optimized API from slow to fast" --tags performance
|
|
207
|
-
python memory_store.py add "Performance is critical for UX" --tags performance
|
|
208
|
-
python memory_store.py add "When I say optimize, I mean make it faster" --tags terminology
|
|
209
|
-
|
|
210
|
-
# Run pattern learning
|
|
211
|
-
python pattern_learner.py update
|
|
212
|
-
|
|
213
|
-
# Check results
|
|
214
|
-
python pattern_learner.py list 0.1
|
|
215
|
-
python pattern_learner.py context 0.1
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## License
|
|
221
|
-
|
|
222
|
-
Part of SuperLocalMemory system. See main project LICENSE.
|
|
223
|
-
|
|
224
|
-
---
|
|
225
|
-
|
|
226
|
-
**Implementation Status:** Complete and tested
|
|
227
|
-
|
|
228
|
-
**Last Updated:** 2026-02-05
|
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
# SuperLocalMemory V2 - Profile Management Guide
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
**Profiles** let you maintain completely separate memory systems for different contexts or personalities.
|
|
6
|
-
|
|
7
|
-
**Use cases:**
|
|
8
|
-
- **Work vs Personal**: Keep professional and personal memories separate
|
|
9
|
-
- **Client-specific**: Isolated memories for each client project
|
|
10
|
-
- **Experimentation**: Test profile for trying new features
|
|
11
|
-
- **Personality switching**: Different "AI Master" personas with unique learned patterns
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Quick Start
|
|
16
|
-
|
|
17
|
-
### List Profiles
|
|
18
|
-
```bash
|
|
19
|
-
python ~/.superlocalmemory/memory-profiles.py list
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### Show Current Profile
|
|
23
|
-
```bash
|
|
24
|
-
python ~/.superlocalmemory/memory-profiles.py current
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Create New Profile
|
|
28
|
-
```bash
|
|
29
|
-
# Empty profile
|
|
30
|
-
python ~/.superlocalmemory/memory-profiles.py create work \
|
|
31
|
-
--description "Work projects"
|
|
32
|
-
|
|
33
|
-
# Copy current memories to new profile
|
|
34
|
-
python ~/.superlocalmemory/memory-profiles.py create personal \
|
|
35
|
-
--from-current
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Switch Profile
|
|
39
|
-
```bash
|
|
40
|
-
python ~/.superlocalmemory/memory-profiles.py switch work
|
|
41
|
-
|
|
42
|
-
# ⚠️ IMPORTANT: Restart Claude CLI after switching!
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Delete Profile
|
|
46
|
-
```bash
|
|
47
|
-
python ~/.superlocalmemory/memory-profiles.py delete old-profile
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Profile Isolation
|
|
53
|
-
|
|
54
|
-
Each profile has its own:
|
|
55
|
-
- ✅ **Database** (memory.db) - Completely separate memories
|
|
56
|
-
- ✅ **Graph data** - Independent knowledge graph
|
|
57
|
-
- ✅ **Learned patterns** - Different identity profiles
|
|
58
|
-
- ✅ **Compressed archives** - Separate storage
|
|
59
|
-
- ✅ **Configuration** - Profile-specific settings
|
|
60
|
-
|
|
61
|
-
**Profiles DO NOT share:**
|
|
62
|
-
- Memories
|
|
63
|
-
- Graphs
|
|
64
|
-
- Patterns
|
|
65
|
-
- Any data
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Use Cases
|
|
70
|
-
|
|
71
|
-
### 1. Work vs Personal
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# Create work profile
|
|
75
|
-
python ~/.superlocalmemory/memory-profiles.py create work \
|
|
76
|
-
--description "Professional coding projects"
|
|
77
|
-
|
|
78
|
-
# Create personal profile from current
|
|
79
|
-
python ~/.superlocalmemory/memory-profiles.py create personal \
|
|
80
|
-
--from-current --description "Personal learning and experiments"
|
|
81
|
-
|
|
82
|
-
# Switch based on context
|
|
83
|
-
python ~/.superlocalmemory/memory-profiles.py switch work # During work hours
|
|
84
|
-
python ~/.superlocalmemory/memory-profiles.py switch personal # Personal time
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**Result:**
|
|
88
|
-
- Work profile learns: Enterprise patterns, client tech stacks, professional terminology
|
|
89
|
-
- Personal profile learns: Hobby projects, experimental tech, casual coding style
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
### 2. Client-Specific Profiles
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# Create profile per client
|
|
97
|
-
python ~/.superlocalmemory/memory-profiles.py create client-acme \
|
|
98
|
-
--description "Acme Corp project"
|
|
99
|
-
|
|
100
|
-
python ~/.superlocalmemory/memory-profiles.py create client-contoso \
|
|
101
|
-
--description "Contoso Inc project"
|
|
102
|
-
|
|
103
|
-
# Switch when working on different clients
|
|
104
|
-
python ~/.superlocalmemory/memory-profiles.py switch client-acme
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
**Benefits:**
|
|
108
|
-
- Client data never mixes
|
|
109
|
-
- Each client gets learned patterns specific to their codebase
|
|
110
|
-
- Easy to archive completed projects
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
### 3. Learning & Experimentation
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
# Create test profile
|
|
118
|
-
python ~/.superlocalmemory/memory-profiles.py create experimental \
|
|
119
|
-
--description "Testing new features"
|
|
120
|
-
|
|
121
|
-
# Switch to test profile
|
|
122
|
-
python ~/.superlocalmemory/memory-profiles.py switch experimental
|
|
123
|
-
|
|
124
|
-
# Try new things without polluting main profile
|
|
125
|
-
# ...test features...
|
|
126
|
-
|
|
127
|
-
# Switch back when done
|
|
128
|
-
python ~/.superlocalmemory/memory-profiles.py switch default
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
### 4. Different AI Personalities
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
# Strict architect profile
|
|
137
|
-
python ~/.superlocalmemory/memory-profiles.py create architect \
|
|
138
|
-
--description "Rigorous architecture-first approach"
|
|
139
|
-
|
|
140
|
-
# Rapid prototyper profile
|
|
141
|
-
python ~/.superlocalmemory/memory-profiles.py create prototyper \
|
|
142
|
-
--description "Fast iteration, MVP-first approach"
|
|
143
|
-
|
|
144
|
-
# Use based on project phase
|
|
145
|
-
python ~/.superlocalmemory/memory-profiles.py switch architect # Planning
|
|
146
|
-
python ~/.superlocalmemory/memory-profiles.py switch prototyper # MVP development
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Result:** Each profile learns different patterns:
|
|
150
|
-
- Architect: Detailed docs, extensive planning, clean architecture
|
|
151
|
-
- Prototyper: Quick iterations, pragmatic choices, speed over perfection
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## Profile Operations
|
|
156
|
-
|
|
157
|
-
### Create Empty Profile
|
|
158
|
-
|
|
159
|
-
Creates fresh V2 database with no memories:
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
python ~/.superlocalmemory/memory-profiles.py create new-profile
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
**When to use:**
|
|
166
|
-
- Starting completely fresh context
|
|
167
|
-
- Client work (no prior context)
|
|
168
|
-
- Experimentation (clean slate)
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
### Create from Current
|
|
173
|
-
|
|
174
|
-
Copies current memory system to new profile:
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
python ~/.superlocalmemory/memory-profiles.py create backup --from-current
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
**When to use:**
|
|
181
|
-
- Branching current memories
|
|
182
|
-
- Creating backup before major changes
|
|
183
|
-
- Testing with real data
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
### Switch Profile
|
|
188
|
-
|
|
189
|
-
Changes active profile (requires Claude CLI restart):
|
|
190
|
-
|
|
191
|
-
```bash
|
|
192
|
-
python ~/.superlocalmemory/memory-profiles.py switch work
|
|
193
|
-
|
|
194
|
-
# Output:
|
|
195
|
-
# Switching from 'default' to 'work'...
|
|
196
|
-
# Saving current state to profile 'default'...
|
|
197
|
-
# ✓ Saved to ~/.superlocalmemory/profiles/default
|
|
198
|
-
# Loading profile 'work'...
|
|
199
|
-
# ✓ Loaded from ~/.superlocalmemory/profiles/work
|
|
200
|
-
# ✅ Switched to profile: work
|
|
201
|
-
#
|
|
202
|
-
# ⚠️ IMPORTANT: Restart Claude CLI to use new profile!
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**⚠️ Must restart Claude CLI after switching!**
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
### Delete Profile
|
|
210
|
-
|
|
211
|
-
Permanently removes a profile:
|
|
212
|
-
|
|
213
|
-
```bash
|
|
214
|
-
python ~/.superlocalmemory/memory-profiles.py delete old-profile
|
|
215
|
-
|
|
216
|
-
# Prompts: Type profile name 'old-profile' to confirm:
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
**Safety:**
|
|
220
|
-
- Cannot delete 'default' profile
|
|
221
|
-
- Cannot delete active profile
|
|
222
|
-
- Requires confirmation (type profile name)
|
|
223
|
-
- Use `--force` to skip confirmation
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
### Rename Profile
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
python ~/.superlocalmemory/memory-profiles.py rename old-name new-name
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
**Cannot rename:**
|
|
234
|
-
- 'default' profile
|
|
235
|
-
- Active profile (switch first)
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## Profile Storage
|
|
240
|
-
|
|
241
|
-
Profiles stored in:
|
|
242
|
-
```
|
|
243
|
-
~/.superlocalmemory/profiles/
|
|
244
|
-
├── work/
|
|
245
|
-
│ ├── memory.db
|
|
246
|
-
│ ├── config.json
|
|
247
|
-
│ └── vectors/
|
|
248
|
-
├── personal/
|
|
249
|
-
│ ├── memory.db
|
|
250
|
-
│ ├── config.json
|
|
251
|
-
│ └── vectors/
|
|
252
|
-
└── client-acme/
|
|
253
|
-
├── memory.db
|
|
254
|
-
├── config.json
|
|
255
|
-
└── vectors/
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
**Active profile** stored in main location:
|
|
259
|
-
```
|
|
260
|
-
~/.superlocalmemory/
|
|
261
|
-
├── memory.db ← Currently active profile
|
|
262
|
-
├── config.json
|
|
263
|
-
└── vectors/
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Profile Configuration
|
|
269
|
-
|
|
270
|
-
Stored in `~/.superlocalmemory/profiles.json`:
|
|
271
|
-
|
|
272
|
-
```json
|
|
273
|
-
{
|
|
274
|
-
"profiles": {
|
|
275
|
-
"default": {
|
|
276
|
-
"name": "default",
|
|
277
|
-
"description": "Default memory profile",
|
|
278
|
-
"created_at": "2026-02-05T10:00:00",
|
|
279
|
-
"last_used": "2026-02-05T14:00:00",
|
|
280
|
-
"created_from": "empty"
|
|
281
|
-
},
|
|
282
|
-
"work": {
|
|
283
|
-
"name": "work",
|
|
284
|
-
"description": "Work projects",
|
|
285
|
-
"created_at": "2026-02-05T11:00:00",
|
|
286
|
-
"last_used": "2026-02-05T13:00:00",
|
|
287
|
-
"created_from": "empty"
|
|
288
|
-
}
|
|
289
|
-
},
|
|
290
|
-
"active_profile": "work"
|
|
291
|
-
}
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
## Best Practices
|
|
297
|
-
|
|
298
|
-
### 1. Use Descriptive Names
|
|
299
|
-
```bash
|
|
300
|
-
# Good
|
|
301
|
-
python ~/.superlocalmemory/memory-profiles.py create client-acme-api
|
|
302
|
-
python ~/.superlocalmemory/memory-profiles.py create personal-learning
|
|
303
|
-
|
|
304
|
-
# Avoid
|
|
305
|
-
python ~/.superlocalmemory/memory-profiles.py create profile1
|
|
306
|
-
python ~/.superlocalmemory/memory-profiles.py create temp
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
### 2. Document Profile Purpose
|
|
310
|
-
```bash
|
|
311
|
-
python ~/.superlocalmemory/memory-profiles.py create project-x \
|
|
312
|
-
--description "Confidential client X - Next.js + PostgreSQL"
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
### 3. Switch Profiles at Context Boundaries
|
|
316
|
-
```bash
|
|
317
|
-
# Start of work day
|
|
318
|
-
python ~/.superlocalmemory/memory-profiles.py switch work
|
|
319
|
-
|
|
320
|
-
# End of work day
|
|
321
|
-
python ~/.superlocalmemory/memory-profiles.py switch personal
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
### 4. Backup Before Major Changes
|
|
325
|
-
```bash
|
|
326
|
-
# Create backup profile
|
|
327
|
-
python ~/.superlocalmemory/memory-profiles.py create backup-$(date +%Y%m%d) \
|
|
328
|
-
--from-current
|
|
329
|
-
|
|
330
|
-
# Make changes in main profile
|
|
331
|
-
# ...
|
|
332
|
-
|
|
333
|
-
# If needed, switch to backup
|
|
334
|
-
python ~/.superlocalmemory/memory-profiles.py switch backup-20260205
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
### 5. Archive Completed Projects
|
|
338
|
-
```bash
|
|
339
|
-
# Rename completed project
|
|
340
|
-
python ~/.superlocalmemory/memory-profiles.py rename client-acme \
|
|
341
|
-
archived-client-acme-202602
|
|
342
|
-
|
|
343
|
-
# Create fresh profile for new project
|
|
344
|
-
python ~/.superlocalmemory/memory-profiles.py create client-newco
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
## Integration with Reset Commands
|
|
350
|
-
|
|
351
|
-
**Profiles + Reset = Powerful Combination**
|
|
352
|
-
|
|
353
|
-
### Reset Current Profile Only
|
|
354
|
-
```bash
|
|
355
|
-
# Soft reset active profile
|
|
356
|
-
python ~/.superlocalmemory/memory-reset.py soft
|
|
357
|
-
|
|
358
|
-
# Active profile cleared, others untouched
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
### Reset Specific Profile
|
|
362
|
-
```bash
|
|
363
|
-
# Switch to profile
|
|
364
|
-
python ~/.superlocalmemory/memory-profiles.py switch old-project
|
|
365
|
-
|
|
366
|
-
# Reset it
|
|
367
|
-
python ~/.superlocalmemory/memory-reset.py soft
|
|
368
|
-
|
|
369
|
-
# Switch back
|
|
370
|
-
python ~/.superlocalmemory/memory-profiles.py switch default
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
### Create Clean Profile
|
|
374
|
-
```bash
|
|
375
|
-
# Create empty profile
|
|
376
|
-
python ~/.superlocalmemory/memory-profiles.py create clean-slate
|
|
377
|
-
|
|
378
|
-
# Switch to it
|
|
379
|
-
python ~/.superlocalmemory/memory-profiles.py switch clean-slate
|
|
380
|
-
|
|
381
|
-
# Now work in completely clean environment
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
---
|
|
385
|
-
|
|
386
|
-
## Troubleshooting
|
|
387
|
-
|
|
388
|
-
### "Profile not found"
|
|
389
|
-
Check available profiles:
|
|
390
|
-
```bash
|
|
391
|
-
python ~/.superlocalmemory/memory-profiles.py list
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
### "Changes not reflecting"
|
|
395
|
-
Restart Claude CLI after switching profiles:
|
|
396
|
-
```bash
|
|
397
|
-
# Exit Claude CLI
|
|
398
|
-
# Restart Claude CLI
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
### "Cannot delete active profile"
|
|
402
|
-
Switch to different profile first:
|
|
403
|
-
```bash
|
|
404
|
-
python ~/.superlocalmemory/memory-profiles.py switch default
|
|
405
|
-
python ~/.superlocalmemory/memory-profiles.py delete unwanted
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
### "Profile directory not found"
|
|
409
|
-
Profile will be created on first switch:
|
|
410
|
-
```bash
|
|
411
|
-
python ~/.superlocalmemory/memory-profiles.py switch new-profile
|
|
412
|
-
# Creates directory automatically
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
---
|
|
416
|
-
|
|
417
|
-
## FAQ
|
|
418
|
-
|
|
419
|
-
**Q: Do profiles share learned patterns?**
|
|
420
|
-
A: No. Each profile learns independently.
|
|
421
|
-
|
|
422
|
-
**Q: Can I merge profiles?**
|
|
423
|
-
A: Not directly. You can manually copy memories between profiles.
|
|
424
|
-
|
|
425
|
-
**Q: What happens to cron jobs with multiple profiles?**
|
|
426
|
-
A: Cron jobs run on currently active profile. Switch profile to run jobs on it.
|
|
427
|
-
|
|
428
|
-
**Q: Can I have different compression settings per profile?**
|
|
429
|
-
A: Yes. Each profile has its own `config.json`.
|
|
430
|
-
|
|
431
|
-
**Q: How much space do profiles use?**
|
|
432
|
-
A: ~5MB per profile with 100 memories (before compression).
|
|
433
|
-
|
|
434
|
-
**Q: Can I backup all profiles at once?**
|
|
435
|
-
A: Yes, backup `~/.superlocalmemory/profiles/` directory.
|
|
436
|
-
|
|
437
|
-
---
|
|
438
|
-
|
|
439
|
-
## Quick Reference
|
|
440
|
-
|
|
441
|
-
| Command | Purpose |
|
|
442
|
-
|---------|---------|
|
|
443
|
-
| `list` | Show all profiles |
|
|
444
|
-
| `current` | Show active profile |
|
|
445
|
-
| `create <name>` | Create empty profile |
|
|
446
|
-
| `create <name> --from-current` | Copy current to new profile |
|
|
447
|
-
| `switch <name>` | Change active profile (requires restart) |
|
|
448
|
-
| `delete <name>` | Remove profile (requires confirmation) |
|
|
449
|
-
| `rename <old> <new>` | Rename profile |
|
|
450
|
-
|
|
451
|
-
---
|
|
452
|
-
|
|
453
|
-
**Remember:** Always restart Claude CLI after switching profiles!
|