|
27831
|
1136
|
67
|
2026-05-12T14:40:38.950112+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596838950_m1.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 TB in 25 MB/s - Google Search","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 TB in 25 MB/s - Google Search","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
392617106815641447
|
9031296159909468111
|
click
|
accessibility
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27832
|
1138
|
56
|
2026-05-12T14:40:38.965805+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596838965_m2.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.22240691,"top":0.0518755,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.2357048,"top":0.06304868,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"bounds":{"left":0.22240691,"top":0.08459697,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"bounds":{"left":0.2357048,"top":0.09577015,"width":0.029587766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.22240691,"top":0.11731844,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"bounds":{"left":0.2357048,"top":0.12849163,"width":0.036901597,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.2789229,"top":0.1245012,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.22240691,"top":0.15003991,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.2357048,"top":0.16121309,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.22240691,"top":0.18276137,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.2357048,"top":0.19393456,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.22240691,"top":0.21548285,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.2357048,"top":0.22665602,"width":0.040724736,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.22240691,"top":0.2482043,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.2357048,"top":0.25937748,"width":0.03756649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"bounds":{"left":0.22240691,"top":0.28092578,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"bounds":{"left":0.2357048,"top":0.29209897,"width":0.012134309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":4,"bounds":{"left":0.22240691,"top":0.31364724,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":5,"bounds":{"left":0.2357048,"top":0.32482043,"width":0.1100399,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.22240691,"top":0.3463687,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.2357048,"top":0.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 TB in 25 MB/s - Google Search","depth":4,"bounds":{"left":0.22240691,"top":0.3790902,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 TB in 25 MB/s - Google Search","depth":5,"bounds":{"left":0.2357048,"top":0.39026338,"width":0.05668218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.2252327,"top":0.41340783,"width":0.06333112,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.2252327,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.23620346,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.24734043,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.2584774,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.26961437,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.3962766,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.40824467,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"bounds":{"left":0.4055851,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.29521278,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.3643617,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share conversation","depth":11,"bounds":{"left":0.3776596,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.39095744,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.29089096,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.29089096,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-5129857075064516293
|
9102230048783523790
|
click
|
accessibility
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Share conversation
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt...
|
27830
|
NULL
|
NULL
|
NULL
|
|
27833
|
1136
|
68
|
2026-05-12T14:40:48.081552+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596848081_m1.jpg...
|
Code
|
screenpipe_sync.sh — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileProfiles• 0(allRetro - Platform • now10 FirefoxFileProfiles• 0(allRetro - Platform • now100% L28•Tue 12 May 17:07:25EditViewHistoryBookmarks→ToolsWindowHelpmeet.google.com/bdj-nvho-bms?authuser=lukas.kovalik%40jiminny.comStefka Stoyanova (Presenting, annotating)8Stefka StoyanovaSpacesPlatfo@ SumQ SealREADY FIStellyan GeorgievNikolay IvanovJIMINNYQ Search• JY-20739 / @ JY-20625|~ ActivityAllCommentsHistoryWork log₴Add a comment…Suggest a reply...Status update…Thanks...Pro tip: press M to commentNikolay Yankov27 April 2026 at 17:23Niki N: 5Niki Y: 5Nikolay YankovNikolay Nikolov+ Create• Details |Story PointsOrganisationsPriorityFix versionsSprintDays $Need QAParentCanny LinksAneliya Angelova• UpgradeAsk Rovo© 2Lukas Kovalik8None= MediumNonePlatform Sprint 3 Q210Add option• Jy-20739 Jiminny MCP ConneOpen Canny Links8 11 =6:57CTOR5:07 PM | Retro - PlatformSộ3...
|
NULL
|
8859718933665755704
|
NULL
|
click
|
ocr
|
NULL
|
FirefoxFileProfiles• 0(allRetro - Platform • now10 FirefoxFileProfiles• 0(allRetro - Platform • now100% L28•Tue 12 May 17:07:25EditViewHistoryBookmarks→ToolsWindowHelpmeet.google.com/bdj-nvho-bms?authuser=lukas.kovalik%40jiminny.comStefka Stoyanova (Presenting, annotating)8Stefka StoyanovaSpacesPlatfo@ SumQ SealREADY FIStellyan GeorgievNikolay IvanovJIMINNYQ Search• JY-20739 / @ JY-20625|~ ActivityAllCommentsHistoryWork log₴Add a comment…Suggest a reply...Status update…Thanks...Pro tip: press M to commentNikolay Yankov27 April 2026 at 17:23Niki N: 5Niki Y: 5Nikolay YankovNikolay Nikolov+ Create• Details |Story PointsOrganisationsPriorityFix versionsSprintDays $Need QAParentCanny LinksAneliya Angelova• UpgradeAsk Rovo© 2Lukas Kovalik8None= MediumNonePlatform Sprint 3 Q210Add option• Jy-20739 Jiminny MCP ConneOpen Canny Links8 11 =6:57CTOR5:07 PM | Retro - PlatformSộ3...
|
27831
|
NULL
|
NULL
|
NULL
|
|
27834
|
1138
|
57
|
2026-05-12T14:40:48.064799+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596848064_m2.jpg...
|
Code
|
screenpipe_sync.sh — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Activity°MorerireroxToolsHelpcalVIewMistorJiminny Activity°MorerireroxToolsHelpcalVIewMistorJiminny ...TMore unreads# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...o Direct messagesD. Galya Dimitrova. Steliyan Georgiev E&. Petko Kashinski. Aneliya Angelova •a. Stefka StoyanovaC. Vasil Vasilev.. Nikolay Ivanov3 Aneliva Angelova, .•.. Stoyan Tanev&. Lukas Kovalik y...::: Apps© Jira Cloud• ToastbookmarksProtllesWindowJY-207... Sira Clo...Automated report - sentryJira Cloud CDetailsConversations 4DescriptionWe still get Sentry error when attempting to sendreport resuit witnout per un.•vve need to mark such a report as Tallea so luis not picked up for sending again in one hour•nx the issue so we can have a generatedreport for the customenStatusBack ogAssigneeNoneKeporterlukas KovallkWork TypeBugPriorityOpen in Jira©ProfileController.phpc) Searchcontroller.ohr> D Settings→E Telenhonv~ D Webhook• M Hubsoot> D IntegrationAppSubsc 136(C) ActivitvProviderCont(C) ActivitvtranscriotionC) BaseController.oho© CalendarController.pC) RenortController nho* SoftphoneWebhookCC. AbstractController nhn• TrackAutomatedReportGeneratedEvent.phpPlaybackController.phpcontroLlerest: JsonkesponsegetFrequency() === AutomatedReportsService::FREQUENCY_ONE_OFF) €batch(new SendReportJob($reportUuid));port if it set and generatedSreportPodcast->getStatus() === AutomatedReportResult::STATUS_GENERATED) {•dispatch(new SendReportJob(reportUuid: $reportPodcast->getUuid()));or aucomaced reporusгдескерогс)иsnlovaradoe саuсomасeакерort, «rерorc•>pushlovatadoa saucomatedkeport, sreportroacast^OG_PREFIX . ' Triggering Event for UserPilot tracking', InatedReport->getUuid(),rtuuid.spatchinew AutomatedRedortGeneratedSautomatedRenort:h $exception) {LOG_PREFIX •" Report not found', L›detMessade Oi.istatus' →> 'error', 'message' => 'Report not found'], status: 404);SummariseLOG_PREFIX . ' Failed to update report status', ['error' => $exception-›getMessage(),return response()->json(['status' => 'error', 'message' => 'Failed to update report status'], status: 500);return response()->json(['status' => 'ok']);C PlanhaTypeError: League|Flysystem|FileCloudWatch | us-east-2O Pipelines - jiminny/app(UY-20725) (HubSpot) Optimise CIJY-20725 add HS rate limit handlin7 wuy-207731 User Pilot not rece X@Jy-20773 fix user pilot tracking for(JY-20776] Automated report - seJY-20725 add HS rate limit handlir$ (SRD-6793] Les Mills activity typePlatform Team - Backlog - Jirau Userpilot | Automated Report Gene(UY-20776] Automated report - ser-7 Platform Sorint 3 02 - Platform Te— New TabO JIMINNY@ For you(• Recent# Starred8$ Apps• Spaces+...Jiminny (New)ul Plarorm leamIID Capture TeamWD Enterprise Stability I…..I Processing TeamMl SE Kanban( Service-Desk= More spaces— FiltersB DashboardsC÷ OperationsI2 Confluence:ã Teams"= Customise sidebarB < 50hl# Retro - Platform • nowninny.atlassian.net/browse/JY-20773Q Search |+ CreateSpaces / Jiminny (New) / & JY-19240 / ** JY-20773User Pilot not receiving events on report generated~ Key detailsDescriptionWhen new report is generated User Pilot should receive tracking event. The event is still inpending meaning no new event has arrived.Steps to reproduceNoneActual outcomeAdd text IExpected outcomeAdd textSubtasksAdd subtaskLinked work itemsAdd linked work item~ ActivityAllComments HistoryWork logTtvBI..|Type /ại for Atlassian Intelligence or@ to mention and notify someone.CancelLukas Kovalik8 hours agoThe issue is most probably AutomatedReportGenerated event and not listener sendingdata to UP. The PR should address it.100% C42 & • Tue 12 May 17:07:25Ask RovoIn Devv* Improve Bug~ DetailsAssignee@ Lukas KovalikReporterLukas KovalikDevelopmentQ Open with VS Code8S Create branch4 commits1 pull request3 builds3 hours agoMERGEDLabelsNoneSub-ProductAdd optionsStory PointsOrganisationsNoneComponentsPlatformFix versionsNoneParent# JY-19240 AJ ReportsSprintPlatform Sprint 3 Q2...
|
NULL
|
4192913722090212471
|
NULL
|
click
|
ocr
|
NULL
|
Activity°MorerireroxToolsHelpcalVIewMistorJiminny Activity°MorerireroxToolsHelpcalVIewMistorJiminny ...TMore unreads# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...o Direct messagesD. Galya Dimitrova. Steliyan Georgiev E&. Petko Kashinski. Aneliya Angelova •a. Stefka StoyanovaC. Vasil Vasilev.. Nikolay Ivanov3 Aneliva Angelova, .•.. Stoyan Tanev&. Lukas Kovalik y...::: Apps© Jira Cloud• ToastbookmarksProtllesWindowJY-207... Sira Clo...Automated report - sentryJira Cloud CDetailsConversations 4DescriptionWe still get Sentry error when attempting to sendreport resuit witnout per un.•vve need to mark such a report as Tallea so luis not picked up for sending again in one hour•nx the issue so we can have a generatedreport for the customenStatusBack ogAssigneeNoneKeporterlukas KovallkWork TypeBugPriorityOpen in Jira©ProfileController.phpc) Searchcontroller.ohr> D Settings→E Telenhonv~ D Webhook• M Hubsoot> D IntegrationAppSubsc 136(C) ActivitvProviderCont(C) ActivitvtranscriotionC) BaseController.oho© CalendarController.pC) RenortController nho* SoftphoneWebhookCC. AbstractController nhn• TrackAutomatedReportGeneratedEvent.phpPlaybackController.phpcontroLlerest: JsonkesponsegetFrequency() === AutomatedReportsService::FREQUENCY_ONE_OFF) €batch(new SendReportJob($reportUuid));port if it set and generatedSreportPodcast->getStatus() === AutomatedReportResult::STATUS_GENERATED) {•dispatch(new SendReportJob(reportUuid: $reportPodcast->getUuid()));or aucomaced reporusгдескерогс)иsnlovaradoe саuсomасeакерort, «rерorc•>pushlovatadoa saucomatedkeport, sreportroacast^OG_PREFIX . ' Triggering Event for UserPilot tracking', InatedReport->getUuid(),rtuuid.spatchinew AutomatedRedortGeneratedSautomatedRenort:h $exception) {LOG_PREFIX •" Report not found', L›detMessade Oi.istatus' →> 'error', 'message' => 'Report not found'], status: 404);SummariseLOG_PREFIX . ' Failed to update report status', ['error' => $exception-›getMessage(),return response()->json(['status' => 'error', 'message' => 'Failed to update report status'], status: 500);return response()->json(['status' => 'ok']);C PlanhaTypeError: League|Flysystem|FileCloudWatch | us-east-2O Pipelines - jiminny/app(UY-20725) (HubSpot) Optimise CIJY-20725 add HS rate limit handlin7 wuy-207731 User Pilot not rece X@Jy-20773 fix user pilot tracking for(JY-20776] Automated report - seJY-20725 add HS rate limit handlir$ (SRD-6793] Les Mills activity typePlatform Team - Backlog - Jirau Userpilot | Automated Report Gene(UY-20776] Automated report - ser-7 Platform Sorint 3 02 - Platform Te— New TabO JIMINNY@ For you(• Recent# Starred8$ Apps• Spaces+...Jiminny (New)ul Plarorm leamIID Capture TeamWD Enterprise Stability I…..I Processing TeamMl SE Kanban( Service-Desk= More spaces— FiltersB DashboardsC÷ OperationsI2 Confluence:ã Teams"= Customise sidebarB < 50hl# Retro - Platform • nowninny.atlassian.net/browse/JY-20773Q Search |+ CreateSpaces / Jiminny (New) / & JY-19240 / ** JY-20773User Pilot not receiving events on report generated~ Key detailsDescriptionWhen new report is generated User Pilot should receive tracking event. The event is still inpending meaning no new event has arrived.Steps to reproduceNoneActual outcomeAdd text IExpected outcomeAdd textSubtasksAdd subtaskLinked work itemsAdd linked work item~ ActivityAllComments HistoryWork logTtvBI..|Type /ại for Atlassian Intelligence or@ to mention and notify someone.CancelLukas Kovalik8 hours agoThe issue is most probably AutomatedReportGenerated event and not listener sendingdata to UP. The PR should address it.100% C42 & • Tue 12 May 17:07:25Ask RovoIn Devv* Improve Bug~ DetailsAssignee@ Lukas KovalikReporterLukas KovalikDevelopmentQ Open with VS Code8S Create branch4 commits1 pull request3 builds3 hours agoMERGEDLabelsNoneSub-ProductAdd optionsStory PointsOrganisationsNoneComponentsPlatformFix versionsNoneParent# JY-19240 AJ ReportsSprintPlatform Sprint 3 Q2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27835
|
1136
|
69
|
2026-05-12T14:40:56.825819+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596856825_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Ca Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Cached Files:
2,03 GB
Swap Used:
7,92 GB
3,80 GB
Wired Memory:
Compressed:
3,67 GB
5,89 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,68 GB
21
21 856
402
_windowserver
Firefox
1,35 GB
84
1 155
40293
lukas
Postman Helper (Renderer)
1,30 GB
27
343
923
lukas
FirefoxCP Isolated Web Content
1,29 GB
25
110
83900
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
FirefoxCP Isolated Web Content
1,25 GB
24
108
85313
lukas
Slack Helper (Renderer)
1,00 GB
24
324
58585
lukas
FirefoxCP Isolated Web Content
945,2 MB
30
114
31677
lukas
Notion Helper (Renderer)
921,1 MB
21
257
78831
lukas
FirefoxCP Isolated Web Content
892,7 MB
24
109
80106
lukas
CursorUIViewService (Not Responding)
853,5 MB
4
23 047
997
lukas
Claude Helper (Renderer)
710,3 MB
20
257
92096
lukas
Firefox GPU Helper
639,3 MB
27
269
40336
lukas
FirefoxCP Isolated Web Content...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.05590278,"height":0.015555556},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"13,91 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.02465272,"height":0.015555556},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.052083332,"height":0.015555556},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,03 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.046180554,"height":0.015555556},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"7,92 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,80 GB","depth":3,"on_screen":true,"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"3,67 GB","depth":3,"on_screen":true,"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"5,89 GB","depth":3,"on_screen":true,"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"on_screen":true,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"2,68 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21 856","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,35 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"84","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 155","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40293","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,30 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"343","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"923","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,29 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"110","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"83900","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,29 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,25 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"108","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"85313","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,00 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"324","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"58585","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"945,2 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"30","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"114","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"31677","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"921,1 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"257","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78831","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"892,7 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"109","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"80106","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"CursorUIViewService (Not Responding)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"853,5 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23 047","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"997","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Claude Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"710,3 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"257","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"92096","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"639,3 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40336","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"}]...
|
1240924822031961613
|
1438097384797890515
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Ca Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Cached Files:
2,03 GB
Swap Used:
7,92 GB
3,80 GB
Wired Memory:
Compressed:
3,67 GB
5,89 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,68 GB
21
21 856
402
_windowserver
Firefox
1,35 GB
84
1 155
40293
lukas
Postman Helper (Renderer)
1,30 GB
27
343
923
lukas
FirefoxCP Isolated Web Content
1,29 GB
25
110
83900
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
FirefoxCP Isolated Web Content
1,25 GB
24
108
85313
lukas
Slack Helper (Renderer)
1,00 GB
24
324
58585
lukas
FirefoxCP Isolated Web Content
945,2 MB
30
114
31677
lukas
Notion Helper (Renderer)
921,1 MB
21
257
78831
lukas
FirefoxCP Isolated Web Content
892,7 MB
24
109
80106
lukas
CursorUIViewService (Not Responding)
853,5 MB
4
23 047
997
lukas
Claude Helper (Renderer)
710,3 MB
20
257
92096
lukas
Firefox GPU Helper
639,3 MB
27
269
40336
lukas
FirefoxCP Isolated Web Content...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27836
|
1138
|
58
|
2026-05-12T14:40:56.794582+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596856794_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Ca Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Cached Files:
2,03 GB
Swap Used:
7,92 GB
3,80 GB
Wired Memory:
Compressed:
3,67 GB
5,89 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,68 GB
21
21 856
402
_windowserver
Firefox
1,35 GB
84
1 155
40293
lukas
Postman Helper (Renderer)
1,30 GB
27
343
923
lukas
FirefoxCP Isolated Web Content
1,29 GB
25
110
83900
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
FirefoxCP Isolated Web Content
1,25 GB
24
108
85313
lukas
Slack Helper (Renderer)
1,00 GB
24...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"bounds":{"left":0.72107714,"top":0.9233839,"width":0.032081116,"height":0.011173184},"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9233839,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.72107714,"top":0.9393456,"width":0.026761968,"height":0.011173184},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"13,91 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9393456,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.72107714,"top":0.95530725,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,03 GB","depth":3,"bounds":{"left":0.7631317,"top":0.95530725,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.72107714,"top":0.97126895,"width":0.022107713,"height":0.011173184},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"7,92 GB","depth":3,"bounds":{"left":0.7631317,"top":0.97126895,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,80 GB","depth":3,"bounds":{"left":0.8272939,"top":0.93296087,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":0.7855718,"top":0.9473264,"width":0.027925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":0.7855718,"top":0.9616919,"width":0.02443484,"height":0.011173184},"on_screen":true,"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"3,67 GB","depth":3,"bounds":{"left":0.8272939,"top":0.9473264,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"5,89 GB","depth":3,"bounds":{"left":0.8272939,"top":0.9616919,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":0.7855718,"top":0.93296087,"width":0.024767287,"height":0.011173184},"on_screen":true,"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"bounds":{"left":0.65359044,"top":0.92178774,"width":0.06416223,"height":0.014365523},"on_screen":true,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5162899,"top":0.09098165,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"2,68 GB","depth":5,"bounds":{"left":0.6057181,"top":0.09098165,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"bounds":{"left":0.63264626,"top":0.09098165,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21 856","depth":5,"bounds":{"left":0.65824467,"top":0.09098165,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"bounds":{"left":0.67985374,"top":0.09098165,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.6988032,"top":0.09098165,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.110135674,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,35 GB","depth":5,"bounds":{"left":0.6057181,"top":0.110135674,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"84","depth":5,"bounds":{"left":0.63264626,"top":0.110135674,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 155","depth":5,"bounds":{"left":0.65824467,"top":0.110135674,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40293","depth":5,"bounds":{"left":0.67985374,"top":0.110135674,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.110135674,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.1292897,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,30 GB","depth":5,"bounds":{"left":0.6057181,"top":0.1292897,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27","depth":5,"bounds":{"left":0.63264626,"top":0.1292897,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"343","depth":5,"bounds":{"left":0.65824467,"top":0.1292897,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"923","depth":5,"bounds":{"left":0.67985374,"top":0.1292897,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.1292897,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.14844373,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,29 GB","depth":5,"bounds":{"left":0.6057181,"top":0.14844373,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.63264626,"top":0.14844373,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"110","depth":5,"bounds":{"left":0.65824467,"top":0.14844373,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"83900","depth":5,"bounds":{"left":0.67985374,"top":0.14844373,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.14844373,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.16759777,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,29 GB","depth":5,"bounds":{"left":0.6057181,"top":0.16759777,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"bounds":{"left":0.63264626,"top":0.16759777,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"bounds":{"left":0.65824467,"top":0.16759777,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"bounds":{"left":0.67985374,"top":0.16759777,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.16759777,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.1867518,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,25 GB","depth":5,"bounds":{"left":0.6057181,"top":0.1867518,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"bounds":{"left":0.63264626,"top":0.1867518,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"108","depth":5,"bounds":{"left":0.65824467,"top":0.1867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"85313","depth":5,"bounds":{"left":0.67985374,"top":0.1867518,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.1867518,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.20590582,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,00 GB","depth":5,"bounds":{"left":0.6057181,"top":0.20590582,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"bounds":{"left":0.63264626,"top":0.20590582,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
8082196792683062704
|
1437545291984398323
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Ca Physical Memory:
16,00 GB
Memory Used:
13,91 GB
Cached Files:
2,03 GB
Swap Used:
7,92 GB
3,80 GB
Wired Memory:
Compressed:
3,67 GB
5,89 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,68 GB
21
21 856
402
_windowserver
Firefox
1,35 GB
84
1 155
40293
lukas
Postman Helper (Renderer)
1,30 GB
27
343
923
lukas
FirefoxCP Isolated Web Content
1,29 GB
25
110
83900
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
FirefoxCP Isolated Web Content
1,25 GB
24
108
85313
lukas
Slack Helper (Renderer)
1,00 GB
24...
|
27834
|
NULL
|
NULL
|
NULL
|
|
27837
|
1136
|
70
|
2026-05-12T14:41:00.853975+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596860853_m1.jpg...
|
Code
|
screenpipe_sync.sh — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
screenpipe
!
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_fts_migrate.sh, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
#!/bin/bash
# screenpipe_sync.sh
# Syncs Screenpipe SQLite data (vision + audio) to a NAS archive database.
# Append-only, no deletions.
#
# Multi-install safety
# --------------------
# Source IDs reset to 1 on every screenpipe reinstall, so the NAS archive
# must not rely on source `id` being globally unique.
#
# Base tables:
# Every synced table has an `install_id` column. Logical primary key is
# (install_id, id), enforced by a UNIQUE INDEX. install_id is a UUID kept
# in ~/.screenpipe/.sync_install_id; wiping ~/.screenpipe/ (which a
# reinstall does) discards it, and the next run generates a fresh one.
#
# FTS tables:
# Fully contentless. `install_id` and `source_id` are stored as UNINDEXED
# columns and SQLite auto-assigns rowids, so source-id collisions across
# installs are impossible. Queries JOIN back to the base table on
# (install_id, source_id).
#
# First-run migration:
# If old FTS tables (which used source `id` as `rowid`) are detected,
# they are dropped and rebuilt from the base tables. One-time slow step;
# subsequent runs are normal.
#
# Schema-drift tolerant:
# New columns added upstream get ALTER TABLE'd in. Inserts use explicit
# column lists so positional drift is impossible.
#
# Usage
# -----
# ./screenpipe_sync.sh # syncs yesterday
# ./screenpipe_sync.sh 2026-04-15 # syncs a specific date
# ./screenpipe_sync.sh today # syncs today so far
# ./screenpipe_sync.sh --reset-install-id # rotate install_id and exit
# ./screenpipe_sync.sh --show-install-id # print install_id and exit
# ./screenpipe_sync.sh --list-installs # print all known installs
set -euo pipefail
# ─── CONFIG ───────────────────────────────────────────────────────────────────
DB_SRC="${SCREENPIPE_DB:-$HOME/.screenpipe/db.sqlite}"
NAS_MOUNT="${NAS_MOUNT:-/Volumes/screenpipe}"
NAS_DB="$NAS_MOUNT/archive.db"
NAS_DATA="$NAS_MOUNT/data"
LOG_FILE="$HOME/.screenpipe/sync.log"
INSTALL_ID_FILE="$HOME/.screenpipe/.sync_install_id"
# Order matters: parents before children for FK-ish references.
VISION_TABLES=(video_chunks frames elements ocr_text ui_events meetings)
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags)
SHARED_TABLES=(tags vision_tags)
ALL_SYNC_TABLES=("${VISION_TABLES[@]}" "${AUDIO_TABLES[@]}" "${SHARED_TABLES[@]}")
FTS_TABLES=(frames_fts elements_fts ui_events_fts audio_transcriptions_fts)
# ──────────────────────────────────────────────────────────────────────────────
SCRIPT_START=$(date +%s)
# ─── HELPERS ──────────────────────────────────────────────────────────────────
log() {
local msg="[$(date '+%Y-%m-%d %H:%M:%S')] $*"
echo "$msg" | tee -a "$LOG_FILE"
}
step() {
local now=$(date +%s)
local elapsed=$(( now - SCRIPT_START ))
printf "\n[+%02dm%02ds] ▶ %s\n" "$(( elapsed / 60 ))" "$(( elapsed % 60 ))" "$*" | tee -a "$LOG_FILE"
}
run_sqlite_heredoc() {
local label="$1"
local sql="$2"
local start=$(date +%s)
printf " %-40s " "$label"
sqlite3 "$DB_SRC" <<< "$sql" &
local pid=$!
local spin=[PASSWORD] '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
local i=0
while kill -0 "$pid" 2>/dev/null; do
printf "\r %-40s %s " "$label" "${spin[$i]}"
i=$(( (i + 1) % 10 ))
sleep 0.2
done
wait "$pid"
local rc=$?
if [ $rc -ne 0 ]; then
printf "\r %-40s ✗ FAILED\n" "$label" | tee -a "$LOG_FILE"
exit $rc
fi
local dur=$(( $(date +%s) - start ))
printf "\r %-40s ✓ %dm%02ds\n" "$label" "$(( dur / 60 ))" "$(( dur % 60 ))" | tee -a "$LOG_FILE"
}
run_nas_sqlite() {
# Same spinner pattern, runs on the NAS DB directly. For migrations that
# don't need the source DB attached.
local label="$1"
local sql="$2"
local start=$(date +%s)
printf " %-40s " "$label"
sqlite3 "$NAS_DB" <<< "$sql" &
local pid=$!
local spin=[PASSWORD] '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
local i=0
while kill -0 "$pid" 2>/dev/null; do
printf "\r %-40s %s " "$label" "${spin[$i]}"
i=$(( (i + 1) % 10 ))
sleep 0.2
done
wait "$pid"
local rc=$?
if [ $rc -ne 0 ]; then
printf "\r %-40s ✗ FAILED\n" "$label" | tee -a "$LOG_FILE"
exit $rc
fi
local dur=$(( $(date +%s) - start ))
printf "\r %-40s ✓ %dm%02ds\n" "$label" "$(( dur / 60 ))" "$(( dur % 60 ))" | tee -a "$LOG_FILE"
}
check() {
local label="$1" got="$2" expected="$3"
if [ "$got" -eq "$expected" ]; then
printf " %-25s %s / %s ✓\n" "$label:" "$got" "$expected"
else
printf " %-25s %s / %s ✗ MISMATCH\n" "$label:" "$got" "$expected"
fi
}
table_columns_with_types() {
sqlite3 "$1" "PRAGMA table_info($2);" | awk -F'|' '{print $2 "|" $3}'
}
table_columns() {
sqlite3 "$1" "PRAGMA table_info($2);" | awk -F'|' '{print $2}'
}
table_exists() {
local count
count=$(sqlite3 "$1" "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='$2';")
[ "$count" -gt 0 ]
}
ensure_columns() {
local table="$1"
local label="schema: $table"
printf " %-40s " "$label"
if ! table_exists "$DB_SRC" "$table"; then
printf "✗ source missing — skipping\n"
return 0
fi
if ! table_exists "$NAS_DB" "$table"; then
printf "✓ fresh (created above)\n"
return 0
fi
local src_cols nas_cols
src_cols=$(table_columns_with_types "$DB_SRC" "$table")
nas_cols=$(table_columns "$NAS_DB" "$table")
local added=0 added_names=""
while IFS='|' read -r name type; do
[ -z "$name" ] && continue
if ! echo "$nas_cols" | grep -Fxq "$name"; then
sqlite3 "$NAS_DB" "ALTER TABLE $table ADD COLUMN \"$name\" $type;"
added=$((added + 1))
added_names="$added_names $name"
fi
done <<< "$src_cols"
if [ "$added" -gt 0 ]; then
printf "✓ added %d:%s\n" "$added" "$added_names"
else
printf "✓ in sync\n"
fi
}
build_col_list() {
local table="$1" alias="${2:-}" prefix=""
[ -n "$alias" ] && prefix="${alias}."
table_columns "$DB_SRC" "$table" | awk 'NF' | awk -v p="$prefix" '{print p "\"" $0 "\""}' | paste -sd, -
}
# ──────────────────────────────────────────────────────────────────────────────
# ─── ARG HANDLING ─────────────────────────────────────────────────────────────
case "${1:-}" in
--reset-install-id)
if [ -f "$INSTALL_ID_FILE" ]; then
OLD=$(cat "$INSTALL_ID_FILE")
rm -f "$INSTALL_ID_FILE"
echo "Removed install_id: $OLD"
else
echo "No install_id file at $INSTALL_ID_FILE"
fi
echo "A new install_id will be generated on the next sync run."
exit 0
;;
--show-install-id)
if [ -f "$INSTALL_ID_FILE" ]; then cat "$INSTALL_ID_FILE"; else echo "(none)"; fi
exit 0
;;
--list-installs)
if [ -f "$NAS_DB" ] && table_exists "$NAS_DB" "_installs"; then
sqlite3 -header -column "$NAS_DB" "SELECT install_id, install_seq, first_seen, last_seen FROM _installs ORDER BY install_seq;"
else
echo "No _installs table on NAS yet."
fi
exit 0
;;
esac
if [ "${1:-}" = "today" ]; then
TARGET_DATE=$(date +%Y-%m-%d)
elif [ -n "${1:-}" ]; then
TARGET_DATE="$1"
if ! [[ "$TARGET_DATE" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
echo "ERROR: Invalid date. Use YYYY-MM-DD, 'today', or no argument for yesterday."
exit 1
fi
else
TARGET_DATE=$(date -v-1d +%Y-%m-%d)
fi
# ─── INSTALL ID ───────────────────────────────────────────────────────────────
INSTALL_ID=""
if [ -f "$INSTALL_ID_FILE" ]; then
INSTALL_ID=$(tr -d '[:space:]' < "$INSTALL_ID_FILE")
fi
if [ -z "$INSTALL_ID" ]; then
INSTALL_ID=$(uuidgen | tr 'A-Z' 'a-z')
echo "$INSTALL_ID" > "$INSTALL_ID_FILE"
log "Generated new install_id: $INSTALL_ID"
fi
log "========================================"
log "Screenpipe sync starting for: $TARGET_DATE"
log "install_id: $INSTALL_ID"
log "========================================"
# ─── PREFLIGHT ────────────────────────────────────────────────────────────────
step "Preflight checks"
[ -f "$DB_SRC" ] || { log "ERROR: Source DB not found at $DB_SRC"; exit 1; }
printf " %-25s %s (%s)\n" "Source DB:" "OK" "$(du -sh "$DB_SRC" | cut -f1)"
[ -d "$NAS_MOUNT" ] || { log "ERROR: NAS not mounted at $NAS_MOUNT"; exit 1; }
printf " %-25s %s\n" "NAS mount:" "OK $NAS_MOUNT"
DB_ALREADY_SYNCED=false
if [ -f "$NAS_DB" ] && table_exists "$NAS_DB" "frames"; then
HAS_INSTALL_COL=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM pragma_table_info('frames') WHERE name='install_id';")
if [ "$HAS_INSTALL_COL" -gt "0" ]; then
EXISTING=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE' AND install_id='$INSTALL_ID';")
else
EXISTING=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE';")
fi
if [ "$EXISTING" -gt "0" ]; then
log "Date $TARGET_DATE / install $INSTALL_ID already has $EXISTING frames — skipping DB sync"
DB_ALREADY_SYNCED=true
else
printf " %-25s %s (%s)\n" "Archive DB:" "exists" "$(du -sh "$NAS_DB" | cut -f1)"
fi
else
printf " %-25s %s\n" "Archive DB:" "will be created"
fi
DATA_SRC="$HOME/.screenpipe/data/data/$TARGET_DATE"
if [ -d "$DATA_SRC" ]; then
printf " %-25s %s (%s files, %s)\n" "Frame data dir:" "OK" "$(ls "$DATA_SRC" | wc -l | tr -d ' ')" "$(du -sh "$DATA_SRC" | cut -f1)"
else
printf " %-25s %s\n" "Frame data dir:" "not found — skipping"
fi
shopt -s nullglob
AUDIO_SRC_FILES=( "$HOME/.screenpipe/data/"*_"${TARGET_DATE}"_*.mp4 )
shopt -u nullglob
if [ ${#AUDIO_SRC_FILES[@]} -gt 0 ]; then
AUDIO_TOTAL=$(du -ch "${AUDIO_SRC_FILES[@]}" | tail -1 | cut -f1)
printf " %-25s %s (%s files, %s)\n" "Audio files:" "OK" "${#AUDIO_SRC_FILES[@]}" "$AUDIO_TOTAL"
else
printf " %-25s %s\n" "Audio files:" "none for this date"
fi
# ─── INSTALL REGISTRY ─────────────────────────────────────────────────────────
sqlite3 "$NAS_DB" "
CREATE TABLE IF NOT EXISTS _installs (
install_id TEXT PRIMARY KEY,
install_seq INTEGER NOT NULL UNIQUE,
first_seen TEXT NOT NULL DEFAULT (datetime('now')),
last_seen TEXT NOT NULL DEFAULT (datetime('now'))
);
INSERT OR IGNORE INTO _installs(install_id, install_seq)
VALUES ('$INSTALL_ID', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs));
UPDATE _installs SET last_seen = datetime('now') WHERE install_id = '$INSTALL_ID';
"
# ─── SCHEMA MIGRATION: install_id on base tables ─────────────────────────────
if [ -f "$NAS_DB" ]; then
step "Schema migration: install_id on base tables"
LEGACY_TAG="legacy-$(date +%Y%m%d)"
LEGACY_USED=false
for tbl in "${ALL_SYNC_TABLES[@]}"; do
if ! table_exists "$NAS_DB" "$tbl"; then continue; fi
HAS_COL=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';")
if [ "$HAS_COL" = "0" ]; then
ROW_COUNT=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM $tbl;")
printf " %-40s adding install_id, backfill %s rows → %s\n" "$tbl" "$ROW_COUNT" "$LEGACY_TAG"
sqlite3 "$NAS_DB" "ALTER TABLE $tbl ADD COLUMN install_id TEXT;"
sqlite3 "$NAS_DB" "UPDATE $tbl SET install_id = '$LEGACY_TAG' WHERE install_id IS NULL;"
[ "$ROW_COUNT" -gt "0" ] && LEGACY_USED=true
fi
# vision_tags has a composite PK (vision_id, tag_id), no `id` column.
if [ "$tbl" = "vision_tags" ]; then
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);"
else
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);"
fi
done
if [ "$LEGACY_USED" = true ]; then
sqlite3 "$NAS_DB" "
INSERT OR IGNORE INTO _installs(install_id, install_seq, first_seen, last_seen)
VALUES ('$LEGACY_TAG', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs), 'pre-migration', 'pre-migration');
"
fi
fi
# ─── SCHEMA MIGRATION: rebuild FTS if old schema detected ────────────────────
# Old schema either uses content='<table>' or lacks install_id UNINDEXED.
# Either way: drop, recreate contentless, repopulate from base tables.
if [ -f "$NAS_DB" ]; then
OLD_FTS_DETECTED=false
for fts in "${FTS_TABLES[@]}"; do
if table_exists "$NAS_DB" "$fts"; then
SCHEMA_SQL=$(sqlite3 "$NAS_DB" "SELECT sql FROM sqlite_master WHERE name='$fts';")
if echo "$SCHEMA_SQL" | grep -q "content=" || ! echo "$SCHEMA_SQL" | grep -q "install_id"; then
OLD_FTS_DETECTED=true
break
fi
fi
done
if [ "$OLD_FTS_DETECTED" = true ]; then
step "FTS migration: rebuilding all FTS tables (one-time)"
log "WARNING: this can take a while on a large archive."
for fts in "${FTS_TABLES[@]}"; do
if table_exists "$NAS_DB" "$fts"; then
run_nas_sqlite "drop old $fts" "DROP TABLE $fts;"
fi
done
run_nas_sqlite "create new frames_fts" "
CREATE VIRTUAL TABLE frames_fts USING fts5(
full_text, app_name, window_name, browser_url,
install_id UNINDEXED, source_id UNINDEXED,
tokenize='unicode61'
);
"
run_nas_sqlite "create new elements_fts" "
CREATE VIRTUAL TABLE elements_fts USING fts5(
text, role,
install_id UNINDEXED, source_id UNINDEXED, frame_id UNINDEXED,
tokenize='unicode61'
);
"
run_nas_sqlite "create new ui_events_fts" "
CREATE VIRTUAL TABLE ui_events_fts USING fts5(
text_content, app_name, window_title, element_name,
install_id UNINDEXED, source_id UNINDEXED,
tokenize='unicode61'
);
"
run_nas_sqlite "create new audio_transcriptions_fts" "
CREATE VIRTUAL TABLE audio_transcriptions_fts USING fts5(
transcription, device,
speaker_id UNINDEXED, install_id UNINDEXED, source_id UNINDEXED,
tokenize='unicode61'
);
"
if table_exists "$NAS_DB" "frames"; then
run_nas_sqlite "rebuild frames_fts" "
INSERT INTO frames_fts(full_text, app_name, window_name, browser_url, install_id, source_id)
SELECT full_text, app_name, window_name, browser_url, install_id, id
FROM frames WHERE full_text IS NOT NULL AND full_text != '';
"
fi
if table_exists "$NAS_DB" "elements"; then
run_nas_sqlite "rebuild elements_fts" "
INSERT INTO elements_fts(text, role, install_id, source_id, frame_id)
SELECT text, role, install_id, id, frame_id
FROM elements WHERE text IS NOT NULL;
"
fi
if table_exists "$NAS_DB" "ui_events"; then
run_nas_sqlite "rebuild ui_events_fts" "
INSERT INTO ui_events_fts(text_content, app_name, window_title, element_name, install_id, source_id)
SELECT text_content, app_name, window_title, element_name, install_id, id
FROM ui_events WHERE text_content IS NOT NULL;
"
fi
if table_exists "$NAS_DB" "audio_transcriptions"; then
run_nas_sqlite "rebuild audio_transcriptions_fts" "
INSERT INTO audio_transcriptions_fts(transcription, device, speaker_id, install_id, source_id)
SELECT transcription, COALESCE(device,''), speaker_id, install_id, id
FROM audio_transcriptions WHERE transcription IS NOT NULL AND transcription != '';
"
fi
log "FTS rebuild complete."
fi
fi
# ─── DB SYNC ──────────────────────────────────────────────────────────────────
if [ "$DB_ALREADY_SYNCED" = false ]; then
step "Counting source rows for $TARGET_DATE"
SRC_FRAMES=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM frames WHERE date(timestamp) = '$TARGET_DATE';")
SRC_ELEMENTS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');")
SRC_UI=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM ui_events WHERE date(timestamp) = '$TARGET_DATE';")
SRC_OCR=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');")
SRC_MEETINGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM meetings WHERE date(meeting_start) = '$TARGET_DATE';")
SRC_ACHUNKS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE';")
SRC_ATRANS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM audio_transcriptions WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');")
SRC_ATAGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM audio_tags WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');")
SRC_VTAGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM vision_tags WHERE vision_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');")
SRC_SPEAKERS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM speakers;")
SRC_SEMB=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM speaker_embeddings;")
SRC_TAGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM tags;")
printf " %-25s %s\n" "frames:" "$SRC_FRAMES"
printf " %-25s %s\n" "elements:" "$SRC_ELEMENTS"
printf " %-25s %s\n" "ui_events:" "$SRC_UI"
printf " %-25s %s\n" "ocr_text:" "$SRC_OCR"
printf " %-25s %s\n" "meetings:" "$SRC_MEETINGS"
printf " %-25s %s\n" "audio_chunks:" "$SRC_ACHUNKS"
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s\n" "vision_tags:" "$SRC_VTAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
printf " %-25s %s (all-time)\n" "tags:" "$SRC_TAGS"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating shared tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.tags AS SELECT * FROM main.tags WHERE 0;
CREATE TABLE IF NOT EXISTS nas.vision_tags AS SELECT * FROM main.vision_tags WHERE 0;
DETACH nas;
"
# Ensure install_id + unique index on freshly-created tables too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
HAS_COL=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';")
[ "$HAS_COL" = "0" ] && sqlite3 "$NAS_DB" "ALTER TABLE $tbl ADD COLUMN install_id TEXT;"
if [ "$tbl" = "vision_tags" ]; then
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);"
else
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);"
fi...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"!","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_fts_migrate.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"#!/bin/bash\n# screenpipe_sync.sh\n# Syncs Screenpipe SQLite data (vision + audio) to a NAS archive database.\n# Append-only, no deletions.\n#\n# Multi-install safety\n# --------------------\n# Source IDs reset to 1 on every screenpipe reinstall, so the NAS archive\n# must not rely on source `id` being globally unique.\n#\n# Base tables:\n# Every synced table has an `install_id` column. Logical primary key is\n# (install_id, id), enforced by a UNIQUE INDEX. install_id is a UUID kept\n# in ~/.screenpipe/.sync_install_id; wiping ~/.screenpipe/ (which a\n# reinstall does) discards it, and the next run generates a fresh one.\n#\n# FTS tables:\n# Fully contentless. `install_id` and `source_id` are stored as UNINDEXED\n# columns and SQLite auto-assigns rowids, so source-id collisions across\n# installs are impossible. Queries JOIN back to the base table on\n# (install_id, source_id).\n#\n# First-run migration:\n# If old FTS tables (which used source `id` as `rowid`) are detected,\n# they are dropped and rebuilt from the base tables. One-time slow step;\n# subsequent runs are normal.\n#\n# Schema-drift tolerant:\n# New columns added upstream get ALTER TABLE'd in. Inserts use explicit\n# column lists so positional drift is impossible.\n#\n# Usage\n# -----\n# ./screenpipe_sync.sh # syncs yesterday\n# ./screenpipe_sync.sh 2026-04-15 # syncs a specific date\n# ./screenpipe_sync.sh today # syncs today so far\n# ./screenpipe_sync.sh --reset-install-id # rotate install_id and exit\n# ./screenpipe_sync.sh --show-install-id # print install_id and exit\n# ./screenpipe_sync.sh --list-installs # print all known installs\n\nset -euo pipefail\n\n# ─── CONFIG ───────────────────────────────────────────────────────────────────\nDB_SRC=\"${SCREENPIPE_DB:-$HOME/.screenpipe/db.sqlite}\"\nNAS_MOUNT=\"${NAS_MOUNT:-/Volumes/screenpipe}\"\nNAS_DB=\"$NAS_MOUNT/archive.db\"\nNAS_DATA=\"$NAS_MOUNT/data\"\nLOG_FILE=\"$HOME/.screenpipe/sync.log\"\nINSTALL_ID_FILE=\"$HOME/.screenpipe/.sync_install_id\"\n\n# Order matters: parents before children for FK-ish references.\nVISION_TABLES=(video_chunks frames elements ocr_text ui_events meetings)\nAUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags)\nSHARED_TABLES=(tags vision_tags)\nALL_SYNC_TABLES=(\"${VISION_TABLES[@]}\" \"${AUDIO_TABLES[@]}\" \"${SHARED_TABLES[@]}\")\nFTS_TABLES=(frames_fts elements_fts ui_events_fts audio_transcriptions_fts)\n# ──────────────────────────────────────────────────────────────────────────────\n\nSCRIPT_START=$(date +%s)\n\n# ─── HELPERS ──────────────────────────────────────────────────────────────────\nlog() {\n local msg=\"[$(date '+%Y-%m-%d %H:%M:%S')] $*\"\n echo \"$msg\" | tee -a \"$LOG_FILE\"\n}\n\nstep() {\n local now=$(date +%s)\n local elapsed=$(( now - SCRIPT_START ))\n printf \"\\n[+%02dm%02ds] ▶ %s\\n\" \"$(( elapsed / 60 ))\" \"$(( elapsed % 60 ))\" \"$*\" | tee -a \"$LOG_FILE\"\n}\n\nrun_sqlite_heredoc() {\n local label=\"$1\"\n local sql=\"$2\"\n local start=$(date +%s)\n\n printf \" %-40s \" \"$label\"\n\n sqlite3 \"$DB_SRC\" <<< \"$sql\" &\n local pid=$!\n local spin=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')\n local i=0\n while kill -0 \"$pid\" 2>/dev/null; do\n printf \"\\r %-40s %s \" \"$label\" \"${spin[$i]}\"\n i=$(( (i + 1) % 10 ))\n sleep 0.2\n done\n wait \"$pid\"\n local rc=$?\n if [ $rc -ne 0 ]; then\n printf \"\\r %-40s ✗ FAILED\\n\" \"$label\" | tee -a \"$LOG_FILE\"\n exit $rc\n fi\n\n local dur=$(( $(date +%s) - start ))\n printf \"\\r %-40s ✓ %dm%02ds\\n\" \"$label\" \"$(( dur / 60 ))\" \"$(( dur % 60 ))\" | tee -a \"$LOG_FILE\"\n}\n\nrun_nas_sqlite() {\n # Same spinner pattern, runs on the NAS DB directly. For migrations that\n # don't need the source DB attached.\n local label=\"$1\"\n local sql=\"$2\"\n local start=$(date +%s)\n\n printf \" %-40s \" \"$label\"\n\n sqlite3 \"$NAS_DB\" <<< \"$sql\" &\n local pid=$!\n local spin=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')\n local i=0\n while kill -0 \"$pid\" 2>/dev/null; do\n printf \"\\r %-40s %s \" \"$label\" \"${spin[$i]}\"\n i=$(( (i + 1) % 10 ))\n sleep 0.2\n done\n wait \"$pid\"\n local rc=$?\n if [ $rc -ne 0 ]; then\n printf \"\\r %-40s ✗ FAILED\\n\" \"$label\" | tee -a \"$LOG_FILE\"\n exit $rc\n fi\n\n local dur=$(( $(date +%s) - start ))\n printf \"\\r %-40s ✓ %dm%02ds\\n\" \"$label\" \"$(( dur / 60 ))\" \"$(( dur % 60 ))\" | tee -a \"$LOG_FILE\"\n}\n\ncheck() {\n local label=\"$1\" got=\"$2\" expected=\"$3\"\n if [ \"$got\" -eq \"$expected\" ]; then\n printf \" %-25s %s / %s ✓\\n\" \"$label:\" \"$got\" \"$expected\"\n else\n printf \" %-25s %s / %s ✗ MISMATCH\\n\" \"$label:\" \"$got\" \"$expected\"\n fi\n}\n\ntable_columns_with_types() {\n sqlite3 \"$1\" \"PRAGMA table_info($2);\" | awk -F'|' '{print $2 \"|\" $3}'\n}\n\ntable_columns() {\n sqlite3 \"$1\" \"PRAGMA table_info($2);\" | awk -F'|' '{print $2}'\n}\n\ntable_exists() {\n local count\n count=$(sqlite3 \"$1\" \"SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='$2';\")\n [ \"$count\" -gt 0 ]\n}\n\nensure_columns() {\n local table=\"$1\"\n local label=\"schema: $table\"\n printf \" %-40s \" \"$label\"\n\n if ! table_exists \"$DB_SRC\" \"$table\"; then\n printf \"✗ source missing — skipping\\n\"\n return 0\n fi\n if ! table_exists \"$NAS_DB\" \"$table\"; then\n printf \"✓ fresh (created above)\\n\"\n return 0\n fi\n\n local src_cols nas_cols\n src_cols=$(table_columns_with_types \"$DB_SRC\" \"$table\")\n nas_cols=$(table_columns \"$NAS_DB\" \"$table\")\n\n local added=0 added_names=\"\"\n while IFS='|' read -r name type; do\n [ -z \"$name\" ] && continue\n if ! echo \"$nas_cols\" | grep -Fxq \"$name\"; then\n sqlite3 \"$NAS_DB\" \"ALTER TABLE $table ADD COLUMN \\\"$name\\\" $type;\"\n added=$((added + 1))\n added_names=\"$added_names $name\"\n fi\n done <<< \"$src_cols\"\n\n if [ \"$added\" -gt 0 ]; then\n printf \"✓ added %d:%s\\n\" \"$added\" \"$added_names\"\n else\n printf \"✓ in sync\\n\"\n fi\n}\n\nbuild_col_list() {\n local table=\"$1\" alias=\"${2:-}\" prefix=\"\"\n [ -n \"$alias\" ] && prefix=\"${alias}.\"\n table_columns \"$DB_SRC\" \"$table\" | awk 'NF' | awk -v p=\"$prefix\" '{print p \"\\\"\" $0 \"\\\"\"}' | paste -sd, -\n}\n# ──────────────────────────────────────────────────────────────────────────────\n\n# ─── ARG HANDLING ─────────────────────────────────────────────────────────────\ncase \"${1:-}\" in\n --reset-install-id)\n if [ -f \"$INSTALL_ID_FILE\" ]; then\n OLD=$(cat \"$INSTALL_ID_FILE\")\n rm -f \"$INSTALL_ID_FILE\"\n echo \"Removed install_id: $OLD\"\n else\n echo \"No install_id file at $INSTALL_ID_FILE\"\n fi\n echo \"A new install_id will be generated on the next sync run.\"\n exit 0\n ;;\n --show-install-id)\n if [ -f \"$INSTALL_ID_FILE\" ]; then cat \"$INSTALL_ID_FILE\"; else echo \"(none)\"; fi\n exit 0\n ;;\n --list-installs)\n if [ -f \"$NAS_DB\" ] && table_exists \"$NAS_DB\" \"_installs\"; then\n sqlite3 -header -column \"$NAS_DB\" \"SELECT install_id, install_seq, first_seen, last_seen FROM _installs ORDER BY install_seq;\"\n else\n echo \"No _installs table on NAS yet.\"\n fi\n exit 0\n ;;\nesac\n\nif [ \"${1:-}\" = \"today\" ]; then\n TARGET_DATE=$(date +%Y-%m-%d)\nelif [ -n \"${1:-}\" ]; then\n TARGET_DATE=\"$1\"\n if ! [[ \"$TARGET_DATE\" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then\n echo \"ERROR: Invalid date. Use YYYY-MM-DD, 'today', or no argument for yesterday.\"\n exit 1\n fi\nelse\n TARGET_DATE=$(date -v-1d +%Y-%m-%d)\nfi\n\n# ─── INSTALL ID ───────────────────────────────────────────────────────────────\nINSTALL_ID=\"\"\nif [ -f \"$INSTALL_ID_FILE\" ]; then\n INSTALL_ID=$(tr -d '[:space:]' < \"$INSTALL_ID_FILE\")\nfi\nif [ -z \"$INSTALL_ID\" ]; then\n INSTALL_ID=$(uuidgen | tr 'A-Z' 'a-z')\n echo \"$INSTALL_ID\" > \"$INSTALL_ID_FILE\"\n log \"Generated new install_id: $INSTALL_ID\"\nfi\n\nlog \"========================================\"\nlog \"Screenpipe sync starting for: $TARGET_DATE\"\nlog \"install_id: $INSTALL_ID\"\nlog \"========================================\"\n\n# ─── PREFLIGHT ────────────────────────────────────────────────────────────────\nstep \"Preflight checks\"\n\n[ -f \"$DB_SRC\" ] || { log \"ERROR: Source DB not found at $DB_SRC\"; exit 1; }\nprintf \" %-25s %s (%s)\\n\" \"Source DB:\" \"OK\" \"$(du -sh \"$DB_SRC\" | cut -f1)\"\n\n[ -d \"$NAS_MOUNT\" ] || { log \"ERROR: NAS not mounted at $NAS_MOUNT\"; exit 1; }\nprintf \" %-25s %s\\n\" \"NAS mount:\" \"OK $NAS_MOUNT\"\n\nDB_ALREADY_SYNCED=false\nif [ -f \"$NAS_DB\" ] && table_exists \"$NAS_DB\" \"frames\"; then\n HAS_INSTALL_COL=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM pragma_table_info('frames') WHERE name='install_id';\")\n if [ \"$HAS_INSTALL_COL\" -gt \"0\" ]; then\n EXISTING=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE' AND install_id='$INSTALL_ID';\")\n else\n EXISTING=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE';\")\n fi\n if [ \"$EXISTING\" -gt \"0\" ]; then\n log \"Date $TARGET_DATE / install $INSTALL_ID already has $EXISTING frames — skipping DB sync\"\n DB_ALREADY_SYNCED=true\n else\n printf \" %-25s %s (%s)\\n\" \"Archive DB:\" \"exists\" \"$(du -sh \"$NAS_DB\" | cut -f1)\"\n fi\nelse\n printf \" %-25s %s\\n\" \"Archive DB:\" \"will be created\"\nfi\n\nDATA_SRC=\"$HOME/.screenpipe/data/data/$TARGET_DATE\"\nif [ -d \"$DATA_SRC\" ]; then\n printf \" %-25s %s (%s files, %s)\\n\" \"Frame data dir:\" \"OK\" \"$(ls \"$DATA_SRC\" | wc -l | tr -d ' ')\" \"$(du -sh \"$DATA_SRC\" | cut -f1)\"\nelse\n printf \" %-25s %s\\n\" \"Frame data dir:\" \"not found — skipping\"\nfi\n\nshopt -s nullglob\nAUDIO_SRC_FILES=( \"$HOME/.screenpipe/data/\"*_\"${TARGET_DATE}\"_*.mp4 )\nshopt -u nullglob\nif [ ${#AUDIO_SRC_FILES[@]} -gt 0 ]; then\n AUDIO_TOTAL=$(du -ch \"${AUDIO_SRC_FILES[@]}\" | tail -1 | cut -f1)\n printf \" %-25s %s (%s files, %s)\\n\" \"Audio files:\" \"OK\" \"${#AUDIO_SRC_FILES[@]}\" \"$AUDIO_TOTAL\"\nelse\n printf \" %-25s %s\\n\" \"Audio files:\" \"none for this date\"\nfi\n\n# ─── INSTALL REGISTRY ─────────────────────────────────────────────────────────\nsqlite3 \"$NAS_DB\" \"\n CREATE TABLE IF NOT EXISTS _installs (\n install_id TEXT PRIMARY KEY,\n install_seq INTEGER NOT NULL UNIQUE,\n first_seen TEXT NOT NULL DEFAULT (datetime('now')),\n last_seen TEXT NOT NULL DEFAULT (datetime('now'))\n );\n INSERT OR IGNORE INTO _installs(install_id, install_seq)\n VALUES ('$INSTALL_ID', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs));\n UPDATE _installs SET last_seen = datetime('now') WHERE install_id = '$INSTALL_ID';\n\"\n\n# ─── SCHEMA MIGRATION: install_id on base tables ─────────────────────────────\nif [ -f \"$NAS_DB\" ]; then\n step \"Schema migration: install_id on base tables\"\n LEGACY_TAG=\"legacy-$(date +%Y%m%d)\"\n LEGACY_USED=false\n for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n if ! table_exists \"$NAS_DB\" \"$tbl\"; then continue; fi\n HAS_COL=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';\")\n if [ \"$HAS_COL\" = \"0\" ]; then\n ROW_COUNT=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM $tbl;\")\n printf \" %-40s adding install_id, backfill %s rows → %s\\n\" \"$tbl\" \"$ROW_COUNT\" \"$LEGACY_TAG\"\n sqlite3 \"$NAS_DB\" \"ALTER TABLE $tbl ADD COLUMN install_id TEXT;\"\n sqlite3 \"$NAS_DB\" \"UPDATE $tbl SET install_id = '$LEGACY_TAG' WHERE install_id IS NULL;\"\n [ \"$ROW_COUNT\" -gt \"0\" ] && LEGACY_USED=true\n fi\n # vision_tags has a composite PK (vision_id, tag_id), no `id` column.\n if [ \"$tbl\" = \"vision_tags\" ]; then\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);\"\n else\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);\"\n fi\n done\n\n if [ \"$LEGACY_USED\" = true ]; then\n sqlite3 \"$NAS_DB\" \"\n INSERT OR IGNORE INTO _installs(install_id, install_seq, first_seen, last_seen)\n VALUES ('$LEGACY_TAG', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs), 'pre-migration', 'pre-migration');\n \"\n fi\nfi\n\n# ─── SCHEMA MIGRATION: rebuild FTS if old schema detected ────────────────────\n# Old schema either uses content='<table>' or lacks install_id UNINDEXED.\n# Either way: drop, recreate contentless, repopulate from base tables.\nif [ -f \"$NAS_DB\" ]; then\n OLD_FTS_DETECTED=false\n for fts in \"${FTS_TABLES[@]}\"; do\n if table_exists \"$NAS_DB\" \"$fts\"; then\n SCHEMA_SQL=$(sqlite3 \"$NAS_DB\" \"SELECT sql FROM sqlite_master WHERE name='$fts';\")\n if echo \"$SCHEMA_SQL\" | grep -q \"content=\" || ! echo \"$SCHEMA_SQL\" | grep -q \"install_id\"; then\n OLD_FTS_DETECTED=true\n break\n fi\n fi\n done\n\n if [ \"$OLD_FTS_DETECTED\" = true ]; then\n step \"FTS migration: rebuilding all FTS tables (one-time)\"\n log \"WARNING: this can take a while on a large archive.\"\n\n for fts in \"${FTS_TABLES[@]}\"; do\n if table_exists \"$NAS_DB\" \"$fts\"; then\n run_nas_sqlite \"drop old $fts\" \"DROP TABLE $fts;\"\n fi\n done\n\n run_nas_sqlite \"create new frames_fts\" \"\n CREATE VIRTUAL TABLE frames_fts USING fts5(\n full_text, app_name, window_name, browser_url,\n install_id UNINDEXED, source_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n run_nas_sqlite \"create new elements_fts\" \"\n CREATE VIRTUAL TABLE elements_fts USING fts5(\n text, role,\n install_id UNINDEXED, source_id UNINDEXED, frame_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n run_nas_sqlite \"create new ui_events_fts\" \"\n CREATE VIRTUAL TABLE ui_events_fts USING fts5(\n text_content, app_name, window_title, element_name,\n install_id UNINDEXED, source_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n run_nas_sqlite \"create new audio_transcriptions_fts\" \"\n CREATE VIRTUAL TABLE audio_transcriptions_fts USING fts5(\n transcription, device,\n speaker_id UNINDEXED, install_id UNINDEXED, source_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n\n if table_exists \"$NAS_DB\" \"frames\"; then\n run_nas_sqlite \"rebuild frames_fts\" \"\n INSERT INTO frames_fts(full_text, app_name, window_name, browser_url, install_id, source_id)\n SELECT full_text, app_name, window_name, browser_url, install_id, id\n FROM frames WHERE full_text IS NOT NULL AND full_text != '';\n \"\n fi\n if table_exists \"$NAS_DB\" \"elements\"; then\n run_nas_sqlite \"rebuild elements_fts\" \"\n INSERT INTO elements_fts(text, role, install_id, source_id, frame_id)\n SELECT text, role, install_id, id, frame_id\n FROM elements WHERE text IS NOT NULL;\n \"\n fi\n if table_exists \"$NAS_DB\" \"ui_events\"; then\n run_nas_sqlite \"rebuild ui_events_fts\" \"\n INSERT INTO ui_events_fts(text_content, app_name, window_title, element_name, install_id, source_id)\n SELECT text_content, app_name, window_title, element_name, install_id, id\n FROM ui_events WHERE text_content IS NOT NULL;\n \"\n fi\n if table_exists \"$NAS_DB\" \"audio_transcriptions\"; then\n run_nas_sqlite \"rebuild audio_transcriptions_fts\" \"\n INSERT INTO audio_transcriptions_fts(transcription, device, speaker_id, install_id, source_id)\n SELECT transcription, COALESCE(device,''), speaker_id, install_id, id\n FROM audio_transcriptions WHERE transcription IS NOT NULL AND transcription != '';\n \"\n fi\n log \"FTS rebuild complete.\"\n fi\nfi\n\n# ─── DB SYNC ──────────────────────────────────────────────────────────────────\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n step \"Counting source rows for $TARGET_DATE\"\n\n SRC_FRAMES=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM frames WHERE date(timestamp) = '$TARGET_DATE';\")\n SRC_ELEMENTS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_UI=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM ui_events WHERE date(timestamp) = '$TARGET_DATE';\")\n SRC_OCR=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_MEETINGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM meetings WHERE date(meeting_start) = '$TARGET_DATE';\")\n SRC_ACHUNKS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE';\")\n SRC_ATRANS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM audio_transcriptions WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_ATAGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM audio_tags WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_VTAGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM vision_tags WHERE vision_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_SPEAKERS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM speakers;\")\n SRC_SEMB=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM speaker_embeddings;\")\n SRC_TAGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM tags;\")\n\n printf \" %-25s %s\\n\" \"frames:\" \"$SRC_FRAMES\"\n printf \" %-25s %s\\n\" \"elements:\" \"$SRC_ELEMENTS\"\n printf \" %-25s %s\\n\" \"ui_events:\" \"$SRC_UI\"\n printf \" %-25s %s\\n\" \"ocr_text:\" \"$SRC_OCR\"\n printf \" %-25s %s\\n\" \"meetings:\" \"$SRC_MEETINGS\"\n printf \" %-25s %s\\n\" \"audio_chunks:\" \"$SRC_ACHUNKS\"\n printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n printf \" %-25s %s\\n\" \"vision_tags:\" \"$SRC_VTAGS\"\n printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n printf \" %-25s %s (all-time)\\n\" \"tags:\" \"$SRC_TAGS\"\n\n if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n DB_ALREADY_SYNCED=true\n fi\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n run_sqlite_heredoc \"creating shared tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.tags AS SELECT * FROM main.tags WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.vision_tags AS SELECT * FROM main.vision_tags WHERE 0;\nDETACH nas;\n\"\n\n # Ensure install_id + unique index on freshly-created tables too.\n for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n HAS_COL=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';\")\n [ \"$HAS_COL\" = \"0\" ] && sqlite3 \"$NAS_DB\" \"ALTER TABLE $tbl ADD COLUMN install_id TEXT;\"\n if [ \"$tbl\" = \"vision_tags\" ]; then\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);\"\n else\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);\"\n fi","depth":28,"on_screen":true,"value":"#!/bin/bash\n# screenpipe_sync.sh\n# Syncs Screenpipe SQLite data (vision + audio) to a NAS archive database.\n# Append-only, no deletions.\n#\n# Multi-install safety\n# --------------------\n# Source IDs reset to 1 on every screenpipe reinstall, so the NAS archive\n# must not rely on source `id` being globally unique.\n#\n# Base tables:\n# Every synced table has an `install_id` column. Logical primary key is\n# (install_id, id), enforced by a UNIQUE INDEX. install_id is a UUID kept\n# in ~/.screenpipe/.sync_install_id; wiping ~/.screenpipe/ (which a\n# reinstall does) discards it, and the next run generates a fresh one.\n#\n# FTS tables:\n# Fully contentless. `install_id` and `source_id` are stored as UNINDEXED\n# columns and SQLite auto-assigns rowids, so source-id collisions across\n# installs are impossible. Queries JOIN back to the base table on\n# (install_id, source_id).\n#\n# First-run migration:\n# If old FTS tables (which used source `id` as `rowid`) are detected,\n# they are dropped and rebuilt from the base tables. One-time slow step;\n# subsequent runs are normal.\n#\n# Schema-drift tolerant:\n# New columns added upstream get ALTER TABLE'd in. Inserts use explicit\n# column lists so positional drift is impossible.\n#\n# Usage\n# -----\n# ./screenpipe_sync.sh # syncs yesterday\n# ./screenpipe_sync.sh 2026-04-15 # syncs a specific date\n# ./screenpipe_sync.sh today # syncs today so far\n# ./screenpipe_sync.sh --reset-install-id # rotate install_id and exit\n# ./screenpipe_sync.sh --show-install-id # print install_id and exit\n# ./screenpipe_sync.sh --list-installs # print all known installs\n\nset -euo pipefail\n\n# ─── CONFIG ───────────────────────────────────────────────────────────────────\nDB_SRC=\"${SCREENPIPE_DB:-$HOME/.screenpipe/db.sqlite}\"\nNAS_MOUNT=\"${NAS_MOUNT:-/Volumes/screenpipe}\"\nNAS_DB=\"$NAS_MOUNT/archive.db\"\nNAS_DATA=\"$NAS_MOUNT/data\"\nLOG_FILE=\"$HOME/.screenpipe/sync.log\"\nINSTALL_ID_FILE=\"$HOME/.screenpipe/.sync_install_id\"\n\n# Order matters: parents before children for FK-ish references.\nVISION_TABLES=(video_chunks frames elements ocr_text ui_events meetings)\nAUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags)\nSHARED_TABLES=(tags vision_tags)\nALL_SYNC_TABLES=(\"${VISION_TABLES[@]}\" \"${AUDIO_TABLES[@]}\" \"${SHARED_TABLES[@]}\")\nFTS_TABLES=(frames_fts elements_fts ui_events_fts audio_transcriptions_fts)\n# ──────────────────────────────────────────────────────────────────────────────\n\nSCRIPT_START=$(date +%s)\n\n# ─── HELPERS ──────────────────────────────────────────────────────────────────\nlog() {\n local msg=\"[$(date '+%Y-%m-%d %H:%M:%S')] $*\"\n echo \"$msg\" | tee -a \"$LOG_FILE\"\n}\n\nstep() {\n local now=$(date +%s)\n local elapsed=$(( now - SCRIPT_START ))\n printf \"\\n[+%02dm%02ds] ▶ %s\\n\" \"$(( elapsed / 60 ))\" \"$(( elapsed % 60 ))\" \"$*\" | tee -a \"$LOG_FILE\"\n}\n\nrun_sqlite_heredoc() {\n local label=\"$1\"\n local sql=\"$2\"\n local start=$(date +%s)\n\n printf \" %-40s \" \"$label\"\n\n sqlite3 \"$DB_SRC\" <<< \"$sql\" &\n local pid=$!\n local spin=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')\n local i=0\n while kill -0 \"$pid\" 2>/dev/null; do\n printf \"\\r %-40s %s \" \"$label\" \"${spin[$i]}\"\n i=$(( (i + 1) % 10 ))\n sleep 0.2\n done\n wait \"$pid\"\n local rc=$?\n if [ $rc -ne 0 ]; then\n printf \"\\r %-40s ✗ FAILED\\n\" \"$label\" | tee -a \"$LOG_FILE\"\n exit $rc\n fi\n\n local dur=$(( $(date +%s) - start ))\n printf \"\\r %-40s ✓ %dm%02ds\\n\" \"$label\" \"$(( dur / 60 ))\" \"$(( dur % 60 ))\" | tee -a \"$LOG_FILE\"\n}\n\nrun_nas_sqlite() {\n # Same spinner pattern, runs on the NAS DB directly. For migrations that\n # don't need the source DB attached.\n local label=\"$1\"\n local sql=\"$2\"\n local start=$(date +%s)\n\n printf \" %-40s \" \"$label\"\n\n sqlite3 \"$NAS_DB\" <<< \"$sql\" &\n local pid=$!\n local spin=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')\n local i=0\n while kill -0 \"$pid\" 2>/dev/null; do\n printf \"\\r %-40s %s \" \"$label\" \"${spin[$i]}\"\n i=$(( (i + 1) % 10 ))\n sleep 0.2\n done\n wait \"$pid\"\n local rc=$?\n if [ $rc -ne 0 ]; then\n printf \"\\r %-40s ✗ FAILED\\n\" \"$label\" | tee -a \"$LOG_FILE\"\n exit $rc\n fi\n\n local dur=$(( $(date +%s) - start ))\n printf \"\\r %-40s ✓ %dm%02ds\\n\" \"$label\" \"$(( dur / 60 ))\" \"$(( dur % 60 ))\" | tee -a \"$LOG_FILE\"\n}\n\ncheck() {\n local label=\"$1\" got=\"$2\" expected=\"$3\"\n if [ \"$got\" -eq \"$expected\" ]; then\n printf \" %-25s %s / %s ✓\\n\" \"$label:\" \"$got\" \"$expected\"\n else\n printf \" %-25s %s / %s ✗ MISMATCH\\n\" \"$label:\" \"$got\" \"$expected\"\n fi\n}\n\ntable_columns_with_types() {\n sqlite3 \"$1\" \"PRAGMA table_info($2);\" | awk -F'|' '{print $2 \"|\" $3}'\n}\n\ntable_columns() {\n sqlite3 \"$1\" \"PRAGMA table_info($2);\" | awk -F'|' '{print $2}'\n}\n\ntable_exists() {\n local count\n count=$(sqlite3 \"$1\" \"SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='$2';\")\n [ \"$count\" -gt 0 ]\n}\n\nensure_columns() {\n local table=\"$1\"\n local label=\"schema: $table\"\n printf \" %-40s \" \"$label\"\n\n if ! table_exists \"$DB_SRC\" \"$table\"; then\n printf \"✗ source missing — skipping\\n\"\n return 0\n fi\n if ! table_exists \"$NAS_DB\" \"$table\"; then\n printf \"✓ fresh (created above)\\n\"\n return 0\n fi\n\n local src_cols nas_cols\n src_cols=$(table_columns_with_types \"$DB_SRC\" \"$table\")\n nas_cols=$(table_columns \"$NAS_DB\" \"$table\")\n\n local added=0 added_names=\"\"\n while IFS='|' read -r name type; do\n [ -z \"$name\" ] && continue\n if ! echo \"$nas_cols\" | grep -Fxq \"$name\"; then\n sqlite3 \"$NAS_DB\" \"ALTER TABLE $table ADD COLUMN \\\"$name\\\" $type;\"\n added=$((added + 1))\n added_names=\"$added_names $name\"\n fi\n done <<< \"$src_cols\"\n\n if [ \"$added\" -gt 0 ]; then\n printf \"✓ added %d:%s\\n\" \"$added\" \"$added_names\"\n else\n printf \"✓ in sync\\n\"\n fi\n}\n\nbuild_col_list() {\n local table=\"$1\" alias=\"${2:-}\" prefix=\"\"\n [ -n \"$alias\" ] && prefix=\"${alias}.\"\n table_columns \"$DB_SRC\" \"$table\" | awk 'NF' | awk -v p=\"$prefix\" '{print p \"\\\"\" $0 \"\\\"\"}' | paste -sd, -\n}\n# ──────────────────────────────────────────────────────────────────────────────\n\n# ─── ARG HANDLING ─────────────────────────────────────────────────────────────\ncase \"${1:-}\" in\n --reset-install-id)\n if [ -f \"$INSTALL_ID_FILE\" ]; then\n OLD=$(cat \"$INSTALL_ID_FILE\")\n rm -f \"$INSTALL_ID_FILE\"\n echo \"Removed install_id: $OLD\"\n else\n echo \"No install_id file at $INSTALL_ID_FILE\"\n fi\n echo \"A new install_id will be generated on the next sync run.\"\n exit 0\n ;;\n --show-install-id)\n if [ -f \"$INSTALL_ID_FILE\" ]; then cat \"$INSTALL_ID_FILE\"; else echo \"(none)\"; fi\n exit 0\n ;;\n --list-installs)\n if [ -f \"$NAS_DB\" ] && table_exists \"$NAS_DB\" \"_installs\"; then\n sqlite3 -header -column \"$NAS_DB\" \"SELECT install_id, install_seq, first_seen, last_seen FROM _installs ORDER BY install_seq;\"\n else\n echo \"No _installs table on NAS yet.\"\n fi\n exit 0\n ;;\nesac\n\nif [ \"${1:-}\" = \"today\" ]; then\n TARGET_DATE=$(date +%Y-%m-%d)\nelif [ -n \"${1:-}\" ]; then\n TARGET_DATE=\"$1\"\n if ! [[ \"$TARGET_DATE\" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then\n echo \"ERROR: Invalid date. Use YYYY-MM-DD, 'today', or no argument for yesterday.\"\n exit 1\n fi\nelse\n TARGET_DATE=$(date -v-1d +%Y-%m-%d)\nfi\n\n# ─── INSTALL ID ───────────────────────────────────────────────────────────────\nINSTALL_ID=\"\"\nif [ -f \"$INSTALL_ID_FILE\" ]; then\n INSTALL_ID=$(tr -d '[:space:]' < \"$INSTALL_ID_FILE\")\nfi\nif [ -z \"$INSTALL_ID\" ]; then\n INSTALL_ID=$(uuidgen | tr 'A-Z' 'a-z')\n echo \"$INSTALL_ID\" > \"$INSTALL_ID_FILE\"\n log \"Generated new install_id: $INSTALL_ID\"\nfi\n\nlog \"========================================\"\nlog \"Screenpipe sync starting for: $TARGET_DATE\"\nlog \"install_id: $INSTALL_ID\"\nlog \"========================================\"\n\n# ─── PREFLIGHT ────────────────────────────────────────────────────────────────\nstep \"Preflight checks\"\n\n[ -f \"$DB_SRC\" ] || { log \"ERROR: Source DB not found at $DB_SRC\"; exit 1; }\nprintf \" %-25s %s (%s)\\n\" \"Source DB:\" \"OK\" \"$(du -sh \"$DB_SRC\" | cut -f1)\"\n\n[ -d \"$NAS_MOUNT\" ] || { log \"ERROR: NAS not mounted at $NAS_MOUNT\"; exit 1; }\nprintf \" %-25s %s\\n\" \"NAS mount:\" \"OK $NAS_MOUNT\"\n\nDB_ALREADY_SYNCED=false\nif [ -f \"$NAS_DB\" ] && table_exists \"$NAS_DB\" \"frames\"; then\n HAS_INSTALL_COL=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM pragma_table_info('frames') WHERE name='install_id';\")\n if [ \"$HAS_INSTALL_COL\" -gt \"0\" ]; then\n EXISTING=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE' AND install_id='$INSTALL_ID';\")\n else\n EXISTING=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE';\")\n fi\n if [ \"$EXISTING\" -gt \"0\" ]; then\n log \"Date $TARGET_DATE / install $INSTALL_ID already has $EXISTING frames — skipping DB sync\"\n DB_ALREADY_SYNCED=true\n else\n printf \" %-25s %s (%s)\\n\" \"Archive DB:\" \"exists\" \"$(du -sh \"$NAS_DB\" | cut -f1)\"\n fi\nelse\n printf \" %-25s %s\\n\" \"Archive DB:\" \"will be created\"\nfi\n\nDATA_SRC=\"$HOME/.screenpipe/data/data/$TARGET_DATE\"\nif [ -d \"$DATA_SRC\" ]; then\n printf \" %-25s %s (%s files, %s)\\n\" \"Frame data dir:\" \"OK\" \"$(ls \"$DATA_SRC\" | wc -l | tr -d ' ')\" \"$(du -sh \"$DATA_SRC\" | cut -f1)\"\nelse\n printf \" %-25s %s\\n\" \"Frame data dir:\" \"not found — skipping\"\nfi\n\nshopt -s nullglob\nAUDIO_SRC_FILES=( \"$HOME/.screenpipe/data/\"*_\"${TARGET_DATE}\"_*.mp4 )\nshopt -u nullglob\nif [ ${#AUDIO_SRC_FILES[@]} -gt 0 ]; then\n AUDIO_TOTAL=$(du -ch \"${AUDIO_SRC_FILES[@]}\" | tail -1 | cut -f1)\n printf \" %-25s %s (%s files, %s)\\n\" \"Audio files:\" \"OK\" \"${#AUDIO_SRC_FILES[@]}\" \"$AUDIO_TOTAL\"\nelse\n printf \" %-25s %s\\n\" \"Audio files:\" \"none for this date\"\nfi\n\n# ─── INSTALL REGISTRY ─────────────────────────────────────────────────────────\nsqlite3 \"$NAS_DB\" \"\n CREATE TABLE IF NOT EXISTS _installs (\n install_id TEXT PRIMARY KEY,\n install_seq INTEGER NOT NULL UNIQUE,\n first_seen TEXT NOT NULL DEFAULT (datetime('now')),\n last_seen TEXT NOT NULL DEFAULT (datetime('now'))\n );\n INSERT OR IGNORE INTO _installs(install_id, install_seq)\n VALUES ('$INSTALL_ID', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs));\n UPDATE _installs SET last_seen = datetime('now') WHERE install_id = '$INSTALL_ID';\n\"\n\n# ─── SCHEMA MIGRATION: install_id on base tables ─────────────────────────────\nif [ -f \"$NAS_DB\" ]; then\n step \"Schema migration: install_id on base tables\"\n LEGACY_TAG=\"legacy-$(date +%Y%m%d)\"\n LEGACY_USED=false\n for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n if ! table_exists \"$NAS_DB\" \"$tbl\"; then continue; fi\n HAS_COL=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';\")\n if [ \"$HAS_COL\" = \"0\" ]; then\n ROW_COUNT=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM $tbl;\")\n printf \" %-40s adding install_id, backfill %s rows → %s\\n\" \"$tbl\" \"$ROW_COUNT\" \"$LEGACY_TAG\"\n sqlite3 \"$NAS_DB\" \"ALTER TABLE $tbl ADD COLUMN install_id TEXT;\"\n sqlite3 \"$NAS_DB\" \"UPDATE $tbl SET install_id = '$LEGACY_TAG' WHERE install_id IS NULL;\"\n [ \"$ROW_COUNT\" -gt \"0\" ] && LEGACY_USED=true\n fi\n # vision_tags has a composite PK (vision_id, tag_id), no `id` column.\n if [ \"$tbl\" = \"vision_tags\" ]; then\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);\"\n else\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);\"\n fi\n done\n\n if [ \"$LEGACY_USED\" = true ]; then\n sqlite3 \"$NAS_DB\" \"\n INSERT OR IGNORE INTO _installs(install_id, install_seq, first_seen, last_seen)\n VALUES ('$LEGACY_TAG', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs), 'pre-migration', 'pre-migration');\n \"\n fi\nfi\n\n# ─── SCHEMA MIGRATION: rebuild FTS if old schema detected ────────────────────\n# Old schema either uses content='<table>' or lacks install_id UNINDEXED.\n# Either way: drop, recreate contentless, repopulate from base tables.\nif [ -f \"$NAS_DB\" ]; then\n OLD_FTS_DETECTED=false\n for fts in \"${FTS_TABLES[@]}\"; do\n if table_exists \"$NAS_DB\" \"$fts\"; then\n SCHEMA_SQL=$(sqlite3 \"$NAS_DB\" \"SELECT sql FROM sqlite_master WHERE name='$fts';\")\n if echo \"$SCHEMA_SQL\" | grep -q \"content=\" || ! echo \"$SCHEMA_SQL\" | grep -q \"install_id\"; then\n OLD_FTS_DETECTED=true\n break\n fi\n fi\n done\n\n if [ \"$OLD_FTS_DETECTED\" = true ]; then\n step \"FTS migration: rebuilding all FTS tables (one-time)\"\n log \"WARNING: this can take a while on a large archive.\"\n\n for fts in \"${FTS_TABLES[@]}\"; do\n if table_exists \"$NAS_DB\" \"$fts\"; then\n run_nas_sqlite \"drop old $fts\" \"DROP TABLE $fts;\"\n fi\n done\n\n run_nas_sqlite \"create new frames_fts\" \"\n CREATE VIRTUAL TABLE frames_fts USING fts5(\n full_text, app_name, window_name, browser_url,\n install_id UNINDEXED, source_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n run_nas_sqlite \"create new elements_fts\" \"\n CREATE VIRTUAL TABLE elements_fts USING fts5(\n text, role,\n install_id UNINDEXED, source_id UNINDEXED, frame_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n run_nas_sqlite \"create new ui_events_fts\" \"\n CREATE VIRTUAL TABLE ui_events_fts USING fts5(\n text_content, app_name, window_title, element_name,\n install_id UNINDEXED, source_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n run_nas_sqlite \"create new audio_transcriptions_fts\" \"\n CREATE VIRTUAL TABLE audio_transcriptions_fts USING fts5(\n transcription, device,\n speaker_id UNINDEXED, install_id UNINDEXED, source_id UNINDEXED,\n tokenize='unicode61'\n );\n \"\n\n if table_exists \"$NAS_DB\" \"frames\"; then\n run_nas_sqlite \"rebuild frames_fts\" \"\n INSERT INTO frames_fts(full_text, app_name, window_name, browser_url, install_id, source_id)\n SELECT full_text, app_name, window_name, browser_url, install_id, id\n FROM frames WHERE full_text IS NOT NULL AND full_text != '';\n \"\n fi\n if table_exists \"$NAS_DB\" \"elements\"; then\n run_nas_sqlite \"rebuild elements_fts\" \"\n INSERT INTO elements_fts(text, role, install_id, source_id, frame_id)\n SELECT text, role, install_id, id, frame_id\n FROM elements WHERE text IS NOT NULL;\n \"\n fi\n if table_exists \"$NAS_DB\" \"ui_events\"; then\n run_nas_sqlite \"rebuild ui_events_fts\" \"\n INSERT INTO ui_events_fts(text_content, app_name, window_title, element_name, install_id, source_id)\n SELECT text_content, app_name, window_title, element_name, install_id, id\n FROM ui_events WHERE text_content IS NOT NULL;\n \"\n fi\n if table_exists \"$NAS_DB\" \"audio_transcriptions\"; then\n run_nas_sqlite \"rebuild audio_transcriptions_fts\" \"\n INSERT INTO audio_transcriptions_fts(transcription, device, speaker_id, install_id, source_id)\n SELECT transcription, COALESCE(device,''), speaker_id, install_id, id\n FROM audio_transcriptions WHERE transcription IS NOT NULL AND transcription != '';\n \"\n fi\n log \"FTS rebuild complete.\"\n fi\nfi\n\n# ─── DB SYNC ──────────────────────────────────────────────────────────────────\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n step \"Counting source rows for $TARGET_DATE\"\n\n SRC_FRAMES=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM frames WHERE date(timestamp) = '$TARGET_DATE';\")\n SRC_ELEMENTS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_UI=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM ui_events WHERE date(timestamp) = '$TARGET_DATE';\")\n SRC_OCR=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_MEETINGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM meetings WHERE date(meeting_start) = '$TARGET_DATE';\")\n SRC_ACHUNKS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE';\")\n SRC_ATRANS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM audio_transcriptions WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_ATAGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM audio_tags WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_VTAGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM vision_tags WHERE vision_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');\")\n SRC_SPEAKERS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM speakers;\")\n SRC_SEMB=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM speaker_embeddings;\")\n SRC_TAGS=$(sqlite3 \"$DB_SRC\" \"SELECT COUNT(*) FROM tags;\")\n\n printf \" %-25s %s\\n\" \"frames:\" \"$SRC_FRAMES\"\n printf \" %-25s %s\\n\" \"elements:\" \"$SRC_ELEMENTS\"\n printf \" %-25s %s\\n\" \"ui_events:\" \"$SRC_UI\"\n printf \" %-25s %s\\n\" \"ocr_text:\" \"$SRC_OCR\"\n printf \" %-25s %s\\n\" \"meetings:\" \"$SRC_MEETINGS\"\n printf \" %-25s %s\\n\" \"audio_chunks:\" \"$SRC_ACHUNKS\"\n printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n printf \" %-25s %s\\n\" \"vision_tags:\" \"$SRC_VTAGS\"\n printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n printf \" %-25s %s (all-time)\\n\" \"tags:\" \"$SRC_TAGS\"\n\n if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n DB_ALREADY_SYNCED=true\n fi\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n run_sqlite_heredoc \"creating shared tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.tags AS SELECT * FROM main.tags WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.vision_tags AS SELECT * FROM main.vision_tags WHERE 0;\nDETACH nas;\n\"\n\n # Ensure install_id + unique index on freshly-created tables too.\n for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n HAS_COL=$(sqlite3 \"$NAS_DB\" \"SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';\")\n [ \"$HAS_COL\" = \"0\" ] && sqlite3 \"$NAS_DB\" \"ALTER TABLE $tbl ADD COLUMN install_id TEXT;\"\n if [ \"$tbl\" = \"vision_tags\" ]; then\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);\"\n else\n sqlite3 \"$NAS_DB\" \"CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);\"\n fi","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-4447023621818030276
|
8978409296724192209
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
screenpipe
!
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_fts_migrate.sh, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
#!/bin/bash
# screenpipe_sync.sh
# Syncs Screenpipe SQLite data (vision + audio) to a NAS archive database.
# Append-only, no deletions.
#
# Multi-install safety
# --------------------
# Source IDs reset to 1 on every screenpipe reinstall, so the NAS archive
# must not rely on source `id` being globally unique.
#
# Base tables:
# Every synced table has an `install_id` column. Logical primary key is
# (install_id, id), enforced by a UNIQUE INDEX. install_id is a UUID kept
# in ~/.screenpipe/.sync_install_id; wiping ~/.screenpipe/ (which a
# reinstall does) discards it, and the next run generates a fresh one.
#
# FTS tables:
# Fully contentless. `install_id` and `source_id` are stored as UNINDEXED
# columns and SQLite auto-assigns rowids, so source-id collisions across
# installs are impossible. Queries JOIN back to the base table on
# (install_id, source_id).
#
# First-run migration:
# If old FTS tables (which used source `id` as `rowid`) are detected,
# they are dropped and rebuilt from the base tables. One-time slow step;
# subsequent runs are normal.
#
# Schema-drift tolerant:
# New columns added upstream get ALTER TABLE'd in. Inserts use explicit
# column lists so positional drift is impossible.
#
# Usage
# -----
# ./screenpipe_sync.sh # syncs yesterday
# ./screenpipe_sync.sh 2026-04-15 # syncs a specific date
# ./screenpipe_sync.sh today # syncs today so far
# ./screenpipe_sync.sh --reset-install-id # rotate install_id and exit
# ./screenpipe_sync.sh --show-install-id # print install_id and exit
# ./screenpipe_sync.sh --list-installs # print all known installs
set -euo pipefail
# ─── CONFIG ───────────────────────────────────────────────────────────────────
DB_SRC="${SCREENPIPE_DB:-$HOME/.screenpipe/db.sqlite}"
NAS_MOUNT="${NAS_MOUNT:-/Volumes/screenpipe}"
NAS_DB="$NAS_MOUNT/archive.db"
NAS_DATA="$NAS_MOUNT/data"
LOG_FILE="$HOME/.screenpipe/sync.log"
INSTALL_ID_FILE="$HOME/.screenpipe/.sync_install_id"
# Order matters: parents before children for FK-ish references.
VISION_TABLES=(video_chunks frames elements ocr_text ui_events meetings)
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags)
SHARED_TABLES=(tags vision_tags)
ALL_SYNC_TABLES=("${VISION_TABLES[@]}" "${AUDIO_TABLES[@]}" "${SHARED_TABLES[@]}")
FTS_TABLES=(frames_fts elements_fts ui_events_fts audio_transcriptions_fts)
# ──────────────────────────────────────────────────────────────────────────────
SCRIPT_START=$(date +%s)
# ─── HELPERS ──────────────────────────────────────────────────────────────────
log() {
local msg="[$(date '+%Y-%m-%d %H:%M:%S')] $*"
echo "$msg" | tee -a "$LOG_FILE"
}
step() {
local now=$(date +%s)
local elapsed=$(( now - SCRIPT_START ))
printf "\n[+%02dm%02ds] ▶ %s\n" "$(( elapsed / 60 ))" "$(( elapsed % 60 ))" "$*" | tee -a "$LOG_FILE"
}
run_sqlite_heredoc() {
local label="$1"
local sql="$2"
local start=$(date +%s)
printf " %-40s " "$label"
sqlite3 "$DB_SRC" <<< "$sql" &
local pid=$!
local spin=[PASSWORD] '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
local i=0
while kill -0 "$pid" 2>/dev/null; do
printf "\r %-40s %s " "$label" "${spin[$i]}"
i=$(( (i + 1) % 10 ))
sleep 0.2
done
wait "$pid"
local rc=$?
if [ $rc -ne 0 ]; then
printf "\r %-40s ✗ FAILED\n" "$label" | tee -a "$LOG_FILE"
exit $rc
fi
local dur=$(( $(date +%s) - start ))
printf "\r %-40s ✓ %dm%02ds\n" "$label" "$(( dur / 60 ))" "$(( dur % 60 ))" | tee -a "$LOG_FILE"
}
run_nas_sqlite() {
# Same spinner pattern, runs on the NAS DB directly. For migrations that
# don't need the source DB attached.
local label="$1"
local sql="$2"
local start=$(date +%s)
printf " %-40s " "$label"
sqlite3 "$NAS_DB" <<< "$sql" &
local pid=$!
local spin=[PASSWORD] '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
local i=0
while kill -0 "$pid" 2>/dev/null; do
printf "\r %-40s %s " "$label" "${spin[$i]}"
i=$(( (i + 1) % 10 ))
sleep 0.2
done
wait "$pid"
local rc=$?
if [ $rc -ne 0 ]; then
printf "\r %-40s ✗ FAILED\n" "$label" | tee -a "$LOG_FILE"
exit $rc
fi
local dur=$(( $(date +%s) - start ))
printf "\r %-40s ✓ %dm%02ds\n" "$label" "$(( dur / 60 ))" "$(( dur % 60 ))" | tee -a "$LOG_FILE"
}
check() {
local label="$1" got="$2" expected="$3"
if [ "$got" -eq "$expected" ]; then
printf " %-25s %s / %s ✓\n" "$label:" "$got" "$expected"
else
printf " %-25s %s / %s ✗ MISMATCH\n" "$label:" "$got" "$expected"
fi
}
table_columns_with_types() {
sqlite3 "$1" "PRAGMA table_info($2);" | awk -F'|' '{print $2 "|" $3}'
}
table_columns() {
sqlite3 "$1" "PRAGMA table_info($2);" | awk -F'|' '{print $2}'
}
table_exists() {
local count
count=$(sqlite3 "$1" "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='$2';")
[ "$count" -gt 0 ]
}
ensure_columns() {
local table="$1"
local label="schema: $table"
printf " %-40s " "$label"
if ! table_exists "$DB_SRC" "$table"; then
printf "✗ source missing — skipping\n"
return 0
fi
if ! table_exists "$NAS_DB" "$table"; then
printf "✓ fresh (created above)\n"
return 0
fi
local src_cols nas_cols
src_cols=$(table_columns_with_types "$DB_SRC" "$table")
nas_cols=$(table_columns "$NAS_DB" "$table")
local added=0 added_names=""
while IFS='|' read -r name type; do
[ -z "$name" ] && continue
if ! echo "$nas_cols" | grep -Fxq "$name"; then
sqlite3 "$NAS_DB" "ALTER TABLE $table ADD COLUMN \"$name\" $type;"
added=$((added + 1))
added_names="$added_names $name"
fi
done <<< "$src_cols"
if [ "$added" -gt 0 ]; then
printf "✓ added %d:%s\n" "$added" "$added_names"
else
printf "✓ in sync\n"
fi
}
build_col_list() {
local table="$1" alias="${2:-}" prefix=""
[ -n "$alias" ] && prefix="${alias}."
table_columns "$DB_SRC" "$table" | awk 'NF' | awk -v p="$prefix" '{print p "\"" $0 "\""}' | paste -sd, -
}
# ──────────────────────────────────────────────────────────────────────────────
# ─── ARG HANDLING ─────────────────────────────────────────────────────────────
case "${1:-}" in
--reset-install-id)
if [ -f "$INSTALL_ID_FILE" ]; then
OLD=$(cat "$INSTALL_ID_FILE")
rm -f "$INSTALL_ID_FILE"
echo "Removed install_id: $OLD"
else
echo "No install_id file at $INSTALL_ID_FILE"
fi
echo "A new install_id will be generated on the next sync run."
exit 0
;;
--show-install-id)
if [ -f "$INSTALL_ID_FILE" ]; then cat "$INSTALL_ID_FILE"; else echo "(none)"; fi
exit 0
;;
--list-installs)
if [ -f "$NAS_DB" ] && table_exists "$NAS_DB" "_installs"; then
sqlite3 -header -column "$NAS_DB" "SELECT install_id, install_seq, first_seen, last_seen FROM _installs ORDER BY install_seq;"
else
echo "No _installs table on NAS yet."
fi
exit 0
;;
esac
if [ "${1:-}" = "today" ]; then
TARGET_DATE=$(date +%Y-%m-%d)
elif [ -n "${1:-}" ]; then
TARGET_DATE="$1"
if ! [[ "$TARGET_DATE" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
echo "ERROR: Invalid date. Use YYYY-MM-DD, 'today', or no argument for yesterday."
exit 1
fi
else
TARGET_DATE=$(date -v-1d +%Y-%m-%d)
fi
# ─── INSTALL ID ───────────────────────────────────────────────────────────────
INSTALL_ID=""
if [ -f "$INSTALL_ID_FILE" ]; then
INSTALL_ID=$(tr -d '[:space:]' < "$INSTALL_ID_FILE")
fi
if [ -z "$INSTALL_ID" ]; then
INSTALL_ID=$(uuidgen | tr 'A-Z' 'a-z')
echo "$INSTALL_ID" > "$INSTALL_ID_FILE"
log "Generated new install_id: $INSTALL_ID"
fi
log "========================================"
log "Screenpipe sync starting for: $TARGET_DATE"
log "install_id: $INSTALL_ID"
log "========================================"
# ─── PREFLIGHT ────────────────────────────────────────────────────────────────
step "Preflight checks"
[ -f "$DB_SRC" ] || { log "ERROR: Source DB not found at $DB_SRC"; exit 1; }
printf " %-25s %s (%s)\n" "Source DB:" "OK" "$(du -sh "$DB_SRC" | cut -f1)"
[ -d "$NAS_MOUNT" ] || { log "ERROR: NAS not mounted at $NAS_MOUNT"; exit 1; }
printf " %-25s %s\n" "NAS mount:" "OK $NAS_MOUNT"
DB_ALREADY_SYNCED=false
if [ -f "$NAS_DB" ] && table_exists "$NAS_DB" "frames"; then
HAS_INSTALL_COL=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM pragma_table_info('frames') WHERE name='install_id';")
if [ "$HAS_INSTALL_COL" -gt "0" ]; then
EXISTING=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE' AND install_id='$INSTALL_ID';")
else
EXISTING=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM frames WHERE date(timestamp)='$TARGET_DATE';")
fi
if [ "$EXISTING" -gt "0" ]; then
log "Date $TARGET_DATE / install $INSTALL_ID already has $EXISTING frames — skipping DB sync"
DB_ALREADY_SYNCED=true
else
printf " %-25s %s (%s)\n" "Archive DB:" "exists" "$(du -sh "$NAS_DB" | cut -f1)"
fi
else
printf " %-25s %s\n" "Archive DB:" "will be created"
fi
DATA_SRC="$HOME/.screenpipe/data/data/$TARGET_DATE"
if [ -d "$DATA_SRC" ]; then
printf " %-25s %s (%s files, %s)\n" "Frame data dir:" "OK" "$(ls "$DATA_SRC" | wc -l | tr -d ' ')" "$(du -sh "$DATA_SRC" | cut -f1)"
else
printf " %-25s %s\n" "Frame data dir:" "not found — skipping"
fi
shopt -s nullglob
AUDIO_SRC_FILES=( "$HOME/.screenpipe/data/"*_"${TARGET_DATE}"_*.mp4 )
shopt -u nullglob
if [ ${#AUDIO_SRC_FILES[@]} -gt 0 ]; then
AUDIO_TOTAL=$(du -ch "${AUDIO_SRC_FILES[@]}" | tail -1 | cut -f1)
printf " %-25s %s (%s files, %s)\n" "Audio files:" "OK" "${#AUDIO_SRC_FILES[@]}" "$AUDIO_TOTAL"
else
printf " %-25s %s\n" "Audio files:" "none for this date"
fi
# ─── INSTALL REGISTRY ─────────────────────────────────────────────────────────
sqlite3 "$NAS_DB" "
CREATE TABLE IF NOT EXISTS _installs (
install_id TEXT PRIMARY KEY,
install_seq INTEGER NOT NULL UNIQUE,
first_seen TEXT NOT NULL DEFAULT (datetime('now')),
last_seen TEXT NOT NULL DEFAULT (datetime('now'))
);
INSERT OR IGNORE INTO _installs(install_id, install_seq)
VALUES ('$INSTALL_ID', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs));
UPDATE _installs SET last_seen = datetime('now') WHERE install_id = '$INSTALL_ID';
"
# ─── SCHEMA MIGRATION: install_id on base tables ─────────────────────────────
if [ -f "$NAS_DB" ]; then
step "Schema migration: install_id on base tables"
LEGACY_TAG="legacy-$(date +%Y%m%d)"
LEGACY_USED=false
for tbl in "${ALL_SYNC_TABLES[@]}"; do
if ! table_exists "$NAS_DB" "$tbl"; then continue; fi
HAS_COL=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';")
if [ "$HAS_COL" = "0" ]; then
ROW_COUNT=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM $tbl;")
printf " %-40s adding install_id, backfill %s rows → %s\n" "$tbl" "$ROW_COUNT" "$LEGACY_TAG"
sqlite3 "$NAS_DB" "ALTER TABLE $tbl ADD COLUMN install_id TEXT;"
sqlite3 "$NAS_DB" "UPDATE $tbl SET install_id = '$LEGACY_TAG' WHERE install_id IS NULL;"
[ "$ROW_COUNT" -gt "0" ] && LEGACY_USED=true
fi
# vision_tags has a composite PK (vision_id, tag_id), no `id` column.
if [ "$tbl" = "vision_tags" ]; then
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);"
else
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);"
fi
done
if [ "$LEGACY_USED" = true ]; then
sqlite3 "$NAS_DB" "
INSERT OR IGNORE INTO _installs(install_id, install_seq, first_seen, last_seen)
VALUES ('$LEGACY_TAG', (SELECT COALESCE(MAX(install_seq),0)+1 FROM _installs), 'pre-migration', 'pre-migration');
"
fi
fi
# ─── SCHEMA MIGRATION: rebuild FTS if old schema detected ────────────────────
# Old schema either uses content='<table>' or lacks install_id UNINDEXED.
# Either way: drop, recreate contentless, repopulate from base tables.
if [ -f "$NAS_DB" ]; then
OLD_FTS_DETECTED=false
for fts in "${FTS_TABLES[@]}"; do
if table_exists "$NAS_DB" "$fts"; then
SCHEMA_SQL=$(sqlite3 "$NAS_DB" "SELECT sql FROM sqlite_master WHERE name='$fts';")
if echo "$SCHEMA_SQL" | grep -q "content=" || ! echo "$SCHEMA_SQL" | grep -q "install_id"; then
OLD_FTS_DETECTED=true
break
fi
fi
done
if [ "$OLD_FTS_DETECTED" = true ]; then
step "FTS migration: rebuilding all FTS tables (one-time)"
log "WARNING: this can take a while on a large archive."
for fts in "${FTS_TABLES[@]}"; do
if table_exists "$NAS_DB" "$fts"; then
run_nas_sqlite "drop old $fts" "DROP TABLE $fts;"
fi
done
run_nas_sqlite "create new frames_fts" "
CREATE VIRTUAL TABLE frames_fts USING fts5(
full_text, app_name, window_name, browser_url,
install_id UNINDEXED, source_id UNINDEXED,
tokenize='unicode61'
);
"
run_nas_sqlite "create new elements_fts" "
CREATE VIRTUAL TABLE elements_fts USING fts5(
text, role,
install_id UNINDEXED, source_id UNINDEXED, frame_id UNINDEXED,
tokenize='unicode61'
);
"
run_nas_sqlite "create new ui_events_fts" "
CREATE VIRTUAL TABLE ui_events_fts USING fts5(
text_content, app_name, window_title, element_name,
install_id UNINDEXED, source_id UNINDEXED,
tokenize='unicode61'
);
"
run_nas_sqlite "create new audio_transcriptions_fts" "
CREATE VIRTUAL TABLE audio_transcriptions_fts USING fts5(
transcription, device,
speaker_id UNINDEXED, install_id UNINDEXED, source_id UNINDEXED,
tokenize='unicode61'
);
"
if table_exists "$NAS_DB" "frames"; then
run_nas_sqlite "rebuild frames_fts" "
INSERT INTO frames_fts(full_text, app_name, window_name, browser_url, install_id, source_id)
SELECT full_text, app_name, window_name, browser_url, install_id, id
FROM frames WHERE full_text IS NOT NULL AND full_text != '';
"
fi
if table_exists "$NAS_DB" "elements"; then
run_nas_sqlite "rebuild elements_fts" "
INSERT INTO elements_fts(text, role, install_id, source_id, frame_id)
SELECT text, role, install_id, id, frame_id
FROM elements WHERE text IS NOT NULL;
"
fi
if table_exists "$NAS_DB" "ui_events"; then
run_nas_sqlite "rebuild ui_events_fts" "
INSERT INTO ui_events_fts(text_content, app_name, window_title, element_name, install_id, source_id)
SELECT text_content, app_name, window_title, element_name, install_id, id
FROM ui_events WHERE text_content IS NOT NULL;
"
fi
if table_exists "$NAS_DB" "audio_transcriptions"; then
run_nas_sqlite "rebuild audio_transcriptions_fts" "
INSERT INTO audio_transcriptions_fts(transcription, device, speaker_id, install_id, source_id)
SELECT transcription, COALESCE(device,''), speaker_id, install_id, id
FROM audio_transcriptions WHERE transcription IS NOT NULL AND transcription != '';
"
fi
log "FTS rebuild complete."
fi
fi
# ─── DB SYNC ──────────────────────────────────────────────────────────────────
if [ "$DB_ALREADY_SYNCED" = false ]; then
step "Counting source rows for $TARGET_DATE"
SRC_FRAMES=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM frames WHERE date(timestamp) = '$TARGET_DATE';")
SRC_ELEMENTS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');")
SRC_UI=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM ui_events WHERE date(timestamp) = '$TARGET_DATE';")
SRC_OCR=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');")
SRC_MEETINGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM meetings WHERE date(meeting_start) = '$TARGET_DATE';")
SRC_ACHUNKS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE';")
SRC_ATRANS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM audio_transcriptions WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');")
SRC_ATAGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM audio_tags WHERE audio_chunk_id IN (SELECT id FROM audio_chunks WHERE date(timestamp) = '$TARGET_DATE');")
SRC_VTAGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM vision_tags WHERE vision_id IN (SELECT id FROM frames WHERE date(timestamp) = '$TARGET_DATE');")
SRC_SPEAKERS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM speakers;")
SRC_SEMB=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM speaker_embeddings;")
SRC_TAGS=$(sqlite3 "$DB_SRC" "SELECT COUNT(*) FROM tags;")
printf " %-25s %s\n" "frames:" "$SRC_FRAMES"
printf " %-25s %s\n" "elements:" "$SRC_ELEMENTS"
printf " %-25s %s\n" "ui_events:" "$SRC_UI"
printf " %-25s %s\n" "ocr_text:" "$SRC_OCR"
printf " %-25s %s\n" "meetings:" "$SRC_MEETINGS"
printf " %-25s %s\n" "audio_chunks:" "$SRC_ACHUNKS"
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s\n" "vision_tags:" "$SRC_VTAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
printf " %-25s %s (all-time)\n" "tags:" "$SRC_TAGS"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating shared tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.tags AS SELECT * FROM main.tags WHERE 0;
CREATE TABLE IF NOT EXISTS nas.vision_tags AS SELECT * FROM main.vision_tags WHERE 0;
DETACH nas;
"
# Ensure install_id + unique index on freshly-created tables too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
HAS_COL=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM pragma_table_info('$tbl') WHERE name='install_id';")
[ "$HAS_COL" = "0" ] && sqlite3 "$NAS_DB" "ALTER TABLE $tbl ADD COLUMN install_id TEXT;"
if [ "$tbl" = "vision_tags" ]; then
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_vision_tags_install_pk ON vision_tags(install_id, vision_id, tag_id);"
else
sqlite3 "$NAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(install_id, id);"
fi...
|
27835
|
NULL
|
NULL
|
NULL
|
|
27838
|
1138
|
59
|
2026-05-12T14:41:00.853957+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596860853_m2.jpg...
|
Code
|
screenpipe_sync.sh — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
screenpipe
!
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_fts_migrate.sh, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"bounds":{"left":0.0003324468,"top":0.047885075,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.057462092,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"bounds":{"left":0.009973404,"top":0.06863528,"width":0.0016622341,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"bounds":{"left":0.0003324468,"top":0.08619314,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.09577015,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G)","depth":19,"bounds":{"left":0.0003324468,"top":0.1245012,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.13407822,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"bounds":{"left":0.0003324468,"top":0.16280925,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.17238627,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"bounds":{"left":0.0003324468,"top":0.20111732,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.21069433,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"bounds":{"left":0.0003324468,"top":0.23942538,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.2490024,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.009640957,"top":0.2601756,"width":0.0023271276,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"bounds":{"left":0.0003324468,"top":0.27773345,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"bounds":{"left":0.0003324468,"top":0.3160415,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"bounds":{"left":0.022938829,"top":0.047885075,"width":0.018949468,"height":0.02793296},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.018949468,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025265958,"top":0.056664005,"width":0.01662234,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.016289894,"top":0.07581804,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.07821229,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.022938829,"top":0.07581804,"width":0.045877658,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"bounds":{"left":0.022938829,"top":0.079010375,"width":0.045877658,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.07980846,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":20,"bounds":{"left":0.025598405,"top":0.07980846,"width":0.043218084,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":27,"bounds":{"left":0.018949468,"top":0.09577015,"width":0.022273935,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.018949468,"top":0.096568234,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.021276595,"top":0.096568234,"width":0.019946808,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"!","depth":27,"bounds":{"left":0.1087101,"top":0.096568234,"width":0.0016622341,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9473264,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.9497207,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"bounds":{"left":0.022938829,"top":0.9473264,"width":0.01662234,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.01662234,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.0029920214,"height":0.0103751}},{"char_start":1,"char_count":6,"bounds":{"left":0.025930852,"top":0.95131683,"width":0.013630319,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9648843,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.96727854,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"bounds":{"left":0.022938829,"top":0.9648843,"width":0.01761968,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.01761968,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025598405,"top":0.9688747,"width":0.015292553,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"bounds":{"left":0.116023935,"top":0.047885075,"width":0.055851065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"bounds":{"left":0.171875,"top":0.047885075,"width":0.06050532,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_fts_migrate.sh, Editor Group 1","depth":28,"bounds":{"left":0.23204787,"top":0.047885075,"width":0.07446808,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"bounds":{"left":0.30618352,"top":0.047885075,"width":0.0787899,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"bounds":{"left":0.38464096,"top":0.047885075,"width":0.040226065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"bounds":{"left":0.4245346,"top":0.047885075,"width":0.040226065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
7375427070426310101
|
-7315721693044764831
|
click
|
hybrid
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
screenpipe
!
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_fts_migrate.sh, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Activity°MorerireroxToolsHelpcalVIewMistorJiminny ...TMore unreads# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...o Direct messagesD. Galya Dimitrova. Steliyan Georgiev E&. Petko Kashinski. Aneliya Angelova •a. Stefka StoyanovaC. Vasil Vasilev.. Nikolay Ivanov3 Aneliva Angelova, .•.. Stoyan Tanev&. Lukas Kovalik y...::: Apps© Jira Cloud• ToastbookmarksProtllesWindowJY-207... Sira Clo...Automated report - sentryJira Cloud CDetailsConversations 4DescriptionWe still get Sentry error when attempting to sendreport resuit witnout per un.•vve need to mark such a report as Tallea so luis not picked up for sending again in one hour•nx the issue so we can have a generatedreport for the customenStatusBack ogAssigneeNoneKeporterlukas KovallkWork TypeBugPriorityOpen in Jira©ProfileController.phpc) Searchcontroller.ohr> D Settings→E Telenhonv~ D Webhook• M Hubsoot> D IntegrationAppSubsc 136(C) ActivitvProviderCont(C) ActivitvtranscriotionC) BaseController.oho© CalendarController.pC) RenortController nho* SoftphoneWebhookCC. AbstractController nhn• TrackAutomatedReportGeneratedEvent.phpPlaybackController.phpcontroLlerest: JsonkesponsegetFrequency() === AutomatedReportsService::FREQUENCY_ONE_OFF) €batch(new SendReportJob($reportUuid));port if it set and generatedSreportPodcast->getStatus() === AutomatedReportResult::STATUS_GENERATED) {•dispatch(new SendReportJob(reportUuid: $reportPodcast->getUuid()));or aucomaced reporusгдескерогс)иsnlovaradoe саuсomасeакерort, «rерorc•>pushlovatadoa saucomatedkeport, sreportroacast^OG_PREFIX . ' Triggering Event for UserPilot tracking', InatedReport->getUuid(),rtuuid.spatchinew AutomatedRedortGeneratedSautomatedRenort:h $exception) {LOG_PREFIX •" Report not found', L›detMessade Oi.istatus' →> 'error', 'message' => 'Report not found'], status: 404);SummariseLOG_PREFIX . ' Failed to update report status', ['error' => $exception-›getMessage(),return response()->json(['status' => 'error', 'message' => 'Failed to update report status'], status: 500);return response()->json(['status' => 'ok']);C PlanhaTypeError: League|Flysystem|FileCloudWatch | us-east-2O Pipelines - jiminny/app(UY-20725) (HubSpot) Optimise CIJY-20725 add HS rate limit handlin7 wuy-207731 User Pilot not rece X@Jy-20773 fix user pilot tracking for(JY-20776] Automated report - seJY-20725 add HS rate limit handlir$ (SRD-6793] Les Mills activity typePlatform Team - Backlog - Jirau Userpilot | Automated Report Gene(UY-20776] Automated report - ser-7 Platform Sorint 3 02 - Platform Te— New TabO JIMINNY@ For you(• Recent# Starred8$ Apps• Spaces+...Jiminny (New)ul Plarorm leamIID Capture TeamWD Enterprise Stability I…..I Processing TeamMl SE Kanban( Service-Desk= More spaces— FiltersB DashboardsC÷ OperationsI2 Confluence:ã Teams"= Customise sidebarB < 50hl# Retro - Platform • nowninny.atlassian.net/browse/JY-20773Q Search |+ CreateSpaces / Jiminny (New) / & JY-19240 / ** JY-20773User Pilot not receiving events on report generated~ Key detailsDescriptionWhen new report is generated User Pilot should receive tracking event. The event is still inpending meaning no new event has arrived.Steps to reproduceNoneActual outcomeAdd text IExpected outcomeAdd textSubtasksAdd subtaskLinked work itemsAdd linked work item~ ActivityAllComments HistoryWork logTtvBI..|Type /ại for Atlassian Intelligence or@ to mention and notify someone.CancelLukas Kovalik8 hours agoThe issue is most probably AutomatedReportGenerated event and not listener sendingdata to UP. The PR should address it.100% C42 & • Tue 12 May 17:07:25Ask RovoIn Devv* Improve Bug~ DetailsAssignee@ Lukas KovalikReporterLukas KovalikDevelopmentQ Open with VS Code8S Create branch4 commits1 pull request3 builds3 hours agoMERGEDLabelsNoneSub-ProductAdd optionsStory PointsOrganisationsNoneComponentsPlatformFix versionsNoneParent# JY-19240 AJ ReportsSprintPlatform Sprint 3 Q2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27839
|
1136
|
71
|
2026-05-12T14:41:16.260005+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596876260_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Cached Files:
2,54 GB
Swap Used:
3,24 GB
3,85 GB
Wired Memory:
Compressed:
3,38 GB
4,31 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,63 GB
21
21 959
402
_windowserver
Firefox
1,35 GB
66
1 095
40293
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
Postman Helper (Renderer)
1,28 GB
22
245
923
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
925,1 MB
20
243
78831
lukas
CursorUIViewService (Not Responding)
853,6 MB
5
23 039
997
lukas
Postman
711,2 MB
51
558
904
lukas
Firefox
536,7 MB
75
877
41355
lukas
FirefoxCP Isolated Web Content
519,8 MB
25
109
35819
lukas
screenpipe
513,8 MB
76
1 016
87031
lukas
Firefox GPU Helper
498,4 MB
25
257
40336
lukas
Notion Calendar Helper (Renderer)
410,4 MB
15
167
4705
lukas
Notion Calendar Helper (GPU)
379,8 MB
13
167
4703
lukas
FirefoxCP Isolated Web Content
350,6 MB
27
113
78039
lukas
Code Helper (Renderer)
339,8 MB
21
251
7902
lukas...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.05590278,"height":0.015555556},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"12,12 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.02465272,"height":0.015555556},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.052083332,"height":0.015555556},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,54 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.046180554,"height":0.015555556},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,24 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,85 GB","depth":3,"on_screen":true,"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"3,38 GB","depth":3,"on_screen":true,"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"4,31 GB","depth":3,"on_screen":true,"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"on_screen":true,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"2,63 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21 959","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,35 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"66","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 095","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40293","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,29 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,28 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"245","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"923","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,00 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"310","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"58585","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"925,1 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"243","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78831","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"CursorUIViewService (Not Responding)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"853,6 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"5","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23 039","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"997","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"711,2 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"51","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"558","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"904","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"536,7 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"75","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"877","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"519,8 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"109","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"513,8 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"76","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 016","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"498,4 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"257","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40336","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Calendar Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"410,4 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"15","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"167","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4705","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Calendar Helper (GPU)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"379,8 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"13","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"167","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4703","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"350,6 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"113","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78039","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Code Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"339,8 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"251","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"7902","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
8592954333949320107
|
1430225035629060559
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Cached Files:
2,54 GB
Swap Used:
3,24 GB
3,85 GB
Wired Memory:
Compressed:
3,38 GB
4,31 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,63 GB
21
21 959
402
_windowserver
Firefox
1,35 GB
66
1 095
40293
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
Postman Helper (Renderer)
1,28 GB
22
245
923
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
925,1 MB
20
243
78831
lukas
CursorUIViewService (Not Responding)
853,6 MB
5
23 039
997
lukas
Postman
711,2 MB
51
558
904
lukas
Firefox
536,7 MB
75
877
41355
lukas
FirefoxCP Isolated Web Content
519,8 MB
25
109
35819
lukas
screenpipe
513,8 MB
76
1 016
87031
lukas
Firefox GPU Helper
498,4 MB
25
257
40336
lukas
Notion Calendar Helper (Renderer)
410,4 MB
15
167
4705
lukas
Notion Calendar Helper (GPU)
379,8 MB
13
167
4703
lukas
FirefoxCP Isolated Web Content
350,6 MB
27
113
78039
lukas
Code Helper (Renderer)
339,8 MB
21
251
7902
lukas...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27840
|
1138
|
60
|
2026-05-12T14:41:16.280627+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596876280_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Cached Files:
2,54 GB
Swap Used:
3,24 GB
3,85 GB
Wired Memory:
Compressed:
3,38 GB
4,31 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,63 GB
21
21 959
402
_windowserver
Firefox
1,35 GB
66
1 095
40293
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
Postman Helper (Renderer)
1,28 GB
22
245
923
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
925,1 MB
20
243
78831
lukas
CursorUIViewService (Not Responding)
853,6 MB
5
23 039
997
lukas
Postman
711,2 MB
51
558
904
lukas
Firefox
536,7 MB
75
877
41355
lukas
FirefoxCP Isolated Web Content
519,8 MB
25
109
35819
lukas
screenpipe
513,8 MB
76
1 016
87031
lukas
Firefox GPU Helper
498,4 MB
25
257
40336
lukas
Notion Calendar Helper (Renderer)
410,4 MB
15
167
4705
lukas
Notion Calendar Helper (GPU)
379,8 MB
13
167
4703
lukas
FirefoxCP Isolated Web Content
350,6 MB
27
113
78039
lukas
Code Helper (Renderer)
339,8 MB
21
251...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"bounds":{"left":0.72107714,"top":0.9233839,"width":0.032081116,"height":0.011173184},"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9233839,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.72107714,"top":0.9393456,"width":0.026761968,"height":0.011173184},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"12,12 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9393456,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.72107714,"top":0.95530725,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,54 GB","depth":3,"bounds":{"left":0.7631317,"top":0.95530725,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.72107714,"top":0.97126895,"width":0.022107713,"height":0.011173184},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,24 GB","depth":3,"bounds":{"left":0.7631317,"top":0.97126895,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,85 GB","depth":3,"bounds":{"left":0.8272939,"top":0.93296087,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":0.7855718,"top":0.9473264,"width":0.027925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":0.7855718,"top":0.9616919,"width":0.02443484,"height":0.011173184},"on_screen":true,"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"3,38 GB","depth":3,"bounds":{"left":0.8272939,"top":0.9473264,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"4,31 GB","depth":3,"bounds":{"left":0.8272939,"top":0.9616919,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":0.7855718,"top":0.93296087,"width":0.024767287,"height":0.011173184},"on_screen":true,"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"bounds":{"left":0.65359044,"top":0.92178774,"width":0.06416223,"height":0.014365523},"on_screen":true,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5162899,"top":0.09098165,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"2,63 GB","depth":5,"bounds":{"left":0.6057181,"top":0.09098165,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"bounds":{"left":0.63264626,"top":0.09098165,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21 959","depth":5,"bounds":{"left":0.65824467,"top":0.09098165,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"bounds":{"left":0.67985374,"top":0.09098165,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.6988032,"top":0.09098165,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.110135674,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,35 GB","depth":5,"bounds":{"left":0.6057181,"top":0.110135674,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"66","depth":5,"bounds":{"left":0.63264626,"top":0.110135674,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 095","depth":5,"bounds":{"left":0.65824467,"top":0.110135674,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40293","depth":5,"bounds":{"left":0.67985374,"top":0.110135674,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.110135674,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.1292897,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,29 GB","depth":5,"bounds":{"left":0.6057181,"top":0.1292897,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"bounds":{"left":0.63264626,"top":0.1292897,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"bounds":{"left":0.65824467,"top":0.1292897,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"bounds":{"left":0.67985374,"top":0.1292897,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.1292897,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.14844373,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,28 GB","depth":5,"bounds":{"left":0.6057181,"top":0.14844373,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22","depth":5,"bounds":{"left":0.63264626,"top":0.14844373,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"245","depth":5,"bounds":{"left":0.65824467,"top":0.14844373,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"923","depth":5,"bounds":{"left":0.67985374,"top":0.14844373,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.14844373,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.16759777,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,00 GB","depth":5,"bounds":{"left":0.6057181,"top":0.16759777,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"bounds":{"left":0.63264626,"top":0.16759777,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"310","depth":5,"bounds":{"left":0.65824467,"top":0.16759777,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"58585","depth":5,"bounds":{"left":0.67985374,"top":0.16759777,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.16759777,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.1867518,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"925,1 MB","depth":5,"bounds":{"left":0.6057181,"top":0.1867518,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"bounds":{"left":0.63264626,"top":0.1867518,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"243","depth":5,"bounds":{"left":0.65824467,"top":0.1867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78831","depth":5,"bounds":{"left":0.67985374,"top":0.1867518,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.1867518,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"CursorUIViewService (Not Responding)","depth":5,"bounds":{"left":0.5162899,"top":0.20590582,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"853,6 MB","depth":5,"bounds":{"left":0.6057181,"top":0.20590582,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"5","depth":5,"bounds":{"left":0.63264626,"top":0.20590582,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23 039","depth":5,"bounds":{"left":0.65824467,"top":0.20590582,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"997","depth":5,"bounds":{"left":0.67985374,"top":0.20590582,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.20590582,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Postman","depth":5,"bounds":{"left":0.5162899,"top":0.22505985,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"711,2 MB","depth":5,"bounds":{"left":0.6057181,"top":0.22505985,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"51","depth":5,"bounds":{"left":0.63264626,"top":0.22505985,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"558","depth":5,"bounds":{"left":0.65824467,"top":0.22505985,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"904","depth":5,"bounds":{"left":0.67985374,"top":0.22505985,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.22505985,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.2442139,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"536,7 MB","depth":5,"bounds":{"left":0.6057181,"top":0.2442139,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"75","depth":5,"bounds":{"left":0.63264626,"top":0.2442139,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"877","depth":5,"bounds":{"left":0.65824467,"top":0.2442139,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"bounds":{"left":0.67985374,"top":0.2442139,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.2442139,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.26336792,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"519,8 MB","depth":5,"bounds":{"left":0.6057181,"top":0.26336792,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.63264626,"top":0.26336792,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"109","depth":5,"bounds":{"left":0.65824467,"top":0.26336792,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"bounds":{"left":0.67985374,"top":0.26336792,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.26336792,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"bounds":{"left":0.5162899,"top":0.28252193,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"513,8 MB","depth":5,"bounds":{"left":0.6057181,"top":0.28252193,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"76","depth":5,"bounds":{"left":0.63264626,"top":0.28252193,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 016","depth":5,"bounds":{"left":0.65824467,"top":0.28252193,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"bounds":{"left":0.67985374,"top":0.28252193,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.28252193,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.30167598,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"498,4 MB","depth":5,"bounds":{"left":0.6057181,"top":0.30167598,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.63264626,"top":0.30167598,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"257","depth":5,"bounds":{"left":0.65824467,"top":0.30167598,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40336","depth":5,"bounds":{"left":0.67985374,"top":0.30167598,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.30167598,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Calendar Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.32083002,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"410,4 MB","depth":5,"bounds":{"left":0.6057181,"top":0.32083002,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"15","depth":5,"bounds":{"left":0.63264626,"top":0.32083002,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"167","depth":5,"bounds":{"left":0.65824467,"top":0.32083002,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4705","depth":5,"bounds":{"left":0.67985374,"top":0.32083002,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.32083002,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Calendar Helper (GPU)","depth":5,"bounds":{"left":0.5162899,"top":0.33998403,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"379,8 MB","depth":5,"bounds":{"left":0.6057181,"top":0.33998403,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"13","depth":5,"bounds":{"left":0.63264626,"top":0.33998403,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"167","depth":5,"bounds":{"left":0.65824467,"top":0.33998403,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4703","depth":5,"bounds":{"left":0.67985374,"top":0.33998403,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.33998403,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.35913807,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"350,6 MB","depth":5,"bounds":{"left":0.6057181,"top":0.35913807,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"27","depth":5,"bounds":{"left":0.63264626,"top":0.35913807,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"113","depth":5,"bounds":{"left":0.65824467,"top":0.35913807,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78039","depth":5,"bounds":{"left":0.67985374,"top":0.35913807,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.35913807,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Code Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.3782921,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"339,8 MB","depth":5,"bounds":{"left":0.6057181,"top":0.3782921,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"bounds":{"left":0.63264626,"top":0.3782921,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"251","depth":5,"bounds":{"left":0.65824467,"top":0.3782921,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
3044278062092411261
|
1430225035629061069
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,12 GB
Cached Files:
2,54 GB
Swap Used:
3,24 GB
3,85 GB
Wired Memory:
Compressed:
3,38 GB
4,31 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,63 GB
21
21 959
402
_windowserver
Firefox
1,35 GB
66
1 095
40293
lukas
Firefox GPU Helper
1,29 GB
33
269
41400
lukas
Postman Helper (Renderer)
1,28 GB
22
245
923
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
925,1 MB
20
243
78831
lukas
CursorUIViewService (Not Responding)
853,6 MB
5
23 039
997
lukas
Postman
711,2 MB
51
558
904
lukas
Firefox
536,7 MB
75
877
41355
lukas
FirefoxCP Isolated Web Content
519,8 MB
25
109
35819
lukas
screenpipe
513,8 MB
76
1 016
87031
lukas
Firefox GPU Helper
498,4 MB
25
257
40336
lukas
Notion Calendar Helper (Renderer)
410,4 MB
15
167
4705
lukas
Notion Calendar Helper (GPU)
379,8 MB
13
167
4703
lukas
FirefoxCP Isolated Web Content
350,6 MB
27
113
78039
lukas
Code Helper (Renderer)
339,8 MB
21
251...
|
27838
|
NULL
|
NULL
|
NULL
|
|
27841
|
1136
|
72
|
2026-05-12T14:41:17.857897+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596877857_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Cached Files:
2,52 GB
Swap Used:
3,23 GB...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.05590278,"height":0.015555556},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"12,22 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.02465272,"height":0.015555556},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.052083332,"height":0.015555556},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,52 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.046180554,"height":0.015555556},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,23 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"}]...
|
-5007051600615010615
|
242124593964396608
|
click
|
hybrid
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Cached Files:
2,52 GB
Swap Used:
3,23 GB
FirefoxFileProfiles• 0(allRetro - Platform • now100% L28•Tue 12 May 17:07:25EditViewHistoryBookmarks→ToolsWindowHelpmeet.google.com/bdj-nvho-bms?authuser=lukas.kovalik%40jiminny.comStefka Stoyanova (Presenting, annotating)8Stefka StoyanovaSpacesPlatfo@ SumQ SealREADY FIStellyan GeorgievNikolay IvanovJIMINNYQ Search• JY-20739 / @ JY-20625|~ ActivityAllCommentsHistoryWork log₴Add a comment…Suggest a reply...Status update…Thanks...Pro tip: press M to commentNikolay Yankov27 April 2026 at 17:23Niki N: 5Niki Y: 5Nikolay YankovNikolay Nikolov+ Create• Details |Story PointsOrganisationsPriorityFix versionsSprintDays $Need QAParentCanny LinksAneliya Angelova• UpgradeAsk Rovo© 2Lukas Kovalik8None= MediumNonePlatform Sprint 3 Q210Add option• Jy-20739 Jiminny MCP ConneOpen Canny Links8 11 =6:57CTOR5:07 PM | Retro - PlatformSộ3...
|
27839
|
NULL
|
NULL
|
NULL
|
|
27842
|
1138
|
61
|
2026-05-12T14:41:17.847562+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596877847_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Cached Files:
2,52 GB
Swap Used:
3,23 GB...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"bounds":{"left":0.72107714,"top":0.9233839,"width":0.032081116,"height":0.011173184},"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9233839,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.72107714,"top":0.9393456,"width":0.026761968,"height":0.011173184},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"12,22 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9393456,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.72107714,"top":0.95530725,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,52 GB","depth":3,"bounds":{"left":0.7631317,"top":0.95530725,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.72107714,"top":0.97126895,"width":0.022107713,"height":0.011173184},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,23 GB","depth":3,"bounds":{"left":0.7631317,"top":0.97126895,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:409"}]...
|
-5007051600615010615
|
242124593964396608
|
click
|
hybrid
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,22 GB
Cached Files:
2,52 GB
Swap Used:
3,23 GB
Activity°MorerireroxToolsHelpcalVIewMistorJiminny ...TMore unreads# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...o Direct messagesD. Galya Dimitrova. Steliyan Georgiev E&. Petko Kashinski. Aneliya Angelova •a. Stefka StoyanovaC. Vasil Vasilev.. Nikolay Ivanov3 Aneliva Angelova, .•.. Stoyan Tanev&. Lukas Kovalik y...::: Apps© Jira Cloud• ToastbookmarksProtllesWindowJY-207... Sira Clo...Automated report - sentryJira Cloud CDetailsConversations 4DescriptionWe still get Sentry error when attempting to sendreport resuit witnout per un.•vve need to mark such a report as Tallea so luis not picked up for sending again in one hour•nx the issue so we can have a generatedreport for the customenStatusBack ogAssigneeNoneKeporterlukas KovallkWork TypeBugPriorityOpen in Jira©ProfileController.phpc) Searchcontroller.ohr> D Settings→E Telenhonv~ D Webhook• M Hubsoot> D IntegrationAppSubsc 136(C) ActivitvProviderCont(C) ActivitvtranscriotionC) BaseController.oho© CalendarController.pC) RenortController nho* SoftphoneWebhookCC. AbstractController nhn• TrackAutomatedReportGeneratedEvent.phpPlaybackController.phpcontroLlerest: JsonkesponsegetFrequency() === AutomatedReportsService::FREQUENCY_ONE_OFF) €batch(new SendReportJob($reportUuid));port if it set and generatedSreportPodcast->getStatus() === AutomatedReportResult::STATUS_GENERATED) {•dispatch(new SendReportJob(reportUuid: $reportPodcast->getUuid()));or aucomaced reporusгдескерогс)иsnlovaradoe саuсomасeакерort, «rерorc•>pushlovatadoa saucomatedkeport, sreportroacast^OG_PREFIX . ' Triggering Event for UserPilot tracking', InatedReport->getUuid(),rtuuid.spatchinew AutomatedRedortGeneratedSautomatedRenort:h $exception) {LOG_PREFIX •" Report not found', L›detMessade Oi.istatus' →> 'error', 'message' => 'Report not found'], status: 404);SummariseLOG_PREFIX . ' Failed to update report status', ['error' => $exception-›getMessage(),return response()->json(['status' => 'error', 'message' => 'Failed to update report status'], status: 500);return response()->json(['status' => 'ok']);C PlanhaTypeError: League|Flysystem|FileCloudWatch | us-east-2O Pipelines - jiminny/app(UY-20725) (HubSpot) Optimise CIJY-20725 add HS rate limit handlin7 wuy-207731 User Pilot not rece X@Jy-20773 fix user pilot tracking for(JY-20776] Automated report - seJY-20725 add HS rate limit handlir$ (SRD-6793] Les Mills activity typePlatform Team - Backlog - Jirau Userpilot | Automated Report Gene(UY-20776] Automated report - ser-7 Platform Sorint 3 02 - Platform Te— New TabO JIMINNY@ For you(• Recent# Starred8$ Apps• Spaces+...Jiminny (New)ul Plarorm leamIID Capture TeamWD Enterprise Stability I…..I Processing TeamMl SE Kanban( Service-Desk= More spaces— FiltersB DashboardsC÷ OperationsI2 Confluence:ã Teams"= Customise sidebarB < 50hl# Retro - Platform • nowninny.atlassian.net/browse/JY-20773Q Search |+ CreateSpaces / Jiminny (New) / & JY-19240 / ** JY-20773User Pilot not receiving events on report generated~ Key detailsDescriptionWhen new report is generated User Pilot should receive tracking event. The event is still inpending meaning no new event has arrived.Steps to reproduceNoneActual outcomeAdd text IExpected outcomeAdd textSubtasksAdd subtaskLinked work itemsAdd linked work item~ ActivityAllComments HistoryWork logTtvBI..|Type /ại for Atlassian Intelligence or@ to mention and notify someone.CancelLukas Kovalik8 hours agoThe issue is most probably AutomatedReportGenerated event and not listener sendingdata to UP. The PR should address it.100% C42 & • Tue 12 May 17:07:25Ask RovoIn Devv* Improve Bug~ DetailsAssignee@ Lukas KovalikReporterLukas KovalikDevelopmentQ Open with VS Code8S Create branch4 commits1 pull request3 builds3 hours agoMERGEDLabelsNoneSub-ProductAdd optionsStory PointsOrganisationsNoneComponentsPlatformFix versionsNoneParent# JY-19240 AJ ReportsSprintPlatform Sprint 3 Q2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27843
|
1136
|
73
|
2026-05-12T14:41:23.475115+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596883475_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
32,08%
Processes:
Idle:
48,51%
19,41%
User:
System 32,08%
Processes:
Idle:
48,51%
19,41%
User:
System:
3 620
456
CPU LOAD
Threads:
replayd
58,1
8:55:43,43
26
0
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,12
20
0
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,35
25
0
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,23
33
0
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,47
615
0
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,11
82
0
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,38
74
0
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,61
11
0
Apple
0,0
0,00
361
root
mdbulkimport
7,9
20,43
3
0
Apple
0,0
0,00
899
lukas
mdbulkimport
7,0
10,01
3
0
Apple
0,0
0,00
2025...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"32,08%","depth":3,"bounds":{"left":0.90069443,"top":0.0,"width":0.031944446,"height":0.015555556},"on_screen":true,"automation_id":"_NS:297","role_description":"text"},{"role":"AXStaticText","text":"Processes:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.07152772,"height":0.015555556},"on_screen":true,"automation_id":"_NS:290","help_text":"Total number of processes on the system","role_description":"text"},{"role":"AXStaticText","text":"Idle:","depth":3,"bounds":{"left":0.8076389,"top":0.0,"width":0.018402778,"height":0.015555556},"on_screen":true,"automation_id":"_NS:283","help_text":"Percentage of total CPU that is not being utilised","role_description":"text"},{"role":"AXStaticText","text":"48,51%","depth":3,"bounds":{"left":0.90069443,"top":0.0,"width":0.031944446,"height":0.015555556},"on_screen":true,"automation_id":"_NS:274","role_description":"text"},{"role":"AXStaticText","text":"19,41%","depth":3,"on_screen":true,"automation_id":"_NS:262","role_description":"text"},{"role":"AXStaticText","text":"User:","depth":3,"bounds":{"left":0.8076389,"top":0.0,"width":0.022222223,"height":0.015555556},"on_screen":true,"automation_id":"_NS:255","help_text":"Percentage of total CPU utilised in performing tasks for the user","role_description":"text"},{"role":"AXStaticText","text":"System:","depth":3,"on_screen":true,"automation_id":"_NS:248","help_text":"Percentage of total CPU utilised in performing tasks for the system","role_description":"text"},{"role":"AXStaticText","text":"3 620","depth":3,"on_screen":true,"automation_id":"_NS:242","role_description":"text"},{"role":"AXStaticText","text":"456","depth":3,"on_screen":true,"automation_id":"_NS:235","role_description":"text"},{"role":"AXStaticText","text":"CPU LOAD","depth":3,"on_screen":true,"automation_id":"_NS:213","role_description":"text"},{"role":"AXStaticText","text":"Threads:","depth":3,"on_screen":true,"automation_id":"_NS:199","help_text":"Total number of threads on the system","role_description":"text"},{"role":"AXStaticText","text":"replayd","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"58,1","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"8:55:43,43","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"73608","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"39,6","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"15:45:11,12","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26,7","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"4:14:53,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"36,3","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"14:28,35","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"27,4","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"41:59,23","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11,6","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"11:22,12","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"kernel_task","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"20,5","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"38:30:25,47","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"615","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"19,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:48:51,11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"82","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:19,11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"17,2","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:05:46,38","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,04","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mds","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"9,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"22:52,61","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"361","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,9","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"20,43","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"899","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"10,01","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"2025","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
-9206692550948779829
|
3006976532965379638
|
click
|
accessibility
|
NULL
|
32,08%
Processes:
Idle:
48,51%
19,41%
User:
System 32,08%
Processes:
Idle:
48,51%
19,41%
User:
System:
3 620
456
CPU LOAD
Threads:
replayd
58,1
8:55:43,43
26
0
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,12
20
0
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,35
25
0
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,23
33
0
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,47
615
0
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,11
82
0
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,38
74
0
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,61
11
0
Apple
0,0
0,00
361
root
mdbulkimport
7,9
20,43
3
0
Apple
0,0
0,00
899
lukas
mdbulkimport
7,0
10,01
3
0
Apple
0,0
0,00
2025...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27844
|
1138
|
62
|
2026-05-12T14:41:23.454393+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596883454_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
32,08%
Processes:
Idle:
48,51%
19,41%
User:
System 32,08%
Processes:
Idle:
48,51%
19,41%
User:
System:
3 620
456
CPU LOAD
Threads:
replayd
58,1
8:55:43,43
26
0
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,12
20
0
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,35
25
0
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,23
33
0
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,47
615
0
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,11
82
0
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,38
74
0
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,61
11
0
Apple
0,0
0,00
361
root
mdbulkimport
7,9
20,43
3
0
Apple
0,0
0,00
899
lukas
mdbulkimport
7,0
10,01
3
0
Apple
0,0
0,00
2025
_spotlight
coreaudiod...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"32,08%","depth":3,"bounds":{"left":0.70146275,"top":0.95530725,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:297","role_description":"text"},{"role":"AXStaticText","text":"Processes:","depth":3,"bounds":{"left":0.78324467,"top":0.9393456,"width":0.02044548,"height":0.011173184},"on_screen":true,"automation_id":"_NS:290","help_text":"Total number of processes on the system","role_description":"text"},{"role":"AXStaticText","text":"Idle:","depth":3,"bounds":{"left":0.6569149,"top":0.95530725,"width":0.00880984,"height":0.011173184},"on_screen":true,"automation_id":"_NS:283","help_text":"Percentage of total CPU that is not being utilised","role_description":"text"},{"role":"AXStaticText","text":"48,51%","depth":3,"bounds":{"left":0.70146275,"top":0.9393456,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:274","role_description":"text"},{"role":"AXStaticText","text":"19,41%","depth":3,"bounds":{"left":0.70146275,"top":0.9233839,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:262","role_description":"text"},{"role":"AXStaticText","text":"User:","depth":3,"bounds":{"left":0.6569149,"top":0.9393456,"width":0.010638298,"height":0.011173184},"on_screen":true,"automation_id":"_NS:255","help_text":"Percentage of total CPU utilised in performing tasks for the user","role_description":"text"},{"role":"AXStaticText","text":"System:","depth":3,"bounds":{"left":0.6569149,"top":0.9233839,"width":0.015458777,"height":0.011173184},"on_screen":true,"automation_id":"_NS:248","help_text":"Percentage of total CPU utilised in performing tasks for the system","role_description":"text"},{"role":"AXStaticText","text":"3 620","depth":3,"bounds":{"left":0.8312833,"top":0.9233839,"width":0.011801862,"height":0.011173184},"on_screen":true,"automation_id":"_NS:242","role_description":"text"},{"role":"AXStaticText","text":"456","depth":3,"bounds":{"left":0.83477396,"top":0.9393456,"width":0.00831117,"height":0.011173184},"on_screen":true,"automation_id":"_NS:235","role_description":"text"},{"role":"AXStaticText","text":"CPU LOAD","depth":3,"bounds":{"left":0.7194149,"top":0.92178774,"width":0.061170213,"height":0.014365523},"on_screen":true,"automation_id":"_NS:213","role_description":"text"},{"role":"AXStaticText","text":"Threads:","depth":3,"bounds":{"left":0.78324467,"top":0.9233839,"width":0.016788565,"height":0.011173184},"on_screen":true,"automation_id":"_NS:199","help_text":"Total number of threads on the system","role_description":"text"},{"role":"AXStaticText","text":"replayd","depth":5,"bounds":{"left":0.5162899,"top":0.09098165,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"58,1","depth":5,"bounds":{"left":0.60272604,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"8:55:43,43","depth":5,"bounds":{"left":0.63331115,"top":0.09098165,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"bounds":{"left":0.66223407,"top":0.09098165,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.09098165,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.09098165,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"73608","depth":5,"bounds":{"left":0.82214093,"top":0.09098165,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.09098165,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5162899,"top":0.110135674,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"39,6","depth":5,"bounds":{"left":0.60272604,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"15:45:11,12","depth":5,"bounds":{"left":0.63331115,"top":0.110135674,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"bounds":{"left":0.66223407,"top":0.110135674,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.110135674,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.110135674,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26,7","depth":5,"bounds":{"left":0.7609708,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"4:14:53,00","depth":5,"bounds":{"left":0.7915558,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"bounds":{"left":0.82214093,"top":0.110135674,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.84109044,"top":0.110135674,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.1292897,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"36,3","depth":5,"bounds":{"left":0.60272604,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"14:28,35","depth":5,"bounds":{"left":0.63331115,"top":0.1292897,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.66223407,"top":0.1292897,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.1292897,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.1292897,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"bounds":{"left":0.82214093,"top":0.1292897,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.1292897,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.14844373,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"27,4","depth":5,"bounds":{"left":0.60272604,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"41:59,23","depth":5,"bounds":{"left":0.63331115,"top":0.14844373,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"bounds":{"left":0.66223407,"top":0.14844373,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.14844373,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.14844373,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11,6","depth":5,"bounds":{"left":0.7609708,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"11:22,12","depth":5,"bounds":{"left":0.7915558,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"bounds":{"left":0.82214093,"top":0.14844373,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.14844373,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"kernel_task","depth":5,"bounds":{"left":0.5162899,"top":0.16759777,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"20,5","depth":5,"bounds":{"left":0.60272604,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"38:30:25,47","depth":5,"bounds":{"left":0.63331115,"top":0.16759777,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"615","depth":5,"bounds":{"left":0.66223407,"top":0.16759777,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.16759777,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.16759777,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.82214093,"top":0.16759777,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"bounds":{"left":0.84109044,"top":0.16759777,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"bounds":{"left":0.5162899,"top":0.1867518,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"19,0","depth":5,"bounds":{"left":0.60272604,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:48:51,11","depth":5,"bounds":{"left":0.63331115,"top":0.1867518,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"82","depth":5,"bounds":{"left":0.66223407,"top":0.1867518,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.1867518,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.1867518,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:19,11","depth":5,"bounds":{"left":0.7915558,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"bounds":{"left":0.82214093,"top":0.1867518,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.1867518,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.20590582,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"17,2","depth":5,"bounds":{"left":0.60272604,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:05:46,38","depth":5,"bounds":{"left":0.63331115,"top":0.20590582,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"bounds":{"left":0.66223407,"top":0.20590582,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.20590582,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.20590582,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,04","depth":5,"bounds":{"left":0.7915558,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"bounds":{"left":0.82214093,"top":0.20590582,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.20590582,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mds","depth":5,"bounds":{"left":0.5162899,"top":0.22505985,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"9,0","depth":5,"bounds":{"left":0.60272604,"top":0.22505985,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"22:52,61","depth":5,"bounds":{"left":0.63331115,"top":0.22505985,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11","depth":5,"bounds":{"left":0.66223407,"top":0.22505985,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.22505985,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.22505985,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.22505985,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.22505985,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"361","depth":5,"bounds":{"left":0.82214093,"top":0.22505985,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"bounds":{"left":0.84109044,"top":0.22505985,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"bounds":{"left":0.5162899,"top":0.2442139,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,9","depth":5,"bounds":{"left":0.60272604,"top":0.2442139,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"20,43","depth":5,"bounds":{"left":0.63331115,"top":0.2442139,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"bounds":{"left":0.66223407,"top":0.2442139,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.2442139,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.2442139,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.2442139,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.2442139,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"899","depth":5,"bounds":{"left":0.82214093,"top":0.2442139,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.2442139,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"bounds":{"left":0.5162899,"top":0.26336792,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,0","depth":5,"bounds":{"left":0.60272604,"top":0.26336792,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"10,01","depth":5,"bounds":{"left":0.63331115,"top":0.26336792,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"bounds":{"left":0.66223407,"top":0.26336792,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.6878325,"top":0.26336792,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.26336792,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.26336792,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.26336792,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"2025","depth":5,"bounds":{"left":0.82214093,"top":0.26336792,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_spotlight","depth":5,"bounds":{"left":0.84109044,"top":0.26336792,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"coreaudiod","depth":5,"bounds":{"left":0.5162899,"top":0.28252193,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"}]...
|
1263134953630585791
|
2430375042972274230
|
click
|
accessibility
|
NULL
|
32,08%
Processes:
Idle:
48,51%
19,41%
User:
System 32,08%
Processes:
Idle:
48,51%
19,41%
User:
System:
3 620
456
CPU LOAD
Threads:
replayd
58,1
8:55:43,43
26
0
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,12
20
0
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,35
25
0
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,23
33
0
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,47
615
0
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,11
82
0
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,38
74
0
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,61
11
0
Apple
0,0
0,00
361
root
mdbulkimport
7,9
20,43
3
0
Apple
0,0
0,00
899
lukas
mdbulkimport
7,0
10,01
3
0
Apple
0,0
0,00
2025
_spotlight
coreaudiod...
|
27842
|
NULL
|
NULL
|
NULL
|
|
27845
|
1136
|
74
|
2026-05-12T14:41:24.484627+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596884484_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Cached Files:
2,84 GB
Swap Used:
3,21 GB
4,55 GB
Wired Memory:
Compressed:
3,26 GB
4,19 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,55 GB
20
22 418
402
_windowserver
Firefox
1,35 GB
65
1 092
40293
lukas
Firefox GPU Helper
1,28 GB
33
269
41400
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
926,0 MB
20
242
78831
lukas
CursorUIViewService (Not Responding)
853,5 MB
4
23 030
997
lukas
Firefox
536,7 MB
74
869
41355
lukas
screenpipe...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.05590278,"height":0.015555556},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"12,59 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.02465272,"height":0.015555556},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.052083332,"height":0.015555556},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,84 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.94166666,"top":0.0,"width":0.046180554,"height":0.015555556},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,21 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.029513836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"4,55 GB","depth":3,"on_screen":true,"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"3,26 GB","depth":3,"on_screen":true,"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"4,19 GB","depth":3,"on_screen":true,"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.076388836,"height":0.015555556},"on_screen":true,"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"on_screen":true,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"2,55 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22 418","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,35 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"65","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 092","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40293","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,28 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,00 GB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"310","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"58585","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Helper (Renderer)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"926,0 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"242","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78831","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"CursorUIViewService (Not Responding)","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"853,5 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23 030","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"997","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"536,7 MB","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"869","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"}]...
|
-6256241047319974659
|
-9022959653918470943
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Cached Files:
2,84 GB
Swap Used:
3,21 GB
4,55 GB
Wired Memory:
Compressed:
3,26 GB
4,19 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,55 GB
20
22 418
402
_windowserver
Firefox
1,35 GB
65
1 092
40293
lukas
Firefox GPU Helper
1,28 GB
33
269
41400
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
926,0 MB
20
242
78831
lukas
CursorUIViewService (Not Responding)
853,5 MB
4
23 030
997
lukas
Firefox
536,7 MB
74
869
41355
lukas
screenpipe...
|
27843
|
NULL
|
NULL
|
NULL
|
|
27846
|
1138
|
63
|
2026-05-12T14:41:24.484612+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596884484_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Cached Files:
2,84 GB
Swap Used:
3,21 GB
4,55 GB
Wired Memory:
Compressed:
3,26 GB
4,19 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,55 GB
20
22 418
402
_windowserver
Firefox
1,35 GB
65
1 092
40293
lukas
Firefox GPU Helper
1,28 GB
33
269
41400
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
926,0 MB
20
242
78831
lukas
CursorUIViewService (Not Responding)
853,5 MB
4
23 030
997
lukas
Firefox
536,7 MB
74
869
41355
lukas...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"bounds":{"left":0.72107714,"top":0.9233839,"width":0.032081116,"height":0.011173184},"on_screen":true,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9233839,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.72107714,"top":0.9393456,"width":0.026761968,"height":0.011173184},"on_screen":true,"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"12,59 GB","depth":3,"bounds":{"left":0.76080453,"top":0.9393456,"width":0.018118352,"height":0.011173184},"on_screen":true,"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.72107714,"top":0.95530725,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"2,84 GB","depth":3,"bounds":{"left":0.7631317,"top":0.95530725,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.72107714,"top":0.97126895,"width":0.022107713,"height":0.011173184},"on_screen":true,"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,21 GB","depth":3,"bounds":{"left":0.7631317,"top":0.97126895,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"4,55 GB","depth":3,"bounds":{"left":0.8272939,"top":0.93296087,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":0.7855718,"top":0.9473264,"width":0.027925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":0.7855718,"top":0.9616919,"width":0.02443484,"height":0.011173184},"on_screen":true,"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"3,26 GB","depth":3,"bounds":{"left":0.8272939,"top":0.9473264,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"4,19 GB","depth":3,"bounds":{"left":0.8272939,"top":0.9616919,"width":0.015791224,"height":0.011173184},"on_screen":true,"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":0.7855718,"top":0.93296087,"width":0.024767287,"height":0.011173184},"on_screen":true,"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"bounds":{"left":0.65359044,"top":0.92178774,"width":0.06416223,"height":0.014365523},"on_screen":true,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5162899,"top":0.09098165,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"2,55 GB","depth":5,"bounds":{"left":0.6057181,"top":0.09098165,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"bounds":{"left":0.63264626,"top":0.09098165,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22 418","depth":5,"bounds":{"left":0.65824467,"top":0.09098165,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"bounds":{"left":0.67985374,"top":0.09098165,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.6988032,"top":0.09098165,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.110135674,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,35 GB","depth":5,"bounds":{"left":0.6057181,"top":0.110135674,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"65","depth":5,"bounds":{"left":0.63264626,"top":0.110135674,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 092","depth":5,"bounds":{"left":0.65824467,"top":0.110135674,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"40293","depth":5,"bounds":{"left":0.67985374,"top":0.110135674,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.110135674,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.1292897,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,28 GB","depth":5,"bounds":{"left":0.6057181,"top":0.1292897,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"bounds":{"left":0.63264626,"top":0.1292897,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"269","depth":5,"bounds":{"left":0.65824467,"top":0.1292897,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"bounds":{"left":0.67985374,"top":0.1292897,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.1292897,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Slack Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.14844373,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,00 GB","depth":5,"bounds":{"left":0.6057181,"top":0.14844373,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"bounds":{"left":0.63264626,"top":0.14844373,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"310","depth":5,"bounds":{"left":0.65824467,"top":0.14844373,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"58585","depth":5,"bounds":{"left":0.67985374,"top":0.14844373,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.14844373,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Notion Helper (Renderer)","depth":5,"bounds":{"left":0.5162899,"top":0.16759777,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"926,0 MB","depth":5,"bounds":{"left":0.6057181,"top":0.16759777,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"bounds":{"left":0.63264626,"top":0.16759777,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"242","depth":5,"bounds":{"left":0.65824467,"top":0.16759777,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"78831","depth":5,"bounds":{"left":0.67985374,"top":0.16759777,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.16759777,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"CursorUIViewService (Not Responding)","depth":5,"bounds":{"left":0.5162899,"top":0.1867518,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"853,5 MB","depth":5,"bounds":{"left":0.6057181,"top":0.1867518,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"4","depth":5,"bounds":{"left":0.63264626,"top":0.1867518,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23 030","depth":5,"bounds":{"left":0.65824467,"top":0.1867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"997","depth":5,"bounds":{"left":0.67985374,"top":0.1867518,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.1867518,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.20590582,"width":0.08377659,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"536,7 MB","depth":5,"bounds":{"left":0.6057181,"top":0.20590582,"width":0.021276595,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"bounds":{"left":0.63264626,"top":0.20590582,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"869","depth":5,"bounds":{"left":0.65824467,"top":0.20590582,"width":0.015957447,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"bounds":{"left":0.67985374,"top":0.20590582,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.6988032,"top":0.20590582,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
-3514676694159944893
|
-9022959512184549403
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Ca Physical Memory:
16,00 GB
Memory Used:
12,59 GB
Cached Files:
2,84 GB
Swap Used:
3,21 GB
4,55 GB
Wired Memory:
Compressed:
3,26 GB
4,19 GB
App Memory:
MEMORY PRESSURE
WindowServer
2,55 GB
20
22 418
402
_windowserver
Firefox
1,35 GB
65
1 092
40293
lukas
Firefox GPU Helper
1,28 GB
33
269
41400
lukas
Slack Helper (Renderer)
1,00 GB
23
310
58585
lukas
Notion Helper (Renderer)
926,0 MB
20
242
78831
lukas
CursorUIViewService (Not Responding)
853,5 MB
4
23 030
997
lukas
Firefox
536,7 MB
74
869
41355
lukas...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27847
|
1136
|
75
|
2026-05-12T14:41:26.362833+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596886362_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
38,18%
Processes:
Idle:
42,67%
19,16%
User:
System 38,18%
Processes:
Idle:
42,67%
19,16%
User:
System:
3 724
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,63
11
5
Apple
0,0
0,00
361
root
mdbulkimport
7,9
20,43
3
0
Apple
0,0
0,00
899
lukas
mdbulkimport
7,0
10,01
2
0
Apple
0,0
0,00
2025
_spotlight
coreaudiod
5,5
3:11:03,11
22
192
Apple
0,0...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"38,18%","depth":3,"bounds":{"left":0.90069443,"top":0.0,"width":0.031944446,"height":0.015555556},"on_screen":true,"automation_id":"_NS:297","role_description":"text"},{"role":"AXStaticText","text":"Processes:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.07152772,"height":0.015555556},"on_screen":true,"automation_id":"_NS:290","help_text":"Total number of processes on the system","role_description":"text"},{"role":"AXStaticText","text":"Idle:","depth":3,"bounds":{"left":0.8076389,"top":0.0,"width":0.018402778,"height":0.015555556},"on_screen":true,"automation_id":"_NS:283","help_text":"Percentage of total CPU that is not being utilised","role_description":"text"},{"role":"AXStaticText","text":"42,67%","depth":3,"bounds":{"left":0.90069443,"top":0.0,"width":0.031944446,"height":0.015555556},"on_screen":true,"automation_id":"_NS:274","role_description":"text"},{"role":"AXStaticText","text":"19,16%","depth":3,"on_screen":true,"automation_id":"_NS:262","role_description":"text"},{"role":"AXStaticText","text":"User:","depth":3,"bounds":{"left":0.8076389,"top":0.0,"width":0.022222223,"height":0.015555556},"on_screen":true,"automation_id":"_NS:255","help_text":"Percentage of total CPU utilised in performing tasks for the user","role_description":"text"},{"role":"AXStaticText","text":"System:","depth":3,"on_screen":true,"automation_id":"_NS:248","help_text":"Percentage of total CPU utilised in performing tasks for the system","role_description":"text"},{"role":"AXStaticText","text":"3 724","depth":3,"on_screen":true,"automation_id":"_NS:242","role_description":"text"},{"role":"AXStaticText","text":"466","depth":3,"on_screen":true,"automation_id":"_NS:235","role_description":"text"},{"role":"AXStaticText","text":"CPU LOAD","depth":3,"on_screen":true,"automation_id":"_NS:213","role_description":"text"},{"role":"AXStaticText","text":"Threads:","depth":3,"on_screen":true,"automation_id":"_NS:199","help_text":"Total number of threads on the system","role_description":"text"},{"role":"AXStaticText","text":"replayd","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"58,1","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"8:55:44,33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"73608","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"39,6","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"15:45:11,70","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"104","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26,7","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"4:14:53,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"36,3","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"14:28,93","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"9","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"27,4","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"41:59,64","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11,6","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"11:22,12","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"kernel_task","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"20,5","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"38:30:25,82","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"615","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1128","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"19,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:48:51,65","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"77","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:19,11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"17,2","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:05:46,65","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"19","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,04","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mds","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"9,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"22:52,63","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"5","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"361","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,9","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"20,43","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"899","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"10,01","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"2","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"2025","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_spotlight","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"coreaudiod","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"5,5","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"3:11:03,11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"192","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"}]...
|
1081468558493680916
|
4168830638176519710
|
click
|
accessibility
|
NULL
|
38,18%
Processes:
Idle:
42,67%
19,16%
User:
System 38,18%
Processes:
Idle:
42,67%
19,16%
User:
System:
3 724
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,63
11
5
Apple
0,0
0,00
361
root
mdbulkimport
7,9
20,43
3
0
Apple
0,0
0,00
899
lukas
mdbulkimport
7,0
10,01
2
0
Apple
0,0
0,00
2025
_spotlight
coreaudiod
5,5
3:11:03,11
22
192
Apple
0,0...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27848
|
1138
|
64
|
2026-05-12T14:41:26.323046+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596886323_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
38,18%
Processes:
Idle:
42,67%
19,16%
User:
System 38,18%
Processes:
Idle:
42,67%
19,16%
User:
System:
3 724
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"38,18%","depth":3,"bounds":{"left":0.70146275,"top":0.95530725,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:297","role_description":"text"},{"role":"AXStaticText","text":"Processes:","depth":3,"bounds":{"left":0.78324467,"top":0.9393456,"width":0.02044548,"height":0.011173184},"on_screen":true,"automation_id":"_NS:290","help_text":"Total number of processes on the system","role_description":"text"},{"role":"AXStaticText","text":"Idle:","depth":3,"bounds":{"left":0.6569149,"top":0.95530725,"width":0.00880984,"height":0.011173184},"on_screen":true,"automation_id":"_NS:283","help_text":"Percentage of total CPU that is not being utilised","role_description":"text"},{"role":"AXStaticText","text":"42,67%","depth":3,"bounds":{"left":0.70146275,"top":0.9393456,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:274","role_description":"text"},{"role":"AXStaticText","text":"19,16%","depth":3,"bounds":{"left":0.70146275,"top":0.9233839,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:262","role_description":"text"},{"role":"AXStaticText","text":"User:","depth":3,"bounds":{"left":0.6569149,"top":0.9393456,"width":0.010638298,"height":0.011173184},"on_screen":true,"automation_id":"_NS:255","help_text":"Percentage of total CPU utilised in performing tasks for the user","role_description":"text"},{"role":"AXStaticText","text":"System:","depth":3,"bounds":{"left":0.6569149,"top":0.9233839,"width":0.015458777,"height":0.011173184},"on_screen":true,"automation_id":"_NS:248","help_text":"Percentage of total CPU utilised in performing tasks for the system","role_description":"text"},{"role":"AXStaticText","text":"3 724","depth":3,"bounds":{"left":0.8312833,"top":0.9233839,"width":0.011801862,"height":0.011173184},"on_screen":true,"automation_id":"_NS:242","role_description":"text"},{"role":"AXStaticText","text":"466","depth":3,"bounds":{"left":0.83477396,"top":0.9393456,"width":0.00831117,"height":0.011173184},"on_screen":true,"automation_id":"_NS:235","role_description":"text"},{"role":"AXStaticText","text":"CPU LOAD","depth":3,"bounds":{"left":0.7194149,"top":0.92178774,"width":0.061170213,"height":0.014365523},"on_screen":true,"automation_id":"_NS:213","role_description":"text"},{"role":"AXStaticText","text":"Threads:","depth":3,"bounds":{"left":0.78324467,"top":0.9233839,"width":0.016788565,"height":0.011173184},"on_screen":true,"automation_id":"_NS:199","help_text":"Total number of threads on the system","role_description":"text"},{"role":"AXStaticText","text":"replayd","depth":5,"bounds":{"left":0.5162899,"top":0.09098165,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"58,1","depth":5,"bounds":{"left":0.60272604,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"8:55:44,33","depth":5,"bounds":{"left":0.63331115,"top":0.09098165,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"bounds":{"left":0.66223407,"top":0.09098165,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1","depth":5,"bounds":{"left":0.6878325,"top":0.09098165,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.09098165,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"73608","depth":5,"bounds":{"left":0.82214093,"top":0.09098165,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.09098165,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5162899,"top":0.110135674,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"39,6","depth":5,"bounds":{"left":0.60272604,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"15:45:11,70","depth":5,"bounds":{"left":0.63331115,"top":0.110135674,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"bounds":{"left":0.66223407,"top":0.110135674,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"104","depth":5,"bounds":{"left":0.6878325,"top":0.110135674,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.110135674,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26,7","depth":5,"bounds":{"left":0.7609708,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"4:14:53,00","depth":5,"bounds":{"left":0.7915558,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"bounds":{"left":0.82214093,"top":0.110135674,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.84109044,"top":0.110135674,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.1292897,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"36,3","depth":5,"bounds":{"left":0.60272604,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"14:28,93","depth":5,"bounds":{"left":0.63331115,"top":0.1292897,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"bounds":{"left":0.66223407,"top":0.1292897,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"9","depth":5,"bounds":{"left":0.6878325,"top":0.1292897,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.1292897,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"bounds":{"left":0.82214093,"top":0.1292897,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.1292897,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.14844373,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"27,4","depth":5,"bounds":{"left":0.60272604,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"41:59,64","depth":5,"bounds":{"left":0.63331115,"top":0.14844373,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"bounds":{"left":0.66223407,"top":0.14844373,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"bounds":{"left":0.6878325,"top":0.14844373,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.14844373,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11,6","depth":5,"bounds":{"left":0.7609708,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"11:22,12","depth":5,"bounds":{"left":0.7915558,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"bounds":{"left":0.82214093,"top":0.14844373,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.14844373,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"kernel_task","depth":5,"bounds":{"left":0.5162899,"top":0.16759777,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"20,5","depth":5,"bounds":{"left":0.60272604,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"38:30:25,82","depth":5,"bounds":{"left":0.63331115,"top":0.16759777,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"615","depth":5,"bounds":{"left":0.66223407,"top":0.16759777,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1128","depth":5,"bounds":{"left":0.6878325,"top":0.16759777,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.16759777,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.82214093,"top":0.16759777,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"bounds":{"left":0.84109044,"top":0.16759777,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"bounds":{"left":0.5162899,"top":0.1867518,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"19,0","depth":5,"bounds":{"left":0.60272604,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:48:51,65","depth":5,"bounds":{"left":0.63331115,"top":0.1867518,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"77","depth":5,"bounds":{"left":0.66223407,"top":0.1867518,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.6878325,"top":0.1867518,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.1867518,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:19,11","depth":5,"bounds":{"left":0.7915558,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"bounds":{"left":0.82214093,"top":0.1867518,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.1867518,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.20590582,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"17,2","depth":5,"bounds":{"left":0.60272604,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:05:46,65","depth":5,"bounds":{"left":0.63331115,"top":0.20590582,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"bounds":{"left":0.66223407,"top":0.20590582,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"19","depth":5,"bounds":{"left":0.6878325,"top":0.20590582,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.20590582,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,04","depth":5,"bounds":{"left":0.7915558,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
3708684740511446034
|
1824689168418525724
|
click
|
accessibility
|
NULL
|
38,18%
Processes:
Idle:
42,67%
19,16%
User:
System 38,18%
Processes:
Idle:
42,67%
19,16%
User:
System:
3 724
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04...
|
27846
|
NULL
|
NULL
|
NULL
|
|
27849
|
1136
|
76
|
2026-05-12T14:41:27.691799+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596887691_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
32,19%
Processes:
Idle:
49,93%
17,88%
User:
System 32,19%
Processes:
Idle:
49,93%
17,88%
User:
System:
3 690
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,63
11
5
Apple
0,0
0,00
361
root
mdbulkimport
7,9...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"32,19%","depth":3,"bounds":{"left":0.90069443,"top":0.0,"width":0.031944446,"height":0.015555556},"on_screen":true,"automation_id":"_NS:297","role_description":"text"},{"role":"AXStaticText","text":"Processes:","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.07152772,"height":0.015555556},"on_screen":true,"automation_id":"_NS:290","help_text":"Total number of processes on the system","role_description":"text"},{"role":"AXStaticText","text":"Idle:","depth":3,"bounds":{"left":0.8076389,"top":0.0,"width":0.018402778,"height":0.015555556},"on_screen":true,"automation_id":"_NS:283","help_text":"Percentage of total CPU that is not being utilised","role_description":"text"},{"role":"AXStaticText","text":"49,93%","depth":3,"bounds":{"left":0.90069443,"top":0.0,"width":0.031944446,"height":0.015555556},"on_screen":true,"automation_id":"_NS:274","role_description":"text"},{"role":"AXStaticText","text":"17,88%","depth":3,"on_screen":true,"automation_id":"_NS:262","role_description":"text"},{"role":"AXStaticText","text":"User:","depth":3,"bounds":{"left":0.8076389,"top":0.0,"width":0.022222223,"height":0.015555556},"on_screen":true,"automation_id":"_NS:255","help_text":"Percentage of total CPU utilised in performing tasks for the user","role_description":"text"},{"role":"AXStaticText","text":"System:","depth":3,"on_screen":true,"automation_id":"_NS:248","help_text":"Percentage of total CPU utilised in performing tasks for the system","role_description":"text"},{"role":"AXStaticText","text":"3 690","depth":3,"on_screen":true,"automation_id":"_NS:242","role_description":"text"},{"role":"AXStaticText","text":"466","depth":3,"on_screen":true,"automation_id":"_NS:235","role_description":"text"},{"role":"AXStaticText","text":"CPU LOAD","depth":3,"on_screen":true,"automation_id":"_NS:213","role_description":"text"},{"role":"AXStaticText","text":"Threads:","depth":3,"on_screen":true,"automation_id":"_NS:199","help_text":"Total number of threads on the system","role_description":"text"},{"role":"AXStaticText","text":"replayd","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"58,1","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"8:55:44,33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"73608","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"39,6","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"15:45:11,70","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"104","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26,7","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"4:14:53,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"36,3","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"14:28,93","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"9","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"27,4","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"41:59,64","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11,6","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"11:22,12","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"kernel_task","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"20,5","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"38:30:25,82","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"615","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1128","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"19,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:48:51,65","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"77","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:19,11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"17,2","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:05:46,65","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"19","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,04","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mds","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"9,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"22:52,63","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"5","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"361","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mdbulkimport","depth":5,"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"7,9","depth":5,"on_screen":true,"automation_id":"Cell","role_description":"text"}]...
|
-3815922124038977792
|
4166565370013336092
|
click
|
accessibility
|
NULL
|
32,19%
Processes:
Idle:
49,93%
17,88%
User:
System 32,19%
Processes:
Idle:
49,93%
17,88%
User:
System:
3 690
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,63
11
5
Apple
0,0
0,00
361
root
mdbulkimport
7,9...
|
27847
|
NULL
|
NULL
|
NULL
|
|
27850
|
1138
|
65
|
2026-05-12T14:41:27.664194+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596887664_m2.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
32,19%
Processes:
Idle:
49,93%
17,88%
User:
System 32,19%
Processes:
Idle:
49,93%
17,88%
User:
System:
3 690
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,63...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"32,19%","depth":3,"bounds":{"left":0.70146275,"top":0.95530725,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:297","role_description":"text"},{"role":"AXStaticText","text":"Processes:","depth":3,"bounds":{"left":0.78324467,"top":0.9393456,"width":0.02044548,"height":0.011173184},"on_screen":true,"automation_id":"_NS:290","help_text":"Total number of processes on the system","role_description":"text"},{"role":"AXStaticText","text":"Idle:","depth":3,"bounds":{"left":0.6569149,"top":0.95530725,"width":0.00880984,"height":0.011173184},"on_screen":true,"automation_id":"_NS:283","help_text":"Percentage of total CPU that is not being utilised","role_description":"text"},{"role":"AXStaticText","text":"49,93%","depth":3,"bounds":{"left":0.70146275,"top":0.9393456,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:274","role_description":"text"},{"role":"AXStaticText","text":"17,88%","depth":3,"bounds":{"left":0.70146275,"top":0.9233839,"width":0.015292553,"height":0.011173184},"on_screen":true,"automation_id":"_NS:262","role_description":"text"},{"role":"AXStaticText","text":"User:","depth":3,"bounds":{"left":0.6569149,"top":0.9393456,"width":0.010638298,"height":0.011173184},"on_screen":true,"automation_id":"_NS:255","help_text":"Percentage of total CPU utilised in performing tasks for the user","role_description":"text"},{"role":"AXStaticText","text":"System:","depth":3,"bounds":{"left":0.6569149,"top":0.9233839,"width":0.015458777,"height":0.011173184},"on_screen":true,"automation_id":"_NS:248","help_text":"Percentage of total CPU utilised in performing tasks for the system","role_description":"text"},{"role":"AXStaticText","text":"3 690","depth":3,"bounds":{"left":0.8312833,"top":0.9233839,"width":0.011801862,"height":0.011173184},"on_screen":true,"automation_id":"_NS:242","role_description":"text"},{"role":"AXStaticText","text":"466","depth":3,"bounds":{"left":0.83477396,"top":0.9393456,"width":0.00831117,"height":0.011173184},"on_screen":true,"automation_id":"_NS:235","role_description":"text"},{"role":"AXStaticText","text":"CPU LOAD","depth":3,"bounds":{"left":0.7194149,"top":0.92178774,"width":0.061170213,"height":0.014365523},"on_screen":true,"automation_id":"_NS:213","role_description":"text"},{"role":"AXStaticText","text":"Threads:","depth":3,"bounds":{"left":0.78324467,"top":0.9233839,"width":0.016788565,"height":0.011173184},"on_screen":true,"automation_id":"_NS:199","help_text":"Total number of threads on the system","role_description":"text"},{"role":"AXStaticText","text":"replayd","depth":5,"bounds":{"left":0.5162899,"top":0.09098165,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"58,1","depth":5,"bounds":{"left":0.60272604,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"8:55:44,33","depth":5,"bounds":{"left":0.63331115,"top":0.09098165,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"bounds":{"left":0.66223407,"top":0.09098165,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1","depth":5,"bounds":{"left":0.6878325,"top":0.09098165,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.09098165,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.09098165,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"73608","depth":5,"bounds":{"left":0.82214093,"top":0.09098165,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.09098165,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"bounds":{"left":0.5162899,"top":0.110135674,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"39,6","depth":5,"bounds":{"left":0.60272604,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"15:45:11,70","depth":5,"bounds":{"left":0.63331115,"top":0.110135674,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"21","depth":5,"bounds":{"left":0.66223407,"top":0.110135674,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"104","depth":5,"bounds":{"left":0.6878325,"top":0.110135674,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.110135674,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26,7","depth":5,"bounds":{"left":0.7609708,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"4:14:53,00","depth":5,"bounds":{"left":0.7915558,"top":0.110135674,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"402","depth":5,"bounds":{"left":0.82214093,"top":0.110135674,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"bounds":{"left":0.84109044,"top":0.110135674,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"bounds":{"left":0.5162899,"top":0.1292897,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"36,3","depth":5,"bounds":{"left":0.60272604,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"14:28,93","depth":5,"bounds":{"left":0.63331115,"top":0.1292897,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"26","depth":5,"bounds":{"left":0.66223407,"top":0.1292897,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"9","depth":5,"bounds":{"left":0.6878325,"top":0.1292897,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.1292897,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.1292897,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35819","depth":5,"bounds":{"left":0.82214093,"top":0.1292897,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.1292897,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox GPU Helper","depth":5,"bounds":{"left":0.5162899,"top":0.14844373,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"27,4","depth":5,"bounds":{"left":0.60272604,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"41:59,64","depth":5,"bounds":{"left":0.63331115,"top":0.14844373,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"33","depth":5,"bounds":{"left":0.66223407,"top":0.14844373,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"3","depth":5,"bounds":{"left":0.6878325,"top":0.14844373,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.14844373,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"11,6","depth":5,"bounds":{"left":0.7609708,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"11:22,12","depth":5,"bounds":{"left":0.7915558,"top":0.14844373,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41400","depth":5,"bounds":{"left":0.82214093,"top":0.14844373,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.14844373,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"kernel_task","depth":5,"bounds":{"left":0.5162899,"top":0.16759777,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"20,5","depth":5,"bounds":{"left":0.60272604,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"38:30:25,82","depth":5,"bounds":{"left":0.63331115,"top":0.16759777,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"615","depth":5,"bounds":{"left":0.66223407,"top":0.16759777,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1128","depth":5,"bounds":{"left":0.6878325,"top":0.16759777,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.16759777,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,00","depth":5,"bounds":{"left":0.7915558,"top":0.16759777,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0","depth":5,"bounds":{"left":0.82214093,"top":0.16759777,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"root","depth":5,"bounds":{"left":0.84109044,"top":0.16759777,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"screenpipe","depth":5,"bounds":{"left":0.5162899,"top":0.1867518,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"19,0","depth":5,"bounds":{"left":0.60272604,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:48:51,65","depth":5,"bounds":{"left":0.63331115,"top":0.1867518,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"77","depth":5,"bounds":{"left":0.66223407,"top":0.1867518,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"25","depth":5,"bounds":{"left":0.6878325,"top":0.1867518,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.1867518,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:19,11","depth":5,"bounds":{"left":0.7915558,"top":0.1867518,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"87031","depth":5,"bounds":{"left":0.82214093,"top":0.1867518,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.1867518,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Firefox","depth":5,"bounds":{"left":0.5162899,"top":0.20590582,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"17,2","depth":5,"bounds":{"left":0.60272604,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"1:05:46,65","depth":5,"bounds":{"left":0.63331115,"top":0.20590582,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"74","depth":5,"bounds":{"left":0.66223407,"top":0.20590582,"width":0.019946808,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"19","depth":5,"bounds":{"left":0.6878325,"top":0.20590582,"width":0.032579787,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Apple","depth":5,"bounds":{"left":0.72606385,"top":0.20590582,"width":0.02925532,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"0,0","depth":5,"bounds":{"left":0.7609708,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"0,04","depth":5,"bounds":{"left":0.7915558,"top":0.20590582,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"41355","depth":5,"bounds":{"left":0.82214093,"top":0.20590582,"width":0.013297873,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"bounds":{"left":0.84109044,"top":0.20590582,"width":0.026595745,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"mds","depth":5,"bounds":{"left":0.5162899,"top":0.22505985,"width":0.080784574,"height":0.011173184},"on_screen":true,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"9,0","depth":5,"bounds":{"left":0.60272604,"top":0.22505985,"width":0.024933511,"height":0.011173184},"on_screen":true,"automation_id":"Cell","role_description":"text"},{"role":"AXStaticText","text":"22:52,63","depth":5,"bounds":{"left":0.63331115,"top":0.22505985,"width":0.023271276,"height":0.011173184},"on_screen":true,"automation_id":"_NS:9","role_description":"text"}]...
|
1684363180868074286
|
4166582965689045660
|
click
|
accessibility
|
NULL
|
32,19%
Processes:
Idle:
49,93%
17,88%
User:
System 32,19%
Processes:
Idle:
49,93%
17,88%
User:
System:
3 690
466
CPU LOAD
Threads:
replayd
58,1
8:55:44,33
26
1
Apple
0,0
0,00
73608
lukas
WindowServer
39,6
15:45:11,70
21
104
Apple
26,7
4:14:53,00
402
_windowserver
FirefoxCP Isolated Web Content
36,3
14:28,93
26
9
Apple
0,0
0,00
35819
lukas
Firefox GPU Helper
27,4
41:59,64
33
3
Apple
11,6
11:22,12
41400
lukas
kernel_task
20,5
38:30:25,82
615
1128
Apple
0,0
0,00
0
root
screenpipe
19,0
1:48:51,65
77
25
Apple
0,0
1:19,11
87031
lukas
Firefox
17,2
1:05:46,65
74
19
Apple
0,0
0,04
41355
lukas
mds
9,0
22:52,63...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27851
|
NULL
|
0
|
2026-05-12T14:41:28.424234+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596888424_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-12T17:17:42.677982Z INFO screenpipe_audio 2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)
2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-12T17:22:33.570164Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=46 elapsed=3.214084166s
2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames
2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted
2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)
2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)
2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted
2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted
2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)
2026-05-12T17:32:47.004117Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=103 elapsed=2.51008175s
2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted
2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)
2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
screenpipe install https://screenpi.pe/start.json
2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)
2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:37:56.054143Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=148 elapsed=2.122874333s
2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames
2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted
2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)
2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted
2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)\n2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-12T17:22:33.570164Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=46 elapsed=3.214084166s\n2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames\n2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted\n2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\n2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)\n2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)\n2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted\n2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted\n2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\n2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)\n2026-05-12T17:32:47.004117Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=103 elapsed=2.51008175s\n2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted\n2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\n2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n screenpipe install https://screenpi.pe/start.json\n\n2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)\n2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:37:56.054143Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=148 elapsed=2.122874333s\n2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames\n2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted\n2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)\n2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted\n2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:39:40.809708Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:39:46.904584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7975885509996025102, trigger=click)\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":1.0,"height":0.9122222},"on_screen":true,"value":"2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)\n2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-12T17:22:33.570164Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=46 elapsed=3.214084166s\n2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames\n2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted\n2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\n2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)\n2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)\n2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted\n2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted\n2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\n2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)\n2026-05-12T17:32:47.004117Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=103 elapsed=2.51008175s\n2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted\n2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\n2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n screenpipe install https://screenpi.pe/start.json\n\n2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)\n2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:37:56.054143Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=148 elapsed=2.122874333s\n2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames\n2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted\n2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)\n2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted\n2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:39:40.809708Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:39:46.904584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7975885509996025102, trigger=click)\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.12291667,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.12708333,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.24583334,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (-zsh)","depth":2,"bounds":{"left":0.36875,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.37291667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.6145833,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.61875,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7375,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7416667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.86041665,"top":0.05888889,"width":0.12291667,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8645833,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
7771746472877567923
|
-816202907280149023
|
click
|
accessibility
|
NULL
|
2026-05-12T17:17:42.677982Z INFO screenpipe_audio 2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)
2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-12T17:22:33.570164Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=46 elapsed=3.214084166s
2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames
2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted
2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)
2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)
2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted
2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted
2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)
2026-05-12T17:32:47.004117Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=103 elapsed=2.51008175s
2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted
2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)
2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
screenpipe install https://screenpi.pe/start.json
2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)
2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:37:56.054143Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=148 elapsed=2.122874333s
2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames
2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted
2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)
2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted
2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27852
|
NULL
|
0
|
2026-05-12T14:41:28.429627+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778596888429_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-12T17:17:42.677982Z INFO screenpipe_audio 2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)
2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-12T17:22:33.570164Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=46 elapsed=3.214084166s
2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames
2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted
2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)
2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)
2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted
2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted
2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)
2026-05-12T17:32:47.004117Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=103 elapsed=2.51008175s
2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted
2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)
2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
screenpipe install https://screenpi.pe/start.json
2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)
2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:37:56.054143Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=148 elapsed=2.122874333s
2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames
2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted
2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)
2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted
2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)\n2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-12T17:22:33.570164Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=46 elapsed=3.214084166s\n2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames\n2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted\n2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\n2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)\n2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)\n2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted\n2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted\n2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\n2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)\n2026-05-12T17:32:47.004117Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=103 elapsed=2.51008175s\n2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted\n2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\n2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n screenpipe install https://screenpi.pe/start.json\n\n2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)\n2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:37:56.054143Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=148 elapsed=2.122874333s\n2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames\n2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted\n2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)\n2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted\n2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:39:40.809708Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:39:46.904584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7975885509996025102, trigger=click)\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.4787234,"height":-0.06304872},"on_screen":true,"value":"2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)\n2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-12T17:22:33.570164Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=46 elapsed=3.214084166s\n2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames\n2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted\n2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\n2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)\n2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)\n2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)\n2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames\n2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted\n2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted\n2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\n2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)\n2026-05-12T17:32:47.004117Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=103 elapsed=2.51008175s\n2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted\n2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\n2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n screenpipe install https://screenpi.pe/start.json\n\n2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)\n2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)\n2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:37:56.054143Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=148 elapsed=2.122874333s\n2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames\n2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted\n2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)\n2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted\n2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-12T17:39:40.809708Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-12T17:39:46.904584Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7975885509996025102, trigger=click)\n\n tip: sign in for higher AI quotas + cloud sync:\n screenpipe login","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (-zsh)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
7771746472877567923
|
-816202907280149023
|
click
|
accessibility
|
NULL
|
2026-05-12T17:17:42.677982Z INFO screenpipe_audio 2026-05-12T17:17:42.677982Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:18:14.517146Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:18:17.128270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:18:32.364497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-105135387311717328, trigger=click)
2026-05-12T17:19:31.671240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:20:23.489792Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-12T17:22:33.570164Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=46 elapsed=3.214084166s
2026-05-12T17:22:33.571046Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 46 eligible frames
2026-05-12T17:22:36.792500Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.5MB → 0.6MB (6.1x), 24 JPEGs deleted
2026-05-12T17:22:40.775049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
2026-05-12T17:22:41.180662Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.3MB → 0.3MB (12.1x), 19 JPEGs deleted
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:22:47.773337Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:23:14.805309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3806421268519741354, trigger=click)
2026-05-12T17:23:52.318241Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:23:53.971528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:24:53.043924Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-12T17:26:18.879557Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4754240751466450123, trigger=click)
2026-05-12T17:26:36.212023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.989863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7531015335125464264, trigger=click)
2026-05-12T17:26:36.990537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7531015335125464264, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:27:00.863405Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:27:41.320020Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 34 eligible frames
2026-05-12T17:27:42.818097Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.3MB → 0.2MB (13.2x), 16 JPEGs deleted
2026-05-12T17:27:44.477853Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.8MB → 0.3MB (10.2x), 16 JPEGs deleted
2026-05-12T17:28:37.970301Z INFO screenpipe_audio::audio_manager::manager: batch mode: deferral cap (600s) reached during active session, force-transcribing
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:28:46.101432Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
2026-05-12T17:28:59.838051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:29:05.478909Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:29:31.491338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2491485282282992349, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:31:13.235812Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:32:20.048798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2261149417879810331, trigger=click)
2026-05-12T17:32:47.004117Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=103 elapsed=2.51008175s
2026-05-12T17:32:47.009643Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-12T17:32:50.488130Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 7.3MB → 0.2MB (41.0x), 51 JPEGs deleted
2026-05-12T17:32:53.940730Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.8MB → 0.3MB (31.4x), 50 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:33:23.594769Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:34:28.508317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
2026-05-12T17:34:41.126226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-685867194490231511, trigger=click)
2026-05-12T17:35:22.314262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4204223135321042753, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:31.665229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5883051214829112857, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:35:34.950341Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
screenpipe install https://screenpi.pe/start.json
2026-05-12T17:36:23.344180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-685867194490231511, trigger=click)
2026-05-12T17:36:45.994725Z INFO screenpipe_engine::meeting_detector: meeting v2: Active -> Ending (no controls, app=Firefox, id=7, grace=300s)
2026-05-12T17:37:05.984992Z INFO screenpipe_audio::audio_manager::manager: batch mode: audio session ended, transcribing accumulated audio
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:09.374972Z INFO screenpipe_audio::audio_manager::manager: batch mode: transcribed 50 chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-12T17:37:38.487443Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-12T17:37:56.054143Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=148 elapsed=2.122874333s
2026-05-12T17:37:56.054671Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 148 eligible frames
2026-05-12T17:38:00.248393Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 10.5MB → 0.2MB (57.8x), 73 JPEGs deleted
2026-05-12T17:38:00.343831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-936682655402305214, trigger=click)
2026-05-12T17:38:04.495544Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 12.8MB → 0.3MB (45.4x), 73 JPEGs deleted
2026-05-12T17:38:16.909419Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-936682655402305214, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_i...
|
27850
|
NULL
|
NULL
|
NULL
|
|
27857
|
1139
|
3
|
2026-05-12T17:22:10.231864+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606530231_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.24652778,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25069445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.49305555,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49722221,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7395833,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.74375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48958334,"top":0.033333335,"width":0.022916667,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8219102988581754324
|
5066020416190855187
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
27856
|
NULL
|
NULL
|
NULL
|
|
27858
|
1140
|
1
|
2026-05-12T17:22:10.231863+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606530231_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"bounds":{"left":0.27027926,"top":0.8044693,"width":0.4800532,"height":0.19553071},"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.3882979,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39029256,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.5063165,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50831115,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6243351,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6263298,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7287234,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.5046542,"top":1.0,"width":0.010970744,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
8219102988581754324
|
5066020416190855187
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
27854
|
NULL
|
NULL
|
NULL
|
|
27871
|
1141
|
3
|
2026-05-12T17:24:54.077466+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606694077_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell•EditViewSessionScriptsProfilesWindowHe iTerm2Shell•EditViewSessionScriptsProfilesWindowHelp-zshDOCKERO ₴81DEV (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |O ₴2pbcopy~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37][+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column: idS idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqliteOlframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $A100% C8•Tue 12 May 20:24:53T₴1APP (screenpipe")83-zsh...
|
NULL
|
9141141227065650072
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2Shell•EditViewSessionScriptsProfilesWindowHe iTerm2Shell•EditViewSessionScriptsProfilesWindowHelp-zshDOCKERO ₴81DEV (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |O ₴2pbcopy~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37][+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column: idS idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqliteOlframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $A100% C8•Tue 12 May 20:24:53T₴1APP (screenpipe")83-zsh...
|
27861
|
NULL
|
NULL
|
NULL
|
|
27872
|
1142
|
4
|
2026-05-12T17:24:54.105441+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606694105_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
v screenpipe [SSH: nas)› Ch app› data658662)settin v screenpipe [SSH: nas)› Ch app› data658662)settings.json686687688689S838screenpipe sync.sh M XAAU S(HAUOTO FULES (e)) -9t o lA ther8-365 v %dm802ds (%s files, &5)\n"*"rsync audio - NAS"\"$(( RSYNC_DUR / 60 ))" "$( ( RSYNC DUR & 60 ))" \"SCOPTED AUDTO" "SAUDTO STZE" teeelseprintf "%-36s %s\n" "rsvnc audio → NAS" "skiooed (no audilo for date)""Copying screenpipe logs for $TARGET_DATE"NAS LOGS="SNAS MOUNT/loas'shopt -s nullglobLOG_FILES=( "SHOME/.screenpipe/screenpipe.$TARGET_DATE."*. log )shopt -u nullglobif I $(#LOG_FILES(@l) -gt 0 1; then%-36s " "rsvnc loas → NAS'rsvnc ca "SflOG FTLFSIall" "SNAS LOGS/" ?>>"SLOG FTLF"TOTAL STZE=S(du -ch "S/LoG FTLESal}" | tail -1 1 cut."$(#LOG_FILES(@]}" "STOTAL_SIZE" | tee -a "$LOG_FILE"printf"$-36s %5\n" "rsync logs » NAS" "skipped (no matching logs)"TOTAI FIAPSFD=<(( <(date +%c) - SGRTPT START )\DB_SIZE=$(du -sh "SNAS_DB" | cut -f1)echo "log"Archive DB size:CDR ST7F"C/ TOTAI FLADCED 1 60 ImelI TOTAL FLAPCEN & 60 1)srsync -a "SHOME/ .screenpipe/sync.log"' "SNAS_LOGS/sync. log" 2>/dev/null || trueData Migration and Sy•0u.+0 .*•ok lets forget on install id for a while. Given the @screenpipe_sync.sh why do I get error like this when ruynning the same scritp from(2026-05-12 20:19:37) install_id: 2416574c-4272-4dbf-a20b-434b024c65fb2026-05-12 20*19'3/===================================za===Source DB:OK (4.2G)OK /volumes/screenpiptThe error occurs because the ocr_text table doesn't have an id column, but the script tries to create a unique index on (instalnave an id column. Une script assumes all tables nave an id column as thelr primary key, our ocrtext likely nas a amerentCheck the actual schema of vour ocr text tableon the script's usage, ocr_text likely uses frame_id as a foreign key and may not havels own 1d primaly key (it mightuse seuke s imollcit rowid.The fix would be to modity the script to handle tables without an id column. Options1. Skio the unique index for tables without id and use a different constraint2. Use rowid instead of id for tables that don't have an exolicit id columnWhat does the schema show for ocr text ?0 .l .Ports 1AbashA +[EMAIL] urat omg re gltes okuna/screnpipe/rchive. db "SELECT COAT(») as total, COMT(OSTINCT in.Ask anvthinalX SSH: nas %& master © @0A0 (1zed Ln 689, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settingsscreenpipelpe sync.snipe_fts_migrate.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonioe.db$0.Q SearchDate ModifiedTodau at 20:16Today at 20:19Today at 20:19Todav at 20:12Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:518• Tue 12 May 20:24:53v Size22 kplerminal scripts70,01 GBFolder9 KETerminal scriote4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR Coldor32 items, 1,93 TB available...
|
NULL
|
912476520745280074
|
NULL
|
click
|
ocr
|
NULL
|
v screenpipe [SSH: nas)› Ch app› data658662)settin v screenpipe [SSH: nas)› Ch app› data658662)settings.json686687688689S838screenpipe sync.sh M XAAU S(HAUOTO FULES (e)) -9t o lA ther8-365 v %dm802ds (%s files, &5)\n"*"rsync audio - NAS"\"$(( RSYNC_DUR / 60 ))" "$( ( RSYNC DUR & 60 ))" \"SCOPTED AUDTO" "SAUDTO STZE" teeelseprintf "%-36s %s\n" "rsvnc audio → NAS" "skiooed (no audilo for date)""Copying screenpipe logs for $TARGET_DATE"NAS LOGS="SNAS MOUNT/loas'shopt -s nullglobLOG_FILES=( "SHOME/.screenpipe/screenpipe.$TARGET_DATE."*. log )shopt -u nullglobif I $(#LOG_FILES(@l) -gt 0 1; then%-36s " "rsvnc loas → NAS'rsvnc ca "SflOG FTLFSIall" "SNAS LOGS/" ?>>"SLOG FTLF"TOTAL STZE=S(du -ch "S/LoG FTLESal}" | tail -1 1 cut."$(#LOG_FILES(@]}" "STOTAL_SIZE" | tee -a "$LOG_FILE"printf"$-36s %5\n" "rsync logs » NAS" "skipped (no matching logs)"TOTAI FIAPSFD=<(( <(date +%c) - SGRTPT START )\DB_SIZE=$(du -sh "SNAS_DB" | cut -f1)echo "log"Archive DB size:CDR ST7F"C/ TOTAI FLADCED 1 60 ImelI TOTAL FLAPCEN & 60 1)srsync -a "SHOME/ .screenpipe/sync.log"' "SNAS_LOGS/sync. log" 2>/dev/null || trueData Migration and Sy•0u.+0 .*•ok lets forget on install id for a while. Given the @screenpipe_sync.sh why do I get error like this when ruynning the same scritp from(2026-05-12 20:19:37) install_id: 2416574c-4272-4dbf-a20b-434b024c65fb2026-05-12 20*19'3/===================================za===Source DB:OK (4.2G)OK /volumes/screenpiptThe error occurs because the ocr_text table doesn't have an id column, but the script tries to create a unique index on (instalnave an id column. Une script assumes all tables nave an id column as thelr primary key, our ocrtext likely nas a amerentCheck the actual schema of vour ocr text tableon the script's usage, ocr_text likely uses frame_id as a foreign key and may not havels own 1d primaly key (it mightuse seuke s imollcit rowid.The fix would be to modity the script to handle tables without an id column. Options1. Skio the unique index for tables without id and use a different constraint2. Use rowid instead of id for tables that don't have an exolicit id columnWhat does the schema show for ocr text ?0 .l .Ports 1AbashA +[EMAIL] urat omg re gltes okuna/screnpipe/rchive. db "SELECT COAT(») as total, COMT(OSTINCT in.Ask anvthinalX SSH: nas %& master © @0A0 (1zed Ln 689, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settingsscreenpipelpe sync.snipe_fts_migrate.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonioe.db$0.Q SearchDate ModifiedTodau at 20:16Today at 20:19Today at 20:19Todav at 20:12Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:518• Tue 12 May 20:24:53v Size22 kplerminal scripts70,01 GBFolder9 KETerminal scriote4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR Coldor32 items, 1,93 TB available...
|
27862
|
NULL
|
NULL
|
NULL
|
|
27875
|
1141
|
5
|
2026-05-12T17:25:13.040173+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606713040_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:25:12T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
6150072401315911675
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:25:12T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
27873
|
NULL
|
NULL
|
NULL
|
|
27876
|
1142
|
6
|
2026-05-12T17:25:13.079005+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606713079_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
selectionViewlerminalWinaow• screenpipe SSH: nas - selectionViewlerminalWinaow• screenpipe SSH: nas - screenpipe sync.sh - Moditied• screenpipe [ssm: nas)tr appsettings.jsor658659666661[PHONE]80S838AAU S(HAUDTO FULES (e)) -9t 0 l thers-36s /%dm%02dsus fiaes, ss/lnuu"rsvnc audio → NAS""S(ORSYNC_OUR/ 60)"S(RSNC-DUR% 60 )"SCOPTED AUDTO" "SAUDTO STZE" teeelse%-36s %s\n" "rsvnc audio » NAS" "skooed (no audio for date)""Copyina screenpine loas for STARGET DATE"NAS LOGS="<NAS MOUNT/loas"shopt -s nullglobLOG_FILES=( "$HOME/.screenpipe/screenpipe.$TARGET_DATE."*.log )shont -u nullalohif [ ${#LOG_FILES[@]} -gt 0 ]; then%-36s " "rsvnc loas → NAS'rsvnc ca "SflOG FTLFSIall" "SNAS LOGS/" 2>>"SLOG FTLF"TOTAL STZE=S(du -ch "S/LoG FTLESal}" | tail -1 1 cut.-f1)"${#LOG_FILES[@]}" "$TOTAL SIZE" | tee -a "$LOG_FILE"nrintf"%-36s %s\n" "rsync logs → NAS" "skipped (no matching logs)"TOTAI FIAPSFD=<(( <(date +%c) - SGRTPT START ))DB_SIZE=$(du -sh "$NAS_DB" | cut -f1)echoloa"Archive DR size:CDR ST7F"C/ TOTAI FLADCED / 60 ImelI TOTAL FLAPCEN & 60 1)cHrsync -a "$HOME/.screenpipe/sync.log" "$NAS_LOGS/sync.log" 2>/dev/null || true•П к vData Migration and Sylukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ salite3 ~/.screenpipe/db.salite "PRAGMA table_info(ocr text):oftrame_idjINTEGER/1o2HeL SOnITEXTOIOAlocr enginelTEXTfunknown'Y0GilfocusedIBOOLEANIOIFALSEIOThe ocr text table hasno id column - its primary kev is frame 1d. The scriot incorrectly assumes all tables have an id columnreenpipe sync. sh around line 363-370. The loop needs to check if the table has an id column before creatingbash* Re-run sinstall id + index setup so freshly-created tables aet them toolfor tbl in "S<ALL SYNC TABLES (@"; doHAS COL=S(squite3 "SNAS DB" "SELECT COUNT(*) FROM pragma table info('stbl") WHERE name='install id':")salite? "SNAS DR" "ALTER TABLE Stbl ADD COLUMN install id TEXT."M praqma table info('stbl") WHERE name='id':*)salite? HCNAS DRI IGRFATE UNTOUE TNOFX TE NOT FYTSTS idy </thll inctall nk ON </thl}(inctall id. id)."else# For tables without Sid', use rowid sinsteadsalite3 "SNAS DB" "CREATE UNTOUE INDEX IF NOT EXISTS idx S"tbl) install ok ON Stbl)(install id, rowid):"The same fix applies to › screenpipe fts migrate.sh at line 106. Both scripts have the same bugYou'll need to switch to Code mode to apply these changes.@.l**Ports1AbashA +[EMAIL] urat omg re gltes okuna/screnpipe/rchive. db "SELECT COAT(») as total, COMT(OSTINCT in.Ask anvthinal*SSH: nas iômaster ® @0A0 (g1zed Ln 689, Col 8 Spaces: 2 UTF-8 LF Shell Script TeamsWindsurf - Settings100% C4• Tue 12 May 20:25:128=mCscreenpipelpe sync.snipe_fts_migrate.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.100-05-07-05-06-04-28-04-27-04-25-04-24-04.22-04-20-04-21-04-17-04-16-04-15ipe_sync_updated.shdb-bake-walltings. sonine.doDate ModifiedTodau at 20:16Today at 20:19Today at 20:19Todav at 20:12Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 May 2026 at 12:168 Mav 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Anr 2026 at 0:5010 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Anr 2006 at 16:5122 KPlerminal scripts70.01 GEFolder9 KETerminal scriote4.46 GB Documen12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339.8 MB Folder149.1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699.6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero butes Document31 bytesJSONZero butes12KR Coldor32 items, 1.93 TB availabld...
|
NULL
|
-7005672229038860492
|
NULL
|
click
|
ocr
|
NULL
|
selectionViewlerminalWinaow• screenpipe SSH: nas - selectionViewlerminalWinaow• screenpipe SSH: nas - screenpipe sync.sh - Moditied• screenpipe [ssm: nas)tr appsettings.jsor658659666661[PHONE]80S838AAU S(HAUDTO FULES (e)) -9t 0 l thers-36s /%dm%02dsus fiaes, ss/lnuu"rsvnc audio → NAS""S(ORSYNC_OUR/ 60)"S(RSNC-DUR% 60 )"SCOPTED AUDTO" "SAUDTO STZE" teeelse%-36s %s\n" "rsvnc audio » NAS" "skooed (no audio for date)""Copyina screenpine loas for STARGET DATE"NAS LOGS="<NAS MOUNT/loas"shopt -s nullglobLOG_FILES=( "$HOME/.screenpipe/screenpipe.$TARGET_DATE."*.log )shont -u nullalohif [ ${#LOG_FILES[@]} -gt 0 ]; then%-36s " "rsvnc loas → NAS'rsvnc ca "SflOG FTLFSIall" "SNAS LOGS/" 2>>"SLOG FTLF"TOTAL STZE=S(du -ch "S/LoG FTLESal}" | tail -1 1 cut.-f1)"${#LOG_FILES[@]}" "$TOTAL SIZE" | tee -a "$LOG_FILE"nrintf"%-36s %s\n" "rsync logs → NAS" "skipped (no matching logs)"TOTAI FIAPSFD=<(( <(date +%c) - SGRTPT START ))DB_SIZE=$(du -sh "$NAS_DB" | cut -f1)echoloa"Archive DR size:CDR ST7F"C/ TOTAI FLADCED / 60 ImelI TOTAL FLAPCEN & 60 1)cHrsync -a "$HOME/.screenpipe/sync.log" "$NAS_LOGS/sync.log" 2>/dev/null || true•П к vData Migration and Sylukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ salite3 ~/.screenpipe/db.salite "PRAGMA table_info(ocr text):oftrame_idjINTEGER/1o2HeL SOnITEXTOIOAlocr enginelTEXTfunknown'Y0GilfocusedIBOOLEANIOIFALSEIOThe ocr text table hasno id column - its primary kev is frame 1d. The scriot incorrectly assumes all tables have an id columnreenpipe sync. sh around line 363-370. The loop needs to check if the table has an id column before creatingbash* Re-run sinstall id + index setup so freshly-created tables aet them toolfor tbl in "S<ALL SYNC TABLES (@"; doHAS COL=S(squite3 "SNAS DB" "SELECT COUNT(*) FROM pragma table info('stbl") WHERE name='install id':")salite? "SNAS DR" "ALTER TABLE Stbl ADD COLUMN install id TEXT."M praqma table info('stbl") WHERE name='id':*)salite? HCNAS DRI IGRFATE UNTOUE TNOFX TE NOT FYTSTS idy </thll inctall nk ON </thl}(inctall id. id)."else# For tables without Sid', use rowid sinsteadsalite3 "SNAS DB" "CREATE UNTOUE INDEX IF NOT EXISTS idx S"tbl) install ok ON Stbl)(install id, rowid):"The same fix applies to › screenpipe fts migrate.sh at line 106. Both scripts have the same bugYou'll need to switch to Code mode to apply these changes.@.l**Ports1AbashA +[EMAIL] urat omg re gltes okuna/screnpipe/rchive. db "SELECT COAT(») as total, COMT(OSTINCT in.Ask anvthinal*SSH: nas iômaster ® @0A0 (g1zed Ln 689, Col 8 Spaces: 2 UTF-8 LF Shell Script TeamsWindsurf - Settings100% C4• Tue 12 May 20:25:128=mCscreenpipelpe sync.snipe_fts_migrate.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.100-05-07-05-06-04-28-04-27-04-25-04-24-04.22-04-20-04-21-04-17-04-16-04-15ipe_sync_updated.shdb-bake-walltings. sonine.doDate ModifiedTodau at 20:16Today at 20:19Today at 20:19Todav at 20:12Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 May 2026 at 12:168 Mav 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Anr 2026 at 0:5010 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Anr 2006 at 16:5122 KPlerminal scripts70.01 GEFolder9 KETerminal scriote4.46 GB Documen12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339.8 MB Folder149.1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699.6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero butes Document31 bytesJSONZero butes12KR Coldor32 items, 1.93 TB availabld...
|
27874
|
NULL
|
NULL
|
NULL
|
|
27877
|
1141
|
6
|
2026-05-12T17:25:15.223618+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606715223_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:25:14T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
1906546331406311286
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:25:14T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27878
|
1142
|
7
|
2026-05-12T17:25:15.223621+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606715223_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
selectionViewlerminalWinaow• screenpipe SSH: nas - selectionViewlerminalWinaow• screenpipe SSH: nas - screenpipe sync.sh - Moditied• screenpipe [ssm: nas)tr appsettings.jsor658659666661[PHONE]80S838AAU S(HAUDTO FULES (e)) -9t 0 l, thers-36s /%dm%02dsus fiaes, ss/lnuu"rsvnc audio → NAS""S(ORSYNC_OUR/ 60)"S(RSNC-DUR% 60 )"SCOPTED AUDTO" "SAUDTO STZE" teeelse%-36s %s\n" "rsvnc audio » NAS" "skooed (no audio for date)""Copyina screenpine loas for STARGET DATE"NAS LOGS="<NAS MOUNT/loas"shopt -s nullglobLOG_FILES=( "$HOME/.screenpipe/screenpipe.$TARGET_DATE."*.log )shont -u nullalohif [ ${#LOG_FILES[@]} -gt 0 ]; then%-36s " "rsvnc loas → NAS'rsvnc ca "SflOG FTLFSIall" "SNAS LOGS/" 2>>"SLOG FTLF"TOTAL STZE=S(du -ch "S/LoG FTLESal}" | tail -1 1 cut.-f1)"${#LOG_FILES[@]}" "$TOTAL SIZE" | tee -a "$LOG_FILE"nrintf"%-36s %s\n" "rsync logs → NAS" "skipped (no matching logs)"TOTAI FIAPSFD=<(( <(date +%c) - SGRTPT START ))DB_SIZE=$(du -sh "$NAS_DB" | cut -f1)echoloa"Archive DR size:CDR ST7F"C/ TOTAI FLADCED / 60 ImelI TOTAL FLAPCEN & 60 1)cHrsync -a "$HOME/.screenpipe/sync.log" "$NAS_LOGS/sync.log" 2>/dev/null || true•П к vData Migration and Sylukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ salite3 ~/.screenpipe/db.salite "PRAGMA table_info(ocr text):oftrame_idjINTEGER/1Ie2HeL SOnITEXTOIOAlocr enginelTEXTfunknown'Y0GilfocusedIBOOLEANIOIFALSEIOThe ocr text table hasno id column - its primary kev is frame 1d. The scriot incorrectly assumes all tables have an id columnreenpipe sync. sh around line 363-370. The loop needs to check if the table has an id column before creatingbash* Re-run sinstall id + index setup so freshly-created tables aet them toolfor tbl in "S<ALL SYNC TABLES (@"; doHAS COL=S(squite3 "SNAS DB" "SELECT COUNT(*) FROM pragma table info('stbl") WHERE name='install id':")salite? "SNAS DR" "ALTER TABLE Stbl ADD COLUMN install id TEXT."M praqma table info('stbl") WHERE name='id':*)salite? HCNAS DRI IGRFATE UNTOUE TNOFX TE NOT FYTSTS idy </thll inctall nk ON </thl}(inctall id. id)."else# For tables without Sid', use rowid sinsteadsalite3 "SNAS DB" "CREATE UNTOUE INDEX IF NOT EXISTS idx S"tbl) install ok ON Stbl)(install id, rowid):"The same fix applies to › screenpipe fts migrate.sh at line 106. Both scripts have the same bugYou'll need to switch to Code mode to apply these changes.@.l**Ports1AbashA +[EMAIL]« CodeD Aans but wort edt.Use * (. to switch modesattap urat omg re gltes okuna/screnpipe/rchive. db "SELECT COAT(») as total, COMT(OSTINCT in.*SSH: nas iômaster ® @0A0 (g1ized Ln 689, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings100% C4• Tue 12 May 20:25:148=mCscreenpipelpe sync.snipe_fts_migrate.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.100-05-07-05-06-04-28-04-27-04-25-04-24-04.22-04-20-04-21-04-17-04-16-04-15ipe_sync_updated.shdb-bake-walltings. sonine.doDate ModifiedTodau at 20:16Today at 20:19Today at 20:19Todav at 20:12Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 May 2026 at 12:168 Mav 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Anr 2026 at 0:5010 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Anr 2006 at 16:5122 KPlerminal scripts70.01 GEFolder9 KETerminal scriote4.46 GB Documen12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339.8 MB Folder149.1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699.6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero butes Document31 bytesJSONZero butes12KR Coldor32 items, 1.93 TB availabld...
|
NULL
|
-2699676233813352063
|
NULL
|
click
|
ocr
|
NULL
|
selectionViewlerminalWinaow• screenpipe SSH: nas - selectionViewlerminalWinaow• screenpipe SSH: nas - screenpipe sync.sh - Moditied• screenpipe [ssm: nas)tr appsettings.jsor658659666661[PHONE]80S838AAU S(HAUDTO FULES (e)) -9t 0 l, thers-36s /%dm%02dsus fiaes, ss/lnuu"rsvnc audio → NAS""S(ORSYNC_OUR/ 60)"S(RSNC-DUR% 60 )"SCOPTED AUDTO" "SAUDTO STZE" teeelse%-36s %s\n" "rsvnc audio » NAS" "skooed (no audio for date)""Copyina screenpine loas for STARGET DATE"NAS LOGS="<NAS MOUNT/loas"shopt -s nullglobLOG_FILES=( "$HOME/.screenpipe/screenpipe.$TARGET_DATE."*.log )shont -u nullalohif [ ${#LOG_FILES[@]} -gt 0 ]; then%-36s " "rsvnc loas → NAS'rsvnc ca "SflOG FTLFSIall" "SNAS LOGS/" 2>>"SLOG FTLF"TOTAL STZE=S(du -ch "S/LoG FTLESal}" | tail -1 1 cut.-f1)"${#LOG_FILES[@]}" "$TOTAL SIZE" | tee -a "$LOG_FILE"nrintf"%-36s %s\n" "rsync logs → NAS" "skipped (no matching logs)"TOTAI FIAPSFD=<(( <(date +%c) - SGRTPT START ))DB_SIZE=$(du -sh "$NAS_DB" | cut -f1)echoloa"Archive DR size:CDR ST7F"C/ TOTAI FLADCED / 60 ImelI TOTAL FLAPCEN & 60 1)cHrsync -a "$HOME/.screenpipe/sync.log" "$NAS_LOGS/sync.log" 2>/dev/null || true•П к vData Migration and Sylukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ salite3 ~/.screenpipe/db.salite "PRAGMA table_info(ocr text):oftrame_idjINTEGER/1Ie2HeL SOnITEXTOIOAlocr enginelTEXTfunknown'Y0GilfocusedIBOOLEANIOIFALSEIOThe ocr text table hasno id column - its primary kev is frame 1d. The scriot incorrectly assumes all tables have an id columnreenpipe sync. sh around line 363-370. The loop needs to check if the table has an id column before creatingbash* Re-run sinstall id + index setup so freshly-created tables aet them toolfor tbl in "S<ALL SYNC TABLES (@"; doHAS COL=S(squite3 "SNAS DB" "SELECT COUNT(*) FROM pragma table info('stbl") WHERE name='install id':")salite? "SNAS DR" "ALTER TABLE Stbl ADD COLUMN install id TEXT."M praqma table info('stbl") WHERE name='id':*)salite? HCNAS DRI IGRFATE UNTOUE TNOFX TE NOT FYTSTS idy </thll inctall nk ON </thl}(inctall id. id)."else# For tables without Sid', use rowid sinsteadsalite3 "SNAS DB" "CREATE UNTOUE INDEX IF NOT EXISTS idx S"tbl) install ok ON Stbl)(install id, rowid):"The same fix applies to › screenpipe fts migrate.sh at line 106. Both scripts have the same bugYou'll need to switch to Code mode to apply these changes.@.l**Ports1AbashA +[EMAIL]« CodeD Aans but wort edt.Use * (. to switch modesattap urat omg re gltes okuna/screnpipe/rchive. db "SELECT COAT(») as total, COMT(OSTINCT in.*SSH: nas iômaster ® @0A0 (g1ized Ln 689, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings100% C4• Tue 12 May 20:25:148=mCscreenpipelpe sync.snipe_fts_migrate.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.100-05-07-05-06-04-28-04-27-04-25-04-24-04.22-04-20-04-21-04-17-04-16-04-15ipe_sync_updated.shdb-bake-walltings. sonine.doDate ModifiedTodau at 20:16Today at 20:19Today at 20:19Todav at 20:12Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 May 2026 at 12:168 Mav 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Anr 2026 at 0:5010 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Anr 2006 at 16:5122 KPlerminal scripts70.01 GEFolder9 KETerminal scriote4.46 GB Documen12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339.8 MB Folder149.1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699.6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero butes Document31 bytesJSONZero butes12KR Coldor32 items, 1.93 TB availabld...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27879
|
1141
|
7
|
2026-05-12T17:25:16.086919+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606716086_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:25:15T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
-1138333284515871591
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:25:15T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
27877
|
NULL
|
NULL
|
NULL
|
|
27891
|
1141
|
11
|
2026-05-12T17:26:54.905274+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606814905_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C7-zshDOCKER• 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT|1| ' '104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh8• Tue 12 May 20:26:54T81*4...
|
NULL
|
-3800809367570443378
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C7-zshDOCKER• 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT|1| ' '104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh8• Tue 12 May 20:26:54T81*4...
|
27890
|
NULL
|
NULL
|
NULL
|
|
27892
|
1142
|
16
|
2026-05-12T17:26:54.893646+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606814893_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
selection› Ch appc c© screenpipe.db* SSH: nas& selection› Ch appc c© screenpipe.db* SSH: nas&master* 00A0 Д1Terminal100% C48• Tue 12 May 20:26:54screenpipe SSH: nas — screenpipe_sync.sh — Moditied00KvsaLite? HANAS DR" "CREATE UNTOUE INDSX TF MOT SXTSTS Jdx S/tbl). install ok ON S/tbl)(install fd. rouid)•"+8-1Fixed both scripts. They now check if a table has an id column before creating the unique index. If the table lacks an id column• >_ screenpipe_sync.sh (line 369-375): Added check for id column, fallback to rowid• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the svnc scriot from vour Maclscreenpipelpe ns_migrate.snipe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonine.doDate ModifiedToday at 20:25Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0228 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:519 KB Terminal scripts32 KBTerminal scripts61 KB Document70.01 GB Folden4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR ColdorAT e de e iecesting inenes e@bashA +w@wd.|ex2 files +14 ›Ask anvthindized Ln 696, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1,93 TB available...
|
NULL
|
-8278864326827362571
|
NULL
|
click
|
ocr
|
NULL
|
selection› Ch appc c© screenpipe.db* SSH: nas& selection› Ch appc c© screenpipe.db* SSH: nas&master* 00A0 Д1Terminal100% C48• Tue 12 May 20:26:54screenpipe SSH: nas — screenpipe_sync.sh — Moditied00KvsaLite? HANAS DR" "CREATE UNTOUE INDSX TF MOT SXTSTS Jdx S/tbl). install ok ON S/tbl)(install fd. rouid)•"+8-1Fixed both scripts. They now check if a table has an id column before creating the unique index. If the table lacks an id column• >_ screenpipe_sync.sh (line 369-375): Added check for id column, fallback to rowid• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the svnc scriot from vour Maclscreenpipelpe ns_migrate.snipe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonine.doDate ModifiedToday at 20:25Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0228 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:519 KB Terminal scripts32 KBTerminal scripts61 KB Document70.01 GB Folden4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR ColdorAT e de e iecesting inenes e@bashA +w@wd.|ex2 files +14 ›Ask anvthindized Ln 696, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1,93 TB available...
|
27889
|
NULL
|
NULL
|
NULL
|
|
27893
|
1141
|
12
|
2026-05-12T17:26:58.644549+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606818644_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:26:58T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
-2393976203433605256
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <-zsh8• Tue 12 May 20:26:58T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27894
|
1142
|
17
|
2026-05-12T17:26:58.644537+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606818644_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
SelectionTerminalWindow100% C48• Tue 12 May 20:26: SelectionTerminalWindow100% C48• Tue 12 May 20:26:58screenpipe [SSH: nas] — screenpipe_sync.sh — Modified00Kv> Ch appGiac csaLite? HANAS DR" "CREATE UNTOUE INDSX TF MOT SXTSTS Jdx S/tbl). install ok ON S/tbl)(install fd. rouid)•"+8-1© screenpipe.dbFixed both scripts. They now check if a table has an id column before creating the unique index. If the table lacks an id column• > screenpipe_sync.sh (line 369-375): Added check for id column, fallback to rowid• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the svnc scriot from vour Maclscreenpipelpe ns_migrate.snipe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonine.doDate ModifiedToday at 20:25Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0228 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:519 KB Terminal scripts32 KBTerminal scripts61 KB Document70.01 GB Folden4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR ColdorObash A +w@md.Iax2 files +10 ›Ask anvthind* SSH: nas&master* 00A0 Д1ized Ln 696, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1,93 TB available...
|
NULL
|
-8493175633119242541
|
NULL
|
click
|
ocr
|
NULL
|
SelectionTerminalWindow100% C48• Tue 12 May 20:26: SelectionTerminalWindow100% C48• Tue 12 May 20:26:58screenpipe [SSH: nas] — screenpipe_sync.sh — Modified00Kv> Ch appGiac csaLite? HANAS DR" "CREATE UNTOUE INDSX TF MOT SXTSTS Jdx S/tbl). install ok ON S/tbl)(install fd. rouid)•"+8-1© screenpipe.dbFixed both scripts. They now check if a table has an id column before creating the unique index. If the table lacks an id column• > screenpipe_sync.sh (line 369-375): Added check for id column, fallback to rowid• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the svnc scriot from vour Maclscreenpipelpe ns_migrate.snipe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonine.doDate ModifiedToday at 20:25Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0228 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:519 KB Terminal scripts32 KBTerminal scripts61 KB Document70.01 GB Folden4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR ColdorObash A +w@md.Iax2 files +10 ›Ask anvthind* SSH: nas&master* 00A0 Д1ized Ln 696, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1,93 TB available...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27896
|
1141
|
13
|
2026-05-12T17:27:01.060714+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606821060_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C7-zsh8• Tue 12 May 20:27:00T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• 0m00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
6686089781208804198
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C7-zsh8• Tue 12 May 20:27:00T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• 0m00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
27893
|
NULL
|
NULL
|
NULL
|
|
27897
|
1142
|
19
|
2026-05-12T17:27:01.077032+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606821077_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Selection› Ch appc c© screenpipe.dbK SSH: nas %&am Selection› Ch appc c© screenpipe.dbK SSH: nas %& master O ®0 A0 ( 1TerminalWindow100% C4&• Tue 12 May 20:27:00screenpipe SSH: nas — screenpipe_sync.sh — ModitiedTumix botn scripts to nandle tables without an id column,SqLIte "ANAS,DB' "CREATE UNTQUE INOEX IF NOT EXISTS 16k.S(tbl) instalLgk ON S(tbl)(instalL_1d, ronid);,™sqlite3 "SNAS_DB" "ALTER TABLE $tbl ADD COLUMN install_id TEXT;sqLites "SNAS_OB" "CREATE UNIQUE INDEX IF NOT EXISTS JdX_S(tol)_Install_pk ON S{tol)(3nstall_10, rowzd);*Fixed both scrints. They now check if a table has an di column before creatina the unique index. If the table lacks an 3dl columnl) screennine svnc.ch (line 269-375): Added check for 1a column. fallback to rouidl• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the sunc scrint from vour Mac.00Kvscreenpipe+8 -1C 0 ail aipe_fts_migrate.shipe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonine.doDate ModifiedTodau at 20:20Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0228 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:519 KB Terminal scripts32 KB61 KB Document70.01 GB Folden4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR ColdorATAd e ere icestig intoes@bashA +v@wdIexAsk anvthindnized Ln 696, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1,93 TB available...
|
NULL
|
8773863455297337103
|
NULL
|
click
|
ocr
|
NULL
|
Selection› Ch appc c© screenpipe.dbK SSH: nas %&am Selection› Ch appc c© screenpipe.dbK SSH: nas %& master O ®0 A0 ( 1TerminalWindow100% C4&• Tue 12 May 20:27:00screenpipe SSH: nas — screenpipe_sync.sh — ModitiedTumix botn scripts to nandle tables without an id column,SqLIte "ANAS,DB' "CREATE UNTQUE INOEX IF NOT EXISTS 16k.S(tbl) instalLgk ON S(tbl)(instalL_1d, ronid);,™sqlite3 "SNAS_DB" "ALTER TABLE $tbl ADD COLUMN install_id TEXT;sqLites "SNAS_OB" "CREATE UNIQUE INDEX IF NOT EXISTS JdX_S(tol)_Install_pk ON S{tol)(3nstall_10, rowzd);*Fixed both scrints. They now check if a table has an di column before creatina the unique index. If the table lacks an 3dl columnl) screennine svnc.ch (line 269-375): Added check for 1a column. fallback to rouidl• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the sunc scrint from vour Mac.00Kvscreenpipe+8 -1C 0 ail aipe_fts_migrate.shipe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.1o0-05-07-05-06-04-28-04-27-04-25-04-24-04-22-04-20-04-21-04-17-04-16-04-15-04-14ipe_sync_updated.shdb-bake-waltings. sonine.doDate ModifiedTodau at 20:20Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 Mav 2026 at 12:168 May 2026 at 9:266 May 2026 at 21:0228 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Apr 2026 at 9:5910 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Apr 2026 at 16:519 KB Terminal scripts32 KB61 KB Document70.01 GB Folden4,46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339,8 MB Folder149,1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699,6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero bytes Document31 bytesJSONZero butes12KR ColdorATAd e ere icestig intoes@bashA +v@wdIexAsk anvthindnized Ln 696, Col 8 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1,93 TB available...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27898
|
1141
|
14
|
2026-05-12T17:27:06.685478+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606826685_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C7-zsh8• Tue 12 May 20:27:06T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
-2412228826049487292
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% C7-zsh8• Tue 12 May 20:27:06T81DOCKERO 81DEV (-zsh)O ₴2lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe$lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnycat screenpipe_sync.sh |pbcopy~/.screenpipe $~/.screenpipe/screenpipe_sync.sh 2026-05-11[2026-05-1220:19:37J[2026-05-1220:19:37J[2026-05-12 20:19:37]Screenpipe sync startingfor: 2026-05-11install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb[2026-05-12 20:19:37]APP (screenpipe")[+00m00s] • Preflight checksSource DB:NAS mount:Archive DB:Frame data dir:Audio files:OKOK(4.2G)/Volumes/screenpipewill be createdOK(283 files, 318M)OK(2507 files, 267M)[+00m00s]• Counting source rows for 2026-05-11frames:6857elements:672129ui_events:7063ocr_text:2332meetings:1audio_chunks:2507audio_transcriptions:226audio_tags:0speakers:15(all-time)speaker_embeddings:58(all-time)[+00m01s] • Initialising tables (CREATE IF NOT EXISTS)creating vision tablescreating audio tables• Om00s• Om01sError: in prepare, no such column:S idx_ocr_text_install_pk ON ocr_text(install_id, id);error here---^lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"Olframe_idlINTEGERI11101ltext|TEXT|11102Itext_json|TEXTl01103 lapp_name | TEXT |1| ' * 104locr_engine|TEXT|1l 'unknown' 105 Iwindow_name | TEXTI011061 focused| BOOLEANIOIFALSEI07Itext_length| INTEGERI0I108lsync_id|TEXTI01109lsynced_at I DATETIME I011010|redacted_at|INTEGERI0110lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0• *3-zsh...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27899
|
1142
|
20
|
2026-05-12T17:27:06.649851+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606826649_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
SelectionTerminalWindowscreenpipe SSH: nas — scree SelectionTerminalWindowscreenpipe SSH: nas — screenpipe_sync.sh — Moditiedscreenpipe sync.sh M X• screenpipe [SSH: nas)tr app- dataarchive.db.bak-pre-installidTumix botn scripts to nandle tables without an id column.c c# screenpine.db"creating audio tables" "EBEES'SELECT COUNT(* FROM oraama table info('stbl') WHERE name='isalite? "SNAS DR" "ALTER TABLE Stbl ADD COLUMN install id TEXT."sqtates "SAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS 1dx_S(tbl)_install_pk ON S(tbL)(instalLid, rowid) ."sqlite3 "SNAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(instsqLites "SNAS_OB" "CREATE UNIQUE INDEX IF NOT EXISTS JdX_S(tol)_Install_pk ON S{tol)(3nstall_10, rowzd);*Fixed both scrints. They now check if a table has an di column before creatina the unique index. If the table lacks an 3dl columnl•) screennine svnc.ch (line 269-375): Added check for 1a column. fallback to rouidl• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the sunc scrint from vour Mac.•П к v+8 -10 aila.screenpipelpe nsmigrate.shlpe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.100-05-07-05-06-04-28-04-27-04-25-04-24-04.22-04-20-04-21-04-17-04-16-04-15ои-1лipe_sync_updated.shdb-bake-walltings. sonine.do8=mCDate ModifiedTodau at 20:20Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 May 2026 at 12:168 Mav 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Anr 2026 at 0:5010 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Anr 2006 at 16:51100% C4• Tue 12 May 20:27:069 KB Terminal scripts32 KB61 KB Document70.01 GB Folden4.46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339.8 MB Folder149.1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699.6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero butes Document31 bytesJSONZero butes12KR Coldorensure_columns "$tbl"ATTACH SitSDereAse "ereating indexes" n'$NAS DB' AS nas;ON frames(video chunk id):(abashA +v@ Mm.Ie xAsk anvthind* SSH: nas iômaster @0A0 (g1ó Not Committed Yet Screen Reader Optimized Ln 372, Col 57 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1.93 TB availabld...
|
NULL
|
1829259821189866014
|
NULL
|
click
|
ocr
|
NULL
|
SelectionTerminalWindowscreenpipe SSH: nas — scree SelectionTerminalWindowscreenpipe SSH: nas — screenpipe_sync.sh — Moditiedscreenpipe sync.sh M X• screenpipe [SSH: nas)tr app- dataarchive.db.bak-pre-installidTumix botn scripts to nandle tables without an id column.c c# screenpine.db"creating audio tables" "EBEES'SELECT COUNT(* FROM oraama table info('stbl') WHERE name='isalite? "SNAS DR" "ALTER TABLE Stbl ADD COLUMN install id TEXT."sqtates "SAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS 1dx_S(tbl)_install_pk ON S(tbL)(instalLid, rowid) ."sqlite3 "SNAS_DB" "CREATE UNIQUE INDEX IF NOT EXISTS idx_${tbl}_install_pk ON ${tbl}(instsqLites "SNAS_OB" "CREATE UNIQUE INDEX IF NOT EXISTS JdX_S(tol)_Install_pk ON S{tol)(3nstall_10, rowzd);*Fixed both scrints. They now check if a table has an di column before creatina the unique index. If the table lacks an 3dl columnl•) screennine svnc.ch (line 269-375): Added check for 1a column. fallback to rouidl• ›_ screenpipe_fts_migrate.sh (line 106-113): Added check for id column, fallback to rowidYou can now retry runnina the sunc scrint from vour Mac.•П к v+8 -10 aila.screenpipelpe nsmigrate.shlpe_sync.shdb.bak-pre-installide-shmnpipe.2026-05-07.0.100-05-07-05-06-04-28-04-27-04-25-04-24-04.22-04-20-04-21-04-17-04-16-04-15ои-1лipe_sync_updated.shdb-bake-walltings. sonine.do8=mCDate ModifiedTodau at 20:20Today at 20:19Todav at 20:10Today at 17:41Today at 15:20Today at 5:4810 May 2026 at 13:4710 May 2026 at 13:477 May 2026 at 21:5010 May 2026 at 12:168 Mav 2026 at 9:266 May 2026 at 21:0428 Aor 2026 at 22:2328 Apr 2026 at 9:1926 Apr 2026 at 16:3524 Aor 2026 at 22:3024 Aor 2026 at 12:0924 Apr 2026 at 12:0722 Apr 2026 at 18:4422 Anr 2026 at 0:1618 Apr 2026 at 13:3517 Apr 2026 at 8:5716 Aor 2026 at 9:1315 Anr 2026 at 0:5010 May 2026 at 13:0610 May 2026 at 12:3126 Anr 2026 at 20:1026 Apr 2026 at 17:1718 Apr 2026 at 17:4213 Aor 2026 at 17:2111 Anr 2006 at 16:51100% C4• Tue 12 May 20:27:069 KB Terminal scripts32 KB61 KB Document70.01 GB Folden4.46 GB Document12,92 GBDocument33 K:Document573 KB Folder7 KBLog File566 KBLoa File72 GR Colder305,6 MB Folder18,8 MB Folder166.7 MB Folden339.8 MB Folder149.1 MBFolder265 5 MP Soldon171,8 MB Folder525,4 MB450 8 MR Folden699.6 MB Folder837,2 MB1.15 G:Folden100 ep Soldor20 KB11,13 GBDocument102 KPColderZero butes Document31 bytesJSONZero butes12KR Coldorensure_columns "$tbl"ATTACH SitSDereAse "ereating indexes" n'$NAS DB' AS nas;ON frames(video chunk id):(abashA +v@ Mm.Ie xAsk anvthind* SSH: nas iômaster @0A0 (g1ó Not Committed Yet Screen Reader Optimized Ln 372, Col 57 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings32 items, 1.93 TB availabld...
|
27897
|
NULL
|
NULL
|
NULL
|
|
27901
|
1141
|
15
|
2026-05-12T17:27:14.254153+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606834254_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
10|redacted_at|INTEGER|0||0
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \"PRAGMA table_info(ocr_text);\"\n0|frame_id|INTEGER|1||0\n1|text|TEXT|1||0\n2|text_json|TEXT|0||0\n3|app_name|TEXT|1|''|0\n4|ocr_engine|TEXT|1|'unknown'|0\n5|window_name|TEXT|0||0\n6|focused|BOOLEAN|0|FALSE|0\n7|text_length|INTEGER|0||0\n8|sync_id|TEXT|0||0\n9|synced_at|DATETIME|0||0\n10|redacted_at|INTEGER|0||0\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \"PRAGMA table_info(ocr_text);\"\n0|frame_id|INTEGER|1||0\n1|text|TEXT|1||0\n2|text_json|TEXT|0||0\n3|app_name|TEXT|1|''|0\n4|ocr_engine|TEXT|1|'unknown'|0\n5|window_name|TEXT|0||0\n6|focused|BOOLEAN|0|FALSE|0\n7|text_length|INTEGER|0||0\n8|sync_id|TEXT|0||0\n9|synced_at|DATETIME|0||0\n10|redacted_at|INTEGER|0||0\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.24652778,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25069445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.49305555,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49722221,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7395833,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.74375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48958334,"top":0.033333335,"width":0.022916667,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-8893806082401793599
|
5066020691068762131
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
10|redacted_at|INTEGER|0||0
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
27898
|
NULL
|
NULL
|
NULL
|
|
27902
|
1142
|
22
|
2026-05-12T17:27:14.248450+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606834248_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
10|redacted_at|INTEGER|0||0
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \"PRAGMA table_info(ocr_text);\"\n0|frame_id|INTEGER|1||0\n1|text|TEXT|1||0\n2|text_json|TEXT|0||0\n3|app_name|TEXT|1|''|0\n4|ocr_engine|TEXT|1|'unknown'|0\n5|window_name|TEXT|0||0\n6|focused|BOOLEAN|0|FALSE|0\n7|text_length|INTEGER|0||0\n8|sync_id|TEXT|0||0\n9|synced_at|DATETIME|0||0\n10|redacted_at|INTEGER|0||0\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"bounds":{"left":0.27027926,"top":0.632083,"width":0.4800532,"height":0.367917},"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11\n[2026-05-12 20:19:37] ========================================\n[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11\n[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb\n[2026-05-12 20:19:37] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.2G)\n NAS mount: OK /Volumes/screenpipe\n Archive DB: will be created\n Frame data dir: OK (283 files, 318M)\n Audio files: OK (2507 files, 267M)\n\n[+00m00s] ▶ Counting source rows for 2026-05-11\n frames: 6857\n elements: 672129\n ui_events: 7063\n ocr_text: 2332\n meetings: 1\n audio_chunks: 2507\n audio_transcriptions: 226\n audio_tags: 0\n speakers: 15 (all-time)\n speaker_embeddings: 58 (all-time)\n\n[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)\n creating vision tables ✓ 0m00s\n creating audio tables ✓ 0m01s\nError: in prepare, no such column: id\n S idx_ocr_text_install_pk ON ocr_text(install_id, id);\n error here ---^\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite \"PRAGMA table_info(ocr_text);\"\n0|frame_id|INTEGER|1||0\n1|text|TEXT|1||0\n2|text_json|TEXT|0||0\n3|app_name|TEXT|1|''|0\n4|ocr_engine|TEXT|1|'unknown'|0\n5|window_name|TEXT|0||0\n6|focused|BOOLEAN|0|FALSE|0\n7|text_length|INTEGER|0||0\n8|sync_id|TEXT|0||0\n9|synced_at|DATETIME|0||0\n10|redacted_at|INTEGER|0||0\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.3882979,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39029256,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.5063165,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50831115,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6243351,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6263298,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7287234,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.5046542,"top":1.0,"width":0.010970744,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-8893806082401793599
|
5066020691068762131
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
10|redacted_at|INTEGER|0||0
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
27900
|
NULL
|
NULL
|
NULL
|
|
27918
|
1143
|
7
|
2026-05-12T17:29:09.434978+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606949434_m1.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
5.9
KB/s
42
KB/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
UGREEN AI
Recycle Bin
Task Center
Upload
Files (1)
Others
Pause all
Start all
Clear completed tasks
Delete all
Task
Progress
Status
Type
Walt Disney and other items
19% completed
1224/5472
26 MB/s
Copy
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Telnet
Enable
Enable
Port
23
Advanced settings
SSH
Enable
Enable
Port
22
Shut down automatically
1h later
2026-05-12 21:04 will automatically shut down
Advanced settings
Function description
Use a terminal to log in and manage your system. When enabling this function, it is recommended to set a strong password for the login account and enable
auto block
auto block
to enhance system security.
Apply...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 TB in 25 MB/s - Google Search","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 TB in 25 MB/s - Google Search","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.48576388,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.5086806,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.53194445,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.5552083,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.5784722,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.9","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KB/s","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"42","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KB/s","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Storage","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App Center","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Logs","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Support","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Task Manager","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cloud Drives","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Theater","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Photos","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Online Office","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TextEdit","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Virtual Machine","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DLNA","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Version Explorer","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jellyfin-HT","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SAN Manager","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vault","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Snapshot","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Comics","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync & Backup","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN AI","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recycle Bin","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Task Center","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Upload","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files (1)","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Others","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pause all","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Start all","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Clear completed tasks","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Delete all","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Task","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Progress","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Status","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Walt Disney and other items","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19% completed","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1224/5472","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26 MB/s","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Copy","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":24,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":23,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search","depth":18,"on_screen":true,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Connection & Access","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"User Management","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Service","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Device Connection","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Domain/LDAP","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hardware & Power","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Time & Language","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Network","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Indexing Service","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Service","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Update & Restore","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Telnet","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Enable","depth":18,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enable","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Port","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"23","depth":20,"on_screen":true,"value":"23","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Advanced settings","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SSH","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":20,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Enable","depth":18,"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enable","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Port","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"22","depth":20,"on_screen":true,"value":"22","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shut down automatically","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1h later","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":22,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-12 21:04 will automatically shut down","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced settings","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Function description","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use a terminal to log in and manage your system. When enabling this function, it is recommended to set a strong password for the login account and enable","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"auto block","depth":17,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"auto block","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to enhance system security.","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Apply","depth":18,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
4416406924388185369
|
-6464462983974823027
|
click
|
accessibility
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
5.9
KB/s
42
KB/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
UGREEN AI
Recycle Bin
Task Center
Upload
Files (1)
Others
Pause all
Start all
Clear completed tasks
Delete all
Task
Progress
Status
Type
Walt Disney and other items
19% completed
1224/5472
26 MB/s
Copy
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Telnet
Enable
Enable
Port
23
Advanced settings
SSH
Enable
Enable
Port
22
Shut down automatically
1h later
2026-05-12 21:04 will automatically shut down
Advanced settings
Function description
Use a terminal to log in and manage your system. When enabling this function, it is recommended to set a strong password for the login account and enable
auto block
auto block
to enhance system security.
Apply...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27919
|
1144
|
4
|
2026-05-12T17:29:09.451035+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606949451_m2.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
5.9
KB/s
42
KB/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
UGREEN AI
Recycle Bin
Task Center
Upload
Files (1)
Others
Pause all
Start all
Clear completed tasks
Delete all
Task
Progress
Status
Type
Walt Disney and other items
19% completed
1224/5472
26 MB/s
Copy
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Telnet
Enable
Enable
Port
23
Advanced settings
SSH
Enable
Enable
Port
22
Shut down automatically
1h later
2026-05-12 21:04 will automatically shut down
Advanced settings
Function description
Use a terminal to log in and manage your system. When enabling this function, it is recommended to set a strong password for the login account and enable
auto block
auto block
to enhance system security.
Apply...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.5,"top":0.0518755,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.51329786,"top":0.06304868,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"bounds":{"left":0.5,"top":0.08459697,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"bounds":{"left":0.51329786,"top":0.09577015,"width":0.029587766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.5,"top":0.11731844,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"bounds":{"left":0.51329786,"top":0.12849163,"width":0.036901597,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.55651593,"top":0.1245012,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.5,"top":0.15003991,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.51329786,"top":0.16121309,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.5,"top":0.18276137,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.51329786,"top":0.19393456,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.5,"top":0.21548285,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.51329786,"top":0.22665602,"width":0.040724736,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.5,"top":0.2482043,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.51329786,"top":0.25937748,"width":0.03756649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"bounds":{"left":0.5,"top":0.28092578,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"bounds":{"left":0.51329786,"top":0.29209897,"width":0.012134309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":4,"bounds":{"left":0.5,"top":0.31364724,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":5,"bounds":{"left":0.51329786,"top":0.32482043,"width":0.1100399,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.5,"top":0.3463687,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.51329786,"top":0.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 TB in 25 MB/s - Google Search","depth":4,"bounds":{"left":0.5,"top":0.3790902,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 TB in 25 MB/s - Google Search","depth":5,"bounds":{"left":0.51329786,"top":0.39026338,"width":0.05668218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.5,"top":0.41181165,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.51329786,"top":0.42298484,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.5028258,"top":0.4461293,"width":0.06333112,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.5028258,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.51379657,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.5249335,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.53607047,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.5472075,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":18,"bounds":{"left":0.97706115,"top":0.06304868,"width":0.0066489363,"height":0.015961692},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.9","depth":16,"bounds":{"left":1.0,"top":0.06264964,"width":-0.0625,"height":0.008379889},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KB/s","depth":16,"bounds":{"left":1.0,"top":0.06304868,"width":-0.06765294,"height":0.0075818035},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"42","depth":16,"bounds":{"left":1.0,"top":0.07222666,"width":-0.0625,"height":0.008379889},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KB/s","depth":16,"bounds":{"left":1.0,"top":0.0726257,"width":-0.06648934,"height":0.0075818035},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files","depth":13,"bounds":{"left":0.72755986,"top":0.1707901,"width":0.009973404,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":13,"bounds":{"left":0.7184175,"top":0.2697526,"width":0.02825798,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Storage","depth":13,"bounds":{"left":0.7244016,"top":0.36871508,"width":0.016289894,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App Center","depth":13,"bounds":{"left":0.72074467,"top":0.46767756,"width":0.023603724,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Logs","depth":13,"bounds":{"left":0.72755986,"top":0.5666401,"width":0.009973404,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Support","depth":13,"bounds":{"left":0.7244016,"top":0.66560256,"width":0.016289894,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Task Manager","depth":13,"bounds":{"left":0.7179189,"top":0.76456505,"width":0.02925532,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":13,"bounds":{"left":0.72639626,"top":0.86352754,"width":0.012300532,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cloud Drives","depth":13,"bounds":{"left":0.767121,"top":0.1707901,"width":0.026595745,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Theater","depth":13,"bounds":{"left":0.77244014,"top":0.2697526,"width":0.015957447,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Photos","depth":13,"bounds":{"left":0.773105,"top":0.36871508,"width":0.01462766,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Online Office","depth":13,"bounds":{"left":0.7669548,"top":0.46767756,"width":0.026928192,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TextEdit","depth":13,"bounds":{"left":0.7721077,"top":0.5666401,"width":0.01662234,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Virtual Machine","depth":13,"bounds":{"left":0.76446146,"top":0.66560256,"width":0.031914894,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":13,"bounds":{"left":0.76894945,"top":0.76456505,"width":0.022938829,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DLNA","depth":13,"bounds":{"left":0.7742686,"top":0.86352754,"width":0.012300532,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Version Explorer","depth":13,"bounds":{"left":0.8068484,"top":0.1707901,"width":0.04288564,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":13,"bounds":{"left":0.81981385,"top":0.2697526,"width":0.016954787,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jellyfin-HT","depth":13,"bounds":{"left":0.81732047,"top":0.36871508,"width":0.021941489,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SAN Manager","depth":13,"bounds":{"left":0.81366354,"top":0.46767756,"width":0.02925532,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vault","depth":13,"bounds":{"left":0.8231383,"top":0.5666401,"width":0.010305851,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Snapshot","depth":13,"bounds":{"left":0.81848407,"top":0.66560256,"width":0.019614361,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Comics","depth":13,"bounds":{"left":0.82047874,"top":0.76456505,"width":0.015625,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync & Backup","depth":13,"bounds":{"left":0.8125,"top":0.86352754,"width":0.03158245,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN AI","depth":13,"bounds":{"left":0.86336434,"top":0.1707901,"width":0.025598405,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recycle Bin","depth":13,"bounds":{"left":0.86386305,"top":0.2697526,"width":0.024601065,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Task Center","depth":18,"bounds":{"left":0.960605,"top":0.27613726,"width":0.022606382,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Upload","depth":23,"bounds":{"left":0.8302859,"top":0.30726257,"width":0.014793883,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files (1)","depth":23,"bounds":{"left":0.8557181,"top":0.30726257,"width":0.01761968,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Others","depth":23,"bounds":{"left":0.88397604,"top":0.30726257,"width":0.013962766,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Pause all","depth":19,"bounds":{"left":0.8302859,"top":0.3423783,"width":0.029753989,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Start all","depth":19,"bounds":{"left":0.8640292,"top":0.3423783,"width":0.02642952,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Clear completed tasks","depth":19,"bounds":{"left":0.89444816,"top":0.3423783,"width":0.05668218,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Delete all","depth":19,"bounds":{"left":0.95511967,"top":0.3423783,"width":0.030086435,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Task","depth":21,"bounds":{"left":0.83693486,"top":0.39106146,"width":0.00880984,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Progress","depth":21,"bounds":{"left":0.93201464,"top":0.39106146,"width":0.017287234,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Status","depth":21,"bounds":{"left":1.0,"top":0.39106146,"width":-0.0024933815,"height":0.011173184},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":21,"bounds":{"left":1.0,"top":0.39106146,"width":-0.059507966,"height":0.011173184},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Walt Disney and other items","depth":24,"bounds":{"left":0.84557843,"top":0.42817238,"width":0.058011968,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"19% completed","depth":24,"bounds":{"left":0.93201464,"top":0.4329609,"width":0.027426861,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1224/5472","depth":24,"bounds":{"left":0.9730718,"top":0.4329609,"width":0.018783245,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26 MB/s","depth":24,"bounds":{"left":1.0,"top":0.42817238,"width":-0.0024933815,"height":0.012769354},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Copy","depth":25,"bounds":{"left":1.0,"top":0.42817238,"width":-0.059507966,"height":0.012769354},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":24,"bounds":{"left":1.0,"top":0.4217877,"width":-0.08028591,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":1.0,"top":0.42817238,"width":-0.082945466,"height":0.012769354},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":23,"bounds":{"left":1.0,"top":0.4217877,"width":-0.09624338,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":1.0,"top":0.42817238,"width":-0.09890294,"height":0.012769354},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":13,"bounds":{"left":0.9112367,"top":0.19872306,"width":0.025930852,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"","depth":13,"bounds":{"left":1.0,"top":0.19473264,"width":-0.056515932,"height":0.01915403},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":14,"bounds":{"left":1.0,"top":0.19792499,"width":-0.05784571,"height":0.012769354},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.7922208,"top":0.23463687,"width":0.004654255,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search","depth":18,"bounds":{"left":0.79953456,"top":0.22745411,"width":0.028922873,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Connection & Access","depth":19,"bounds":{"left":0.77859044,"top":0.27853152,"width":0.037898935,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"User Management","depth":21,"bounds":{"left":0.78856385,"top":0.31284916,"width":0.040059842,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Service","depth":21,"bounds":{"left":0.78856385,"top":0.35115722,"width":0.025930852,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Device Connection","depth":21,"bounds":{"left":0.78856385,"top":0.38946527,"width":0.025598405,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Domain/LDAP","depth":21,"bounds":{"left":0.78856385,"top":0.44692737,"width":0.031083776,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":21,"bounds":{"left":0.78856385,"top":0.48523542,"width":0.019115692,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":19,"bounds":{"left":0.77859044,"top":0.5243416,"width":0.01412899,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hardware & Power","depth":21,"bounds":{"left":0.78856385,"top":0.5586592,"width":0.04105718,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Time & Language","depth":21,"bounds":{"left":0.78856385,"top":0.5969673,"width":0.03873005,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Network","depth":21,"bounds":{"left":0.78856385,"top":0.63527536,"width":0.018284574,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":21,"bounds":{"left":0.78856385,"top":0.6735834,"width":0.018284574,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Indexing Service","depth":21,"bounds":{"left":0.78856385,"top":0.7118915,"width":0.036901597,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Service","depth":19,"bounds":{"left":0.77859044,"top":0.7509976,"width":0.013297873,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About","depth":21,"bounds":{"left":0.78856385,"top":0.7853152,"width":0.013464096,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Update & Restore","depth":21,"bounds":{"left":0.78856385,"top":0.8236233,"width":0.0390625,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Telnet","depth":18,"bounds":{"left":0.85123,"top":0.2490024,"width":0.012466756,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Enable","depth":18,"bounds":{"left":0.87200797,"top":0.25019953,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enable","depth":18,"bounds":{"left":0.8793218,"top":0.2490024,"width":0.014461436,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Port","depth":19,"bounds":{"left":0.87898934,"top":0.27773345,"width":0.008477394,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"23","depth":20,"bounds":{"left":0.89444816,"top":0.27214685,"width":0.06781915,"height":0.023942538},"on_screen":true,"value":"23","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Advanced settings","depth":18,"bounds":{"left":0.87200797,"top":0.30766162,"width":0.0546875,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SSH","depth":18,"bounds":{"left":0.8540558,"top":0.36711892,"width":0.009640957,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":20,"bounds":{"left":0.87234044,"top":0.36911413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Enable","depth":18,"bounds":{"left":0.87200797,"top":0.36831605,"width":0.004654255,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enable","depth":18,"bounds":{"left":0.8793218,"top":0.36711892,"width":0.014461436,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Port","depth":19,"bounds":{"left":0.87898934,"top":0.39584997,"width":0.008477394,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"22","depth":20,"bounds":{"left":0.93633646,"top":0.39026338,"width":0.06366354,"height":0.023942538},"on_screen":true,"value":"22","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shut down automatically","depth":19,"bounds":{"left":0.87898934,"top":0.4309657,"width":0.05036569,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1h later","depth":22,"bounds":{"left":0.93633646,"top":0.43176377,"width":0.013297873,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.99883646,"top":0.4309657,"width":0.0011635423,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":1.0,"top":0.43136472,"width":-0.009807229,"height":0.011572227},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026-05-12 21:04 will automatically shut down","depth":19,"bounds":{"left":0.93201464,"top":0.45331204,"width":0.067985356,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced settings","depth":18,"bounds":{"left":0.87200797,"top":0.4744613,"width":0.0546875,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Function description","depth":17,"bounds":{"left":0.85172874,"top":0.5415004,"width":0.046043884,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use a terminal to log in and manage your system. When enabling this function, it is recommended to set a strong password for the login account and enable","depth":17,"bounds":{"left":0.85172874,"top":0.55985636,"width":0.14827126,"height":0.022745412},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"auto block","depth":17,"bounds":{"left":0.92769283,"top":0.5714286,"width":0.018284574,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"auto block","depth":18,"bounds":{"left":0.92769283,"top":0.5714286,"width":0.018284574,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to enhance system security.","depth":17,"bounds":{"left":0.9459774,"top":0.5714286,"width":0.050199468,"height":0.011173184},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Apply","depth":18,"bounds":{"left":1.0,"top":0.782921,"width":-0.030917525,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
4416406924388185369
|
-6464462983974823027
|
click
|
accessibility
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
5.9
KB/s
42
KB/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
UGREEN AI
Recycle Bin
Task Center
Upload
Files (1)
Others
Pause all
Start all
Clear completed tasks
Delete all
Task
Progress
Status
Type
Walt Disney and other items
19% completed
1224/5472
26 MB/s
Copy
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Telnet
Enable
Enable
Port
23
Advanced settings
SSH
Enable
Enable
Port
22
Shut down automatically
1h later
2026-05-12 21:04 will automatically shut down
Advanced settings
Function description
Use a terminal to log in and manage your system. When enabling this function, it is recommended to set a strong password for the login account and enable
auto block
auto block
to enhance system security.
Apply...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27921
|
1143
|
8
|
2026-05-12T17:29:10.589730+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606950589_m1.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Ask Gemini
Google Account: Lukáš Koválik ([EMAIL])
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Create a video, button, tap to use tool
Create a video
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
Help me learn, button, tap to use tool
Help me learn
Ask Gemini
Ask Gemini
Microphone
Send message
Summarize page
Summarize page...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 TB in 25 MB/s - Google Search","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 TB in 25 MB/s - Google Search","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.48576388,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.5086806,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.53194445,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.5552083,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.5784722,"top":0.0,"width":0.022222223,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Ask Gemini","depth":8,"on_screen":true,"help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Temporary chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"PLUS","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLUS","depth":13,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukáš","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Where should we start?","depth":22,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Where should we start?","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🖼️ Create image, button, tap to use tool","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🖼️ Create image","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🎸 Create music, button, tap to use tool","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🎸 Create music","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create a video, button, tap to use tool","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create a video","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Write anything, button, tap to use tool","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Write anything","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Boost my day, button, tap to use tool","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boost my day","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help me learn, button, tap to use tool","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help me learn","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"on_screen":true,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Send message","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.63472223,"top":0.0,"width":0.11180556,"height":0.035555556},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.64652777,"top":0.0,"width":0.088194445,"height":0.02111111},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7523131032546613442
|
6081425603639500763
|
click
|
accessibility
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Ask Gemini
Google Account: Lukáš Koválik ([EMAIL])
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Create a video, button, tap to use tool
Create a video
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
Help me learn, button, tap to use tool
Help me learn
Ask Gemini
Ask Gemini
Microphone
Send message
Summarize page
Summarize page...
|
27918
|
NULL
|
NULL
|
NULL
|
|
27922
|
1144
|
6
|
2026-05-12T17:29:10.628530+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778606950628_m2.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.5,"top":0.0518755,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.51329786,"top":0.06304868,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"All docs · AFFiNE","depth":4,"bounds":{"left":0.5,"top":0.08459697,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All docs · AFFiNE","depth":5,"bounds":{"left":0.51329786,"top":0.09577015,"width":0.029587766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.5,"top":0.11731844,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":5,"bounds":{"left":0.51329786,"top":0.12849163,"width":0.036901597,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.55651593,"top":0.1245012,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.5,"top":0.15003991,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.51329786,"top":0.16121309,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.5,"top":0.18276137,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.51329786,"top":0.19393456,"width":0.037898935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.5,"top":0.21548285,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.51329786,"top":0.22665602,"width":0.040724736,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.5,"top":0.2482043,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.51329786,"top":0.25937748,"width":0.03756649,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude","depth":4,"bounds":{"left":0.5,"top":0.28092578,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude","depth":5,"bounds":{"left":0.51329786,"top":0.29209897,"width":0.012134309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":4,"bounds":{"left":0.5,"top":0.31364724,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage extra usage for paid Claude plans | Claude Help Center","depth":5,"bounds":{"left":0.51329786,"top":0.32482043,"width":0.1100399,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.5,"top":0.3463687,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.51329786,"top":0.3575419,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 TB in 25 MB/s - Google Search","depth":4,"bounds":{"left":0.5,"top":0.3790902,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 TB in 25 MB/s - Google Search","depth":5,"bounds":{"left":0.51329786,"top":0.39026338,"width":0.05668218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.5,"top":0.41181165,"width":0.06881649,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.51329786,"top":0.42298484,"width":0.014960106,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.5028258,"top":0.4461293,"width":0.06333112,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.5028258,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.51379657,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.5249335,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.53607047,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.5472075,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.67386967,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.68583775,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"bounds":{"left":0.6831782,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Temporary chat","depth":12,"bounds":{"left":0.64644283,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"PLUS","depth":11,"bounds":{"left":0.66373,"top":0.110135674,"width":0.017453458,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLUS","depth":13,"bounds":{"left":0.66638964,"top":0.11412609,"width":0.012134309,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.56848407,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.56848407,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukáš","depth":23,"bounds":{"left":0.57546544,"top":0.22027135,"width":0.027925532,"height":0.022346368},"on_screen":true,"role_description":"text","subrole":"AXUnknown"}]...
|
7389338048950475874
|
9026792555714500511
|
click
|
accessibility
|
NULL
|
Screenpipe — Archive
Screenpipe — Archive
All docs Screenpipe — Archive
Screenpipe — Archive
All docs · AFFiNE
All docs · AFFiNE
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8
Close tab
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude
Claude
Manage extra usage for paid Claude plans | Claude Help Center
Manage extra usage for paid Claude plans | Claude Help Center
New Tab
New Tab
2 TB in 25 MB/s - Google Search
2 TB in 25 MB/s - Google Search
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
27934
|
1143
|
14
|
2026-05-12T17:31:43.247857+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778607103247_m1.jpg...
|
iTerm2
|
nano
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.24652778,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25069445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.49305555,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49722221,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"nano","depth":2,"bounds":{"left":0.7395833,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.74375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"nano","depth":1,"bounds":{"left":0.4888889,"top":0.033333335,"width":0.025,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-7540444512015538345
|
166386821585357585
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
27933
|
NULL
|
NULL
|
NULL
|
|
27935
|
1144
|
13
|
2026-05-12T17:31:43.226380+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778607103226_m2.jpg...
|
iTerm2
|
nano
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.3882979,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39029256,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.5063165,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50831115,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"nano","depth":2,"bounds":{"left":0.6243351,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6263298,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7287234,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"nano","depth":1,"bounds":{"left":0.5043218,"top":1.0,"width":0.011968086,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-7540444512015538345
|
166386821585357585
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
27932
|
NULL
|
NULL
|
NULL
|
|
27947
|
1145
|
3
|
2026-05-12T17:34:49.480284+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778607289480_m1.jpg...
|
iTerm2
|
nano
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh Modified
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
[ Unknown Command: ^_ ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh Modified \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n [ Unknown Command: ^_ ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh Modified \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n [ Unknown Command: ^_ ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.24652778,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25069445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.49305555,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49722221,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"nano","depth":2,"bounds":{"left":0.7395833,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.74375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"nano","depth":1,"bounds":{"left":0.4888889,"top":0.033333335,"width":0.025,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
1444563619420994274
|
166386821577034001
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh Modified
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
[ Unknown Command: ^_ ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
27940
|
NULL
|
NULL
|
NULL
|
|
27948
|
1146
|
3
|
2026-05-12T17:34:49.471422+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778607289471_m2.jpg...
|
iTerm2
|
nano
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh Modified
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
[ Unknown Command: ^_ ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh Modified \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n [ Unknown Command: ^_ ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh Modified \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n [ Unknown Command: ^_ ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.3882979,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39029256,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.5063165,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50831115,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"nano","depth":2,"bounds":{"left":0.6243351,"top":1.0,"width":0.11801862,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6263298,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7287234,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"nano","depth":1,"bounds":{"left":0.5043218,"top":1.0,"width":0.011968086,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
1444563619420994274
|
166386821577034001
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh Modified
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
[ Unknown Command: ^_ ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
27941
|
NULL
|
NULL
|
NULL
|
|
27949
|
1145
|
4
|
2026-05-12T17:34:58.518007+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778607298518_m1.jpg...
|
iTerm2
|
nano
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh Modified
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
[ Unknown Command: ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh Modified \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n [ Unknown Command: ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"on_screen":true,"value":"Last login: Tue May 12 20:12:05 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 8720288\ndrwxr-xr-x 21 lukas staff 672 12 May 09:21 .\ndrwx------+ 96 lukas staff 3072 12 May 20:12 ..\n-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store\n-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id\n-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash\ndrwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data\n-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite\n-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal\ndrwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes\n-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log\n-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log\n-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log\n-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log\n-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log\n-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log\n-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log\n-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh\n-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak\n-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2\n-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 695 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n UW PICO 5.09 File: screenpipe_sync.sh \n\n Pico Help Text\n \n Pico is designed to be a simple, easy-to-use text editor with a\n layout very similar to the Alpine mailer. The status line at the\n top of the display shows pico's version, the current file being\n edited and whether or not there are outstanding modifications\n that have not been saved. The third line from the bottom is used\n to report informational messages and for additional command input.\n The bottom two lines list the available editing commands.\n \n Each character typed is automatically inserted into the buffer\n at the current cursor position. Editing commands and cursor\n movement (besides arrow keys) are given to pico by typing\n special control-key sequences. A caret, '^', is used to denote\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000the control key, sometimes marked \"CTRL\", so the CTRL-q key\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000combination is written as ^Q.\n \n The following functions are available in pico (where applicable,\n corresponding function key commands are in parentheses).\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^G (F1) Display this help text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^F move Forward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^B move Backward a character.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^P move to the Previous line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^N move to the Next line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^A move to the beginning of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^E move to the End of the current line.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^V (F8) move forward a page of text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^Y (F7) move backward a page of text.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^W (F6) Search for (where is) text, neglecting case.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^L Refresh the display.\n \n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^D Delete the character at the cursor position.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^^ Mark cursor position as beginning of selected text.\n Note: Setting mark when already set unselects text.\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^K (F9) Cut selected text (displayed in inverse characters).\n Note: The selected text's boundary on the cursor side\n ends at the left edge of the cursor. So, with \n\n \n^X Exit Help ^V Next Pg \n UW PICO 5.09 File: screenpipe_sync.sh Modified \n\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_transcriptions:\" \"$SRC_ATRANS\"\n\u0000\u0000printf \" %-25s %s\\n\" \"audio_tags:\" \"$SRC_ATAGS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speakers:\" \"$SRC_SPEAKERS\"\n\u0000\u0000printf \" %-25s %s (all-time)\\n\" \"speaker_embeddings:\" \"$SRC_SEMB\"\n\n\u0000\u0000if [ \"$SRC_FRAMES\" -eq \"0\" ] && [ \"$SRC_ACHUNKS\" -eq \"0\" ]; then\n\u0000\u0000\u0000\u0000log \"No frames or audio chunks for $TARGET_DATE — skipping DB sync\"\n\u0000\u0000\u0000\u0000DB_ALREADY_SYNCED=true\n\u0000\u0000fi\n\nfi\n\nif [ \"$DB_ALREADY_SYNCED\" = false ]; then\n\n\u0000\u0000# ─── INIT TABLES ──────────────────────────────────────────────────────────\n\u0000\u0000step \"Initialising tables (CREATE IF NOT EXISTS)\"\n\n\u0000\u0000run_sqlite_heredoc \"creating vision tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000run_sqlite_heredoc \"creating audio tables\" \"\nATTACH '$NAS_DB' AS nas;\nCREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;\nCREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;\nDETACH nas;\n\"\n\n\u0000\u0000# Re-run install_id + index setup so freshly-created tables get them too.\n\u0000\u0000for tbl in \"${ALL_SYNC_TABLES[@]}\"; do\n [ Unknown Command: ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.24652778,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25069445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (screenpipe\")","depth":2,"bounds":{"left":0.49305555,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49722221,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"nano","depth":2,"bounds":{"left":0.7395833,"top":0.05888889,"width":0.24652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.74375,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"nano","depth":1,"bounds":{"left":0.4888889,"top":0.033333335,"width":0.025,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-4019785158811058267
|
166386821577034001
|
click
|
accessibility
|
NULL
|
Last login: Tue May 12 20:12:05 on ttys007
Poetry Last login: Tue May 12 20:12:05 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ open ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 8720288
drwxr-xr-x 21 lukas staff 672 12 May 09:21 .
drwx------+ 96 lukas staff 3072 12 May 20:12 ..
-rw-r--r--@ 1 lukas staff 6148 12 May 20:14 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3660 lukas staff 117120 12 May 17:41 data
-rw-r--r--@ 1 lukas staff 4457357312 12 May 17:41 db.sqlite
-rw-r--r-- 1 lukas staff 65536 12 May 09:26 db.sqlite-shm
-rw-r--r-- 1 lukas staff 5001712 12 May 17:41 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 245484 12 May 17:39 screenpipe.2026-05-12.0.log
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
-rw-r--r--@ 1 lukas staff 8541 11 May 20:54 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat screenpipe_sync.sh | pbcopy
UW PICO 5.09 New Buffer
[ Read 695 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
UW PICO 5.09 File: screenpipe_sync.sh
Pico Help Text
Pico is designed to be a simple, easy-to-use text editor with a
layout very similar to the Alpine mailer. The status line at the
top of the display shows pico's version, the current file being
edited and whether or not there are outstanding modifications
that have not been saved. The third line from the bottom is used
to report informational messages and for additional command input.
The bottom two lines list the available editing commands.
Each character typed is automatically inserted into the buffer
at the current cursor position. Editing commands and cursor
movement (besides arrow keys) are given to pico by typing
special control-key sequences. A caret, '^', is used to denote
the control key, sometimes marked "CTRL", so the CTRL-q key
combination is written as ^Q.
The following functions are available in pico (where applicable,
corresponding function key commands are in parentheses).
^G (F1) Display this help text.
^F move Forward a character.
^B move Backward a character.
^P move to the Previous line.
^N move to the Next line.
^A move to the beginning of the current line.
^E move to the End of the current line.
^V (F8) move forward a page of text.
^Y (F7) move backward a page of text.
^W (F6) Search for (where is) text, neglecting case.
^L Refresh the display.
^D Delete the character at the cursor position.
^^ Mark cursor position as beginning of selected text.
Note: Setting mark when already set unselects text.
^K (F9) Cut selected text (displayed in inverse characters).
Note: The selected text's boundary on the cursor side
ends at the left edge of the cursor. So, with
^X Exit Help ^V Next Pg
UW PICO 5.09 File: screenpipe_sync.sh Modified
printf " %-25s %s\n" "audio_transcriptions:" "$SRC_ATRANS"
printf " %-25s %s\n" "audio_tags:" "$SRC_ATAGS"
printf " %-25s %s (all-time)\n" "speakers:" "$SRC_SPEAKERS"
printf " %-25s %s (all-time)\n" "speaker_embeddings:" "$SRC_SEMB"
if [ "$SRC_FRAMES" -eq "0" ] && [ "$SRC_ACHUNKS" -eq "0" ]; then
log "No frames or audio chunks for $TARGET_DATE — skipping DB sync"
DB_ALREADY_SYNCED=true
fi
fi
if [ "$DB_ALREADY_SYNCED" = false ]; then
# ─── INIT TABLES ──────────────────────────────────────────────────────────
step "Initialising tables (CREATE IF NOT EXISTS)"
run_sqlite_heredoc "creating vision tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.frames AS SELECT * FROM main.frames WHERE 0;
CREATE TABLE IF NOT EXISTS nas.elements AS SELECT * FROM main.elements WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ui_events AS SELECT * FROM main.ui_events WHERE 0;
CREATE TABLE IF NOT EXISTS nas.ocr_text AS SELECT * FROM main.ocr_text WHERE 0;
CREATE TABLE IF NOT EXISTS nas.video_chunks AS SELECT * FROM main.video_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.meetings AS SELECT * FROM main.meetings WHERE 0;
DETACH nas;
"
run_sqlite_heredoc "creating audio tables" "
ATTACH '$NAS_DB' AS nas;
CREATE TABLE IF NOT EXISTS nas.audio_chunks AS SELECT * FROM main.audio_chunks WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_transcriptions AS SELECT * FROM main.audio_transcriptions WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speakers AS SELECT * FROM main.speakers WHERE 0;
CREATE TABLE IF NOT EXISTS nas.speaker_embeddings AS SELECT * FROM main.speaker_embeddings WHERE 0;
CREATE TABLE IF NOT EXISTS nas.audio_tags AS SELECT * FROM main.audio_tags WHERE 0;
DETACH nas;
"
# Re-run install_id + index setup so freshly-created tables get them too.
for tbl in "${ALL_SYNC_TABLES[@]}"; do
[ Unknown Command: ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (screenpipe")
Close Tab
nano
Close Tab
⌥⌘1
nano...
|
NULL
|
NULL
|
NULL
|
NULL
|