|
801
|
19
|
32
|
2026-04-11T12:21:21.142421+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910081142_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2874204950340210378
|
6730655102801128111
|
clipboard
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
800
|
|
802
|
19
|
33
|
2026-04-11T12:21:25.247888+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910085247_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% C-zshDOCKERO ₴1DEV (-zsh)-O $2APP (-zsh)• *3lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~Ssqlite3~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframes f ONe.frame_id = f.idWHEREe.text IS NOT NULLGROUPBY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude|204018Safaril1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementsJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• 84-zsh• 85-zsh• *6Sat 11 Apr 15:21:24-zshT81*7...
|
NULL
|
5253162369191389529
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% C-zshDOCKERO ₴1DEV (-zsh)-O $2APP (-zsh)• *3lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~Ssqlite3~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframes f ONe.frame_id = f.idWHEREe.text IS NOT NULLGROUPBY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude|204018Safaril1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementsJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• 84-zsh• 85-zsh• *6Sat 11 Apr 15:21:24-zshT81*7...
|
NULL
|
|
803
|
19
|
34
|
2026-04-11T12:21:26.336012+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910086336_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp$0(ahl100% <7•• 0-zsh|DOCKERO ₴1DEV (-zsh)-О 882APP (-zsh)|• *3lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~Ssqlite3~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframes f ONe.frame_id = f.idWHEREe.text IS NOT NULLGROUPBY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude|204018Safaril1248110Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementseJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ П-zsh• 84-zsh• ₴5-zshO 886Sat 11 Apr 15:21:25-zsh181X7...
|
NULL
|
2221855361542388760
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp$0(ahl100% <7•• 0-zsh|DOCKERO ₴1DEV (-zsh)-О 882APP (-zsh)|• *3lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~Ssqlite3~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframes f ONe.frame_id = f.idWHEREe.text IS NOT NULLGROUPBY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude|204018Safaril1248110Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementseJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ П-zsh• 84-zsh• ₴5-zshO 886Sat 11 Apr 15:21:25-zsh181X7...
|
802
|
|
804
|
19
|
35
|
2026-04-11T12:21:27.089580+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910087089_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp$0(ahl100% <7•• 0-zsh|DOCKERO ₴1DEV (-zsh)-О 882APP (-zsh)|• *3lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~Ssqlite3~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframes f ONe.frame_id = f.idWHEREe.text IS NOT NULLGROUPBY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude|204018Safaril1248110Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementseJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ П-zsh• 84-zsh• ₴5-zshO 886Sat 11 Apr 15:21:26-zsh181X7...
|
NULL
|
5164026862691397463
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHe iTerm2ShellEdit|ViewSessionScriptsProfilesWindowHelp$0(ahl100% <7•• 0-zsh|DOCKERO ₴1DEV (-zsh)-О 882APP (-zsh)|• *3lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~Ssqlite3~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframes f ONe.frame_id = f.idWHEREe.text IS NOT NULLGROUPBY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude|204018Safaril1248110Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementseJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ П-zsh• 84-zsh• ₴5-zshO 886Sat 11 Apr 15:21:26-zsh181X7...
|
NULL
|
|
805
|
19
|
36
|
2026-04-11T12:21:27.573521+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910087573_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
543137638070975888
|
6730725471545306026
|
click
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
804
|
|
806
|
19
|
37
|
2026-04-11T12:21:27.826612+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910087826_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-4121554977823788588
|
6730725471545306026
|
clipboard
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
807
|
19
|
38
|
2026-04-11T12:21:29.374019+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910089374_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-1610790630866244402
|
6730725469397822378
|
visual_change
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
806
|
|
808
|
19
|
39
|
2026-04-11T12:21:32.409072+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910092409_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2155183469395643749
|
5693765216978349033
|
visual_change
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
809
|
19
|
40
|
2026-04-11T12:21:48.580089+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910108580_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% C-zshDOCKERO ₴1DEV (-zsh)-O 882APP (-zsh)•*зGROUP BY f.app_nameORDER BYelements DESC;"1246041206Dial2884117iTerm2120871136CLaude|204018Safaril1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ Ssqlite3~/.screenpipe/db.sqlite "SELECTe.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elementseJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max IBackOrder Room Service • HBO Max|SearchOrder Room Service • HBO Max|UkoncitprehrávanieOrder Room Service • HBO Max|RozbalitEpizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO Max|Celá obrazovkaOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBOMax| FavouritesOrder Room Service • HBOMax|Tab Group FavouritesOrder Room Service • HBO Max|NASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• 84-zsh• 85-zsh• *6Sat 11 Apr 15:21:48-zshT81*7...
|
NULL
|
8299091789282763233
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% C-zshDOCKERO ₴1DEV (-zsh)-O 882APP (-zsh)•*зGROUP BY f.app_nameORDER BYelements DESC;"1246041206Dial2884117iTerm2120871136CLaude|204018Safaril1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ Ssqlite3~/.screenpipe/db.sqlite "SELECTe.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elementseJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max IBackOrder Room Service • HBO Max|SearchOrder Room Service • HBO Max|UkoncitprehrávanieOrder Room Service • HBO Max|RozbalitEpizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO Max|Celá obrazovkaOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBOMax| FavouritesOrder Room Service • HBOMax|Tab Group FavouritesOrder Room Service • HBO Max|NASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• 84-zsh• 85-zsh• *6Sat 11 Apr 15:21:48-zshT81*7...
|
808
|
|
810
|
19
|
41
|
2026-04-11T12:21:49.844435+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910109844_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahl100% <7-zshDOCKERO ₴1DEV (-zsh)О 882APP (-zsh)• ₴зGROUPBY f.app_nameORDER BYelements DESC;"1246041206Dial2884117iTerm2120871136CLaude|204018Safaril1248110Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECTe.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max IBackOrder Room Service • HBO Max|SearchOrder Room Service • HBO Max|UkoncitprehrávanieOrder Room Service • HBO Max|RozbalitEpizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO Max|Celá obrazovkaOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max| FavouritesOrder Room Service • HB0Max|Tab Group FavouritesOrder Room Service • HBO Max|NASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• 84-zsh• ₴5-zshO 886Sat 11 Apr 15:21:49-zsh181X7...
|
NULL
|
64628468849409068
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahl100% <7-zshDOCKERO ₴1DEV (-zsh)О 882APP (-zsh)• ₴зGROUPBY f.app_nameORDER BYelements DESC;"1246041206Dial2884117iTerm2120871136CLaude|204018Safaril1248110Firefox|45411Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECTe.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max IBackOrder Room Service • HBO Max|SearchOrder Room Service • HBO Max|UkoncitprehrávanieOrder Room Service • HBO Max|RozbalitEpizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO Max|Celá obrazovkaOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max| FavouritesOrder Room Service • HB0Max|Tab Group FavouritesOrder Room Service • HBO Max|NASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• 84-zsh• ₴5-zshO 886Sat 11 Apr 15:21:49-zsh181X7...
|
NULL
|
|
811
|
19
|
42
|
2026-04-11T12:22:20.206341+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910140206_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpall100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84311locr|blocklEdit/1010.11773255890768610.0069767444129703610.017441859510209810.[CREDIT_CARD]|1.01214|1locr|blocklViewl 1010.14825581445741110.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0131511locr|block|Session| 1010.18157913831779510.00625754295475710.035097538100348610.[CREDIT_CARD]|1.0141lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~Ssqlite3SELECT"memories'~/.screenpipe/db.sqlite"as tbl, COUNT(*) FROM memoriesUNION ALL SELECT 'meetings', COUNT(*) FROM meetingsUNION ALL SELECT 'elements'.COUNT(*)FROM elementsUNION ALL SELECT 'ocr_text', COUNT(*)FROM ocr_text;"memories10meetings10elements/34220ocr_text|448lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~5sqlites~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframesfONe. frame_id = f.idWHEREe.textIS NOT NULLGROUP BY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude |204018Safaril1248110Firefox|454|1Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementsJOIN frames f ON e. frame_id = f.idWHERE f.app_name ='iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max|BackOrder Room Service • HBO Max|SearchOrder Room Service • HBO Max|Ukoncit prehrávanie-zsh• ₴5-zsh• ₴6Sat 11 Apr 15:22:20-zsh181*7...
|
NULL
|
9206875911778196304
|
NULL
|
idle
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpall100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84311locr|blocklEdit/1010.11773255890768610.0069767444129703610.017441859510209810.[CREDIT_CARD]|1.01214|1locr|blocklViewl 1010.14825581445741110.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0131511locr|block|Session| 1010.18157913831779510.00625754295475710.035097538100348610.[CREDIT_CARD]|1.0141lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~Ssqlite3SELECT"memories'~/.screenpipe/db.sqlite"as tbl, COUNT(*) FROM memoriesUNION ALL SELECT 'meetings', COUNT(*) FROM meetingsUNION ALL SELECT 'elements'.COUNT(*)FROM elementsUNION ALL SELECT 'ocr_text', COUNT(*)FROM ocr_text;"memories10meetings10elements/34220ocr_text|448lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~5sqlites~/.screenpipe/db.sqlite"SELECTf.app_name,COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as framesFROMelementsJOINframesfONe. frame_id = f.idWHEREe.textIS NOT NULLGROUP BY f.app_nameORDER BYelements DESC;"124604|206Dial 2884|17iTerm2120871136Claude |204018Safaril1248110Firefox|454|1Activity Monitor|38012Slack|23411Control Centrel17811UserNotificationCenter|2014lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite"SELECT e.textFROM elementsJOIN frames f ON e. frame_id = f.idWHERE f.app_name ='iTerm2' AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sqlite3~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max|BackOrder Room Service • HBO Max|SearchOrder Room Service • HBO Max|Ukoncit prehrávanie-zsh• ₴5-zsh• ₴6Sat 11 Apr 15:22:20-zsh181*7...
|
810
|
|
812
|
19
|
43
|
2026-04-11T12:22:22.891394+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910142891_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2155183469395643749
|
5693765216978349033
|
click
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
813
|
19
|
44
|
2026-04-11T12:22:27.971764+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910147971_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <47-zshDOCKER0 ₴1DEV (-zsh)O $2APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• *4-zsh• *5-zsh186Sat 11 Apr 15:22:27-zshT81X7...
|
NULL
|
-6765662976551022262
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <47-zshDOCKER0 ₴1DEV (-zsh)O $2APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $-zsh• *4-zsh• *5-zsh186Sat 11 Apr 15:22:27-zshT81X7...
|
812
|
|
814
|
19
|
45
|
2026-04-11T12:22:28.957994+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910148957_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% (-zsh-zsh• *4-zsh• *5-zsh-₴6Sat 11 Apr 15:22:28-zshT81X7...
|
NULL
|
6688757446448206917
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% (-zsh-zsh• *4-zsh• *5-zsh-₴6Sat 11 Apr 15:22:28-zshT81X7...
|
NULL
|
|
815
|
19
|
46
|
2026-04-11T12:22:45.189738+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910165189_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $100% C-zshSat 11 Apr 15:22:45T81-zsh• *4-zsh• 25-zshO 886-zshX7...
|
NULL
|
3631139111191140805
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $100% C-zshSat 11 Apr 15:22:45T81-zsh• *4-zsh• 25-zshO 886-zshX7...
|
814
|
|
816
|
19
|
47
|
2026-04-11T12:22:48.227825+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910168227_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% C-zsh-zsh• *4-zsh• 25-zshO 886Sat 11 Apr 15:22:48-zshT81X7...
|
NULL
|
5153973352737788875
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% C-zsh-zsh• *4-zsh• 25-zshO 886Sat 11 Apr 15:22:48-zshT81X7...
|
NULL
|
|
817
|
19
|
48
|
2026-04-11T12:23:13.989229+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910193989_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% C-zsh-zsh• *4-zsh• x5-zshO 886Sat 11 Apr 15:23:13-zshT81X7...
|
NULL
|
-1358792894965699850
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% C-zsh-zsh• *4-zsh• x5-zshO 886Sat 11 Apr 15:23:13-zshT81X7...
|
816
|
|
818
|
19
|
49
|
2026-04-11T12:23:17.724423+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910197724_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER• ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% C-zsh-zsh• *4-zsh• x5-zshO 886Sat 11 Apr 15:23:17-zshT81*7...
|
NULL
|
1778239528528334413
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER• ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $C$Ш OOA100% C-zsh-zsh• *4-zsh• x5-zshO 886Sat 11 Apr 15:23:17-zshT81*7...
|
NULL
|
|
819
|
19
|
50
|
2026-04-11T12:23:22.380001+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910202380_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $100% C-zshSat 11 Apr 15:23:22T81-zsh• *4-zsh• 25-zshO 886-zshX7...
|
NULL
|
-5644191924573083133
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2Shell Edit ViewSessionScriptsProfilesWindowH iTerm2Shell Edit ViewSessionScriptsProfilesWindowHelp• 0DOCKER0 ₴1DEV (-zsh)О 882APP (-zsh)• *3GROUP BY f.app_nameORDER BY elements DESC;"124604|206Dial2884|17iTerm2120871136Claude|204018Safari |1248|10Firefox|45411Activity Monitor|38012Slack|23411Control Centrel178|1UserNotificationCenter|2014Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT e.textFROM elements eJOIN frames f ON e.frame_id = f.idWHERE f.app_name = 'iTerm2'AND e.role = 'block' AND e.text NOT NULLLIMIT 30;"Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT f.window_name, e.textFROM elements eJOIN frames f ON e. frame_id = f.idWHERE f.app_name = 'Safari' AND e.text IS NOT NULLLIMIT 20;"Order Room Service • HBO Max |BackOrder Room Service • HBO Max | SearchOrder Room Service • HBO Max|Ukoncit prehrávanieOrder Room Service • HBO Max|Rozbalit Epizód, 1 z 2Order Room Service • HBO Max|Rozbalit Tiez by sa vám mohlo pácit, 2 z 2Order Room Service • HBO Max|Preskocit dozadu o 10 sOrder Room Service • HBO Max|PozastavitOrder Room Service • HBO Max|Preskocit dopredu o 10 sekúndOrder Room Service • HBO Max|Hlasitost 100 %Order Room Service • HBO Max|Nastavenia zvuku a titulkovOrder Room Service • HBO MaxICelá obrazovkaOrder Room Service • HBO Max|close tabOrder Room Service • HBO Max|close tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO Max | NASOrder Room Service • HBO Max | HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $100% C-zshSat 11 Apr 15:23:22T81-zsh• *4-zsh• 25-zshO 886-zshX7...
|
818
|
|
820
|
19
|
51
|
2026-04-11T12:23:23.355286+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910203355_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2155183469395643749
|
5693765216978349033
|
click
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
821
|
19
|
52
|
2026-04-11T12:23:24.548795+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910204548_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clea
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clea","depth":4,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\n claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\nDia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc\niTerm2 curl http://localhost:3030/health\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/health\n{\n\n💬\u0000 OCR TEXT SAMPLES PER APP\n───────────────────────────────────────\n iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(io]100% C8Thu 9 Apr 19:53:14\n\n🔢\u0000 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nOCR texts: 271\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM memories LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM meetings LIMIT 5;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"SELECT * FROM elements LIMIT 5;\"\n1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.0334302319420709|0.0139534876081678|1.0|0|\n2|1|ocr|block|Shell||0|0.0828488374709768|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|1|\n3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.0174418595102098|0.0139534876081678|1.0|2|\n4|1|ocr|block|View||0|0.148255814457411|0.0069767448005672|0.0218023247188992|0.0139534876081678|1.0|3|\n5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.0350975381003486|0.0153918912675646|1.0|4|\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT 'memories' as tbl, COUNT(*) FROM memories\nUNION ALL SELECT 'meetings', COUNT(*) FROM meetings\nUNION ALL SELECT 'elements', COUNT(*) FROM elements\nUNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;\"\nmemories|0\nmeetings|0\nelements|34220\nocr_text|448\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE e.text IS NOT NULL\nGROUP BY f.app_name\nORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clea","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
2774038436661058009
|
5693765216978349033
|
visual_change
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claud lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
Dia claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mc
iTerm2 curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM memories LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM meetings LIMIT 5;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT * FROM elements LIMIT 5;"
1|1|ocr|block|iTerm2||0|0.036337209192482|0.00697674468428822|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|0|
2|1|ocr|block|Shell||0|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|1|
3|1|ocr|block|Edit||0|0.117732558907686|0.00697674441297036|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|2|
4|1|ocr|block|View||0|0.148255814457411|0.[CREDIT_CARD]|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|3|
5|1|ocr|block|Session||0|0.181579138317795|0.006257542954757|0.[CREDIT_CARD]|0.[CREDIT_CARD]|1.0|4|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT 'memories' as tbl, COUNT(*) FROM memories
UNION ALL SELECT 'meetings', COUNT(*) FROM meetings
UNION ALL SELECT 'elements', COUNT(*) FROM elements
UNION ALL SELECT 'ocr_text', COUNT(*) FROM ocr_text;"
memories|0
meetings|0
elements|34220
ocr_text|448
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.app_name, COUNT(*) as elements, COUNT(DISTINCT e.frame_id) as frames
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE e.text IS NOT NULL
GROUP BY f.app_name
ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clea
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
820
|
|
822
|
19
|
53
|
2026-04-11T12:23:26.995460+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910206995_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"","depth":4,"value":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-6918525387471082492
|
5694749881180760521
|
clipboard
|
accessibility
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
823
|
19
|
54
|
2026-04-11T12:23:27.586697+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910207586_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7","depth":4,"value":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-5907118204318333059
|
5694749881180760553
|
visual_change
|
accessibility
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
822
|
|
824
|
19
|
55
|
2026-04-11T12:23:30.599060+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910210599_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
1614245617554003222
|
3100541190118501737
|
visual_change
|
accessibility
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
825
|
19
|
56
|
2026-04-11T12:23:47.290304+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910227290_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpr,oml.0100% <4Sat 11 Apr 15:23:47-zshT81DOCKERO ₴1DEV (-zsh)• ₴2APP (-zsh)• *3-zsh• *4-zsh• *5-zsh-zshX7whisper_model_load: n_audio_state = 384whisper_model_load: n_audio_head = 6whisper_model_load: n_audio_layer = 4whisper_model_load: n_text_ctx= 448whisper_model_load: n_text_state = 384whisper_model_load: n_text_head= 6whisper_model_load: n_text_layer= 4whisper_model_load: n_mels=80whisper_model_load: ftype= 1whisper_model_load: qntvr= 0whisper_model_load: type= 1 (tiny)whisper_model_load:adding 1608 extra tokenswhisper_model_load: n_langs= 99whisper_model_load:Metal total size =77.11 MBwhisper_model_load: modelsize77.11 MB2026-04-09119:54:07.242116ZINFOscreenpipe_audio::transcription::engine: whisper model loaded successfullywhisper_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 backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init: picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init: use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size =3.15 MBwhisper_init_state: kv cross size = 9.44 MBwhisper_init_state: kv pad size =2.36 MBwhisper_init_state: compute buffer (conv)=14.17 MBwhisper_init_state: compute buffer (encode) =65.96 MBwhisper_init_state: compute buffer (cross)=8.50 MBwhisper_init_state: compute buffer (decode) =96.83 MB2026-04-09T19:54:07.250010ZINFO screenpipe_audio:: audio_manager: :manager: transcription session created (will be reused across segments)2026-04-09T19:54:07.250055ZINFO screenpipe_audio: :audio_manager::manager: central audio-receiver handler restarted for capability refresh2026-04-09T19:54:07.250066ZINFO screenpipe_audio: : audio_manager::manager: central transcription-receiver handler restarted for capability refresh2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skippingcapture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)AXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXRadioButton| DOCKERAXRadioButtonIDEV (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $...
|
NULL
|
652360656436688983
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpr,oml.0100% <4Sat 11 Apr 15:23:47-zshT81DOCKERO ₴1DEV (-zsh)• ₴2APP (-zsh)• *3-zsh• *4-zsh• *5-zsh-zshX7whisper_model_load: n_audio_state = 384whisper_model_load: n_audio_head = 6whisper_model_load: n_audio_layer = 4whisper_model_load: n_text_ctx= 448whisper_model_load: n_text_state = 384whisper_model_load: n_text_head= 6whisper_model_load: n_text_layer= 4whisper_model_load: n_mels=80whisper_model_load: ftype= 1whisper_model_load: qntvr= 0whisper_model_load: type= 1 (tiny)whisper_model_load:adding 1608 extra tokenswhisper_model_load: n_langs= 99whisper_model_load:Metal total size =77.11 MBwhisper_model_load: modelsize77.11 MB2026-04-09119:54:07.242116ZINFOscreenpipe_audio::transcription::engine: whisper model loaded successfullywhisper_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 backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init: picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init: use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size =3.15 MBwhisper_init_state: kv cross size = 9.44 MBwhisper_init_state: kv pad size =2.36 MBwhisper_init_state: compute buffer (conv)=14.17 MBwhisper_init_state: compute buffer (encode) =65.96 MBwhisper_init_state: compute buffer (cross)=8.50 MBwhisper_init_state: compute buffer (decode) =96.83 MB2026-04-09T19:54:07.250010ZINFO screenpipe_audio:: audio_manager: :manager: transcription session created (will be reused across segments)2026-04-09T19:54:07.250055ZINFO screenpipe_audio: :audio_manager::manager: central audio-receiver handler restarted for capability refresh2026-04-09T19:54:07.250066ZINFO screenpipe_audio: : audio_manager::manager: central transcription-receiver handler restarted for capability refresh2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skippingcapture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)AXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXRadioButton| DOCKERAXRadioButtonIDEV (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $...
|
824
|
|
826
|
19
|
57
|
2026-04-11T12:23:48.324742+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910228324_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScripts|ProfilesWindowHe iTerm2ShellEditViewSessionScripts|ProfilesWindowHelp100% <47Sat 11 Apr 15:23:48-zshT81DOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• *3-zsh• *4-zsh• *5-zsh₴86-zshwhisper_model_load: n_audio_state = 384whisper_model_load: n_audio_head = 6whisper_model_load: n_audio_layer = 4whisper_model_load: n_text_ctx= 448whisper_model_load: n_text_state = 384whisper_model_load: n_text_head= 6whisper_model_load: n_text_layer= 4whisper_model_load: n_mels=80whisper_model_load: ftype= 1whisper_model_load: qntvr= 0whisper_model_load: type= 1 (tiny)whisper_model_load:adding 1608 extra tokenswhisper_model_load: n_langs= 99whisper_model_load:Metal total size =77.11 MBwhisper_model_load: modelsize77.11 MB2026-04-09119:54:07.242116ZINFOscreenpipe_audio::transcription::engine: whisper model loaded successfullywhisper_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 backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init: picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init: use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size =3.15 MBwhisper_init_state: kv cross size = 9.44 MBwhisper_init_state: kv pad size =2.36 MBwhisper_init_state: compute buffer (conv)=14.17 MBwhisper_init_state: compute buffer (encode) =65.96 MBwhisper_init_state: compute buffer (cross)=8.50 MBwhisper_init_state: compute buffer (decode) =96.83 MB2026-04-09T19:54:07.250010ZINFO screenpipe_audio:: audio_manager: :manager: transcription session created (will be reused across segments)2026-04-09T19:54:07.250055ZINFO screenpipe_audio: :audio_manager::manager: central audio-receiver handler restarted for capability refresh2026-04-09T19:54:07.250066ZINFO screenpipe_audio: : audio_manager::manager: central transcription-receiver handler restarted for capability refresh2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skippingcapture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)AXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXRadioButton| DOCKERAXRadioButtonIDEV (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $*7...
|
NULL
|
-2216603820476762777
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScripts|ProfilesWindowHe iTerm2ShellEditViewSessionScripts|ProfilesWindowHelp100% <47Sat 11 Apr 15:23:48-zshT81DOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• *3-zsh• *4-zsh• *5-zsh₴86-zshwhisper_model_load: n_audio_state = 384whisper_model_load: n_audio_head = 6whisper_model_load: n_audio_layer = 4whisper_model_load: n_text_ctx= 448whisper_model_load: n_text_state = 384whisper_model_load: n_text_head= 6whisper_model_load: n_text_layer= 4whisper_model_load: n_mels=80whisper_model_load: ftype= 1whisper_model_load: qntvr= 0whisper_model_load: type= 1 (tiny)whisper_model_load:adding 1608 extra tokenswhisper_model_load: n_langs= 99whisper_model_load:Metal total size =77.11 MBwhisper_model_load: modelsize77.11 MB2026-04-09119:54:07.242116ZINFOscreenpipe_audio::transcription::engine: whisper model loaded successfullywhisper_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 backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init: picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init: use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv self size =3.15 MBwhisper_init_state: kv cross size = 9.44 MBwhisper_init_state: kv pad size =2.36 MBwhisper_init_state: compute buffer (conv)=14.17 MBwhisper_init_state: compute buffer (encode) =65.96 MBwhisper_init_state: compute buffer (cross)=8.50 MBwhisper_init_state: compute buffer (decode) =96.83 MB2026-04-09T19:54:07.250010ZINFO screenpipe_audio:: audio_manager: :manager: transcription session created (will be reused across segments)2026-04-09T19:54:07.250055ZINFO screenpipe_audio: :audio_manager::manager: central audio-receiver handler restarted for capability refresh2026-04-09T19:54:07.250066ZINFO screenpipe_audio: : audio_manager::manager: central transcription-receiver handler restarted for capability refresh2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skippingcapture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)AXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXButton|Close TabAXRadioButton| DOCKERAXRadioButtonIDEV (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $*7...
|
NULL
|
|
827
|
NULL
|
0
|
2026-04-11T12:23:54.953890+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910234953_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
1614245617554003222
|
3100541190118501737
|
click
|
accessibility
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
826
|
|
828
|
20
|
0
|
2026-04-11T12:24:25.300069+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910265300_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
1614245617554003222
|
3100541190118501737
|
idle
|
accessibility
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
829
|
20
|
1
|
2026-04-11T12:24:35.306738+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910275306_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% C-zshDOCKERO ₴1DEV (-zsh)O 882APP (-zsh)• *3-zsh• 84Order Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite"SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• 85-zsh• *6Sat 11 Apr 15:24:35-zshT81X7...
|
NULL
|
5397831723827104082
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% C-zshDOCKERO ₴1DEV (-zsh)O 882APP (-zsh)• *3-zsh• 84Order Room Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite"SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• 85-zsh• *6Sat 11 Apr 15:24:35-zshT81X7...
|
828
|
|
830
|
20
|
2
|
2026-04-11T12:24:37.698435+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910277698_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)|• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite"SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zsh• *6Sat 11 Apr 15:24:37-zsh181*7...
|
NULL
|
3365329829377018937
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)|• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite"SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zsh• *6Sat 11 Apr 15:24:37-zsh181*7...
|
NULL
|
|
831
|
20
|
3
|
2026-04-11T12:25:08.013333+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910308013_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite"SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zshO 886Sat 11 Apr 15:25:07-zsh181X7...
|
NULL
|
-4878018985044212384
|
NULL
|
idle
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite"SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zshO 886Sat 11 Apr 15:25:07-zsh181X7...
|
830
|
|
832
|
20
|
4
|
2026-04-11T12:25:38.462694+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910338462_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite "SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zshO 886Sat 11 Apr 15:25:38-zsh181X7...
|
NULL
|
-1323646716752324593
|
NULL
|
idle
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite "SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zshO 886Sat 11 Apr 15:25:38-zsh181X7...
|
NULL
|
|
833
|
20
|
5
|
2026-04-11T12:25:58.638212+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910358638_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite "SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zshO 886Sat 11 Apr 15:25:58-zsh181X7...
|
NULL
|
-8557539342805777893
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7-zshDOCKERO ₴1DEV (-zsh)O $2APP (-zsh)• ₴з-zsh• 84OrderRoom Service • HBO MaxIclose tabOrder Room Service • HBO MaxIclose tabOrder Room Service • HBO Max|closetabOrder Room Service • HBO Max|FavouritesOrder Room Service • HBO Max|Tab Group FavouritesOrder Room Service • HBO MaxINASOrder Room Service • HBO Max| HomeOrder Room Service • HBO Max|PortainerOrder Room Service • HBO Max|Nginx Proxy Managerlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clearlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BYrole ORDER BY COUNT(*) DESC;"# What are those 24k elements with no app_name?sqlite3~/.screenpipe/db.sqlite "SELECT f.window_name, COUNT(*) as cntFROMelements eJOINframes f ON e.frame_id = f.idWHERE f.app_name IS NULL AND e.text IS NOT NULLGROUP BY f.window_nameORDER BYcnt DESCLIMIT 10;"# iTerm2 elements with any rolesqlite3 ~/.screenpipe/db.sqlite"SELECT e.role, e.textFROM elements eJOIN frames f ON e.frame_id= f.idWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULLLIMIT 20;"zsh: no matches found: elements?block|25522AXStaticText|4681AXButton|1364AXLink|1123AXRadioButton|1017AXTextFieldl607AXCell1297AXHeading|166AXTextArea|151AXPopUpButton| 83AXCheckBox|59AXComboBoxI7zsh: no matches found: app_name?125079-zsh• ₴5-zshO 886Sat 11 Apr 15:25:58-zsh181X7...
|
832
|
|
834
|
20
|
6
|
2026-04-11T12:25:59.427846+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910359427_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"ORDER BY elements DESC;\"\n|24604|206\nDia|2884|17\niTerm2|2087|136\nClaude|2040|8\nSafari|1248|10\nFirefox|454|1\nActivity Monitor|380|2\nSlack|234|1\nControl Centre|178|1\nUserNotificationCenter|20|4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL\nLIMIT 30;\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'Safari' AND e.text IS NOT NULL\nLIMIT 20;\"\nOrder Room Service • HBO Max|Back\nOrder Room Service • HBO Max|Search\nOrder Room Service • HBO Max|Ukončiť prehrávanie\nOrder Room Service • HBO Max|Rozbaliť Epizód, 1 z 2\nOrder Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2\nOrder Room Service • HBO Max|Preskočiť dozadu o 10 s\nOrder Room Service • HBO Max|Pozastaviť\nOrder Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd\nOrder Room Service • HBO Max|Hlasitosť 100 %\nOrder Room Service • HBO Max|Nastavenia zvuku a titulkov\nOrder Room Service • HBO Max|Celá obrazovka\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|close tab\nOrder Room Service • HBO Max|Favourites\nOrder Room Service • HBO Max|Tab Group Favourites\nOrder Room Service • HBO Max|NAS\nOrder Room Service • HBO Max|Home\nOrder Room Service • HBO Max|Portainer\nOrder Room Service • HBO Max|Nginx Proxy Manager\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?\nsqlite3 ~/.screenpipe/db.sqlite \"SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;\"\n\n# What are those 24k elements with no app_name?\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT f.window_name, COUNT(*) as cnt\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name IS NULL AND e.text IS NOT NULL\nGROUP BY f.window_name\nORDER BY cnt DESC\nLIMIT 10;\"\n\n# iTerm2 elements with any role\nsqlite3 ~/.screenpipe/db.sqlite \"\nSELECT e.role, e.text\nFROM elements e\nJOIN frames f ON e.frame_id = f.id\nWHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL\nLIMIT 20;\"\nzsh: no matches found: elements?\nblock|25522\nAXStaticText|4681\nAXButton|1364\nAXLink|1123\nAXRadioButton|1017\nAXTextField|607\nAXCell|297\nAXHeading|166\nAXTextArea|151\nAXPopUpButton|83\nAXCheckBox|59\nAXComboBox|7\nzsh: no matches found: app_name?\n|25079\nzsh: command not found: #\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nAXRadioButton|APP (-zsh)\nAXRadioButton|screenpipe\"\nAXRadioButton|Python\"\nAXStaticText|⌥⌘1\nAXStaticText|screenpipe\"\nAXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...\n2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...\n2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background\n2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3\n2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background\n2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/wespeaker_en_voxceleb_CAM++.onnx\n2026-04-09T19:53:08.181212Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model download attempt 1/3\n2026-04-09T19:53:08.181526Z INFO screenpipe_audio::speaker::models: downloading segmentation-3.0.onnx model from https://github.com/screenpipe/screenpipe/raw/refs/heads/main/crates/screenpipe-audio/models/pyannote/segmentation-3.0.onnx\n2026-04-09T19:53:08.181252Z INFO screenpipe_audio::vad::silero: downloading Silero VAD v5 model...\n2026-04-09T19:53:08.181607Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-09T19:53:08.181646Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-09T19:53:08.181366Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-09T19:53:08.181759Z INFO screenpipe_core::pipes: installed built-in pipe: day-recap\n2026-04-09T19:53:08.181952Z INFO screenpipe_core::pipes: installed built-in pipe: standup-update\n2026-04-09T19:53:08.182315Z INFO screenpipe_core::pipes: installed built-in pipe: ai-habits\n2026-04-09T19:53:08.182501Z INFO screenpipe_core::pipes: installed built-in pipe: time-breakdown\n2026-04-09T19:53:08.182680Z INFO screenpipe_core::pipes: installed built-in pipe: video-export\n2026-04-09T19:53:08.182875Z INFO screenpipe_core::pipes: installed built-in pipe: meeting-summary\n2026-04-09T19:53:08.183091Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-09T19:53:08.183146Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-09T19:53:08.183187Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-09T19:53:08.183237Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-09T19:53:08.183306Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-09T19:53:08.183363Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-09T19:53:08.183380Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ audio engine │ Parakeet │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ no monitors available │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-04-09T19:53:08.185865Z INFO screenpipe: starting UI event capture\n2026-04-09T19:53:08.185586Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-09T19:53:08.188922Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-09T19:53:08.194461Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-09T19:53:08.201212Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-09T19:53:08.217633Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-09T19:53:08.217794Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-08 16:53:08.217792 UTC to 2026-04-09 16:53:08.217792 UTC)\n2026-04-09T19:53:08.217649Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3b59b1d1-d80e-4689-8c72-6476af4571df\n2026-04-09T19:53:08.220368Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-09T19:53:08.222489Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-08 16:53:08.217792 UTC\n2026-04-09T19:53:08.227257Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-09T19:53:08.232250Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-09T19:53:08.543211Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-09T19:53:08.543241Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-09T19:53:08.543253Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_3008x1253_-813,-1253) — not in allowed list\n2026-04-09T19:53:08.543262Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-09T19:53:08.543299Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-09T19:53:09.210453Z INFO screenpipe_audio::vad::silero: Silero VAD v5 model downloaded and saved to: \"/Users/lukas/Library/Caches/screenpipe/vad/silero_vad_v5.onnx\"\n2026-04-09T19:53:09.352790Z INFO screenpipe_audio::speaker::models: saving segmentation-3.0.onnx model (5983836 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/segmentation-3.0.onnx\"\n2026-04-09T19:53:09.355799Z INFO screenpipe_audio::speaker::models: segmentation-3.0.onnx model successfully downloaded and saved\n2026-04-09T19:53:09.367746Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-09T19:53:10.102366Z INFO screenpipe_audio::speaker::models: saving wespeaker_en_voxceleb_CAM++.onnx model (29292684 bytes) to \"/Users/lukas/Library/Caches/screenpipe/models/wespeaker_en_voxceleb_CAM++.onnx\"\n2026-04-09T19:53:10.112264Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model successfully downloaded and saved\n2026-04-09T19:53:13.221908Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-09T19:53:13.222855Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-09T19:53:15.841867Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1, dur=797ms\n2026-04-09T19:53:18.189478Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:18.189794Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:18.190227Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\n2026-04-09T19:53:18.190847Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-04-09T19:53:18.190916Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\nggml-tiny.bin [00:00:01] [███████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 38.34 MiB/74.09 MiB 21.65 MiB/s (2s)2026-04-09T19:53:19.720503Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:53:19.720675Z WARN screenpipe_audio::transcription::engine: whisper model is not available locally yet for WhisperTiny; audio transcription disabled until download completes\n2026-04-09T19:53:19.720732Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:53:19.720787Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.720795Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:53:19.721204Z INFO screenpipe_audio::transcription::whisper::model: downloading model \"ggml-tiny.bin\"\nggml-tiny.bin [00:00:01] [██████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45.66 MiB/74.09 MiB 23.13 MiB/s (1s)\nggml-tiny.bin [00:00:00] [███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2.09 MiB/74.09 MiB 1.63 MiB/s (44s)2026-04-09T19:53:20.383627Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-04-09T19:53:20.383837Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (30s segments)\nggml-tiny.bin [00:00:01] [██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 9.22 MiB/74.09 MiB 4.95 MiB/s (13s)2026-04-09T19:53:20.972014Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-04-09T19:53:20.972101Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (30s segments)\nggml-tiny.bin [00:00:02] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 28.28 MiB/s (0s)2026-04-09T19:53:21.047457Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:21.047589Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\nggml-tiny.bin [00:00:03] [███████████████████████████████████████████████████████████████████████████████████████████████████████████████████] 74.09 MiB/74.09 MiB 23.56 MiB/s (0s)2026-04-09T19:53:23.080110Z INFO screenpipe_audio::transcription::whisper::model: model downloaded ggml-tiny.bin\n2026-04-09T19:53:23.080240Z INFO screenpipe_audio::transcription::engine: whisper model downloaded in background: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431282Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:53:52.431325Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:53:52.431330Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.652 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.178366Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\n2026-04-09T19:54:07.178441Z INFO screenpipe_audio::audio_manager::device_monitor: model capabilities changed after background download; restarting central handlers\n2026-04-09T19:54:07.178636Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-04-09T19:54:07.178655Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-04-09T19:54:07.178661Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
1614245617554003222
|
3100541190118501737
|
click
|
accessibility
|
NULL
|
ORDER BY elements DESC;"
|24604|206
Dia|2884|1 ORDER BY elements DESC;"
|24604|206
Dia|2884|17
iTerm2|2087|136
Claude|2040|8
Safari|1248|10
Firefox|454|1
Activity Monitor|380|2
Slack|234|1
Control Centre|178|1
UserNotificationCenter|20|4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.role = 'block' AND e.text NOT NULL
LIMIT 30;"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'Safari' AND e.text IS NOT NULL
LIMIT 20;"
Order Room Service • HBO Max|Back
Order Room Service • HBO Max|Search
Order Room Service • HBO Max|Ukončiť prehrávanie
Order Room Service • HBO Max|Rozbaliť Epizód, 1 z 2
Order Room Service • HBO Max|Rozbaliť Tiež by sa vám mohlo páčiť, 2 z 2
Order Room Service • HBO Max|Preskočiť dozadu o 10 s
Order Room Service • HBO Max|Pozastaviť
Order Room Service • HBO Max|Preskočiť dopredu o 10 sekúnd
Order Room Service • HBO Max|Hlasitosť 100 %
Order Room Service • HBO Max|Nastavenia zvuku a titulkov
Order Room Service • HBO Max|Celá obrazovka
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|close tab
Order Room Service • HBO Max|Favourites
Order Room Service • HBO Max|Tab Group Favourites
Order Room Service • HBO Max|NAS
Order Room Service • HBO Max|Home
Order Room Service • HBO Max|Portainer
Order Room Service • HBO Max|Nginx Proxy Manager
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # What roles exist in elements?
sqlite3 ~/.screenpipe/db.sqlite "SELECT role, COUNT(*) FROM elements GROUP BY role ORDER BY COUNT(*) DESC;"
# What are those 24k elements with no app_name?
sqlite3 ~/.screenpipe/db.sqlite "
SELECT f.window_name, COUNT(*) as cnt
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name IS NULL AND e.text IS NOT NULL
GROUP BY f.window_name
ORDER BY cnt DESC
LIMIT 10;"
# iTerm2 elements with any role
sqlite3 ~/.screenpipe/db.sqlite "
SELECT e.role, e.text
FROM elements e
JOIN frames f ON e.frame_id = f.id
WHERE f.app_name = 'iTerm2' AND e.text IS NOT NULL
LIMIT 20;"
zsh: no matches found: elements?
block|25522
AXStaticText|4681
AXButton|1364
AXLink|1123
AXRadioButton|1017
AXTextField|607
AXCell|297
AXHeading|166
AXTextArea|151
AXPopUpButton|83
AXCheckBox|59
AXComboBox|7
zsh: no matches found: app_name?
|25079
zsh: command not found: #
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
AXRadioButton|APP (-zsh)
AXRadioButton|screenpipe"
AXRadioButton|Python"
AXStaticText|⌥⌘1
AXStaticText|screenpipe"
AXTextArea|Last login: Thu Apr 9 19:52:08 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-18909-automated-reports-ask-jiminny) $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ npx screenpipe@latest record
detected hardware tier: Mid
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-04-09T19:53:07.212588Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-09T19:53:08.176294Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-09T19:53:08.180179Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-09T19:53:08.180172Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-09T19:53:08.180644Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-09T19:53:08.181079Z INFO screenpipe_audio::speaker::models: initiating wespeaker_en_voxceleb_CAM++.onnx model download...
2026-04-09T19:53:08.181124Z WARN screenpipe_audio::segmentation::segmentation_manager: embedding model unavailable at startup: wespeaker_en_voxceleb_CAM++.onnx model not available yet; download started in background
2026-04-09T19:53:08.181175Z INFO screenpipe_audio::speaker::models: initiating segmentation-3.0.onnx model download...
2026-04-09T19:53:08.181183Z WARN screenpipe_audio::segmentation::segmentation_manager: segmentation model unavailable at startup: segmentation-3.0.onnx model not available yet; download started in background
2026-04-09T19:53:08.181157Z INFO screenpipe_audio::speaker::models: wespeaker_en_voxceleb_CAM++.onnx model download attempt 1/3
2026-04-09T19:53:08.181223Z WARN screenpipe_audio::audio_manager::manager: silero vad unavailable, falling back to webrtc: silero vad model not available yet; download started in background
2026-04-09T19:53:08.181225Z INFO screenpipe_audio::speaker::models: downloading wespeaker_en_voxceleb_CAM++.onnx model from [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
835
|
20
|
7
|
2026-04-11T12:26:31.678856+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910391678_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
6949573146306646704
|
-8779111885514805891
|
clipboard
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
834
|
|
836
|
20
|
8
|
2026-04-11T12:26:36.063923+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910396063_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2710504821594427847
|
-8435208392465220115
|
visual_change
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
837
|
20
|
9
|
2026-04-11T12:27:06.342839+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910426342_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2710504821594427847
|
-8435208392465220115
|
visual_change
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
836
|
|
838
|
20
|
10
|
2026-04-11T12:27:39.428660+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910459428_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% CSat 11 Apr 15:27:38-zshT81DOCKERO ₴1DEV (-zsh)"title": "Export Video Clip"O $2APP (-zsh)|• *3-zsh• 84-zsh• *5-zsh0 %6-zshX7},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Export a video of my screen activity from the last 5 minutes. In\nRead screenpipe skill first.In\nUse the POST /frames/export endpoint with the time rangeand fps=1.0. Then show me the exported video file path as an inline code block so I can watch it. In\nlf the export is large,suggest a lower fps or shorter time range.","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity)"\nicon: \"E"\"Infeatured:falseln---In\nExport a video of myscreen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the timerange and fps=1.0. Then show me the exported video file path as an inline code block so Ican watch it. In\nIf the export is large, suggest a lower fps or shorter time range.\n"3,"config": {"description": "What you did, what's next, and any blockers","enabled": true,"featured": true,"icon": "Ш","name": "standup-update","schedule": "manual","template": true,"title": "Standup Update""consecutive-failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipeskill first.\nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"H"\nfeatured: trueln---In\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. In\nRead screenpipe skill first. \nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n"],"total": 6}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $|...
|
NULL
|
-1653525776275952752
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhl100% CSat 11 Apr 15:27:38-zshT81DOCKERO ₴1DEV (-zsh)"title": "Export Video Clip"O $2APP (-zsh)|• *3-zsh• 84-zsh• *5-zsh0 %6-zshX7},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Export a video of my screen activity from the last 5 minutes. In\nRead screenpipe skill first.In\nUse the POST /frames/export endpoint with the time rangeand fps=1.0. Then show me the exported video file path as an inline code block so I can watch it. In\nlf the export is large,suggest a lower fps or shorter time range.","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity)"\nicon: \"E"\"Infeatured:falseln---In\nExport a video of myscreen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the timerange and fps=1.0. Then show me the exported video file path as an inline code block so Ican watch it. In\nIf the export is large, suggest a lower fps or shorter time range.\n"3,"config": {"description": "What you did, what's next, and any blockers","enabled": true,"featured": true,"icon": "Ш","name": "standup-update","schedule": "manual","template": true,"title": "Standup Update""consecutive-failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipeskill first.\nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"H"\nfeatured: trueln---In\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. In\nRead screenpipe skill first. \nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n"],"total": 6}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $|...
|
836
|
|
839
|
20
|
11
|
2026-04-11T12:27:40.070118+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910460070_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% C8Sat 11 Apr 15:27:39-zsh181DOCKERO ₴1DEV (-zsh)"title": "Export Video Clip"O $2APP (-zsh)|• ₴з-zsh• 84-zsh• *5-zshO 886-zshX7},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Export a video of my screen activity from the last 5 minutes.In\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time rangeand fps=1.0. Then show me the exported video file path as an inline code block so I can watch it. In\nlf the export is large,suggest a lower fps or shorter time range.""raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity)"\nicon: \"E"\"Infeatured:falseln---In\nExport a video of myscreen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the timerange and fps=1.0. Then show me the exported video file path as an inline code block so Ican watch it. In\nIf the export is large, suggest a lower fps or shorter time range.\n"3,"config": {"description": "What you did, what's next, and any blockers","enabled": true,"featured": true,"icon": "Ш","name": "standup-update","schedule": "manual","template": true,"title": "Standup Update"*consecutive-failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipeskill first.\nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"H"\nfeatured: trueln---In\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipe skill first. \nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n"],"total": 6}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
6836925978594908088
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% C8Sat 11 Apr 15:27:39-zsh181DOCKERO ₴1DEV (-zsh)"title": "Export Video Clip"O $2APP (-zsh)|• ₴з-zsh• 84-zsh• *5-zshO 886-zshX7},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Export a video of my screen activity from the last 5 minutes.In\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time rangeand fps=1.0. Then show me the exported video file path as an inline code block so I can watch it. In\nlf the export is large,suggest a lower fps or shorter time range.""raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity)"\nicon: \"E"\"Infeatured:falseln---In\nExport a video of myscreen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the timerange and fps=1.0. Then show me the exported video file path as an inline code block so Ican watch it. In\nIf the export is large, suggest a lower fps or shorter time range.\n"3,"config": {"description": "What you did, what's next, and any blockers","enabled": true,"featured": true,"icon": "Ш","name": "standup-update","schedule": "manual","template": true,"title": "Standup Update"*consecutive-failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipeskill first.\nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"H"\nfeatured: trueln---In\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipe skill first. \nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n"],"total": 6}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
|
840
|
20
|
12
|
2026-04-11T12:27:40.811865+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910460811_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% C8Sat 11 Apr 15:27:40-zsh181DOCKERO ₴1DEV (-zsh)"title": "Export Video Clip"O $2APP (-zsh)|• ₴з-zsh• 84-zsh• *5-zshO 886-zshX7},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Export a video of my screen activity from the last 5 minutes.In\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time rangeand fps=1.0. Then show me the exported video file path as an inline code block so I can watch it. In\nlf the export is large,suggest a lower fps or shorter time range.""raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity)"\nicon: \"E"\"Infeatured:falseln---In\nExport a video of myscreen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the timerange and fps=1.0. Then show me the exported video file path as an inline code block so Ican watch it. In\nIf the export is large, suggest a lower fps or shorter time range.\n"3,"config": {"description": "What you did, what's next, and any blockers","enabled": true,"featured": true,"icon": "Ш","name": "standup-update","schedule": "manual","template": true,"title": "Standup Update"*consecutive-failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipeskill first.\nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"H"\nfeatured: trueln---In\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipe skill first. \nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n"],"total": 6}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
-1750003780670784288
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% C8Sat 11 Apr 15:27:40-zsh181DOCKERO ₴1DEV (-zsh)"title": "Export Video Clip"O $2APP (-zsh)|• ₴з-zsh• 84-zsh• *5-zshO 886-zshX7},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Export a video of my screen activity from the last 5 minutes.In\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time rangeand fps=1.0. Then show me the exported video file path as an inline code block so I can watch it. In\nlf the export is large,suggest a lower fps or shorter time range.""raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity)"\nicon: \"E"\"Infeatured:falseln---In\nExport a video of myscreen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the timerange and fps=1.0. Then show me the exported video file path as an inline code block so Ican watch it. In\nIf the export is large, suggest a lower fps or shorter time range.\n"3,"config": {"description": "What you did, what's next, and any blockers","enabled": true,"featured": true,"icon": "Ш","name": "standup-update","schedule": "manual","template": true,"title": "Standup Update"*consecutive-failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipeskill first.\nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"H"\nfeatured: trueln---In\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total. \n\nRead screenpipe skill first. \nInUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks andrecent activity)\n\n## Blockers\n- Issues I hit - errors, slow builds, waiting on someoneln- If no blockers, write \"Nonel"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n"],"total": 6}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
839
|
|
841
|
20
|
13
|
2026-04-11T12:27:41.574877+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910461574_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-2710504821594427847
|
-8435208392465220115
|
click
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
842
|
20
|
14
|
2026-04-11T12:27:42.684482+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910462684_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .
curl http://localhost:3030/pipes/day-recap | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
5564327341532259539
|
-3823522372964090387
|
clipboard
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .
curl http://localhost:3030/pipes/day-recap | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
841
|
|
843
|
20
|
15
|
2026-04-11T12:27:46.088214+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910466088_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
2383013018574745247
|
-8471237171767443987
|
visual_change
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
844
|
20
|
16
|
2026-04-11T12:28:07.639643+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910487639_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpabl100% CSat 11 Apr 15:28:07-zsh181DOCKERO ₴1DEV (-zsh)О 82APP (-zsh)• *3-zsh• 84-zsh• 85-zsh®• ₴6-zsh*7ill first.In\nUse thisexactformatwith durationsand percentages:\n\n## By Application\n- Listeach app with duration and(28%)\")\n\n## By Category\n- Groupinto: coding, meetings, browsing,writing,percentage,sortedby timeCe.g. |"VSCode: 2h15mincommunication, other\n-Show hoursand percentage per category\n\n## By Project\n- Group relatedactivities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with:\"**Suggestion:** [one specific change to improve tomorrow's productivity]\"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went - by app, project,and category\"\nicon: \"ol "Infeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches.Prefer /raw_sqlwith COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code:2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding+ writing. Unfocused = browsing + switching.\n\nEnd with:|"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n"% Total% Received % Xferd100{18761001876Average SpeedDloadUpload1218kTimeTotalTimeSpentTimeCurrentLeftSpeed--:--:-- 1832k"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"E""name": "day-recap""schedule":"manual""template": true,"title": "Day Recap"3,"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"Last_error": null,"last_run": null,"Last_success": null,"prompt_body": "Analyze my screen and audio recordings from today (last 16 hours only). In\nRead screenpipe skill first. In\nUse this exact format: \n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments,and unfinished work\"\nicon: \""Infeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\n0nesentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps 1 used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $|...
|
NULL
|
5149352742270359756
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpabl100% CSat 11 Apr 15:28:07-zsh181DOCKERO ₴1DEV (-zsh)О 82APP (-zsh)• *3-zsh• 84-zsh• 85-zsh®• ₴6-zsh*7ill first.In\nUse thisexactformatwith durationsand percentages:\n\n## By Application\n- Listeach app with duration and(28%)\")\n\n## By Category\n- Groupinto: coding, meetings, browsing,writing,percentage,sortedby timeCe.g. |"VSCode: 2h15mincommunication, other\n-Show hoursand percentage per category\n\n## By Project\n- Group relatedactivities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with:\"**Suggestion:** [one specific change to improve tomorrow's productivity]\"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went - by app, project,and category\"\nicon: \"ol "Infeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches.Prefer /raw_sqlwith COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code:2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding+ writing. Unfocused = browsing + switching.\n\nEnd with:|"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n"% Total% Received % Xferd100{18761001876Average SpeedDloadUpload1218kTimeTotalTimeSpentTimeCurrentLeftSpeed--:--:-- 1832k"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"E""name": "day-recap""schedule":"manual""template": true,"title": "Day Recap"3,"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"Last_error": null,"last_run": null,"Last_success": null,"prompt_body": "Analyze my screen and audio recordings from today (last 16 hours only). In\nRead screenpipe skill first. In\nUse this exact format: \n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments,and unfinished work\"\nicon: \""Infeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\n0nesentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps 1 used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $|...
|
843
|
|
845
|
20
|
17
|
2026-04-11T12:28:10.252864+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910490252_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% CSat 11 Apr 15:28:10-zsh181DOCKERO ₴1DEV (-zsh)0 82APP (-zsh)|• ₴з-zsh• 84-zsh• ₴5-zshO 886-zsh*7ill first.In\nUse thisexactformatwith durationsand percentages:\n\n## By Application\n- Listeach app with duration and(28%)\")\n\n## By Category\n- Groupinto: coding, meetings, browsing,writing,percentage,sorted by timeCe.g. \"VSCode: 2h 15mincommunication, other\n-Show hours and percentage per category\n\n## By Project\n- Group relatedactivities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with:\"**Suggestion:** [one specific change to improve tomorrow's productivity]\"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went - by app, project,and category\"\nicon: \"ol "Infeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches.Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code:2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding+ writing. Unfocused = browsing + switching.\n\nEnd with:|"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n"H% Total% Received % Xferd100{18761001876Average SpeedDloadUpload1218kTimeTotalTimeSpentTimeCurrentLeftSpeed--:--:-- 1832k"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"E""name": "day-recap""schedule":"manual""template": true,"title": "Day Recap"},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"Last_error": null,"last_run": null,"Last_success": null,"prompt_body": "Analyze my screen and audio recordings from today (last 16 hours only). In\nRead screenpipe skill first. In\nUse this exact format: \n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments,and unfinished work\"\nicon: \""Infeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\n0nesentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps 1 used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
3385663354685049799
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% CSat 11 Apr 15:28:10-zsh181DOCKERO ₴1DEV (-zsh)0 82APP (-zsh)|• ₴з-zsh• 84-zsh• ₴5-zshO 886-zsh*7ill first.In\nUse thisexactformatwith durationsand percentages:\n\n## By Application\n- Listeach app with duration and(28%)\")\n\n## By Category\n- Groupinto: coding, meetings, browsing,writing,percentage,sorted by timeCe.g. \"VSCode: 2h 15mincommunication, other\n-Show hours and percentage per category\n\n## By Project\n- Group relatedactivities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with:\"**Suggestion:** [one specific change to improve tomorrow's productivity]\"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went - by app, project,and category\"\nicon: \"ol "Infeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches.Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code:2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding+ writing. Unfocused = browsing + switching.\n\nEnd with:|"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n"H% Total% Received % Xferd100{18761001876Average SpeedDloadUpload1218kTimeTotalTimeSpentTimeCurrentLeftSpeed--:--:-- 1832k"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"E""name": "day-recap""schedule":"manual""template": true,"title": "Day Recap"},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"Last_error": null,"last_run": null,"Last_success": null,"prompt_body": "Analyze my screen and audio recordings from today (last 16 hours only). In\nRead screenpipe skill first. In\nUse this exact format: \n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments,and unfinished work\"\nicon: \""Infeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\n0nesentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps 1 used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
|
846
|
20
|
18
|
2026-04-11T12:28:11.875414+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910491875_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% <47Sat 11 Apr 15:28:11-zsh181DOCKERO ₴1DEV (-zsh)0 82APP (-zsh)|• ₴з-zsh• 84-zsh• ₴5-zshO 886-zsh*7ill first.In\nUse thisexactformatwith durationsand percentages:\n\n## By Application\n- Listeach app with duration and(28%)\")\n\n## By Category\n- Groupinto: coding, meetings, browsing,writing,percentage,sorted by timeCe.g. \"VSCode: 2h 15mincommunication, other\n-Show hours and percentage per category\n\n## By Project\n- Group relatedactivities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with:\"**Suggestion:** [one specific change to improve tomorrow's productivity]\"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went - by app, project,and category\"\nicon: \"ol "Infeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches.Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code:2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding+ writing. Unfocused = browsing + switching.\n\nEnd with:|"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n"+% Total% Received % Xferd100{18761001876Average SpeedDloadUpload1218kTimeTotalTimeSpentTimeCurrentLeftSpeed--:--:-- 1832k"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"E""name": "day-recap""schedule":"manual""template": true,"title": "Day Recap"},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"Last_error": null,"last_run": null,"Last_success": null,"prompt_body": "Analyze my screen and audio recordings from today (last 16 hours only). In\nRead screenpipe skill first. In\nUse this exact format: \n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments,and unfinished work\"\nicon: \""Infeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\n0nesentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps 1 used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
7576023778558311033
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahl100% <47Sat 11 Apr 15:28:11-zsh181DOCKERO ₴1DEV (-zsh)0 82APP (-zsh)|• ₴з-zsh• 84-zsh• ₴5-zshO 886-zsh*7ill first.In\nUse thisexactformatwith durationsand percentages:\n\n## By Application\n- Listeach app with duration and(28%)\")\n\n## By Category\n- Groupinto: coding, meetings, browsing,writing,percentage,sorted by timeCe.g. \"VSCode: 2h 15mincommunication, other\n-Show hours and percentage per category\n\n## By Project\n- Group relatedactivities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with:\"**Suggestion:** [one specific change to improve tomorrow's productivity]\"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went - by app, project,and category\"\nicon: \"ol "Infeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches.Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code:2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific reposor tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding+ writing. Unfocused = browsing + switching.\n\nEnd with:|"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n"+% Total% Received % Xferd100{18761001876Average SpeedDloadUpload1218kTimeTotalTimeSpentTimeCurrentLeftSpeed--:--:-- 1832k"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"E""name": "day-recap""schedule":"manual""template": true,"title": "Day Recap"},"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"Last_error": null,"last_run": null,"Last_success": null,"prompt_body": "Analyze my screen and audio recordings from today (last 16 hours only). In\nRead screenpipe skill first. In\nUse this exact format: \n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"","raw_content": "---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments,and unfinished work\"\nicon: \""Infeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\n0nesentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps 1 used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
845
|
|
847
|
20
|
19
|
2026-04-11T12:28:12.664642+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910492664_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
2383013018574745247
|
-8471237171767443987
|
click
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
848
|
20
|
20
|
2026-04-11T12:28:13.735631+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910493735_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .
curl -X POST http://localhost:3030/pipes/day-recap/run | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .\ncurl -X POST http://localhost:3030/pipes/day-recap/run | jq .","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .\ncurl -X POST http://localhost:3030/pipes/day-recap/run | jq .","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-5290834076233419911
|
-8471237188947313171
|
clipboard
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .
curl -X POST http://localhost:3030/pipes/day-recap/run | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
847
|
|
849
|
20
|
21
|
2026-04-11T12:28:19.369279+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910499369_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl -X POST [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .\ncurl -X POST http://localhost:3030/pipes/day-recap/run | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 70 100 70 0 0 6152 0 --:--:-- --:--:-- --:--:-- 6363\n{\n \"error\": \"agent 'pi' is not installed — run ensure_installed first\"\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 70 100 70 0 0 14236 0 --:--:-- --:--:-- --:--:-- 17500\n{\n \"error\": \"agent 'pi' is not installed — run ensure_installed first\"\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"whisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh\n2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh\n2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXButton|Close Tab\nAXRadioButton|DOCKER\nAXRadioButton|DEV (-zsh)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 10805 100 10805 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 2110k\n{\n \"data\": [\n {\n \"config\": {\n \"description\": \"Summarize meeting transcript with key takeaways and action items\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🤝\u0000\",\n \"name\": \"meeting-summary\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Meeting Summary\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Meeting Summary\\ndescription: \\\"Summarize meeting transcript with key takeaways and action items\\\"\\nicon: \\\"🤝\u0000\\\"\\nfeatured: false\\n---\\n\\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Meeting Summary\\nOne sentence: what this meeting was about.\\n\\n## Key Takeaways\\n- Top 3-5 important points discussed\\n- Include who said what when relevant\\n\\n## Action Items\\n- [ ] Task — assigned to whom, deadline if mentioned\\n- [ ] Task — assigned to whom\\n\\n## Decisions Made\\n- List any decisions or agreements reached\\n\\n## Open Questions\\n- Anything unresolved or needing follow-up\\n\\nKeep it concise and actionable.\\n\"\n },\n {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"How you use AI tools — patterns and insights\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🤖\u0000\",\n \"name\": \"ai-habits\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"AI Habits\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: AI Habits\\ndescription: \\\"How you use AI tools — patterns and insights\\\"\\nicon: \\\"🤖\u0000\\\"\\nfeatured: true\\n---\\n\\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## AI Tools Used\\n- List each tool with approximate time spent (e.g. \\\"Claude: ~45min\\\")\\n\\n## What I Used Them For\\n- For each tool: coding, writing, research, or brainstorming\\n\\n## Usage Patterns\\n- Do I switch between tools? Use them in bursts or steadily?\\n\\n## Effectiveness\\n- Which tool appeared alongside completed work vs. abandoned attempts\\n\\nIf no AI usage is found, say so clearly. End with: \\\"**Tip:** [one suggestion to use AI tools more effectively]\\\"\\n\"\n },\n {\n \"config\": {\n \"description\": \"Create a video of your recent screen activity\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"🎬\u0000\",\n \"name\": \"video-export\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Export Video Clip\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Export a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Export Video Clip\\ndescription: \\\"Create a video of your recent screen activity\\\"\\nicon: \\\"🎬\u0000\\\"\\nfeatured: false\\n---\\n\\nExport a video of my screen activity from the last 5 minutes.\\n\\nRead screenpipe skill first.\\n\\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\\n\\nIf the export is large, suggest a lower fps or shorter time range.\\n\"\n },\n {\n \"config\": {\n \"description\": \"What you did, what's next, and any blockers\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"🏢\u0000\",\n \"name\": \"standup-update\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Standup Update\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Standup Update\\ndescription: \\\"What you did, what's next, and any blockers\\\"\\nicon: \\\"🏢\u0000\\\"\\nfeatured: true\\n---\\n\\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Yesterday\\n- What I worked on (name specific projects, files, tools, PRs)\\n\\n## Today\\n- What I will work on next (based on unfinished tasks and recent activity)\\n\\n## Blockers\\n- Issues I hit — errors, slow builds, waiting on someone\\n- If no blockers, write \\\"None\\\"\\n\\nKeep it under 150 words. Copy-paste ready for a team standup.\\n\"\n }\n ],\n \"total\": 6\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl http://localhost:3030/pipes/time-breakdown | jq .\ncurl http://localhost:3030/pipes/day-recap | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2193 100 2193 0 0 643k 0 --:--:-- --:--:-- --:--:-- 713k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Where your time went — by app, project, and category\",\n \"enabled\": true,\n \"featured\": false,\n \"icon\": \"⏱\",\n \"name\": \"time-breakdown\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Time Breakdown\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Time Breakdown\\ndescription: \\\"Where your time went — by app, project, and category\\\"\\nicon: \\\"⏱\\\"\\nfeatured: false\\n---\\n\\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\\n\\nRead screenpipe skill first.\\n\\nUse this exact format with durations and percentages:\\n\\n## By Application\\n- List each app with duration and percentage, sorted by time (e.g. \\\"VS Code: 2h 15min (28%)\\\")\\n\\n## By Category\\n- Group into: coding, meetings, browsing, writing, communication, other\\n- Show hours and percentage per category\\n\\n## By Project\\n- Group related activities by project/topic. Name specific repos or tasks.\\n\\n## Productivity Score\\n- Calculate: focused_work_hours / total_hours as a percentage\\n- Focused = coding + writing. Unfocused = browsing + switching.\\n\\nEnd with: \\\"**Suggestion:** [one specific change to improve tomorrow's productivity]\\\"\\n\"\n }\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 1876 100 1876 0 0 1218k 0 --:--:-- --:--:-- --:--:-- 1832k\n{\n \"data\": {\n \"config\": {\n \"description\": \"Today's accomplishments, key moments, and unfinished work\",\n \"enabled\": true,\n \"featured\": true,\n \"icon\": \"📋\u0000\",\n \"name\": \"day-recap\",\n \"schedule\": \"manual\",\n \"template\": true,\n \"title\": \"Day Recap\"\n },\n \"consecutive_failures\": 0,\n \"current_execution_id\": null,\n \"is_running\": false,\n \"last_error\": null,\n \"last_run\": null,\n \"last_success\": null,\n \"prompt_body\": \"Analyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\",\n \"raw_content\": \"---\\nschedule: manual\\nenabled: true\\ntemplate: true\\ntitle: Day Recap\\ndescription: \\\"Today's accomplishments, key moments, and unfinished work\\\"\\nicon: \\\"📋\u0000\\\"\\nfeatured: true\\n---\\n\\nAnalyze my screen and audio recordings from today (last 16 hours only). \\n\\nRead screenpipe skill first.\\n\\nUse this exact format:\\n\\n## Summary\\nOne sentence: what I mainly did today.\\n\\n## Accomplishments\\n- Top 3 things I finished, with timestamps (e.g. \\\"2:30 PM\\\")\\n- Name specific apps, files, or projects\\n\\n## Key Moments\\n- Important things I saw, said, or heard — with timestamps\\n\\n## Unfinished Work\\n- What I should continue tomorrow — name the app/file/task\\n\\n## Patterns\\n- Apps I used most, topics that came up repeatedly\\n\\nOnly report what you can verify from the data. End with: \\\"**Next step:** [most important thing to continue]\\\"\\n\"\n }\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .\ncurl -X POST http://localhost:3030/pipes/day-recap/run | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 70 100 70 0 0 6152 0 --:--:-- --:--:-- --:--:-- 6363\n{\n \"error\": \"agent 'pi' is not installed — run ensure_installed first\"\n}\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 70 100 70 0 0 14236 0 --:--:-- --:--:-- --:--:-- 17500\n{\n \"error\": \"agent 'pi' is not installed — run ensure_installed first\"\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"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},"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.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"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.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"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.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"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},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.48819444,"top":0.033333335,"width":0.022916667,"height":0.017777778},"role_description":"text"}]...
|
-6960574572112031084
|
-8435208374211609107
|
visual_change
|
accessibility
|
NULL
|
whisper_model_load: n_audio_head = 6
whisper_mode whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-04-09T19:54:07.242116Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
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-04-09T19:54:07.250010Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-04-09T19:54:07.250055Z INFO screenpipe_audio::audio_manager::manager: central audio-receiver handler restarted for capability refresh
2026-04-09T19:54:07.250066Z INFO screenpipe_audio::audio_manager::manager: central transcription-receiver handler restarted for capability refresh
2026-04-09T19:54:41.976071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1231441521457939656, trigger=visual_change)
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXButton|Close Tab
AXRadioButton|DOCKER
AXRadioButton|DEV (-zsh)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl [URL_WITH_CREDENTIALS] ~ $ curl -X POST [URL_WITH_CREDENTIALS] ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
850
|
20
|
22
|
2026-04-11T12:28:22.478129+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775910502478_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhlA100% <Sat 11 Apr 15:28:22••-zshT81DOCKER1876100O ₴1100{187600DEV (-zsh)1218kO 882APP (-zsh)-- :--:--• *3--:--:-- 1832k-zsh• 84-zsh• *5-zsh• ₴6-zshX7"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"name": "day-recap""schedule": "manual""template": true,"title": "Day Recap"3,"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Analyze my screen and audio recordingsfrom today (last 16 hours only). In\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today. \n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]!"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work|"\nicon: \""\nfeatured:true\n---\n\nAnalyze my screenandaudiorecordings from today (last 16 hours only).In\nRead screenpipe skill first.In\nUse this exact format: \n\n## Summary\n0nesentence:what1mainly did today.\n\n## Accomplishments\n- Top 3 things I finished,with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continuetomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}curllukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -X POST [URL_WITH_CREDENTIALS] ~ $|...
|
NULL
|
6694329536597521246
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplhlA100% <Sat 11 Apr 15:28:22••-zshT81DOCKER1876100O ₴1100{187600DEV (-zsh)1218kO 882APP (-zsh)-- :--:--• *3--:--:-- 1832k-zsh• 84-zsh• *5-zsh• ₴6-zshX7"data": {"config": {"description": "Today's accomplishments, key moments, and unfinished work","enabled": true,"featured": true,"icon":"name": "day-recap""schedule": "manual""template": true,"title": "Day Recap"3,"consecutive_failures": 0,"current_execution_id": null,"is_running": false,"last_error": null,"last_run": null,"last_success": null,"prompt_body": "Analyze my screen and audio recordingsfrom today (last 16 hours only). In\nRead screenpipe skill first.In\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today. \n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n-Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most,topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]!"","raw_content": "---Inschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work|"\nicon: \""\nfeatured:true\n---\n\nAnalyze my screenandaudiorecordings from today (last 16 hours only).In\nRead screenpipe skill first.In\nUse this exact format: \n\n## Summary\n0nesentence:what1mainly did today.\n\n## Accomplishments\n- Top 3 things I finished,with timestamps (e.g. \"2:30 PM")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard - with timestamps\n\n## Unfinished Work\n- What I should continuetomorrow - name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n"}curllukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -X POST [URL_WITH_CREDENTIALS] ~ $|...
|
849
|