personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add import-relevant activity types for muse agent alignment hop E

ai_conversation: prevents AI chat imports from misclassifying as messaging
planning: covers calendar/scheduling content from ICS imports
reading: updated to include imported highlights and annotations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+109 -37
+1 -1
tests/baselines/api/agents/agents-day.json
··· 14 14 "activity": { 15 15 "app": null, 16 16 "color": "#00bcd4", 17 - "description": "Synthesizes segment activity from screenshots and audio, focusing on observable changes and searchability.", 17 + "description": "Synthesizes segment activity from content, focusing on observable changes and searchability.", 18 18 "multi_facet": false, 19 19 "output_format": "md", 20 20 "schedule": "segment",
+22 -8
tests/baselines/api/settings/activities-defaults.json
··· 17 17 "name": "Email" 18 18 }, 19 19 { 20 + "description": "Books, PDFs, articles, highlights, and documentation", 21 + "icon": "📖", 22 + "id": "reading", 23 + "instructions": "Levels: high=focused reading, medium=skimming content, low=document open but attention elsewhere. Detect via: PDF viewers, article pages, documentation sites, reading apps, imported book highlights and annotations. Do not use for reading code — that is coding.", 24 + "name": "Reading" 25 + }, 26 + { 20 27 "description": "Command line and shell sessions", 21 28 "icon": "⌨️", 22 29 "id": "terminal", 23 30 "instructions": "Levels: high=running commands or scripts, medium=reading output, low=terminal open but idle. Detect via: shell prompts, command output, tmux/screen sessions. If terminal use is clearly coding-related, prefer coding instead.", 24 31 "name": "Terminal" 32 + }, 33 + { 34 + "description": "Conversations with AI assistants like ChatGPT, Claude, and Gemini", 35 + "icon": "🤖", 36 + "id": "ai_conversation", 37 + "instructions": "Levels: high=actively prompting and reading responses, medium=reviewing AI output or refining prompts, low=AI chat open but idle. Detect via: AI assistant interfaces (ChatGPT, Claude, Gemini), imported AI conversation transcripts, prompt-response patterns. Do not confuse with messaging — AI conversation involves a human interacting with an AI model, not person-to-person chat.", 38 + "name": "AI Conversation" 25 39 }, 26 40 { 27 41 "description": "Design tools and image editing", ··· 52 66 "name": "Music" 53 67 }, 54 68 { 55 - "description": "PDFs, articles, and documentation", 56 - "icon": "📖", 57 - "id": "reading", 58 - "instructions": "Levels: high=focused reading, medium=skimming content, low=document open but attention elsewhere. Detect via: PDF viewers, article pages, documentation sites. Do not use for reading code — that is coding.", 59 - "name": "Reading" 60 - }, 61 - { 62 69 "description": "Programming, code review, and debugging", 63 70 "icon": "💻", 64 71 "id": "coding", ··· 66 73 "name": "Coding" 67 74 }, 68 75 { 76 + "description": "Scheduling, calendar management, meeting preparation, and agenda setting", 77 + "icon": "📋", 78 + "id": "planning", 79 + "instructions": "Levels: high=actively scheduling or preparing agendas, medium=reviewing calendar or event details, low=calendar visible but not being interacted with. Detect via: calendar apps, scheduling interfaces, event creation, imported calendar events, meeting invitations, agenda drafting. Use for scheduling and preparation work. Do not confuse with meeting — planning is the preparation, meeting is the actual synchronous interaction.", 80 + "name": "Planning" 81 + }, 82 + { 69 83 "description": "Social media browsing and interaction", 70 84 "icon": "📱", 71 85 "id": "social", ··· 76 90 "description": "Spreadsheets, slides, and task management", 77 91 "icon": "📊", 78 92 "id": "productivity", 79 - "instructions": "Levels: high=actively editing or organizing, medium=reviewing data, low=app open but not focused. Detect via: spreadsheet/slide editors, project management tools, calendar apps, task boards.", 93 + "instructions": "Levels: high=actively editing or organizing, medium=reviewing data, low=app open but not focused. Detect via: spreadsheet/slide editors, project management tools, task boards.", 80 94 "name": "Productivity" 81 95 }, 82 96 {
+22 -8
tests/baselines/api/settings/facet-activities.json
··· 55 55 "name": "Email" 56 56 }, 57 57 { 58 + "description": "Books, PDFs, articles, highlights, and documentation", 59 + "icon": "📖", 60 + "id": "reading", 61 + "instructions": "Levels: high=focused reading, medium=skimming content, low=document open but attention elsewhere. Detect via: PDF viewers, article pages, documentation sites, reading apps, imported book highlights and annotations. Do not use for reading code — that is coding.", 62 + "name": "Reading" 63 + }, 64 + { 58 65 "description": "Command line and shell sessions", 59 66 "icon": "⌨️", 60 67 "id": "terminal", 61 68 "instructions": "Levels: high=running commands or scripts, medium=reading output, low=terminal open but idle. Detect via: shell prompts, command output, tmux/screen sessions. If terminal use is clearly coding-related, prefer coding instead.", 62 69 "name": "Terminal" 70 + }, 71 + { 72 + "description": "Conversations with AI assistants like ChatGPT, Claude, and Gemini", 73 + "icon": "🤖", 74 + "id": "ai_conversation", 75 + "instructions": "Levels: high=actively prompting and reading responses, medium=reviewing AI output or refining prompts, low=AI chat open but idle. Detect via: AI assistant interfaces (ChatGPT, Claude, Gemini), imported AI conversation transcripts, prompt-response patterns. Do not confuse with messaging — AI conversation involves a human interacting with an AI model, not person-to-person chat.", 76 + "name": "AI Conversation" 63 77 }, 64 78 { 65 79 "description": "Design tools and image editing", ··· 90 104 "name": "Music" 91 105 }, 92 106 { 93 - "description": "PDFs, articles, and documentation", 94 - "icon": "📖", 95 - "id": "reading", 96 - "instructions": "Levels: high=focused reading, medium=skimming content, low=document open but attention elsewhere. Detect via: PDF viewers, article pages, documentation sites. Do not use for reading code — that is coding.", 97 - "name": "Reading" 98 - }, 99 - { 100 107 "description": "Programming, code review, and debugging", 101 108 "icon": "💻", 102 109 "id": "coding", ··· 104 111 "name": "Coding" 105 112 }, 106 113 { 114 + "description": "Scheduling, calendar management, meeting preparation, and agenda setting", 115 + "icon": "📋", 116 + "id": "planning", 117 + "instructions": "Levels: high=actively scheduling or preparing agendas, medium=reviewing calendar or event details, low=calendar visible but not being interacted with. Detect via: calendar apps, scheduling interfaces, event creation, imported calendar events, meeting invitations, agenda drafting. Use for scheduling and preparation work. Do not confuse with meeting — planning is the preparation, meeting is the actual synchronous interaction.", 118 + "name": "Planning" 119 + }, 120 + { 107 121 "description": "Social media browsing and interaction", 108 122 "icon": "📱", 109 123 "id": "social", ··· 114 128 "description": "Spreadsheets, slides, and task management", 115 129 "icon": "📊", 116 130 "id": "productivity", 117 - "instructions": "Levels: high=actively editing or organizing, medium=reviewing data, low=app open but not focused. Detect via: spreadsheet/slide editors, project management tools, calendar apps, task boards.", 131 + "instructions": "Levels: high=actively editing or organizing, medium=reviewing data, low=app open but not focused. Detect via: spreadsheet/slide editors, project management tools, task boards.", 118 132 "name": "Productivity" 119 133 }, 120 134 {
+1 -1
tests/baselines/api/settings/generators.json
··· 184 184 }, 185 185 { 186 186 "app": null, 187 - "description": "Synthesizes segment activity from screenshots and audio, focusing on observable changes and searchability.", 187 + "description": "Synthesizes segment activity from content, focusing on observable changes and searchability.", 188 188 "disabled": false, 189 189 "extract": null, 190 190 "has_extraction": false,
+26 -14
tests/baselines/api/stats/stats.json
··· 30 30 }, 31 31 "activity": { 32 32 "color": "#00bcd4", 33 - "description": "Synthesizes segment activity from screenshots and audio, focusing on observable changes and searchability.", 33 + "description": "Synthesizes segment activity from content, focusing on observable changes and searchability.", 34 34 "instructions": { 35 35 "facets": true, 36 36 "sources": { ··· 328 328 "observation": { 329 329 "color": "#6c757d", 330 330 "description": "Extracts patterns from segment data during onboarding observation", 331 + "exclude_streams": [ 332 + "import.*" 333 + ], 331 334 "hook": { 332 335 "post": "observation", 333 336 "pre": "observation" ··· 397 400 "speakers": { 398 401 "color": "#e64a19", 399 402 "description": "Detects meetings in the segment and extracts participant names from screen and conversation.", 403 + "exclude_streams": [ 404 + "import.*" 405 + ], 400 406 "instructions": { 401 407 "sources": { 402 408 "agents": false, ··· 714 720 "screen_sessions": 3 715 721 }, 716 722 "20260306": { 717 - "audio_duration": 120.0, 718 - "audio_segments": 9, 719 - "audio_sessions": 2, 720 - "day_bytes": 40078, 723 + "day_bytes": 62841, 721 724 "outputs_pending": 9, 722 725 "outputs_processed": 2, 723 726 "pending_segments": 0, 724 - "screen_duration": 0.0, 725 - "screen_frames": 0, 726 - "screen_sessions": 2 727 + "percept_duration": 0.0, 728 + "percept_frames": 0, 729 + "percept_sessions": 4, 730 + "transcript_duration": 655.0, 731 + "transcript_segments": 48, 732 + "transcript_sessions": 4 727 733 }, 728 734 "20260307": { 729 735 "audio_duration": 160.0, ··· 1706 1712 } 1707 1713 } 1708 1714 }, 1709 - "total_audio_duration": 1363.0, 1710 - "total_screen_duration": 23.1, 1715 + "total_percept_duration": 0.0, 1716 + "total_transcript_duration": 655.0, 1711 1717 "totals": { 1712 - "audio_segments": 95, 1713 - "audio_sessions": 21, 1714 - "day_bytes": 480531, 1718 + "audio_duration": 1243.0, 1719 + "audio_segments": 86, 1720 + "audio_sessions": 19, 1721 + "day_bytes": 503294, 1715 1722 "outputs_pending": 366, 1716 1723 "outputs_processed": 14, 1717 1724 "pending_segments": 0, 1725 + "percept_frames": 0, 1726 + "percept_sessions": 4, 1727 + "screen_duration": 23.1, 1718 1728 "screen_frames": 3, 1719 - "screen_sessions": 15 1729 + "screen_sessions": 13, 1730 + "transcript_segments": 48, 1731 + "transcript_sessions": 4 1720 1732 } 1721 1733 } 1722 1734 }
+1 -1
tests/baselines/api/todos/badge-count.json
··· 1 1 { 2 - "count": 0 2 + "count": 2 3 3 }
+1 -1
tests/baselines/api/tokens/stats-month.json
··· 3 3 "20260305": 0.038015, 4 4 "20260306": 0.038015, 5 5 "20260307": 0.038015, 6 - "20260308": 0.038015, 6 + "20260308": 0.040688, 7 7 "20260309": 0.038015, 8 8 "20260310": 0.038015 9 9 }
+35 -3
think/activities.py
··· 88 88 ), 89 89 }, 90 90 { 91 + "id": "ai_conversation", 92 + "name": "AI Conversation", 93 + "description": "Conversations with AI assistants like ChatGPT, Claude, and Gemini", 94 + "icon": "🤖", 95 + "instructions": ( 96 + "Levels: high=actively prompting and reading responses," 97 + " medium=reviewing AI output or refining prompts," 98 + " low=AI chat open but idle." 99 + " Detect via: AI assistant interfaces (ChatGPT, Claude, Gemini)," 100 + " imported AI conversation transcripts, prompt-response patterns." 101 + " Do not confuse with messaging — AI conversation involves" 102 + " a human interacting with an AI model, not person-to-person chat." 103 + ), 104 + }, 105 + { 91 106 "id": "writing", 92 107 "name": "Writing", 93 108 "description": "Documents, notes, and long-form writing", ··· 101 116 { 102 117 "id": "reading", 103 118 "name": "Reading", 104 - "description": "PDFs, articles, and documentation", 119 + "description": "Books, PDFs, articles, highlights, and documentation", 105 120 "icon": "📖", 106 121 "instructions": ( 107 122 "Levels: high=focused reading, medium=skimming content," 108 123 " low=document open but attention elsewhere." 109 - " Detect via: PDF viewers, article pages, documentation sites." 124 + " Detect via: PDF viewers, article pages, documentation sites," 125 + " reading apps, imported book highlights and annotations." 110 126 " Do not use for reading code — that is coding." 111 127 ), 112 128 }, ··· 144 160 ), 145 161 }, 146 162 { 163 + "id": "planning", 164 + "name": "Planning", 165 + "description": "Scheduling, calendar management, meeting preparation, and agenda setting", 166 + "icon": "📋", 167 + "instructions": ( 168 + "Levels: high=actively scheduling or preparing agendas," 169 + " medium=reviewing calendar or event details," 170 + " low=calendar visible but not being interacted with." 171 + " Detect via: calendar apps, scheduling interfaces, event creation," 172 + " imported calendar events, meeting invitations, agenda drafting." 173 + " Use for scheduling and preparation work." 174 + " Do not confuse with meeting — planning is the preparation," 175 + " meeting is the actual synchronous interaction." 176 + ), 177 + }, 178 + { 147 179 "id": "productivity", 148 180 "name": "Productivity", 149 181 "description": "Spreadsheets, slides, and task management", ··· 152 184 "Levels: high=actively editing or organizing, medium=reviewing data," 153 185 " low=app open but not focused." 154 186 " Detect via: spreadsheet/slide editors, project management tools," 155 - " calendar apps, task boards." 187 + " task boards." 156 188 ), 157 189 }, 158 190 {