@@ -14,7 +14,7 @@ OpenCode Memory provides AI coding agents with the ability to remember and recal
1414- ** Dual Memory Scopes** : Separate user-level and project-level memory contexts
1515- ** Unified Timeline** : Browse memories and prompts together with linking support
1616- ** Prompt-Memory Linking** : Bidirectional links between prompts and generated memories
17- - ** User Learning System** : Analyzes user patterns and preferences from conversation history
17+ - ** User Profile System** : Structured learning with preferences, patterns, workflows, and skill assessment
1818- ** Web Interface** : Full-featured UI for memory management and search
1919- ** Auto-Capture System** : Intelligent prompt-based memory extraction
2020- ** Multi-Provider AI** : Support for OpenAI, Anthropic, and OpenAI-compatible APIs
@@ -52,15 +52,25 @@ bun run build
5252### Basic Usage
5353
5454``` typescript
55- memory ({ mode: " add" , content: " User prefers TypeScript " , scope: " user " })
56- memory ({ mode: " search" , query: " coding preferences " , scope: " user " })
55+ memory ({ mode: " add" , content: " Project uses microservices " , scope: " project " })
56+ memory ({ mode: " search" , query: " architecture decisions " , scope: " project " })
5757memory ({ mode: " profile" })
5858```
5959
60+ ** Note** : User-scoped ` add ` is deprecated in v2.2+. Use profile system instead.
61+
6062### Web Interface
6163
6264Access at ` http://127.0.0.1:4747 ` to browse memories, view prompt-memory links, and manage your memory database.
6365
66+ ** Project Memory Timeline:**
67+
68+ ![ Project Memory Timeline] ( .github/screenshot-project-memory.png )
69+
70+ ** User Profile Viewer:**
71+
72+ ![ User Profile Viewer] ( .github/screenshot-user-profile.png )
73+
6474### Configuration
6575
6676Configuration file: ` ~/.config/opencode/opencode-mem.jsonc `
@@ -75,10 +85,28 @@ Configuration file: `~/.config/opencode/opencode-mem.jsonc`
7585 " memoryProvider" : " openai-chat" ,
7686 " memoryModel" : " gpt-4" ,
7787 " memoryApiUrl" : " https://api.openai.com/v1" ,
78- " memoryApiKey" : " sk-..."
88+ " memoryApiKey" : " sk-..." ,
89+ " userMemoryAnalysisInterval" : 10 ,
90+ " userProfileMaxPreferences" : 20 ,
91+ " userProfileMaxPatterns" : 15 ,
92+ " userProfileMaxWorkflows" : 10 ,
93+ " userProfileConfidenceDecayDays" : 30 ,
94+ " userProfileChangelogRetentionCount" : 5
7995}
8096```
8197
98+ ## Breaking Changes (v2.2)
99+
100+ ** User-scoped memories deprecated in favor of structured user profiles:**
101+
102+ - Removed: User-scoped ` addMemory ` (now returns error)
103+ - Changed: ` memory({ mode: "profile" }) ` returns new structure (preferences/patterns/workflows/skillLevel)
104+ - Added: 5 new config options for profile management
105+ - New behavior: User learning creates/updates structured profile instead of individual memories
106+ - Migration: Existing user memories remain readable but new ones cannot be created
107+
108+ ** Migration required** : Update code using ` mode: "profile" ` to handle new structure.
109+
82110## Breaking Changes (v2.0)
83111
84112** Token-based auto-capture has been replaced with prompt-based system:**
@@ -98,6 +126,7 @@ For detailed documentation, see the [Wiki](https://github.com/tickernelz/opencod
98126- [ Installation Guide] ( https://github.com/tickernelz/opencode-mem/wiki/Installation-Guide )
99127- [ Quick Start] ( https://github.com/tickernelz/opencode-mem/wiki/Quick-Start )
100128- [ Configuration Guide] ( https://github.com/tickernelz/opencode-mem/wiki/Configuration-Guide )
129+ - [ User Profile System] ( https://github.com/tickernelz/opencode-mem/wiki/User-Profile )
101130- [ Memory Operations] ( https://github.com/tickernelz/opencode-mem/wiki/Memory-Operations )
102131- [ Auto-Capture System] ( https://github.com/tickernelz/opencode-mem/wiki/Auto-Capture-System )
103132- [ Web Interface] ( https://github.com/tickernelz/opencode-mem/wiki/Web-Interface )
@@ -121,18 +150,21 @@ Automatically extracts memories from conversations:
1211503 . Links memory to source prompt
1221514 . Skips non-technical conversations
123152
124- ### User Learning System
153+ ### User Profile System
154+
155+ Builds structured user profile from conversation history (default: every 10 prompts):
125156
126- Analyzes batches of prompts to identify patterns (default: every 10 prompts):
157+ - ** Preferences** : Code style, communication style, tool preferences (with confidence scores)
158+ - ** Patterns** : Recurring topics, problem domains, technical interests (with frequency tracking)
159+ - ** Workflows** : Development sequences, habits, learning style
160+ - ** Skill Level** : Overall and per-domain assessment
127161
128- - Coding style preferences
129- - Communication patterns
130- - Tool preferences
131- - Skill level indicators
162+ Profile includes versioning, changelog, and confidence decay mechanism.
132163
133164### Web Interface
134165
135166- Unified timeline of memories and prompts
167+ - User profile viewer with changelog
136168- Visual prompt-memory link indicators
137169- Cascade delete for linked items
138170- Bulk operations
@@ -144,7 +176,7 @@ Analyzes batches of prompts to identify patterns (default: every 10 prompts):
144176### Memory Tool
145177
146178``` typescript
147- memory ({ mode: " add" , content: " ..." , scope: " user| project" })
179+ memory ({ mode: " add" , content: " ..." , scope: " project" })
148180memory ({ mode: " search" , query: " ..." , scope: " user|project" })
149181memory ({ mode: " list" , scope: " user|project" , limit: 10 })
150182memory ({ mode: " profile" })
@@ -154,14 +186,25 @@ memory({ mode: "auto-capture-stats" })
154186memory ({ mode: " capture-now" })
155187```
156188
189+ ** Note** : ` scope: "user" ` for ` add ` mode is deprecated in v2.2+.
190+
157191### REST API
158192
193+ ** Memory & Prompt Management:**
159194- ` GET /api/memories?scope=project&includePrompts=true ` - List memories/prompts
160195- ` POST /api/memories ` - Create memory
161196- ` PUT /api/memories/:id ` - Update memory
162197- ` DELETE /api/memories/:id?cascade=true ` - Delete memory (and linked prompt)
163198- ` DELETE /api/prompts/:id?cascade=true ` - Delete prompt (and linked memory)
164199- ` POST /api/search ` - Vector search
200+
201+ ** User Profile:**
202+ - ` GET /api/profile ` - Get user profile
203+ - ` GET /api/profile/changelog?limit=5 ` - Get profile changelog
204+ - ` GET /api/profile/snapshot/:changelogId ` - Get profile snapshot
205+ - ` POST /api/profile/refresh ` - Force profile refresh
206+
207+ ** Maintenance:**
165208- ` POST /api/cleanup ` - Run cleanup
166209- ` POST /api/deduplicate ` - Run deduplication
167210
0 commit comments