|
1537
|
34
|
8
|
2026-04-11T17:37:53.300856+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929073300_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
Passwords
Passwords
Close
Save your passwords to a safe spot
All passwords are encrypted and we’ll watch out for breaches and alerts if you’re affected.
Add them here to get started.
Import from another browser…
Import from another browser…
Import from a file…
Import from a file…
Add manually
Add manually
Import browser data
Import browser data
Vivaldi WORK
Vivaldi
WORK
Import all available data Bookmarks, history and autofill data
Import all available data
Bookmarks, history and autofill data
Cancel
Import...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Passwords","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Passwords","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Passwords","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Save your passwords to a safe spot","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"All passwords are encrypted and we’ll watch out for breaches and alerts if you’re affected.","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add them here to get started.","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import from another browser…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from another browser…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import from a file…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from a file…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add manually","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add manually","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Vivaldi WORK","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Vivaldi","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"WORK","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import all available data Bookmarks, history and autofill data","depth":9,"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Import all available data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks, history and autofill data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Cancel","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Import","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
4847561377089731380
|
-5409064939536085282
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
Passwords
Passwords
Close
Save your passwords to a safe spot
All passwords are encrypted and we’ll watch out for breaches and alerts if you’re affected.
Add them here to get started.
Import from another browser…
Import from another browser…
Import from a file…
Import from a file…
Add manually
Add manually
Import browser data
Import browser data
Vivaldi WORK
Vivaldi
WORK
Import all available data Bookmarks, history and autofill data
Import all available data
Bookmarks, history and autofill data
Cancel
Import...
|
NULL
|
|
1539
|
34
|
10
|
2026-04-11T17:38:03.423276+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929083423_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
Passwords
Passwords
Close
Save your passwords to a safe spot
All passwords are encrypted and we’ll watch out for breaches and alerts if you’re affected.
Add them here to get started.
Import from another browser…
Import from another browser…
Import from a file…
Import from a file…
Add manually
Add manually
Import browser data
Import browser data
To import Safari bookmarks and browsing history:
Select “Continue”
Select Safari folder in the list and choose “Open”
Cancel
Continue...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Passwords","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Passwords","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Passwords","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Save your passwords to a safe spot","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"All passwords are encrypted and we’ll watch out for breaches and alerts if you’re affected.","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add them here to get started.","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import from another browser…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from another browser…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import from a file…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from a file…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add manually","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add manually","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To import Safari bookmarks and browsing history:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Select “Continue”","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Select Safari folder in the list and choose “Open”","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Cancel","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Continue","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-305010254760748951
|
-5411597973944627466
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
Passwords
Passwords
Close
Save your passwords to a safe spot
All passwords are encrypted and we’ll watch out for breaches and alerts if you’re affected.
Add them here to get started.
Import from another browser…
Import from another browser…
Import from a file…
Import from a file…
Add manually
Add manually
Import browser data
Import browser data
To import Safari bookmarks and browsing history:
Select “Continue”
Select Safari folder in the list and choose “Open”
Cancel
Continue...
|
NULL
|
|
1540
|
34
|
11
|
2026-04-11T17:38:05.641357+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929085641_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Passwords","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.0,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.0,"top":0.0,"width":0.06666667,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"bounds":{"left":0.14722222,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"bounds":{"left":0.14722222,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"bounds":{"left":0.14722222,"top":0.0,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"bounds":{"left":0.14722222,"top":0.0,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"bounds":{"left":0.14722222,"top":0.0,"width":0.42430556,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"bounds":{"left":0.14722222,"top":0.055555556,"width":0.14861111,"height":0.11},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"bounds":{"left":0.19722222,"top":0.12888889,"width":0.048611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"bounds":{"left":0.3048611,"top":0.057777777,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"bounds":{"left":0.36597222,"top":0.12888889,"width":0.023611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"bounds":{"left":0.4611111,"top":0.057777777,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"bounds":{"left":0.5229167,"top":0.12888889,"width":0.022222223,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"bounds":{"left":0.14791666,"top":0.18333334,"width":0.45972222,"height":0.054444443},"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"bounds":{"left":0.15833333,"top":0.2,"width":0.22847222,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"bounds":{"left":0.14722222,"top":0.2688889,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"bounds":{"left":0.14722222,"top":0.2688889,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"bounds":{"left":0.14722222,"top":0.29666665,"width":0.44722223,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"bounds":{"left":0.14722222,"top":0.35555556,"width":0.07638889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.14722222,"top":0.38666666,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.16388889,"top":0.38555557,"width":0.15347221,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"bounds":{"left":0.14722222,"top":0.42444444,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"bounds":{"left":0.16388889,"top":0.42333335,"width":0.014583333,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"bounds":{"left":0.14722222,"top":0.46222222,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"bounds":{"left":0.16388889,"top":0.4611111,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"bounds":{"left":0.16805555,"top":0.5,"width":0.43958333,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"bounds":{"left":0.17847222,"top":0.51666665,"width":0.07986111,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"bounds":{"left":0.14722222,"top":0.58555555,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"bounds":{"left":0.14722222,"top":0.58555555,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"bounds":{"left":0.14722222,"top":0.6255556,"width":0.05625,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":15,"bounds":{"left":0.14722222,"top":0.70555556,"width":0.02013889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced…","depth":12,"bounds":{"left":0.14791666,"top":0.78555554,"width":0.45972222,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Advanced…","depth":14,"bounds":{"left":0.15833333,"top":0.80222225,"width":0.055555556,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Zoom","depth":10,"bounds":{"left":0.14722222,"top":0.87222224,"width":0.031944446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Zoom","depth":11,"bounds":{"left":0.14722222,"top":0.87222224,"width":0.031944446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default zoom","depth":15,"bounds":{"left":0.14722222,"top":0.9122222,"width":0.063194446,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Zoom text only","depth":15,"bounds":{"left":0.14722222,"top":0.99333334,"width":0.011111111,"height":0.0066666603},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom text only","depth":15,"bounds":{"left":0.16388889,"top":0.99222225,"width":0.07083333,"height":0.0077777505},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language","depth":9,"bounds":{"left":0.14722222,"top":1.0,"width":0.4611111,"height":-0.058888912},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language","depth":10,"bounds":{"left":0.14722222,"top":1.0,"width":0.05486111,"height":-0.058888912},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose the languages used to display menus, messages, and notifications from Firefox.","depth":9,"bounds":{"left":0.14722222,"top":1.0,"width":0.41805556,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Set Alternatives…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose your preferred language for displaying pages","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Choose…","depth":8,"help_text":"Choose your preferred language for displaying pages","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.","depth":8,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Translations","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Translations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Set your language and site translation preferences and manage languages downloaded for offline translation.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download languages for offline translation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download all","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Albanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Arabic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Azerbaijani","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bangla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bosnian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bulgarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Catalan","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Simplified)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Traditional)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Croatian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Czech","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Danish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dutch","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Estonian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finnish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"French","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"German","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Greek","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gujarati","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hebrew","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hindi","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hungarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Icelandic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Indonesian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Italian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Japanese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Kannada","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Korean","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latvian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lithuanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malay","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malayalam","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Norwegian Bokmål","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Persian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Polish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Portuguese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Romanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Russian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Serbian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-6979509113357710835
|
8394467059291901649
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download...
|
1539
|
|
1542
|
34
|
13
|
2026-04-11T17:38:12.758508+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929092758_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Passwords","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox settings","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.19861111,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.22916667,"top":0.0,"width":0.06736111,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"bounds":{"left":0.3888889,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"bounds":{"left":0.3888889,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"bounds":{"left":0.3888889,"top":0.0,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"bounds":{"left":0.3888889,"top":0.0,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"bounds":{"left":0.3888889,"top":0.0,"width":0.425,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"bounds":{"left":0.3888889,"top":0.055555556,"width":0.14861111,"height":0.11},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"bounds":{"left":0.43888888,"top":0.12888889,"width":0.048611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"bounds":{"left":0.5465278,"top":0.057777777,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"bounds":{"left":0.6076389,"top":0.12888889,"width":0.023611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"bounds":{"left":0.7027778,"top":0.057777777,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"bounds":{"left":0.76458335,"top":0.12888889,"width":0.022222223,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"bounds":{"left":0.38958332,"top":0.18333334,"width":0.45972222,"height":0.054444443},"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"bounds":{"left":0.4,"top":0.2,"width":0.22847222,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"bounds":{"left":0.3888889,"top":0.2688889,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"bounds":{"left":0.3888889,"top":0.2688889,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"bounds":{"left":0.3888889,"top":0.29666665,"width":0.44722223,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"bounds":{"left":0.3888889,"top":0.35555556,"width":0.07638889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.3888889,"top":0.38666666,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.40555555,"top":0.38555557,"width":0.15347221,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"bounds":{"left":0.3888889,"top":0.42444444,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"bounds":{"left":0.40555555,"top":0.42333335,"width":0.014583333,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"bounds":{"left":0.3888889,"top":0.46222222,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"bounds":{"left":0.40555555,"top":0.4611111,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"bounds":{"left":0.4097222,"top":0.5,"width":0.43958333,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"bounds":{"left":0.4201389,"top":0.51666665,"width":0.07986111,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"bounds":{"left":0.3888889,"top":0.58555555,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"bounds":{"left":0.3888889,"top":0.58555555,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"bounds":{"left":0.3888889,"top":0.6255556,"width":0.05625,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":15,"bounds":{"left":0.3888889,"top":0.70555556,"width":0.02013889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced…","depth":12,"bounds":{"left":0.38958332,"top":0.78555554,"width":0.45972222,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Advanced…","depth":14,"bounds":{"left":0.4,"top":0.80222225,"width":0.055555556,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Zoom","depth":10,"bounds":{"left":0.3888889,"top":0.87222224,"width":0.031944446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Zoom","depth":11,"bounds":{"left":0.3888889,"top":0.87222224,"width":0.031944446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default zoom","depth":15,"bounds":{"left":0.3888889,"top":0.9122222,"width":0.06388889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Zoom text only","depth":15,"bounds":{"left":0.3888889,"top":0.99333334,"width":0.011111111,"height":0.0066666603},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom text only","depth":15,"bounds":{"left":0.40555555,"top":0.99222225,"width":0.07083333,"height":0.0077777505},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language","depth":9,"bounds":{"left":0.3888889,"top":1.0,"width":0.4611111,"height":-0.058888912},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language","depth":10,"bounds":{"left":0.3888889,"top":1.0,"width":0.05486111,"height":-0.058888912},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose the languages used to display menus, messages, and notifications from Firefox.","depth":9,"bounds":{"left":0.3888889,"top":1.0,"width":0.41805556,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Set Alternatives…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose your preferred language for displaying pages","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Choose…","depth":8,"help_text":"Choose your preferred language for displaying pages","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.","depth":8,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Translations","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Translations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Set your language and site translation preferences and manage languages downloaded for offline translation.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download languages for offline translation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download all","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Albanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Arabic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Azerbaijani","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bangla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bosnian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bulgarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Catalan","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Simplified)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Traditional)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Croatian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Czech","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Danish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dutch","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Estonian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finnish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"French","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"German","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Greek","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gujarati","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hebrew","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hindi","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hungarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Icelandic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Indonesian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Italian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Japanese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Kannada","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Korean","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latvian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lithuanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malay","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malayalam","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Norwegian Bokmål","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Persian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Polish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Portuguese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Romanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Russian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Serbian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovak","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovenian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spanish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Swedish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tamil","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Telugu","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Thai","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Turkish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ukrainian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vietnamese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Spell check","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"}]...
|
-5993288938721580781
|
8394467059291782801
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Passwords
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check...
|
1541
|
|
1543
|
34
|
14
|
2026-04-11T17:38:15.101568+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929095101_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false}]...
|
-4606778960405493770
|
-5332506666050105706
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings...
|
NULL
|
|
1545
|
34
|
16
|
2026-04-11T17:38:21.007043+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929101007_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check
Spell check
Check your spelling as you type
Check your spelling as you type
Learn more
Learn more
Download dictionaries
Download dictionaries
How to use spell checking
How to use spell checking
Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.
Files and Applications
Files and Applications
Downloads
Downloads
Save files to
Downloads
Choose…
Choose…
Always ask you where to save files
Always ask you where to save files
Delete files downloaded in private browsing when all private windows are closed
Delete files downloaded in private browsing when all private windows are closed
Applications
Applications
Choose how Firefox handles the files you download from the web or the applications you use while browsing.
Search file types or applications...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox settings","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.19861111,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.22916667,"top":0.0,"width":0.06736111,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"bounds":{"left":0.3888889,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"bounds":{"left":0.3888889,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"bounds":{"left":0.3888889,"top":0.0,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"bounds":{"left":0.3888889,"top":0.0,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"bounds":{"left":0.3888889,"top":0.0,"width":0.425,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"bounds":{"left":0.3888889,"top":0.055555556,"width":0.14861111,"height":0.11},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"bounds":{"left":0.43888888,"top":0.12888889,"width":0.048611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"bounds":{"left":0.5465278,"top":0.057777777,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"bounds":{"left":0.6076389,"top":0.12888889,"width":0.023611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"bounds":{"left":0.7027778,"top":0.057777777,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"bounds":{"left":0.76458335,"top":0.12888889,"width":0.022222223,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"bounds":{"left":0.38958332,"top":0.18333334,"width":0.45972222,"height":0.054444443},"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"bounds":{"left":0.4,"top":0.2,"width":0.22847222,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"bounds":{"left":0.3888889,"top":0.2688889,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"bounds":{"left":0.3888889,"top":0.2688889,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"bounds":{"left":0.3888889,"top":0.29666665,"width":0.44722223,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"bounds":{"left":0.3888889,"top":0.35555556,"width":0.07638889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.3888889,"top":0.38666666,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.40555555,"top":0.38555557,"width":0.15347221,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"bounds":{"left":0.3888889,"top":0.42444444,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"bounds":{"left":0.40555555,"top":0.42333335,"width":0.014583333,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"bounds":{"left":0.3888889,"top":0.46222222,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"bounds":{"left":0.40555555,"top":0.4611111,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"bounds":{"left":0.4097222,"top":0.5,"width":0.43958333,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"bounds":{"left":0.4201389,"top":0.51666665,"width":0.07986111,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"bounds":{"left":0.3888889,"top":0.58555555,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"bounds":{"left":0.3888889,"top":0.58555555,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"bounds":{"left":0.3888889,"top":0.6255556,"width":0.05625,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":15,"bounds":{"left":0.3888889,"top":0.70555556,"width":0.02013889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced…","depth":12,"bounds":{"left":0.38958332,"top":0.78555554,"width":0.45972222,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Advanced…","depth":14,"bounds":{"left":0.4,"top":0.80222225,"width":0.055555556,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Zoom","depth":10,"bounds":{"left":0.3888889,"top":0.87222224,"width":0.031944446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Zoom","depth":11,"bounds":{"left":0.3888889,"top":0.87222224,"width":0.031944446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default zoom","depth":15,"bounds":{"left":0.3888889,"top":0.9122222,"width":0.06388889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Zoom text only","depth":15,"bounds":{"left":0.3888889,"top":0.99333334,"width":0.011111111,"height":0.0066666603},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom text only","depth":15,"bounds":{"left":0.40555555,"top":0.99222225,"width":0.07083333,"height":0.0077777505},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language","depth":9,"bounds":{"left":0.3888889,"top":1.0,"width":0.4611111,"height":-0.058888912},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language","depth":10,"bounds":{"left":0.3888889,"top":1.0,"width":0.05486111,"height":-0.058888912},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose the languages used to display menus, messages, and notifications from Firefox.","depth":9,"bounds":{"left":0.3888889,"top":1.0,"width":0.41805556,"height":-0.08888888},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Set Alternatives…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose your preferred language for displaying pages","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Choose…","depth":8,"help_text":"Choose your preferred language for displaying pages","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.","depth":8,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Translations","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Translations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Set your language and site translation preferences and manage languages downloaded for offline translation.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download languages for offline translation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download all","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Albanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Arabic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Azerbaijani","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bangla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bosnian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bulgarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Catalan","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Simplified)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Traditional)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Croatian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Czech","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Danish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dutch","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Estonian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finnish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"French","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"German","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Greek","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gujarati","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hebrew","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hindi","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hungarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Icelandic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Indonesian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Italian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Japanese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Kannada","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Korean","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latvian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lithuanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malay","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malayalam","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Norwegian Bokmål","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Persian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Polish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Portuguese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Romanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Russian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Serbian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovak","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovenian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spanish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Swedish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tamil","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Telugu","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Thai","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Turkish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ukrainian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vietnamese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Spell check","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Spell check","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Check your spelling as you type","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Check your spelling as you type","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":14,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Download dictionaries","depth":12,"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download dictionaries","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"How to use spell checking","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"How to use spell checking","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Files and Applications","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files and Applications","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Downloads","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save files to","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Downloads","depth":13,"value":"Downloads","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Choose…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always ask you where to save files","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always ask you where to save files","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Delete files downloaded in private browsing when all private windows are closed","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delete files downloaded in private browsing when all private windows are closed","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Applications","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Applications","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose how Firefox handles the files you download from the web or the applications you use while browsing.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search file types or applications","depth":10,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
862260663220070169
|
8394467093519399581
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check
Spell check
Check your spelling as you type
Check your spelling as you type
Learn more
Learn more
Download dictionaries
Download dictionaries
How to use spell checking
How to use spell checking
Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.
Files and Applications
Files and Applications
Downloads
Downloads
Save files to
Downloads
Choose…
Choose…
Always ask you where to save files
Always ask you where to save files
Delete files downloaded in private browsing when all private windows are closed
Delete files downloaded in private browsing when all private windows are closed
Applications
Applications
Choose how Firefox handles the files you download from the web or the applications you use while browsing.
Search file types or applications...
|
NULL
|
|
1546
|
34
|
17
|
2026-04-11T17:38:51.290627+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929131290_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox settings","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.19861111,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.22916667,"top":0.0,"width":0.06736111,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3460627176111351361
|
8466524687691546257
|
idle
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font...
|
1545
|
|
1547
|
34
|
18
|
2026-04-11T17:39:12.385868+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929152385_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox settings","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.19861111,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.22916667,"top":0.0,"width":0.06736111,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced…","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Advanced…","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Zoom","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Zoom","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default zoom","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Zoom text only","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom text only","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose the languages used to display menus, messages, and notifications from Firefox.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Set Alternatives…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose your preferred language for displaying pages","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Choose…","depth":8,"help_text":"Choose your preferred language for displaying pages","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.","depth":8,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Translations","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Translations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Set your language and site translation preferences and manage languages downloaded for offline translation.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download languages for offline translation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download all","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Albanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Arabic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Azerbaijani","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bangla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
8286423521300867109
|
8466524653331930769
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download...
|
NULL
|
|
1548
|
34
|
19
|
2026-04-11T17:39:17.815610+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929157815_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox settings","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.19861111,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.22916667,"top":0.0,"width":0.06736111,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4945128428642854447
|
8610639875767402129
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites....
|
1547
|
|
1559
|
34
|
30
|
2026-04-11T17:39:50.639971+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929190639_m1.jpg...
|
Firefox
|
Welcome to Firefox — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Back
Work
Work
Edit profile
Other profiles
Other p Back
Work
Work
Edit profile
Other profiles
Other profiles
Personal
New profile
Copy this profile
Manage profiles
Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Back","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Work","depth":3,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Work","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit profile","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Other profiles","depth":3,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Other profiles","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Personal","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New profile","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy this profile","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Manage profiles","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You’re in safe paws","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You’re in safe paws","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Keep Firefox in Dock","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keep Firefox in Dock","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Import from previous browser","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from previous browser","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Save and continue","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Skip this step","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-3818228579046630860
|
2450152513075682034
|
click
|
accessibility
|
NULL
|
Back
Work
Work
Edit profile
Other profiles
Other p Back
Work
Work
Edit profile
Other profiles
Other profiles
Personal
New profile
Copy this profile
Manage profiles
Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
NULL
|
|
1560
|
34
|
31
|
2026-04-11T17:39:53.150921+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929193150_m1.jpg...
|
Firefox
|
Firefox - Choose a profile
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Choose a Firefox profile
Choose a Firefox profile
Choose a Firefox profile
Choose a Firefox profile
Keep your work and personal browsing, including things like passwords and bookmarks, totally separate. Or create profiles for everyone who uses this device.
Open Personal
Personal
Personal
Edit profile
Delete profile
Open Work
Work
Work
Edit profile
Delete profile
Create a profile
Create a profile
Create a profile
Choose a profile when Firefox opens
Choose a profile when Firefox opens...
|
[{"role":"AXHeading","text" [{"role":"AXHeading","text":"Choose a Firefox profile","depth":2,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose a Firefox profile","depth":3,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keep your work and personal browsing, including things like passwords and bookmarks, totally separate. Or create profiles for everyone who uses this device.","depth":3,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open Personal","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Personal","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Personal","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit profile","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Delete profile","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open Work","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Work","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Work","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit profile","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Delete profile","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Create a profile","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Create a profile","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Create a profile","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Choose a profile when Firefox opens","depth":6,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose a profile when Firefox opens","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5798553087892232859
|
4227107507678606510
|
click
|
accessibility
|
NULL
|
Choose a Firefox profile
Choose a Firefox profile
Choose a Firefox profile
Choose a Firefox profile
Keep your work and personal browsing, including things like passwords and bookmarks, totally separate. Or create profiles for everyone who uses this device.
Open Personal
Personal
Personal
Edit profile
Delete profile
Open Work
Work
Work
Edit profile
Delete profile
Create a profile
Create a profile
Create a profile
Choose a profile when Firefox opens
Choose a profile when Firefox opens...
|
1559
|
|
1561
|
34
|
32
|
2026-04-11T17:39:57.750447+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929197750_m1.jpg...
|
Firefox
|
Welcome to Firefox — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Sign in
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Sign in","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You’re in safe paws","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You’re in safe paws","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Keep Firefox in Dock","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keep Firefox in Dock","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Import from previous browser","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from previous browser","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Save and continue","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Skip this step","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-3158124838968152546
|
2450155259680004848
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Sign in
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
NULL
|
|
1562
|
34
|
33
|
2026-04-11T17:39:59.908783+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929199908_m1.jpg...
|
Firefox
|
Welcome to Firefox — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Sync and save data
Sign In
Sign In
Work
New tab
Ne Sync and save data
Sign In
Sign In
Work
New tab
New window
New private window
Bookmarks
History
Downloads
Passwords
Extensions and themes
Print…
Save page as…
Find in page…
Translate page…
Zoom
Zoom out
100%
Zoom in
Full screen
Settings
More tools
Report broken site
Help
Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Sign in
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Sync and save data","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sign In","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sign In","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Work","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New tab","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New window","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New private window","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Bookmarks","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"History","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Downloads","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Passwords","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Extensions and themes","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Print…","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Save page as…","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Find in page…","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Translate page…","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Zoom out","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"100%","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Zoom in","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Full screen","depth":3,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Settings","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"More tools","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Report broken site","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Help","depth":3,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Sign in","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You’re in safe paws","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You’re in safe paws","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Keep Firefox in Dock","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keep Firefox in Dock","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Import from previous browser","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from previous browser","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Save and continue","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Skip this step","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-7650168564972462085
|
4467908463095208690
|
click
|
accessibility
|
NULL
|
Sync and save data
Sign In
Sign In
Work
New tab
Ne Sync and save data
Sign In
Sign In
Work
New tab
New window
New private window
Bookmarks
History
Downloads
Passwords
Extensions and themes
Print…
Save page as…
Find in page…
Translate page…
Zoom
Zoom out
100%
Zoom in
Full screen
Settings
More tools
Report broken site
Help
Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Sign in
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
1561
|
|
1564
|
34
|
35
|
2026-04-11T17:40:03.408122+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929203408_m1.jpg...
|
Firefox
|
Welcome to Firefox — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Welcome to Firefox
about:welcome
Open AI chatbot ( Welcome to Firefox
about:welcome
Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Sign in
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Welcome to Firefox","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"about:welcome","depth":4,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Sign in","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You’re in safe paws","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You’re in safe paws","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We protect your data and block companies from spying on your clicks — automatically.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Keep Firefox in Dock","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keep Firefox in Dock","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Import from previous browser","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import from previous browser","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Save and continue","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Skip this step","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
4037876362500501693
|
2450436734656715504
|
click
|
accessibility
|
NULL
|
Welcome to Firefox
about:welcome
Open AI chatbot ( Welcome to Firefox
about:welcome
Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Sign in
You’re in safe paws
You’re in safe paws
We protect your data and block companies from spying on your clicks — automatically.
We protect your data and block companies from spying on your clicks — automatically.
Keep Firefox in Dock
Keep Firefox in Dock
Import from previous browser
Import from previous browser
Save and continue
Skip this step...
|
1563
|
|
1566
|
34
|
37
|
2026-04-11T17:40:18.267678+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929218267_m1.jpg...
|
Firefox
|
New Tab — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Close
Give your browsing a boost
Give your browsin Close
Give your browsing a boost
Give your browsing a boost
Make browsing faster, safer, or just plain fun with Firefox add-ons. See what our staff recommends!
Make browsing faster, safer, or just plain fun with Firefox add-ons. See what our staff recommends!
Explore add-ons
Close AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Choose an AI chatbot to use in the Firefox sidebar
Choose an AI chatbot to use in the Firefox sidebar
Switch anytime. For help choosing, learn more about each chatbot .
Switch anytime. For help choosing,
learn more about each chatbot
learn more about each chatbot
.
Anthropic Claude
Anthropic Claude
ChatGPT
ChatGPT
Copilot
Copilot
Google Gemini
Google Gemini
Le Chat Mistral
Le Chat Mistral
Continue
Close
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Close","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Give your browsing a boost","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Give your browsing a boost","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Make browsing faster, safer, or just plain fun with Firefox add-ons. See what our staff recommends!","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Make browsing faster, safer, or just plain fun with Firefox add-ons. See what our staff recommends!","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Explore add-ons","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Choose an AI chatbot to use in the Firefox sidebar","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose an AI chatbot to use in the Firefox sidebar","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Switch anytime. For help choosing, learn more about each chatbot .","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Switch anytime. For help choosing,","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"learn more about each chatbot","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"learn more about each chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Anthropic Claude","depth":13,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Anthropic Claude","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"ChatGPT","depth":13,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ChatGPT","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Copilot","depth":13,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Copilot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Google Gemini","depth":13,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Google Gemini","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Le Chat Mistral","depth":13,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Le Chat Mistral","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Continue","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"22°","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"C","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New York City","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open menu","depth":7,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Do you want to see the weather for your location?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Do you want to see the weather for your location?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Not now","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Not now","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Yes","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Yes","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Mozilla Firefox","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Search with Google or enter address","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search with Google or enter address","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wikipedia","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wikipedia","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Wikipedia","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"YouTube","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"YouTube","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for YouTube","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Reddit","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reddit","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Reddit","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add-ons for Firefox","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Add-ons for Firefox","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add Shortcut","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add Shortcut","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customize","depth":8,"help_text":"Customize this page","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customize","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-2250292163328768914
|
-4782594157879810748
|
click
|
accessibility
|
NULL
|
Close
Give your browsing a boost
Give your browsin Close
Give your browsing a boost
Give your browsing a boost
Make browsing faster, safer, or just plain fun with Firefox add-ons. See what our staff recommends!
Make browsing faster, safer, or just plain fun with Firefox add-ons. See what our staff recommends!
Explore add-ons
Close AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Choose an AI chatbot to use in the Firefox sidebar
Choose an AI chatbot to use in the Firefox sidebar
Switch anytime. For help choosing, learn more about each chatbot .
Switch anytime. For help choosing,
learn more about each chatbot
learn more about each chatbot
.
Anthropic Claude
Anthropic Claude
ChatGPT
ChatGPT
Copilot
Copilot
Google Gemini
Google Gemini
Le Chat Mistral
Le Chat Mistral
Continue
Close
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
1565
|
|
1568
|
34
|
39
|
2026-04-11T17:40:21.056524+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929221056_m1.jpg...
|
Firefox
|
New Tab — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Tabs from other devices
Tabs from other devices
Close
Search tabs
Your Firefox on all your devices
Your Firefox on all your devices
To see tabs you have open on your phone and other devices, sign in or sign up for an account. With an account, you can also sync your passwords, history, and more.
Sign in
Sign in
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Tabs from other devices","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs from other devices","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search tabs","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXHeading","text":"Your Firefox on all your devices","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your Firefox on all your devices","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To see tabs you have open on your phone and other devices, sign in or sign up for an account. With an account, you can also sync your passwords, history, and more.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Sign in","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sign in","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22°","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"C","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New York City","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open menu","depth":7,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Do you want to see the weather for your location?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Do you want to see the weather for your location?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Not now","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Not now","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Yes","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Yes","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Mozilla Firefox","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Search with Google or enter address","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search with Google or enter address","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wikipedia","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wikipedia","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Wikipedia","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"YouTube","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"YouTube","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for YouTube","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Reddit","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reddit","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Reddit","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add-ons for Firefox","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Add-ons for Firefox","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add Shortcut","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add Shortcut","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customize","depth":8,"help_text":"Customize this page","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customize","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7959674232759182435
|
-4816443848381472186
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Tabs from other devices
Tabs from other devices
Close
Search tabs
Your Firefox on all your devices
Your Firefox on all your devices
To see tabs you have open on your phone and other devices, sign in or sign up for an account. With an account, you can also sync your passwords, history, and more.
Sign in
Sign in
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
1567
|
|
1570
|
34
|
41
|
2026-04-11T17:40:23.708118+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929223708_m1.jpg...
|
Firefox
|
New Tab — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"22°","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"C","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New York City","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open menu","depth":7,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Do you want to see the weather for your location?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Do you want to see the weather for your location?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Not now","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Not now","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Yes","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Yes","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Mozilla Firefox","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Search with Google or enter address","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search with Google or enter address","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wikipedia","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wikipedia","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Wikipedia","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"YouTube","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"YouTube","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for YouTube","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Reddit","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reddit","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Reddit","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add-ons for Firefox","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Add-ons for Firefox","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add Shortcut","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add Shortcut","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customize","depth":8,"help_text":"Customize this page","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customize","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5147557345252322122
|
-4816443706746453690
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
1569
|
|
1571
|
34
|
42
|
2026-04-11T17:40:34.269003+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929234269_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3706728630941710938
|
-1563218222308097149
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
NULL
|
|
1574
|
34
|
45
|
2026-04-11T17:40:49.788647+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929249788_m1.jpg...
|
Code
|
Build screenpipe data UI… — screenpipe [SSH: 100.7 Build screenpipe data UI… — screenpipe [SSH: 100.73.206.126]...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
SCREENPIPE [SSH: [IP_ADDRESS]]
#recycle
app
consumers
__init__.py
activity.py
audio.py
elements.py
interactions.py
ocr.py
report.py
summary.py
static
.env
cli.py
db.py
docker-compose.yml
Dockerfile
main.py
requirements.txt
data
pipes
db.sqlite
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
pipe.md, Editor Group 1
#!/bin/bash • Untitled-1, Editor Group 1
report.py, preview, Editor Group 1
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
Build screenpipe data UI…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports
PORTS
remote SSH: [IP_ADDRESS]
SSH: [IP_ADDRESS]
No Problems
0
0
No Ports Forwarded
0
Update is ready, click to restart.
Update is ready, click to restart.
Notifications
Sign In
Sign In
Screen Reader Optimized
Diff editor
Build screenpipe data UI and summary app
Session history
New session
Message actions
lets build app around screenpipe data and db. THe idea is to have ui and data consumers. So I can run regular commands at the end ot the day (or on demand) and create soem summary.
Thinking
Thinking
Let me explore the screenpipe directory to understand what we're working with.
Bash
List screenpipe directory contents
IN
ls /volume1/screenpipe/
Copy code to clipboard
OUT
data
db.sqlite
pipes
#recycle
[rerun: b1]
Bash
List data and pipes directories
IN
ls /volume1/screenpipe/data/ | head -20 && ls /volume1/screenpipe/pipes/
Copy code to clipboard
OUT
2026-04-09
2026-04-11
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
[rerun: b2]
Bash
List tables in screenpipe SQLite database
IN
sqlite3 /volume1/screenpipe/db.sqlite ".tables"
Copy code to clipboard
OUT
_sqlx_migrations meetings
audio_chunks memories
audio_tags memories_fts
audio_transcriptions memories_fts_config
audio_transcriptions_fts memories_fts_data
audio_transcriptions_fts_config memories_fts_docsize
audio_transcriptions_fts_data memories_fts_idx
audio_transcriptions_fts_docsize ocr_text
audio_transcriptions_fts_idx pipe_executions
elements pipe_scheduler_state
elements_fts speaker_embeddings
elements_fts_config speakers
elements_fts_data tags
elements_fts_docsize ui_events
elements_fts_idx ui_events_fts
frames ui_events_fts_config
frames_fts ui_events_fts_data
frames_fts_config ui_events_fts_docsize
frames_fts_content ui_events_fts_idx
frames_fts_data video_chunks
frames_fts_docsize vision_tags
frames_fts_idx
[rerun: b3]
Bash
Get ocr_text table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
Copy code to clipboard
OUT
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
[rerun: b4]
Bash
Get audio_transcriptions table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(audio_transcriptions);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|audio_chunk_id|INTEGER|1||0
2|offset_index|INTEGER|1||0
3|timestamp|TIMESTAMP|1||0
4|transcription|TEXT|1||0
5|device|TEXT|1|''|0
6|is_input_device|BOOLEAN|1|TRUE|0
7|speaker_id|INTEGER|0||0
8|transcription_engine|TEXT|1|'Whisper'|0
9|start_time|REAL|0||0
10|end_time|REAL|0||0
11|text_length|INTEGER|0||0
12|sync_id|TEXT|0||0
13|synced_at|DATETIME|0||0
[rerun: b5]
Bash
Get frames, ui_events, video_chunks schemas
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(frames); PRAGMA table_info(ui_events); PRAGMA table_info(video_chunks);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|video_chunk_id|INTEGER|0|NULL|0
2|offset_index|INTEGER|1|0|0
3|timestamp|TIMESTAMP|1||0
4|name|TEXT|0||0
5|app_name|TEXT|0|NULL|0
6|window_name|TEXT|0|NULL|0
7|focused|BOOLEAN|0|NULL|0
8|browser_url|TEXT|0|NULL|0
9|device_name|TEXT|1|''|0
10|sync_id|TEXT|0||0
11|machine_id|TEXT|0||0
12|synced_at|DATETIME|0||0
13|snapshot_path|TEXT|0|NULL|0
14|accessibility_text|TEXT|0|NULL|0
15|accessibility_tree_json|TEXT|0|NULL|0
16|content_hash|INTEGER|0|NULL|0
17|simhash|INTEGER|0|NULL|0
18|capture_trigger|TEXT|0|NULL|0
19|text_source|TEXT|0|NULL|0
20|cloud_blob_id|TEXT|0|NULL|0
21|full_text|TEXT|0|NULL|0
22|elements_ref_frame_id|INTEGER|0|NULL|0
0|id|INTEGER|0||1
1|timestamp|DATETIME|1|CURRENT_TIMESTAMP|0
2|session_id|TEXT|0||0
3|relative_ms|INTEGER|1|0|0
4|event_type|TEXT|1||0
5|x|INTEGER|0||0
6|y|INTEGER|0||0
7|delta_x|INTEGER|0||0
8|delta_y|INTEGER|0||0
9|button|INTEGER|0||0
10|click_count|INTEGER|0||0
11|key_code|INTEGER|0||0
12|modifiers|INTEGER|0||0
13|text_content|TEXT|0||0
14|text_length|INTEGER|0||0
15|app_name|TEXT|0||0
16|app_pid|INTEGER|0||0
17|window_title|TEXT|0||0
18|browser_url|TEXT|0||0
19|element_role|TEXT|0||0
20|element_name|TEXT|0||0
21|element_value|TEXT|0||0
22|element_description|TEXT|0||0
23|element_automation_id|TEXT|0||0
24|element_bounds|TEXT|0||0
25|frame_id|INTEGER|0||0
26|sync_id|TEXT|0||0
27|machine_id|TEXT|0||0
28|synced_at|DATETIME|0||0
0|id|INTEGER|0||1
1|file_path|TEXT|1||0
2|device_name|TEXT|1|''|0
3|sync_id|TEXT|0||0
4|machine_id|TEXT|0||0
5|synced_at|DATETIME|0||0
6|fps|REAL|1|0.5|0
7|cloud_blob_id|TEXT|0|NULL|0
[rerun: b6]
Bash
Check data counts and date ranges
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM frames;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM audio_transcriptions;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*) FROM ocr_text;" 2>/dev/null
Copy code to clipboard
OUT
1135|2026-04-09T16:53:09.043761+00:00|2026-04-11T12:54:42.597794+00:00
3|2026-04-09T16:53:20+00:00|2026-04-09T17:02:52+00:00
666
[rerun: b7]
Bash
Explore existing pipes for patterns
IN
ls /volume1/screenpipe/pipes/day-recap/ 2>/dev/null && cat /volume1/screenpipe/pipes/day-recap/*.js 2>/dev/null | head -50
Copy code to clipboard
OUT
pipe.md
[rerun: b8]
Bash
Read day-recap pipe documentation
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
[rerun: b9]
Bash
Sample app names from frames
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT DISTINCT app_name FROM frames WHERE app_name != '' LIMIT 20;"
Copy code to clipboard
OUT
Safari
Activity Monitor
Dia
iTerm2
Control Centre
UserNotificationCenter
Finder
Claude
Slack
Firefox
Raycast
NetAuthAgent
QuickTime Player
[rerun: b10]
Bash
Sample joined frame+ocr data for today
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT f.timestamp, o.app_name, o.window_name, substr(o.text, 1, 100) as text FROM frames f JOIN ocr_text o ON f.id = o.frame_id WHERE DATE(f.timestamp) = '2026-04-11' LIMIT 5;"
Copy code to clipboard
OUT
2026-04-11T11:53:00.627698+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <47H5Sat 11 Apr 14:53:00-zshDOCKE
2026-04-11T11:53:02.005967+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <7H5Sat 11 Apr 14:53:01-zshDOCKER
2026-04-11T11:53:03.627468+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:03-zshDOCKERuse p
2026-04-11T11:53:05.528794+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:05-zshDOCKERuse p
2026-04-11T11:53:07.662098+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7Sat 11 Apr 14:53:07-zshDOCKERuse pi
[rerun: b11]
Bash
Sample recent audio transcriptions
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT timestamp, substr(transcription,1,100) as text, device FROM audio_transcriptions ORDER BY timestamp DESC LIMIT 5;"
Copy code to clipboard
OUT
2026-04-09T17:02:52+00:00|.|System Audio
2026-04-09T16:59:22+00:00|Class is technically...|System Audio
2026-04-09T16:53:20+00:00|I do for you. Run the credit check. Deal apartment. Okay.|System Audio
[rerun: b12]
Thinking
Thinking
Good data to work with. Here's what we have:
frames
+
ocr_text
: Screen captures with OCR text, app name, window name (1135 frames so far)
audio_transcriptions
: Voice/system audio transcripts
ui_events
: Mouse/keyboard events with app context
video_chunks
: Raw video files
Before I start building, a few quick questions:
Tech stack
— Python OK? (FastAPI for the web UI backend, Click for CLI commands, HTMX for the frontend to keep it simple)
AI summaries
— Do you have a Claude API key to use for generating the actual summaries? Or should I integrate with a local model / skip AI for now?
What summaries matter most?
Day recap (what apps/windows you used, key text seen)
App time breakdown (time per app)
Audio/conversation recap
Custom searchable timeline
Here's the architecture I'm thinking:
Copy code to clipboard
/volume1/screenpipe/app/
├── main.py # FastAPI web UI
├── cli.py # Click CLI: `python cli.py day-recap`
├── db.py # Read-only queries against db.sqlite
├── consumers/
│ ├── activity.py # App usage, time per window
│ ├── ocr.py # OCR text aggregation + search
│ ├── audio.py # Transcription queries
│ └── summary.py # AI summary builder
└── static/
└── index.html # Single-page UI
CLI commands would look like:
Copy code to clipboard
python cli.py day-recap # EOD summary
python cli.py activity --date today # App time breakdown
python cli.py search "docker" # Search OCR/audio text
python cli.py serve # Launch web UI
Does this direction work? Any preferences on the stack or which summaries to prioritize?
Message actions
seesm ok
Thinking
Thinking
Bash
Check Python and available packages
IN
python3 --version && pip3 list 2>/dev/null | grep -E "fastapi|uvicorn|click|anthropic|httpx|jinja"
Copy code to clipboard
OUT
Python 3.11.2
[rerun: b1]
Bash
Verify join works for today's data
IN
sqlite3 /volume1/screenpipe/db.sqlite "
SELECT f.timestamp, o.app_name, o.window_name, length(o.text) as txt_len
FROM frames f JOIN ocr_text o ON f.id = o.frame_id
WHERE DATE(f.timestamp) = '2026-04-11'
ORDER BY f.timestamp DESC LIMIT 3;
"
Copy code to clipboard
OUT
2026-04-11T12:54:42.597794+00:00|||2111
2026-04-11T12:54:41.915916+00:00|||2110
2026-04-11T12:54:39.912712+00:00|||2111
[rerun: b2]
Bash
Install required packages...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G)","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: 100.73.206.126]","depth":21,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: 100.73.206.126]","depth":22,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: 100.73.206.126]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"consumers","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"__init__.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"activity.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"audio.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"elements.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"interactions.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"ocr.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"report.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"summary.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"static","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":".env","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"cli.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"db.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"docker-compose.yml","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"Dockerfile","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"main.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"requirements.txt","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"role_description":"text"},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"#!/bin/bash • Untitled-1, Editor Group 1","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"report.py, preview, Editor Group 1","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"role_description":"text"},{"role":"AXStaticText","text":"","depth":29,"role_description":"text"},{"role":"AXTextArea","text":"\"\"\"Structured work report — no LLM needed.\"\"\"\nfrom datetime import date, datetime, timezone, timedelta\nfrom typing import Any\nfrom urllib.parse import urlparse\n\nfrom db import get_conn, date_range, today as _today\n\nBREAK_THRESHOLD_MIN = 10 # gap > 10 min = break\nWORK_APPS = {\n \"code\": {\"iTerm2\", \"Terminal\", \"Code\", \"Visual Studio Code\", \"PyCharm\", \"Xcode\", \"Cursor\"},\n \"browser\": {\"Firefox\", \"Safari\", \"Chrome\", \"Arc\", \"Dia\"},\n \"comms\": {\"Slack\", \"Teams\", \"Discord\", \"Zoom\", \"Telegram\", \"WhatsApp\"},\n \"docs\": {\"Word\", \"Pages\", \"Notion\", \"Obsidian\", \"Bear\", \"Typora\"},\n \"ai\": {\"Claude\", \"ChatGPT\"},\n \"design\": {\"Figma\", \"Sketch\", \"Photoshop\", \"Illustrator\"},\n \"media\": {\"QuickTime Player\", \"VLC\", \"Spotify\"},\n \"system\": {\"Finder\", \"Activity Monitor\", \"System Preferences\", \"System Settings\",\n \"Raycast\", \"Control Centre\", \"UserNotificationCenter\", \"NetAuthAgent\"},\n}\n\ndef _categorize(app_name: str) -> str:\n for cat, apps in WORK_APPS.items():\n if app_name in apps:\n return cat\n return \"other\"\n\ndef _extract_domain(url: str) -> str:\n try:\n h = urlparse(url).netloc\n return h.removeprefix(\"www.\") if h else url[:40]\n except Exception:\n return url[:40]\n\ndef _parse_ts(ts: str) -> datetime:\n ts = ts.replace(\"+00:00\", \"+00:00\") # already UTC\n try:\n return datetime.fromisoformat(ts)\n except ValueError:\n return datetime.fromisoformat(ts[:26] + \"+00:00\")\n\n\ndef session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:\n \"\"\"\n Detect work sessions and breaks from frame timestamps.\n Returns sessions, breaks, and totals.\n \"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp\",\n (start, end),\n ).fetchall()\n\n if not rows:\n return {\"sessions\": [], \"breaks\": [], \"total_active_min\": 0, \"total_break_min\": 0, \"date\": str(d)}\n\n timestamps = [_parse_ts(r[\"timestamp\"]) for r in rows]\n threshold = timedelta(minutes=break_min)\n\n sessions: list[dict] = []\n breaks: list[dict] = []\n sess_start = timestamps[0]\n prev = timestamps[0]\n\n for ts in timestamps[1:]:\n gap = ts - prev\n if gap > threshold:\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n breaks.append({\n \"start\": prev.isoformat(),\n \"end\": ts.isoformat(),\n \"duration_min\": round(gap.total_seconds() / 60, 1),\n })\n sess_start = ts\n prev = ts\n\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n\n total_active = sum(s[\"duration_min\"] for s in sessions)\n total_break = sum(b[\"duration_min\"] for b in breaks)\n total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60\n\n return {\n \"date\": str(d),\n \"day_start\": timestamps[0].isoformat(),\n \"day_end\": timestamps[-1].isoformat(),\n \"total_span_min\": round(total_span, 1),\n \"total_active_min\": round(total_active, 1),\n \"total_break_min\": round(total_break, 1),\n \"sessions\": sessions,\n \"breaks\": breaks,\n }\n\n\ndef domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:\n \"\"\"Browser time grouped by domain.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"\"\"\n SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ?\n AND browser_url IS NOT NULL AND browser_url != ''\n GROUP BY browser_url\n ORDER BY frames DESC\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Group by domain\n domains: dict[str, dict] = {}\n for r in rows:\n domain = _extract_domain(r[\"browser_url\"])\n if domain not in domains:\n domains[domain] = {\"domain\": domain, \"minutes\": 0, \"urls\": []}\n domains[domain][\"minutes\"] = round(domains[domain][\"minutes\"] + r[\"minutes\"], 1)\n domains[domain][\"urls\"].append({\"url\": r[\"browser_url\"], \"minutes\": r[\"minutes\"]})\n\n return sorted(domains.values(), key=lambda x: x[\"minutes\"], reverse=True)\n\n\ndef slack_activity(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Slack-specific: time, channels, message activity.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n # Time in Slack\n time_row = conn.execute(\n \"\"\"\n SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n # Channels from window names\n channels = conn.execute(\n \"\"\"\n SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n AND window_name IS NOT NULL AND window_name != ''\n GROUP BY window_name ORDER BY frames DESC LIMIT 20\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Keystrokes in Slack (proxy for messages sent)\n events = conn.execute(\n \"\"\"\n SELECT\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks\n FROM ui_events\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n return {\n \"minutes\": time_row[\"minutes\"] if time_row else 0,\n \"frames\": time_row[\"frames\"] if time_row else 0,\n \"keystrokes\": events[\"keystrokes\"] if events else 0,\n \"clicks\": events[\"clicks\"] if events else 0,\n \"channels\": [dict(r) for r in channels],\n }\n\n\ndef work_report(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Full structured work report — no AI needed.\"\"\"\n from consumers.activity import app_time, ui_event_summary\n\n d = for_date or _today()\n\n apps = app_time(d)\n # Annotate with category\n categorized: dict[str, list] = {}\n for a in apps:\n cat = _categorize(a[\"app_name\"])\n categorized.setdefault(cat, []).append(a)\n\n return {\n \"date\": str(d),\n \"sessions\": session_breakdown(d),\n \"apps_by_category\": categorized,\n \"domains\": domain_breakdown(d),\n \"slack\": slack_activity(d),\n \"ui_events\": ui_event_summary(d),\n }","depth":28,"value":"\"\"\"Structured work report — no LLM needed.\"\"\"\nfrom datetime import date, datetime, timezone, timedelta\nfrom typing import Any\nfrom urllib.parse import urlparse\n\nfrom db import get_conn, date_range, today as _today\n\nBREAK_THRESHOLD_MIN = 10 # gap > 10 min = break\nWORK_APPS = {\n \"code\": {\"iTerm2\", \"Terminal\", \"Code\", \"Visual Studio Code\", \"PyCharm\", \"Xcode\", \"Cursor\"},\n \"browser\": {\"Firefox\", \"Safari\", \"Chrome\", \"Arc\", \"Dia\"},\n \"comms\": {\"Slack\", \"Teams\", \"Discord\", \"Zoom\", \"Telegram\", \"WhatsApp\"},\n \"docs\": {\"Word\", \"Pages\", \"Notion\", \"Obsidian\", \"Bear\", \"Typora\"},\n \"ai\": {\"Claude\", \"ChatGPT\"},\n \"design\": {\"Figma\", \"Sketch\", \"Photoshop\", \"Illustrator\"},\n \"media\": {\"QuickTime Player\", \"VLC\", \"Spotify\"},\n \"system\": {\"Finder\", \"Activity Monitor\", \"System Preferences\", \"System Settings\",\n \"Raycast\", \"Control Centre\", \"UserNotificationCenter\", \"NetAuthAgent\"},\n}\n\ndef _categorize(app_name: str) -> str:\n for cat, apps in WORK_APPS.items():\n if app_name in apps:\n return cat\n return \"other\"\n\ndef _extract_domain(url: str) -> str:\n try:\n h = urlparse(url).netloc\n return h.removeprefix(\"www.\") if h else url[:40]\n except Exception:\n return url[:40]\n\ndef _parse_ts(ts: str) -> datetime:\n ts = ts.replace(\"+00:00\", \"+00:00\") # already UTC\n try:\n return datetime.fromisoformat(ts)\n except ValueError:\n return datetime.fromisoformat(ts[:26] + \"+00:00\")\n\n\ndef session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:\n \"\"\"\n Detect work sessions and breaks from frame timestamps.\n Returns sessions, breaks, and totals.\n \"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp\",\n (start, end),\n ).fetchall()\n\n if not rows:\n return {\"sessions\": [], \"breaks\": [], \"total_active_min\": 0, \"total_break_min\": 0, \"date\": str(d)}\n\n timestamps = [_parse_ts(r[\"timestamp\"]) for r in rows]\n threshold = timedelta(minutes=break_min)\n\n sessions: list[dict] = []\n breaks: list[dict] = []\n sess_start = timestamps[0]\n prev = timestamps[0]\n\n for ts in timestamps[1:]:\n gap = ts - prev\n if gap > threshold:\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n breaks.append({\n \"start\": prev.isoformat(),\n \"end\": ts.isoformat(),\n \"duration_min\": round(gap.total_seconds() / 60, 1),\n })\n sess_start = ts\n prev = ts\n\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n\n total_active = sum(s[\"duration_min\"] for s in sessions)\n total_break = sum(b[\"duration_min\"] for b in breaks)\n total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60\n\n return {\n \"date\": str(d),\n \"day_start\": timestamps[0].isoformat(),\n \"day_end\": timestamps[-1].isoformat(),\n \"total_span_min\": round(total_span, 1),\n \"total_active_min\": round(total_active, 1),\n \"total_break_min\": round(total_break, 1),\n \"sessions\": sessions,\n \"breaks\": breaks,\n }\n\n\ndef domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:\n \"\"\"Browser time grouped by domain.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"\"\"\n SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ?\n AND browser_url IS NOT NULL AND browser_url != ''\n GROUP BY browser_url\n ORDER BY frames DESC\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Group by domain\n domains: dict[str, dict] = {}\n for r in rows:\n domain = _extract_domain(r[\"browser_url\"])\n if domain not in domains:\n domains[domain] = {\"domain\": domain, \"minutes\": 0, \"urls\": []}\n domains[domain][\"minutes\"] = round(domains[domain][\"minutes\"] + r[\"minutes\"], 1)\n domains[domain][\"urls\"].append({\"url\": r[\"browser_url\"], \"minutes\": r[\"minutes\"]})\n\n return sorted(domains.values(), key=lambda x: x[\"minutes\"], reverse=True)\n\n\ndef slack_activity(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Slack-specific: time, channels, message activity.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n # Time in Slack\n time_row = conn.execute(\n \"\"\"\n SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n # Channels from window names\n channels = conn.execute(\n \"\"\"\n SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n AND window_name IS NOT NULL AND window_name != ''\n GROUP BY window_name ORDER BY frames DESC LIMIT 20\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Keystrokes in Slack (proxy for messages sent)\n events = conn.execute(\n \"\"\"\n SELECT\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks\n FROM ui_events\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n return {\n \"minutes\": time_row[\"minutes\"] if time_row else 0,\n \"frames\": time_row[\"frames\"] if time_row else 0,\n \"keystrokes\": events[\"keystrokes\"] if events else 0,\n \"clicks\": events[\"clicks\"] if events else 0,\n \"channels\": [dict(r) for r in channels],\n }\n\n\ndef work_report(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Full structured work report — no AI needed.\"\"\"\n from consumers.activity import app_time, ui_event_summary\n\n d = for_date or _today()\n\n apps = app_time(d)\n # Annotate with category\n categorized: dict[str, list] = {}\n for a in apps:\n cat = _categorize(a[\"app_name\"])\n categorized.setdefault(cat, []).append(a)\n\n return {\n \"date\": str(d),\n \"sessions\": session_breakdown(d),\n \"apps_by_category\": categorized,\n \"domains\": domain_breakdown(d),\n \"slack\": slack_activity(d),\n \"ui_events\": ui_event_summary(d),\n }","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"\"\"\"Structured work report — no LLM needed.\"\"\"\nfrom datetime import date, datetime, timezone, timedelta\nfrom typing import Any\nfrom urllib.parse import urlparse\n\nfrom db import get_conn, date_range, today as _today\n\nBREAK_THRESHOLD_MIN = 10 # gap > 10 min = break\nWORK_APPS = {\n \"code\": {\"iTerm2\", \"Terminal\", \"Code\", \"Visual Studio Code\", \"PyCharm\", \"Xcode\", \"Cursor\"},\n \"browser\": {\"Firefox\", \"Safari\", \"Chrome\", \"Arc\", \"Dia\"},\n \"comms\": {\"Slack\", \"Teams\", \"Discord\", \"Zoom\", \"Telegram\", \"WhatsApp\"},\n \"docs\": {\"Word\", \"Pages\", \"Notion\", \"Obsidian\", \"Bear\", \"Typora\"},\n \"ai\": {\"Claude\", \"ChatGPT\"},\n \"design\": {\"Figma\", \"Sketch\", \"Photoshop\", \"Illustrator\"},\n \"media\": {\"QuickTime Player\", \"VLC\", \"Spotify\"},\n \"system\": {\"Finder\", \"Activity Monitor\", \"System Preferences\", \"System Settings\",\n \"Raycast\", \"Control Centre\", \"UserNotificationCenter\", \"NetAuthAgent\"},\n}\n\ndef _categorize(app_name: str) -> str:\n for cat, apps in WORK_APPS.items():\n if app_name in apps:\n return cat\n return \"other\"\n\ndef _extract_domain(url: str) -> str:\n try:\n h = urlparse(url).netloc\n return h.removeprefix(\"www.\") if h else url[:40]\n except Exception:\n return url[:40]\n\ndef _parse_ts(ts: str) -> datetime:\n ts = ts.replace(\"+00:00\", \"+00:00\") # already UTC\n try:\n return datetime.fromisoformat(ts)\n except ValueError:\n return datetime.fromisoformat(ts[:26] + \"+00:00\")\n\n\ndef session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:\n \"\"\"\n Detect work sessions and breaks from frame timestamps.\n Returns sessions, breaks, and totals.\n \"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp\",\n (start, end),\n ).fetchall()\n\n if not rows:\n return {\"sessions\": [], \"breaks\": [], \"total_active_min\": 0, \"total_break_min\": 0, \"date\": str(d)}\n\n timestamps = [_parse_ts(r[\"timestamp\"]) for r in rows]\n threshold = timedelta(minutes=break_min)\n\n sessions: list[dict] = []\n breaks: list[dict] = []\n sess_start = timestamps[0]\n prev = timestamps[0]\n\n for ts in timestamps[1:]:\n gap = ts - prev\n if gap > threshold:\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n breaks.append({\n \"start\": prev.isoformat(),\n \"end\": ts.isoformat(),\n \"duration_min\": round(gap.total_seconds() / 60, 1),\n })\n sess_start = ts\n prev = ts\n\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n\n total_active = sum(s[\"duration_min\"] for s in sessions)\n total_break = sum(b[\"duration_min\"] for b in breaks)\n total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60\n\n return {\n \"date\": str(d),\n \"day_start\": timestamps[0].isoformat(),\n \"day_end\": timestamps[-1].isoformat(),\n \"total_span_min\": round(total_span, 1),\n \"total_active_min\": round(total_active, 1),\n \"total_break_min\": round(total_break, 1),\n \"sessions\": sessions,\n \"breaks\": breaks,\n }\n\n\ndef domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:\n \"\"\"Browser time grouped by domain.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"\"\"\n SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ?\n AND browser_url IS NOT NULL AND browser_url != ''\n GROUP BY browser_url\n ORDER BY frames DESC\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Group by domain\n domains: dict[str, dict] = {}\n for r in rows:\n domain = _extract_domain(r[\"browser_url\"])\n if domain not in domains:\n domains[domain] = {\"domain\": domain, \"minutes\": 0, \"urls\": []}\n domains[domain][\"minutes\"] = round(domains[domain][\"minutes\"] + r[\"minutes\"], 1)\n domains[domain][\"urls\"].append({\"url\": r[\"browser_url\"], \"minutes\": r[\"minutes\"]})\n\n return sorted(domains.values(), key=lambda x: x[\"minutes\"], reverse=True)\n\n\ndef slack_activity(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Slack-specific: time, channels, message activity.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n # Time in Slack\n time_row = conn.execute(\n \"\"\"\n SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n # Channels from window names\n channels = conn.execute(\n \"\"\"\n SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n AND window_name IS NOT NULL AND window_name != ''\n GROUP BY window_name ORDER BY frames DESC LIMIT 20\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Keystrokes in Slack (proxy for messages sent)\n events = conn.execute(\n \"\"\"\n SELECT\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks\n FROM ui_events\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n return {\n \"minutes\": time_row[\"minutes\"] if time_row else 0,\n \"frames\": time_row[\"frames\"] if time_row else 0,\n \"keystrokes\": events[\"keystrokes\"] if events else 0,\n \"clicks\": events[\"clicks\"] if events else 0,\n \"channels\": [dict(r) for r in channels],\n }\n\n\ndef work_report(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Full structured work report — no AI needed.\"\"\"\n from consumers.activity import app_time, ui_event_summary\n\n d = for_date or _today()\n\n apps = app_time(d)\n # Annotate with category\n categorized: dict[str, list] = {}\n for a in apps:\n cat = _categorize(a[\"app_name\"])\n categorized.setdefault(cat, []).append(a)\n\n return {\n \"date\": str(d),\n \"sessions\": session_breakdown(d),\n \"apps_by_category\": categorized,\n \"domains\": domain_breakdown(d),\n \"slack\": slack_activity(d),\n \"ui_events\": ui_event_summary(d),\n }","depth":29,"role_description":"text"},{"role":"AXRadioButton","text":"Build screenpipe data UI…, Editor Group 2","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUTPUT","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"TERMINAL","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Ports","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"role_description":"text"},{"role":"AXButton","text":"remote SSH: 100.73.206.126","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"SSH: 100.73.206.126","depth":17,"role_description":"text"},{"role":"AXButton","text":"No Problems","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"role_description":"text"},{"role":"AXButton","text":"No Ports Forwarded","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"role_description":"text"},{"role":"AXButton","text":"Update is ready, click to restart.","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Update is ready, click to restart.","depth":17,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"role_description":"text"},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diff editor","depth":12,"role_description":"text"},{"role":"AXButton","text":"Build screenpipe data UI and summary app","depth":18,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":18,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":18,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lets build app around screenpipe data and db. THe idea is to have ui and data consumers. So I can run regular commands at the end ot the day (or on demand) and create soem summary.","depth":24,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":22,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Let me explore the screenpipe directory to understand what we're working with.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List screenpipe directory contents","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"data\ndb.sqlite\npipes\n#recycle\n[rerun: b1]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List data and pipes directories","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/data/ | head -20 && ls /volume1/screenpipe/pipes/","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-09\n2026-04-11\nai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n[rerun: b2]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List tables in screenpipe SQLite database","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \".tables\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"_sqlx_migrations meetings \naudio_chunks memories \naudio_tags memories_fts \naudio_transcriptions memories_fts_config \naudio_transcriptions_fts memories_fts_data \naudio_transcriptions_fts_config memories_fts_docsize \naudio_transcriptions_fts_data memories_fts_idx \naudio_transcriptions_fts_docsize ocr_text \naudio_transcriptions_fts_idx pipe_executions \nelements pipe_scheduler_state \nelements_fts speaker_embeddings \nelements_fts_config speakers \nelements_fts_data tags \nelements_fts_docsize ui_events \nelements_fts_idx ui_events_fts \nframes ui_events_fts_config \nframes_fts ui_events_fts_data \nframes_fts_config ui_events_fts_docsize \nframes_fts_content ui_events_fts_idx \nframes_fts_data video_chunks \nframes_fts_docsize vision_tags \nframes_fts_idx\n[rerun: b3]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Get ocr_text table schema","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"PRAGMA table_info(ocr_text);\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"0|frame_id|INTEGER|1||0\n1|text|TEXT|1||0\n2|text_json|TEXT|0||0\n3|app_name|TEXT|1|''|0\n4|ocr_engine|TEXT|1|'unknown'|0\n5|window_name|TEXT|0||0\n6|focused|BOOLEAN|0|FALSE|0\n7|text_length|INTEGER|0||0\n8|sync_id|TEXT|0||0\n9|synced_at|DATETIME|0||0\n[rerun: b4]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Get audio_transcriptions table schema","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"PRAGMA table_info(audio_transcriptions);\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"0|id|INTEGER|0||1\n1|audio_chunk_id|INTEGER|1||0\n2|offset_index|INTEGER|1||0\n3|timestamp|TIMESTAMP|1||0\n4|transcription|TEXT|1||0\n5|device|TEXT|1|''|0\n6|is_input_device|BOOLEAN|1|TRUE|0\n7|speaker_id|INTEGER|0||0\n8|transcription_engine|TEXT|1|'Whisper'|0\n9|start_time|REAL|0||0\n10|end_time|REAL|0||0\n11|text_length|INTEGER|0||0\n12|sync_id|TEXT|0||0\n13|synced_at|DATETIME|0||0\n[rerun: b5]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Get frames, ui_events, video_chunks schemas","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"PRAGMA table_info(frames); PRAGMA table_info(ui_events); PRAGMA table_info(video_chunks);\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"0|id|INTEGER|0||1\n1|video_chunk_id|INTEGER|0|NULL|0\n2|offset_index|INTEGER|1|0|0\n3|timestamp|TIMESTAMP|1||0\n4|name|TEXT|0||0\n5|app_name|TEXT|0|NULL|0\n6|window_name|TEXT|0|NULL|0\n7|focused|BOOLEAN|0|NULL|0\n8|browser_url|TEXT|0|NULL|0\n9|device_name|TEXT|1|''|0\n10|sync_id|TEXT|0||0\n11|machine_id|TEXT|0||0\n12|synced_at|DATETIME|0||0\n13|snapshot_path|TEXT|0|NULL|0\n14|accessibility_text|TEXT|0|NULL|0\n15|accessibility_tree_json|TEXT|0|NULL|0\n16|content_hash|INTEGER|0|NULL|0\n17|simhash|INTEGER|0|NULL|0\n18|capture_trigger|TEXT|0|NULL|0\n19|text_source|TEXT|0|NULL|0\n20|cloud_blob_id|TEXT|0|NULL|0\n21|full_text|TEXT|0|NULL|0\n22|elements_ref_frame_id|INTEGER|0|NULL|0\n0|id|INTEGER|0||1\n1|timestamp|DATETIME|1|CURRENT_TIMESTAMP|0\n2|session_id|TEXT|0||0\n3|relative_ms|INTEGER|1|0|0\n4|event_type|TEXT|1||0\n5|x|INTEGER|0||0\n6|y|INTEGER|0||0\n7|delta_x|INTEGER|0||0\n8|delta_y|INTEGER|0||0\n9|button|INTEGER|0||0\n10|click_count|INTEGER|0||0\n11|key_code|INTEGER|0||0\n12|modifiers|INTEGER|0||0\n13|text_content|TEXT|0||0\n14|text_length|INTEGER|0||0\n15|app_name|TEXT|0||0\n16|app_pid|INTEGER|0||0\n17|window_title|TEXT|0||0\n18|browser_url|TEXT|0||0\n19|element_role|TEXT|0||0\n20|element_name|TEXT|0||0\n21|element_value|TEXT|0||0\n22|element_description|TEXT|0||0\n23|element_automation_id|TEXT|0||0\n24|element_bounds|TEXT|0||0\n25|frame_id|INTEGER|0||0\n26|sync_id|TEXT|0||0\n27|machine_id|TEXT|0||0\n28|synced_at|DATETIME|0||0\n0|id|INTEGER|0||1\n1|file_path|TEXT|1||0\n2|device_name|TEXT|1|''|0\n3|sync_id|TEXT|0||0\n4|machine_id|TEXT|0||0\n5|synced_at|DATETIME|0||0\n6|fps|REAL|1|0.5|0\n7|cloud_blob_id|TEXT|0|NULL|0\n[rerun: b6]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Check data counts and date ranges","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM frames;\" 2>/dev/null\nsqlite3 /volume1/screenpipe/db.sqlite \"SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM audio_transcriptions;\" 2>/dev/null\nsqlite3 /volume1/screenpipe/db.sqlite \"SELECT COUNT(*) FROM ocr_text;\" 2>/dev/null","depth":25,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"1135|2026-04-09T16:53:09.043761+00:00|2026-04-11T12:54:42.597794+00:00\n3|2026-04-09T16:53:20+00:00|2026-04-09T17:02:52+00:00\n666\n[rerun: b7]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Explore existing pipes for patterns","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ 2>/dev/null && cat /volume1/screenpipe/pipes/day-recap/*.js 2>/dev/null | head -50","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\n[rerun: b8]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Read day-recap pipe documentation","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\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[rerun: b9]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Sample app names from frames","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT DISTINCT app_name FROM frames WHERE app_name != '' LIMIT 20;\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Safari\nActivity Monitor\nDia\niTerm2\nControl Centre\nUserNotificationCenter\nFinder\nClaude\nSlack\nFirefox\nRaycast\nNetAuthAgent\nQuickTime Player\n[rerun: b10]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Sample joined frame+ocr data for today","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT f.timestamp, o.app_name, o.window_name, substr(o.text, 1, 100) as text FROM frames f JOIN ocr_text o ON f.id = o.frame_id WHERE DATE(f.timestamp) = '2026-04-11' LIMIT 5;\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T11:53:00.627698+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <47H5Sat 11 Apr 14:53:00-zshDOCKE\n2026-04-11T11:53:02.005967+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <7H5Sat 11 Apr 14:53:01-zshDOCKER\n2026-04-11T11:53:03.627468+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:03-zshDOCKERuse p\n2026-04-11T11:53:05.528794+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:05-zshDOCKERuse p\n2026-04-11T11:53:07.662098+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7Sat 11 Apr 14:53:07-zshDOCKERuse pi\n[rerun: b11]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Sample recent audio transcriptions","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT timestamp, substr(transcription,1,100) as text, device FROM audio_transcriptions ORDER BY timestamp DESC LIMIT 5;\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-09T17:02:52+00:00|.|System Audio\n2026-04-09T16:59:22+00:00|Class is technically...|System Audio\n2026-04-09T16:53:20+00:00|I do for you. Run the credit check. Deal apartment. Okay.|System Audio\n[rerun: b12]","depth":24,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":22,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Good data to work with. Here's what we have:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"frames","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ocr_text","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Screen captures with OCR text, app name, window name (1135 frames so far)","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"audio_transcriptions","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Voice/system audio transcripts","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ui_events","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Mouse/keyboard events with app context","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"video_chunks","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Raw video files","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Before I start building, a few quick questions:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Tech stack","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"— Python OK? (FastAPI for the web UI backend, Click for CLI commands, HTMX for the frontend to keep it simple)","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"AI summaries","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"— Do you have a Claude API key to use for generating the actual summaries? Or should I integrate with a local model / skip AI for now?","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"What summaries matter most?","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Day recap (what apps/windows you used, key text seen)","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"App time breakdown (time per app)","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Audio/conversation recap","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Custom searchable timeline","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Here's the architecture I'm thinking:","depth":22,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":22,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"/volume1/screenpipe/app/\n├── main.py # FastAPI web UI\n├── cli.py # Click CLI: `python cli.py day-recap`\n├── db.py # Read-only queries against db.sqlite\n├── consumers/\n│ ├── activity.py # App usage, time per window\n│ ├── ocr.py # OCR text aggregation + search\n│ ├── audio.py # Transcription queries\n│ └── summary.py # AI summary builder\n└── static/\n └── index.html # Single-page UI","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"CLI commands would look like:","depth":22,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":22,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"python cli.py day-recap # EOD summary\npython cli.py activity --date today # App time breakdown\npython cli.py search \"docker\" # Search OCR/audio text\npython cli.py serve # Launch web UI","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Does this direction work? Any preferences on the stack or which summaries to prioritize?","depth":22,"role_description":"text"},{"role":"AXButton","text":"Message actions","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"seesm ok","depth":24,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":22,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Check Python and available packages","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"python3 --version && pip3 list 2>/dev/null | grep -E \"fastapi|uvicorn|click|anthropic|httpx|jinja\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Python 3.11.2\n[rerun: b1]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Verify join works for today's data","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"\nSELECT f.timestamp, o.app_name, o.window_name, length(o.text) as txt_len\nFROM frames f JOIN ocr_text o ON f.id = o.frame_id\nWHERE DATE(f.timestamp) = '2026-04-11'\nORDER BY f.timestamp DESC LIMIT 3;\n\"","depth":25,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T12:54:42.597794+00:00|||2111\n2026-04-11T12:54:41.915916+00:00|||2110\n2026-04-11T12:54:39.912712+00:00|||2111\n[rerun: b2]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Install required packages","depth":23,"role_description":"text"}]...
|
1579793813643720126
|
-8789922368575108586
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
SCREENPIPE [SSH: [IP_ADDRESS]]
#recycle
app
consumers
__init__.py
activity.py
audio.py
elements.py
interactions.py
ocr.py
report.py
summary.py
static
.env
cli.py
db.py
docker-compose.yml
Dockerfile
main.py
requirements.txt
data
pipes
db.sqlite
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
pipe.md, Editor Group 1
#!/bin/bash • Untitled-1, Editor Group 1
report.py, preview, Editor Group 1
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
Build screenpipe data UI…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports
PORTS
remote SSH: [IP_ADDRESS]
SSH: [IP_ADDRESS]
No Problems
0
0
No Ports Forwarded
0
Update is ready, click to restart.
Update is ready, click to restart.
Notifications
Sign In
Sign In
Screen Reader Optimized
Diff editor
Build screenpipe data UI and summary app
Session history
New session
Message actions
lets build app around screenpipe data and db. THe idea is to have ui and data consumers. So I can run regular commands at the end ot the day (or on demand) and create soem summary.
Thinking
Thinking
Let me explore the screenpipe directory to understand what we're working with.
Bash
List screenpipe directory contents
IN
ls /volume1/screenpipe/
Copy code to clipboard
OUT
data
db.sqlite
pipes
#recycle
[rerun: b1]
Bash
List data and pipes directories
IN
ls /volume1/screenpipe/data/ | head -20 && ls /volume1/screenpipe/pipes/
Copy code to clipboard
OUT
2026-04-09
2026-04-11
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
[rerun: b2]
Bash
List tables in screenpipe SQLite database
IN
sqlite3 /volume1/screenpipe/db.sqlite ".tables"
Copy code to clipboard
OUT
_sqlx_migrations meetings
audio_chunks memories
audio_tags memories_fts
audio_transcriptions memories_fts_config
audio_transcriptions_fts memories_fts_data
audio_transcriptions_fts_config memories_fts_docsize
audio_transcriptions_fts_data memories_fts_idx
audio_transcriptions_fts_docsize ocr_text
audio_transcriptions_fts_idx pipe_executions
elements pipe_scheduler_state
elements_fts speaker_embeddings
elements_fts_config speakers
elements_fts_data tags
elements_fts_docsize ui_events
elements_fts_idx ui_events_fts
frames ui_events_fts_config
frames_fts ui_events_fts_data
frames_fts_config ui_events_fts_docsize
frames_fts_content ui_events_fts_idx
frames_fts_data video_chunks
frames_fts_docsize vision_tags
frames_fts_idx
[rerun: b3]
Bash
Get ocr_text table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
Copy code to clipboard
OUT
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
[rerun: b4]
Bash
Get audio_transcriptions table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(audio_transcriptions);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|audio_chunk_id|INTEGER|1||0
2|offset_index|INTEGER|1||0
3|timestamp|TIMESTAMP|1||0
4|transcription|TEXT|1||0
5|device|TEXT|1|''|0
6|is_input_device|BOOLEAN|1|TRUE|0
7|speaker_id|INTEGER|0||0
8|transcription_engine|TEXT|1|'Whisper'|0
9|start_time|REAL|0||0
10|end_time|REAL|0||0
11|text_length|INTEGER|0||0
12|sync_id|TEXT|0||0
13|synced_at|DATETIME|0||0
[rerun: b5]
Bash
Get frames, ui_events, video_chunks schemas
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(frames); PRAGMA table_info(ui_events); PRAGMA table_info(video_chunks);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|video_chunk_id|INTEGER|0|NULL|0
2|offset_index|INTEGER|1|0|0
3|timestamp|TIMESTAMP|1||0
4|name|TEXT|0||0
5|app_name|TEXT|0|NULL|0
6|window_name|TEXT|0|NULL|0
7|focused|BOOLEAN|0|NULL|0
8|browser_url|TEXT|0|NULL|0
9|device_name|TEXT|1|''|0
10|sync_id|TEXT|0||0
11|machine_id|TEXT|0||0
12|synced_at|DATETIME|0||0
13|snapshot_path|TEXT|0|NULL|0
14|accessibility_text|TEXT|0|NULL|0
15|accessibility_tree_json|TEXT|0|NULL|0
16|content_hash|INTEGER|0|NULL|0
17|simhash|INTEGER|0|NULL|0
18|capture_trigger|TEXT|0|NULL|0
19|text_source|TEXT|0|NULL|0
20|cloud_blob_id|TEXT|0|NULL|0
21|full_text|TEXT|0|NULL|0
22|elements_ref_frame_id|INTEGER|0|NULL|0
0|id|INTEGER|0||1
1|timestamp|DATETIME|1|CURRENT_TIMESTAMP|0
2|session_id|TEXT|0||0
3|relative_ms|INTEGER|1|0|0
4|event_type|TEXT|1||0
5|x|INTEGER|0||0
6|y|INTEGER|0||0
7|delta_x|INTEGER|0||0
8|delta_y|INTEGER|0||0
9|button|INTEGER|0||0
10|click_count|INTEGER|0||0
11|key_code|INTEGER|0||0
12|modifiers|INTEGER|0||0
13|text_content|TEXT|0||0
14|text_length|INTEGER|0||0
15|app_name|TEXT|0||0
16|app_pid|INTEGER|0||0
17|window_title|TEXT|0||0
18|browser_url|TEXT|0||0
19|element_role|TEXT|0||0
20|element_name|TEXT|0||0
21|element_value|TEXT|0||0
22|element_description|TEXT|0||0
23|element_automation_id|TEXT|0||0
24|element_bounds|TEXT|0||0
25|frame_id|INTEGER|0||0
26|sync_id|TEXT|0||0
27|machine_id|TEXT|0||0
28|synced_at|DATETIME|0||0
0|id|INTEGER|0||1
1|file_path|TEXT|1||0
2|device_name|TEXT|1|''|0
3|sync_id|TEXT|0||0
4|machine_id|TEXT|0||0
5|synced_at|DATETIME|0||0
6|fps|REAL|1|0.5|0
7|cloud_blob_id|TEXT|0|NULL|0
[rerun: b6]
Bash
Check data counts and date ranges
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM frames;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM audio_transcriptions;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*) FROM ocr_text;" 2>/dev/null
Copy code to clipboard
OUT
1135|2026-04-09T16:53:09.043761+00:00|2026-04-11T12:54:42.597794+00:00
3|2026-04-09T16:53:20+00:00|2026-04-09T17:02:52+00:00
666
[rerun: b7]
Bash
Explore existing pipes for patterns
IN
ls /volume1/screenpipe/pipes/day-recap/ 2>/dev/null && cat /volume1/screenpipe/pipes/day-recap/*.js 2>/dev/null | head -50
Copy code to clipboard
OUT
pipe.md
[rerun: b8]
Bash
Read day-recap pipe documentation
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
[rerun: b9]
Bash
Sample app names from frames
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT DISTINCT app_name FROM frames WHERE app_name != '' LIMIT 20;"
Copy code to clipboard
OUT
Safari
Activity Monitor
Dia
iTerm2
Control Centre
UserNotificationCenter
Finder
Claude
Slack
Firefox
Raycast
NetAuthAgent
QuickTime Player
[rerun: b10]
Bash
Sample joined frame+ocr data for today
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT f.timestamp, o.app_name, o.window_name, substr(o.text, 1, 100) as text FROM frames f JOIN ocr_text o ON f.id = o.frame_id WHERE DATE(f.timestamp) = '2026-04-11' LIMIT 5;"
Copy code to clipboard
OUT
2026-04-11T11:53:00.627698+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <47H5Sat 11 Apr 14:53:00-zshDOCKE
2026-04-11T11:53:02.005967+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <7H5Sat 11 Apr 14:53:01-zshDOCKER
2026-04-11T11:53:03.627468+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:03-zshDOCKERuse p
2026-04-11T11:53:05.528794+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:05-zshDOCKERuse p
2026-04-11T11:53:07.662098+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7Sat 11 Apr 14:53:07-zshDOCKERuse pi
[rerun: b11]
Bash
Sample recent audio transcriptions
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT timestamp, substr(transcription,1,100) as text, device FROM audio_transcriptions ORDER BY timestamp DESC LIMIT 5;"
Copy code to clipboard
OUT
2026-04-09T17:02:52+00:00|.|System Audio
2026-04-09T16:59:22+00:00|Class is technically...|System Audio
2026-04-09T16:53:20+00:00|I do for you. Run the credit check. Deal apartment. Okay.|System Audio
[rerun: b12]
Thinking
Thinking
Good data to work with. Here's what we have:
frames
+
ocr_text
: Screen captures with OCR text, app name, window name (1135 frames so far)
audio_transcriptions
: Voice/system audio transcripts
ui_events
: Mouse/keyboard events with app context
video_chunks
: Raw video files
Before I start building, a few quick questions:
Tech stack
— Python OK? (FastAPI for the web UI backend, Click for CLI commands, HTMX for the frontend to keep it simple)
AI summaries
— Do you have a Claude API key to use for generating the actual summaries? Or should I integrate with a local model / skip AI for now?
What summaries matter most?
Day recap (what apps/windows you used, key text seen)
App time breakdown (time per app)
Audio/conversation recap
Custom searchable timeline
Here's the architecture I'm thinking:
Copy code to clipboard
/volume1/screenpipe/app/
├── main.py # FastAPI web UI
├── cli.py # Click CLI: `python cli.py day-recap`
├── db.py # Read-only queries against db.sqlite
├── consumers/
│ ├── activity.py # App usage, time per window
│ ├── ocr.py # OCR text aggregation + search
│ ├── audio.py # Transcription queries
│ └── summary.py # AI summary builder
└── static/
└── index.html # Single-page UI
CLI commands would look like:
Copy code to clipboard
python cli.py day-recap # EOD summary
python cli.py activity --date today # App time breakdown
python cli.py search "docker" # Search OCR/audio text
python cli.py serve # Launch web UI
Does this direction work? Any preferences on the stack or which summaries to prioritize?
Message actions
seesm ok
Thinking
Thinking
Bash
Check Python and available packages
IN
python3 --version && pip3 list 2>/dev/null | grep -E "fastapi|uvicorn|click|anthropic|httpx|jinja"
Copy code to clipboard
OUT
Python 3.11.2
[rerun: b1]
Bash
Verify join works for today's data
IN
sqlite3 /volume1/screenpipe/db.sqlite "
SELECT f.timestamp, o.app_name, o.window_name, length(o.text) as txt_len
FROM frames f JOIN ocr_text o ON f.id = o.frame_id
WHERE DATE(f.timestamp) = '2026-04-11'
ORDER BY f.timestamp DESC LIMIT 3;
"
Copy code to clipboard
OUT
2026-04-11T12:54:42.597794+00:00|||2111
2026-04-11T12:54:41.915916+00:00|||2110
2026-04-11T12:54:39.912712+00:00|||2111
[rerun: b2]
Bash
Install required packages...
|
1573
|
|
1577
|
34
|
48
|
2026-04-11T17:41:04.686357+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929264686_m1.jpg...
|
Code
|
Build screenpipe data UI… — screenpipe [SSH: 100.7 Build screenpipe data UI… — screenpipe [SSH: 100.73.206.126]...
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
SCREENPIPE [SSH: [IP_ADDRESS]]
#recycle
app
consumers
__init__.py
activity.py
audio.py
elements.py
interactions.py
ocr.py
report.py
summary.py
static
.env
cli.py
db.py
docker-compose.yml
Dockerfile
main.py
requirements.txt
data
pipes
db.sqlite
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
pipe.md, Editor Group 1
#!/bin/bash • Untitled-1, Editor Group 1
report.py, preview, Editor Group 1
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
Build screenpipe data UI…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports
PORTS
remote SSH: [IP_ADDRESS]
SSH: [IP_ADDRESS]
No Problems
0
0
No Ports Forwarded
0
Update is ready, click to restart.
Update is ready, click to restart.
Notifications
Sign In
Sign In
Screen Reader Optimized
Diff editor
Command Succeeded
Build screenpipe data UI and summary app
Session history
New session
Message actions
lets build app around screenpipe data and db. THe idea is to have ui and data consumers. So I can run regular commands at the end ot the day (or on demand) and create soem summary.
Thinking
Thinking
Let me explore the screenpipe directory to understand what we're working with.
Bash
List screenpipe directory contents
IN
ls /volume1/screenpipe/
Copy code to clipboard
OUT
data
db.sqlite
pipes
#recycle
[rerun: b1]
Bash
List data and pipes directories
IN
ls /volume1/screenpipe/data/ | head -20 && ls /volume1/screenpipe/pipes/
Copy code to clipboard
OUT
2026-04-09
2026-04-11
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
[rerun: b2]
Bash
List tables in screenpipe SQLite database
IN
sqlite3 /volume1/screenpipe/db.sqlite ".tables"
Copy code to clipboard
OUT
_sqlx_migrations meetings
audio_chunks memories
audio_tags memories_fts
audio_transcriptions memories_fts_config
audio_transcriptions_fts memories_fts_data
audio_transcriptions_fts_config memories_fts_docsize
audio_transcriptions_fts_data memories_fts_idx
audio_transcriptions_fts_docsize ocr_text
audio_transcriptions_fts_idx pipe_executions
elements pipe_scheduler_state
elements_fts speaker_embeddings
elements_fts_config speakers
elements_fts_data tags
elements_fts_docsize ui_events
elements_fts_idx ui_events_fts
frames ui_events_fts_config
frames_fts ui_events_fts_data
frames_fts_config ui_events_fts_docsize
frames_fts_content ui_events_fts_idx
frames_fts_data video_chunks
frames_fts_docsize vision_tags
frames_fts_idx
[rerun: b3]
Bash
Get ocr_text table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
Copy code to clipboard
OUT
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
[rerun: b4]
Bash
Get audio_transcriptions table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(audio_transcriptions);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|audio_chunk_id|INTEGER|1||0
2|offset_index|INTEGER|1||0
3|timestamp|TIMESTAMP|1||0
4|transcription|TEXT|1||0
5|device|TEXT|1|''|0
6|is_input_device|BOOLEAN|1|TRUE|0
7|speaker_id|INTEGER|0||0
8|transcription_engine|TEXT|1|'Whisper'|0
9|start_time|REAL|0||0
10|end_time|REAL|0||0
11|text_length|INTEGER|0||0
12|sync_id|TEXT|0||0
13|synced_at|DATETIME|0||0
[rerun: b5]
Bash
Get frames, ui_events, video_chunks schemas
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(frames); PRAGMA table_info(ui_events); PRAGMA table_info(video_chunks);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|video_chunk_id|INTEGER|0|NULL|0
2|offset_index|INTEGER|1|0|0
3|timestamp|TIMESTAMP|1||0
4|name|TEXT|0||0
5|app_name|TEXT|0|NULL|0
6|window_name|TEXT|0|NULL|0
7|focused|BOOLEAN|0|NULL|0
8|browser_url|TEXT|0|NULL|0
9|device_name|TEXT|1|''|0
10|sync_id|TEXT|0||0
11|machine_id|TEXT|0||0
12|synced_at|DATETIME|0||0
13|snapshot_path|TEXT|0|NULL|0
14|accessibility_text|TEXT|0|NULL|0
15|accessibility_tree_json|TEXT|0|NULL|0
16|content_hash|INTEGER|0|NULL|0
17|simhash|INTEGER|0|NULL|0
18|capture_trigger|TEXT|0|NULL|0
19|text_source|TEXT|0|NULL|0
20|cloud_blob_id|TEXT|0|NULL|0
21|full_text|TEXT|0|NULL|0
22|elements_ref_frame_id|INTEGER|0|NULL|0
0|id|INTEGER|0||1
1|timestamp|DATETIME|1|CURRENT_TIMESTAMP|0
2|session_id|TEXT|0||0
3|relative_ms|INTEGER|1|0|0
4|event_type|TEXT|1||0
5|x|INTEGER|0||0
6|y|INTEGER|0||0
7|delta_x|INTEGER|0||0
8|delta_y|INTEGER|0||0
9|button|INTEGER|0||0
10|click_count|INTEGER|0||0
11|key_code|INTEGER|0||0
12|modifiers|INTEGER|0||0
13|text_content|TEXT|0||0
14|text_length|INTEGER|0||0
15|app_name|TEXT|0||0
16|app_pid|INTEGER|0||0
17|window_title|TEXT|0||0
18|browser_url|TEXT|0||0
19|element_role|TEXT|0||0
20|element_name|TEXT|0||0
21|element_value|TEXT|0||0
22|element_description|TEXT|0||0
23|element_automation_id|TEXT|0||0
24|element_bounds|TEXT|0||0
25|frame_id|INTEGER|0||0
26|sync_id|TEXT|0||0
27|machine_id|TEXT|0||0
28|synced_at|DATETIME|0||0
0|id|INTEGER|0||1
1|file_path|TEXT|1||0
2|device_name|TEXT|1|''|0
3|sync_id|TEXT|0||0
4|machine_id|TEXT|0||0
5|synced_at|DATETIME|0||0
6|fps|REAL|1|0.5|0
7|cloud_blob_id|TEXT|0|NULL|0
[rerun: b6]
Bash
Check data counts and date ranges
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM frames;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM audio_transcriptions;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*) FROM ocr_text;" 2>/dev/null
Copy code to clipboard
OUT
1135|2026-04-09T16:53:09.043761+00:00|2026-04-11T12:54:42.597794+00:00
3|2026-04-09T16:53:20+00:00|2026-04-09T17:02:52+00:00
666
[rerun: b7]
Bash
Explore existing pipes for patterns
IN
ls /volume1/screenpipe/pipes/day-recap/ 2>/dev/null && cat /volume1/screenpipe/pipes/day-recap/*.js 2>/dev/null | head -50
Copy code to clipboard
OUT
pipe.md
[rerun: b8]
Bash
Read day-recap pipe documentation
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
[rerun: b9]
Bash
Sample app names from frames
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT DISTINCT app_name FROM frames WHERE app_name != '' LIMIT 20;"
Copy code to clipboard
OUT
Safari
Activity Monitor
Dia
iTerm2
Control Centre
UserNotificationCenter
Finder
Claude
Slack
Firefox
Raycast
NetAuthAgent
QuickTime Player
[rerun: b10]
Bash
Sample joined frame+ocr data for today
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT f.timestamp, o.app_name, o.window_name, substr(o.text, 1, 100) as text FROM frames f JOIN ocr_text o ON f.id = o.frame_id WHERE DATE(f.timestamp) = '2026-04-11' LIMIT 5;"
Copy code to clipboard
OUT
2026-04-11T11:53:00.627698+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <47H5Sat 11 Apr 14:53:00-zshDOCKE
2026-04-11T11:53:02.005967+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <7H5Sat 11 Apr 14:53:01-zshDOCKER
2026-04-11T11:53:03.627468+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:03-zshDOCKERuse p
2026-04-11T11:53:05.528794+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:05-zshDOCKERuse p
2026-04-11T11:53:07.662098+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7Sat 11 Apr 14:53:07-zshDOCKERuse pi
[rerun: b11]
Bash
Sample recent audio transcriptions
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT timestamp, substr(transcription,1,100) as text, device FROM audio_transcriptions ORDER BY timestamp DESC LIMIT 5;"
Copy code to clipboard
OUT
2026-04-09T17:02:52+00:00|.|System Audio
2026-04-09T16:59:22+00:00|Class is technically...|System Audio
2026-04-09T16:53:20+00:00|I do for you. Run the credit check. Deal apartment. Okay.|System Audio
[rerun: b12]
Thinking
Thinking
Good data to work with. Here's what we have:
frames
+
ocr_text
: Screen captures with OCR text, app name, window name (1135 frames so far)
audio_transcriptions
: Voice/system audio transcripts
ui_events
: Mouse/keyboard events with app context
video_chunks
: Raw video files
Before I start building, a few quick questions:
Tech stack
— Python OK? (FastAPI for the web UI backend, Click for CLI commands, HTMX for the frontend to keep it simple)
AI summaries
— Do you have a Claude API key to use for generating the actual summaries? Or should I integrate with a local model / skip AI for now?
What summaries matter most?
Day recap (what apps/windows you used, key text seen)
App time breakdown (time per app)
Audio/conversation recap
Custom searchable timeline
Here's the architecture I'm thinking:
Copy code to clipboard
/volume1/screenpipe/app/
├── main.py # FastAPI web UI
├── cli.py # Click CLI: `python cli.py day-recap`
├── db.py # Read-only queries against db.sqlite
├── consumers/
│ ├── activity.py # App usage, time per window
│ ├── ocr.py # OCR text aggregation + search
│ ├── audio.py # Transcription queries
│ └── summary.py # AI summary builder
└── static/
└── index.html # Single-page UI
CLI commands would look like:
Copy code to clipboard
python cli.py day-recap # EOD summary
python cli.py activity --date today # App time breakdown
python cli.py search "docker" # Search OCR/audio text
python cli.py serve # Launch web UI
Does this direction work? Any preferences on the stack or which summaries to prioritize?
Message actions
seesm ok
Thinking
Thinking
Bash
Check Python and available packages
IN
python3 --version && pip3 list 2>/dev/null | grep -E "fastapi|uvicorn|click|anthropic|httpx|jinja"
Copy code to clipboard
OUT
Python 3.11.2
[rerun: b1]
Bash
Verify join works for today's data
IN
sqlite3 /volume1/screenpipe/db.sqlite "
SELECT f.timestamp, o.app_name, o.window_name, length(o.text) as txt_len
FROM frames f JOIN ocr_text o ON f.id = o.frame_id
WHERE DATE(f.timestamp) = '2026-04-11'
ORDER BY f.timestamp DESC LIMIT 3;
"
Copy code to clipboard
OUT
2026-04-11T12:54:42.597794+00:00|||2111
2026-04-11T12:54:41.915916+00:00|||2110
2026-04-11T12:54:39.912712+00:00|||2111
[rerun: b2]
Bash
Install required packages
IN
pip3 install fastapi uvicorn click anthropic python-dotenv 2>&1 | tail -5
Copy code to clipboard
OUT
/bin/bash: line 1: pip3: command not found
[rerun: b3]
Bash
Find pip
IN
which pip || which pip3 || python3 -m pip --version 2>/dev/null
Copy code to clipboard
OUT
Exit code 1
[rerun: b4]
Bash
Bootstrap pip then install packages
IN
python3 -m ensurepip --upgrade 2>&1 && python3 -m pip install fastapi uvicorn click anthropic python-dotenv 2>&1 | tail -10
Copy code to clipboard...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G)","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: 100.73.206.126]","depth":21,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: 100.73.206.126]","depth":22,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: 100.73.206.126]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"consumers","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"__init__.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"activity.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"audio.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"elements.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"interactions.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"ocr.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"report.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"summary.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"static","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":".env","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"cli.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"db.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"docker-compose.yml","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"Dockerfile","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"main.py","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"requirements.txt","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"role_description":"text"},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"#!/bin/bash • Untitled-1, Editor Group 1","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"report.py, preview, Editor Group 1","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"role_description":"text"},{"role":"AXStaticText","text":"","depth":29,"role_description":"text"},{"role":"AXTextArea","text":"\"\"\"Structured work report — no LLM needed.\"\"\"\nfrom datetime import date, datetime, timezone, timedelta\nfrom typing import Any\nfrom urllib.parse import urlparse\n\nfrom db import get_conn, date_range, today as _today\n\nBREAK_THRESHOLD_MIN = 10 # gap > 10 min = break\nWORK_APPS = {\n \"code\": {\"iTerm2\", \"Terminal\", \"Code\", \"Visual Studio Code\", \"PyCharm\", \"Xcode\", \"Cursor\"},\n \"browser\": {\"Firefox\", \"Safari\", \"Chrome\", \"Arc\", \"Dia\"},\n \"comms\": {\"Slack\", \"Teams\", \"Discord\", \"Zoom\", \"Telegram\", \"WhatsApp\"},\n \"docs\": {\"Word\", \"Pages\", \"Notion\", \"Obsidian\", \"Bear\", \"Typora\"},\n \"ai\": {\"Claude\", \"ChatGPT\"},\n \"design\": {\"Figma\", \"Sketch\", \"Photoshop\", \"Illustrator\"},\n \"media\": {\"QuickTime Player\", \"VLC\", \"Spotify\"},\n \"system\": {\"Finder\", \"Activity Monitor\", \"System Preferences\", \"System Settings\",\n \"Raycast\", \"Control Centre\", \"UserNotificationCenter\", \"NetAuthAgent\"},\n}\n\ndef _categorize(app_name: str) -> str:\n for cat, apps in WORK_APPS.items():\n if app_name in apps:\n return cat\n return \"other\"\n\ndef _extract_domain(url: str) -> str:\n try:\n h = urlparse(url).netloc\n return h.removeprefix(\"www.\") if h else url[:40]\n except Exception:\n return url[:40]\n\ndef _parse_ts(ts: str) -> datetime:\n ts = ts.replace(\"+00:00\", \"+00:00\") # already UTC\n try:\n return datetime.fromisoformat(ts)\n except ValueError:\n return datetime.fromisoformat(ts[:26] + \"+00:00\")\n\n\ndef session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:\n \"\"\"\n Detect work sessions and breaks from frame timestamps.\n Returns sessions, breaks, and totals.\n \"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp\",\n (start, end),\n ).fetchall()\n\n if not rows:\n return {\"sessions\": [], \"breaks\": [], \"total_active_min\": 0, \"total_break_min\": 0, \"date\": str(d)}\n\n timestamps = [_parse_ts(r[\"timestamp\"]) for r in rows]\n threshold = timedelta(minutes=break_min)\n\n sessions: list[dict] = []\n breaks: list[dict] = []\n sess_start = timestamps[0]\n prev = timestamps[0]\n\n for ts in timestamps[1:]:\n gap = ts - prev\n if gap > threshold:\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n breaks.append({\n \"start\": prev.isoformat(),\n \"end\": ts.isoformat(),\n \"duration_min\": round(gap.total_seconds() / 60, 1),\n })\n sess_start = ts\n prev = ts\n\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n\n total_active = sum(s[\"duration_min\"] for s in sessions)\n total_break = sum(b[\"duration_min\"] for b in breaks)\n total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60\n\n return {\n \"date\": str(d),\n \"day_start\": timestamps[0].isoformat(),\n \"day_end\": timestamps[-1].isoformat(),\n \"total_span_min\": round(total_span, 1),\n \"total_active_min\": round(total_active, 1),\n \"total_break_min\": round(total_break, 1),\n \"sessions\": sessions,\n \"breaks\": breaks,\n }\n\n\ndef domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:\n \"\"\"Browser time grouped by domain.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"\"\"\n SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ?\n AND browser_url IS NOT NULL AND browser_url != ''\n GROUP BY browser_url\n ORDER BY frames DESC\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Group by domain\n domains: dict[str, dict] = {}\n for r in rows:\n domain = _extract_domain(r[\"browser_url\"])\n if domain not in domains:\n domains[domain] = {\"domain\": domain, \"minutes\": 0, \"urls\": []}\n domains[domain][\"minutes\"] = round(domains[domain][\"minutes\"] + r[\"minutes\"], 1)\n domains[domain][\"urls\"].append({\"url\": r[\"browser_url\"], \"minutes\": r[\"minutes\"]})\n\n return sorted(domains.values(), key=lambda x: x[\"minutes\"], reverse=True)\n\n\ndef slack_activity(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Slack-specific: time, channels, message activity.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n # Time in Slack\n time_row = conn.execute(\n \"\"\"\n SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n # Channels from window names\n channels = conn.execute(\n \"\"\"\n SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n AND window_name IS NOT NULL AND window_name != ''\n GROUP BY window_name ORDER BY frames DESC LIMIT 20\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Keystrokes in Slack (proxy for messages sent)\n events = conn.execute(\n \"\"\"\n SELECT\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks\n FROM ui_events\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n return {\n \"minutes\": time_row[\"minutes\"] if time_row else 0,\n \"frames\": time_row[\"frames\"] if time_row else 0,\n \"keystrokes\": events[\"keystrokes\"] if events else 0,\n \"clicks\": events[\"clicks\"] if events else 0,\n \"channels\": [dict(r) for r in channels],\n }\n\n\ndef work_report(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Full structured work report — no AI needed.\"\"\"\n from consumers.activity import app_time, ui_event_summary\n\n d = for_date or _today()\n\n apps = app_time(d)\n # Annotate with category\n categorized: dict[str, list] = {}\n for a in apps:\n cat = _categorize(a[\"app_name\"])\n categorized.setdefault(cat, []).append(a)\n\n return {\n \"date\": str(d),\n \"sessions\": session_breakdown(d),\n \"apps_by_category\": categorized,\n \"domains\": domain_breakdown(d),\n \"slack\": slack_activity(d),\n \"ui_events\": ui_event_summary(d),\n }","depth":28,"value":"\"\"\"Structured work report — no LLM needed.\"\"\"\nfrom datetime import date, datetime, timezone, timedelta\nfrom typing import Any\nfrom urllib.parse import urlparse\n\nfrom db import get_conn, date_range, today as _today\n\nBREAK_THRESHOLD_MIN = 10 # gap > 10 min = break\nWORK_APPS = {\n \"code\": {\"iTerm2\", \"Terminal\", \"Code\", \"Visual Studio Code\", \"PyCharm\", \"Xcode\", \"Cursor\"},\n \"browser\": {\"Firefox\", \"Safari\", \"Chrome\", \"Arc\", \"Dia\"},\n \"comms\": {\"Slack\", \"Teams\", \"Discord\", \"Zoom\", \"Telegram\", \"WhatsApp\"},\n \"docs\": {\"Word\", \"Pages\", \"Notion\", \"Obsidian\", \"Bear\", \"Typora\"},\n \"ai\": {\"Claude\", \"ChatGPT\"},\n \"design\": {\"Figma\", \"Sketch\", \"Photoshop\", \"Illustrator\"},\n \"media\": {\"QuickTime Player\", \"VLC\", \"Spotify\"},\n \"system\": {\"Finder\", \"Activity Monitor\", \"System Preferences\", \"System Settings\",\n \"Raycast\", \"Control Centre\", \"UserNotificationCenter\", \"NetAuthAgent\"},\n}\n\ndef _categorize(app_name: str) -> str:\n for cat, apps in WORK_APPS.items():\n if app_name in apps:\n return cat\n return \"other\"\n\ndef _extract_domain(url: str) -> str:\n try:\n h = urlparse(url).netloc\n return h.removeprefix(\"www.\") if h else url[:40]\n except Exception:\n return url[:40]\n\ndef _parse_ts(ts: str) -> datetime:\n ts = ts.replace(\"+00:00\", \"+00:00\") # already UTC\n try:\n return datetime.fromisoformat(ts)\n except ValueError:\n return datetime.fromisoformat(ts[:26] + \"+00:00\")\n\n\ndef session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:\n \"\"\"\n Detect work sessions and breaks from frame timestamps.\n Returns sessions, breaks, and totals.\n \"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp\",\n (start, end),\n ).fetchall()\n\n if not rows:\n return {\"sessions\": [], \"breaks\": [], \"total_active_min\": 0, \"total_break_min\": 0, \"date\": str(d)}\n\n timestamps = [_parse_ts(r[\"timestamp\"]) for r in rows]\n threshold = timedelta(minutes=break_min)\n\n sessions: list[dict] = []\n breaks: list[dict] = []\n sess_start = timestamps[0]\n prev = timestamps[0]\n\n for ts in timestamps[1:]:\n gap = ts - prev\n if gap > threshold:\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n breaks.append({\n \"start\": prev.isoformat(),\n \"end\": ts.isoformat(),\n \"duration_min\": round(gap.total_seconds() / 60, 1),\n })\n sess_start = ts\n prev = ts\n\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n\n total_active = sum(s[\"duration_min\"] for s in sessions)\n total_break = sum(b[\"duration_min\"] for b in breaks)\n total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60\n\n return {\n \"date\": str(d),\n \"day_start\": timestamps[0].isoformat(),\n \"day_end\": timestamps[-1].isoformat(),\n \"total_span_min\": round(total_span, 1),\n \"total_active_min\": round(total_active, 1),\n \"total_break_min\": round(total_break, 1),\n \"sessions\": sessions,\n \"breaks\": breaks,\n }\n\n\ndef domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:\n \"\"\"Browser time grouped by domain.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"\"\"\n SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ?\n AND browser_url IS NOT NULL AND browser_url != ''\n GROUP BY browser_url\n ORDER BY frames DESC\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Group by domain\n domains: dict[str, dict] = {}\n for r in rows:\n domain = _extract_domain(r[\"browser_url\"])\n if domain not in domains:\n domains[domain] = {\"domain\": domain, \"minutes\": 0, \"urls\": []}\n domains[domain][\"minutes\"] = round(domains[domain][\"minutes\"] + r[\"minutes\"], 1)\n domains[domain][\"urls\"].append({\"url\": r[\"browser_url\"], \"minutes\": r[\"minutes\"]})\n\n return sorted(domains.values(), key=lambda x: x[\"minutes\"], reverse=True)\n\n\ndef slack_activity(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Slack-specific: time, channels, message activity.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n # Time in Slack\n time_row = conn.execute(\n \"\"\"\n SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n # Channels from window names\n channels = conn.execute(\n \"\"\"\n SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n AND window_name IS NOT NULL AND window_name != ''\n GROUP BY window_name ORDER BY frames DESC LIMIT 20\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Keystrokes in Slack (proxy for messages sent)\n events = conn.execute(\n \"\"\"\n SELECT\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks\n FROM ui_events\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n return {\n \"minutes\": time_row[\"minutes\"] if time_row else 0,\n \"frames\": time_row[\"frames\"] if time_row else 0,\n \"keystrokes\": events[\"keystrokes\"] if events else 0,\n \"clicks\": events[\"clicks\"] if events else 0,\n \"channels\": [dict(r) for r in channels],\n }\n\n\ndef work_report(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Full structured work report — no AI needed.\"\"\"\n from consumers.activity import app_time, ui_event_summary\n\n d = for_date or _today()\n\n apps = app_time(d)\n # Annotate with category\n categorized: dict[str, list] = {}\n for a in apps:\n cat = _categorize(a[\"app_name\"])\n categorized.setdefault(cat, []).append(a)\n\n return {\n \"date\": str(d),\n \"sessions\": session_breakdown(d),\n \"apps_by_category\": categorized,\n \"domains\": domain_breakdown(d),\n \"slack\": slack_activity(d),\n \"ui_events\": ui_event_summary(d),\n }","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"\"\"\"Structured work report — no LLM needed.\"\"\"\nfrom datetime import date, datetime, timezone, timedelta\nfrom typing import Any\nfrom urllib.parse import urlparse\n\nfrom db import get_conn, date_range, today as _today\n\nBREAK_THRESHOLD_MIN = 10 # gap > 10 min = break\nWORK_APPS = {\n \"code\": {\"iTerm2\", \"Terminal\", \"Code\", \"Visual Studio Code\", \"PyCharm\", \"Xcode\", \"Cursor\"},\n \"browser\": {\"Firefox\", \"Safari\", \"Chrome\", \"Arc\", \"Dia\"},\n \"comms\": {\"Slack\", \"Teams\", \"Discord\", \"Zoom\", \"Telegram\", \"WhatsApp\"},\n \"docs\": {\"Word\", \"Pages\", \"Notion\", \"Obsidian\", \"Bear\", \"Typora\"},\n \"ai\": {\"Claude\", \"ChatGPT\"},\n \"design\": {\"Figma\", \"Sketch\", \"Photoshop\", \"Illustrator\"},\n \"media\": {\"QuickTime Player\", \"VLC\", \"Spotify\"},\n \"system\": {\"Finder\", \"Activity Monitor\", \"System Preferences\", \"System Settings\",\n \"Raycast\", \"Control Centre\", \"UserNotificationCenter\", \"NetAuthAgent\"},\n}\n\ndef _categorize(app_name: str) -> str:\n for cat, apps in WORK_APPS.items():\n if app_name in apps:\n return cat\n return \"other\"\n\ndef _extract_domain(url: str) -> str:\n try:\n h = urlparse(url).netloc\n return h.removeprefix(\"www.\") if h else url[:40]\n except Exception:\n return url[:40]\n\ndef _parse_ts(ts: str) -> datetime:\n ts = ts.replace(\"+00:00\", \"+00:00\") # already UTC\n try:\n return datetime.fromisoformat(ts)\n except ValueError:\n return datetime.fromisoformat(ts[:26] + \"+00:00\")\n\n\ndef session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:\n \"\"\"\n Detect work sessions and breaks from frame timestamps.\n Returns sessions, breaks, and totals.\n \"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp\",\n (start, end),\n ).fetchall()\n\n if not rows:\n return {\"sessions\": [], \"breaks\": [], \"total_active_min\": 0, \"total_break_min\": 0, \"date\": str(d)}\n\n timestamps = [_parse_ts(r[\"timestamp\"]) for r in rows]\n threshold = timedelta(minutes=break_min)\n\n sessions: list[dict] = []\n breaks: list[dict] = []\n sess_start = timestamps[0]\n prev = timestamps[0]\n\n for ts in timestamps[1:]:\n gap = ts - prev\n if gap > threshold:\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n breaks.append({\n \"start\": prev.isoformat(),\n \"end\": ts.isoformat(),\n \"duration_min\": round(gap.total_seconds() / 60, 1),\n })\n sess_start = ts\n prev = ts\n\n dur = (prev - sess_start).total_seconds() / 60\n sessions.append({\n \"start\": sess_start.isoformat(),\n \"end\": prev.isoformat(),\n \"duration_min\": round(dur, 1),\n })\n\n total_active = sum(s[\"duration_min\"] for s in sessions)\n total_break = sum(b[\"duration_min\"] for b in breaks)\n total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60\n\n return {\n \"date\": str(d),\n \"day_start\": timestamps[0].isoformat(),\n \"day_end\": timestamps[-1].isoformat(),\n \"total_span_min\": round(total_span, 1),\n \"total_active_min\": round(total_active, 1),\n \"total_break_min\": round(total_break, 1),\n \"sessions\": sessions,\n \"breaks\": breaks,\n }\n\n\ndef domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:\n \"\"\"Browser time grouped by domain.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n rows = conn.execute(\n \"\"\"\n SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ?\n AND browser_url IS NOT NULL AND browser_url != ''\n GROUP BY browser_url\n ORDER BY frames DESC\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Group by domain\n domains: dict[str, dict] = {}\n for r in rows:\n domain = _extract_domain(r[\"browser_url\"])\n if domain not in domains:\n domains[domain] = {\"domain\": domain, \"minutes\": 0, \"urls\": []}\n domains[domain][\"minutes\"] = round(domains[domain][\"minutes\"] + r[\"minutes\"], 1)\n domains[domain][\"urls\"].append({\"url\": r[\"browser_url\"], \"minutes\": r[\"minutes\"]})\n\n return sorted(domains.values(), key=lambda x: x[\"minutes\"], reverse=True)\n\n\ndef slack_activity(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Slack-specific: time, channels, message activity.\"\"\"\n d = for_date or _today()\n start, end = date_range(d)\n\n with get_conn() as conn:\n # Time in Slack\n time_row = conn.execute(\n \"\"\"\n SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n # Channels from window names\n channels = conn.execute(\n \"\"\"\n SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes\n FROM frames\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n AND window_name IS NOT NULL AND window_name != ''\n GROUP BY window_name ORDER BY frames DESC LIMIT 20\n \"\"\",\n (start, end),\n ).fetchall()\n\n # Keystrokes in Slack (proxy for messages sent)\n events = conn.execute(\n \"\"\"\n SELECT\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks\n FROM ui_events\n WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'\n \"\"\",\n (start, end),\n ).fetchone()\n\n return {\n \"minutes\": time_row[\"minutes\"] if time_row else 0,\n \"frames\": time_row[\"frames\"] if time_row else 0,\n \"keystrokes\": events[\"keystrokes\"] if events else 0,\n \"clicks\": events[\"clicks\"] if events else 0,\n \"channels\": [dict(r) for r in channels],\n }\n\n\ndef work_report(for_date: date | None = None) -> dict[str, Any]:\n \"\"\"Full structured work report — no AI needed.\"\"\"\n from consumers.activity import app_time, ui_event_summary\n\n d = for_date or _today()\n\n apps = app_time(d)\n # Annotate with category\n categorized: dict[str, list] = {}\n for a in apps:\n cat = _categorize(a[\"app_name\"])\n categorized.setdefault(cat, []).append(a)\n\n return {\n \"date\": str(d),\n \"sessions\": session_breakdown(d),\n \"apps_by_category\": categorized,\n \"domains\": domain_breakdown(d),\n \"slack\": slack_activity(d),\n \"ui_events\": ui_event_summary(d),\n }","depth":29,"role_description":"text"},{"role":"AXRadioButton","text":"Build screenpipe data UI…, Editor Group 2","depth":28,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUTPUT","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"TERMINAL","depth":24,"role_description":"text"},{"role":"AXRadioButton","text":"Ports","depth":22,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"role_description":"text"},{"role":"AXButton","text":"remote SSH: 100.73.206.126","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"SSH: 100.73.206.126","depth":17,"role_description":"text"},{"role":"AXButton","text":"No Problems","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"role_description":"text"},{"role":"AXButton","text":"No Ports Forwarded","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"role_description":"text"},{"role":"AXButton","text":"Update is ready, click to restart.","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Update is ready, click to restart.","depth":17,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"role_description":"text"},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Diff editor","depth":12,"role_description":"text"},{"role":"AXStaticText","text":"Command Succeeded","depth":12,"role_description":"text"},{"role":"AXButton","text":"Build screenpipe data UI and summary app","depth":18,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":18,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":18,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lets build app around screenpipe data and db. THe idea is to have ui and data consumers. So I can run regular commands at the end ot the day (or on demand) and create soem summary.","depth":24,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":22,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Let me explore the screenpipe directory to understand what we're working with.","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List screenpipe directory contents","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"data\ndb.sqlite\npipes\n#recycle\n[rerun: b1]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List data and pipes directories","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/data/ | head -20 && ls /volume1/screenpipe/pipes/","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-09\n2026-04-11\nai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n[rerun: b2]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"List tables in screenpipe SQLite database","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \".tables\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"_sqlx_migrations meetings \naudio_chunks memories \naudio_tags memories_fts \naudio_transcriptions memories_fts_config \naudio_transcriptions_fts memories_fts_data \naudio_transcriptions_fts_config memories_fts_docsize \naudio_transcriptions_fts_data memories_fts_idx \naudio_transcriptions_fts_docsize ocr_text \naudio_transcriptions_fts_idx pipe_executions \nelements pipe_scheduler_state \nelements_fts speaker_embeddings \nelements_fts_config speakers \nelements_fts_data tags \nelements_fts_docsize ui_events \nelements_fts_idx ui_events_fts \nframes ui_events_fts_config \nframes_fts ui_events_fts_data \nframes_fts_config ui_events_fts_docsize \nframes_fts_content ui_events_fts_idx \nframes_fts_data video_chunks \nframes_fts_docsize vision_tags \nframes_fts_idx\n[rerun: b3]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Get ocr_text table schema","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"PRAGMA table_info(ocr_text);\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"0|frame_id|INTEGER|1||0\n1|text|TEXT|1||0\n2|text_json|TEXT|0||0\n3|app_name|TEXT|1|''|0\n4|ocr_engine|TEXT|1|'unknown'|0\n5|window_name|TEXT|0||0\n6|focused|BOOLEAN|0|FALSE|0\n7|text_length|INTEGER|0||0\n8|sync_id|TEXT|0||0\n9|synced_at|DATETIME|0||0\n[rerun: b4]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Get audio_transcriptions table schema","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"PRAGMA table_info(audio_transcriptions);\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"0|id|INTEGER|0||1\n1|audio_chunk_id|INTEGER|1||0\n2|offset_index|INTEGER|1||0\n3|timestamp|TIMESTAMP|1||0\n4|transcription|TEXT|1||0\n5|device|TEXT|1|''|0\n6|is_input_device|BOOLEAN|1|TRUE|0\n7|speaker_id|INTEGER|0||0\n8|transcription_engine|TEXT|1|'Whisper'|0\n9|start_time|REAL|0||0\n10|end_time|REAL|0||0\n11|text_length|INTEGER|0||0\n12|sync_id|TEXT|0||0\n13|synced_at|DATETIME|0||0\n[rerun: b5]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Get frames, ui_events, video_chunks schemas","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"PRAGMA table_info(frames); PRAGMA table_info(ui_events); PRAGMA table_info(video_chunks);\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"0|id|INTEGER|0||1\n1|video_chunk_id|INTEGER|0|NULL|0\n2|offset_index|INTEGER|1|0|0\n3|timestamp|TIMESTAMP|1||0\n4|name|TEXT|0||0\n5|app_name|TEXT|0|NULL|0\n6|window_name|TEXT|0|NULL|0\n7|focused|BOOLEAN|0|NULL|0\n8|browser_url|TEXT|0|NULL|0\n9|device_name|TEXT|1|''|0\n10|sync_id|TEXT|0||0\n11|machine_id|TEXT|0||0\n12|synced_at|DATETIME|0||0\n13|snapshot_path|TEXT|0|NULL|0\n14|accessibility_text|TEXT|0|NULL|0\n15|accessibility_tree_json|TEXT|0|NULL|0\n16|content_hash|INTEGER|0|NULL|0\n17|simhash|INTEGER|0|NULL|0\n18|capture_trigger|TEXT|0|NULL|0\n19|text_source|TEXT|0|NULL|0\n20|cloud_blob_id|TEXT|0|NULL|0\n21|full_text|TEXT|0|NULL|0\n22|elements_ref_frame_id|INTEGER|0|NULL|0\n0|id|INTEGER|0||1\n1|timestamp|DATETIME|1|CURRENT_TIMESTAMP|0\n2|session_id|TEXT|0||0\n3|relative_ms|INTEGER|1|0|0\n4|event_type|TEXT|1||0\n5|x|INTEGER|0||0\n6|y|INTEGER|0||0\n7|delta_x|INTEGER|0||0\n8|delta_y|INTEGER|0||0\n9|button|INTEGER|0||0\n10|click_count|INTEGER|0||0\n11|key_code|INTEGER|0||0\n12|modifiers|INTEGER|0||0\n13|text_content|TEXT|0||0\n14|text_length|INTEGER|0||0\n15|app_name|TEXT|0||0\n16|app_pid|INTEGER|0||0\n17|window_title|TEXT|0||0\n18|browser_url|TEXT|0||0\n19|element_role|TEXT|0||0\n20|element_name|TEXT|0||0\n21|element_value|TEXT|0||0\n22|element_description|TEXT|0||0\n23|element_automation_id|TEXT|0||0\n24|element_bounds|TEXT|0||0\n25|frame_id|INTEGER|0||0\n26|sync_id|TEXT|0||0\n27|machine_id|TEXT|0||0\n28|synced_at|DATETIME|0||0\n0|id|INTEGER|0||1\n1|file_path|TEXT|1||0\n2|device_name|TEXT|1|''|0\n3|sync_id|TEXT|0||0\n4|machine_id|TEXT|0||0\n5|synced_at|DATETIME|0||0\n6|fps|REAL|1|0.5|0\n7|cloud_blob_id|TEXT|0|NULL|0\n[rerun: b6]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Check data counts and date ranges","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM frames;\" 2>/dev/null\nsqlite3 /volume1/screenpipe/db.sqlite \"SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM audio_transcriptions;\" 2>/dev/null\nsqlite3 /volume1/screenpipe/db.sqlite \"SELECT COUNT(*) FROM ocr_text;\" 2>/dev/null","depth":25,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"1135|2026-04-09T16:53:09.043761+00:00|2026-04-11T12:54:42.597794+00:00\n3|2026-04-09T16:53:20+00:00|2026-04-09T17:02:52+00:00\n666\n[rerun: b7]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Explore existing pipes for patterns","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ 2>/dev/null && cat /volume1/screenpipe/pipes/day-recap/*.js 2>/dev/null | head -50","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\n[rerun: b8]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Read day-recap pipe documentation","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\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[rerun: b9]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Sample app names from frames","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT DISTINCT app_name FROM frames WHERE app_name != '' LIMIT 20;\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Safari\nActivity Monitor\nDia\niTerm2\nControl Centre\nUserNotificationCenter\nFinder\nClaude\nSlack\nFirefox\nRaycast\nNetAuthAgent\nQuickTime Player\n[rerun: b10]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Sample joined frame+ocr data for today","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT f.timestamp, o.app_name, o.window_name, substr(o.text, 1, 100) as text FROM frames f JOIN ocr_text o ON f.id = o.frame_id WHERE DATE(f.timestamp) = '2026-04-11' LIMIT 5;\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T11:53:00.627698+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <47H5Sat 11 Apr 14:53:00-zshDOCKE\n2026-04-11T11:53:02.005967+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <7H5Sat 11 Apr 14:53:01-zshDOCKER\n2026-04-11T11:53:03.627468+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:03-zshDOCKERuse p\n2026-04-11T11:53:05.528794+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:05-zshDOCKERuse p\n2026-04-11T11:53:07.662098+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7Sat 11 Apr 14:53:07-zshDOCKERuse pi\n[rerun: b11]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Sample recent audio transcriptions","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"SELECT timestamp, substr(transcription,1,100) as text, device FROM audio_transcriptions ORDER BY timestamp DESC LIMIT 5;\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-09T17:02:52+00:00|.|System Audio\n2026-04-09T16:59:22+00:00|Class is technically...|System Audio\n2026-04-09T16:53:20+00:00|I do for you. Run the credit check. Deal apartment. Okay.|System Audio\n[rerun: b12]","depth":24,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":22,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Good data to work with. Here's what we have:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"frames","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ocr_text","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Screen captures with OCR text, app name, window name (1135 frames so far)","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"audio_transcriptions","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Voice/system audio transcripts","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ui_events","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Mouse/keyboard events with app context","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"video_chunks","depth":24,"role_description":"text"},{"role":"AXStaticText","text":": Raw video files","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Before I start building, a few quick questions:","depth":22,"role_description":"text"},{"role":"AXStaticText","text":"Tech stack","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"— Python OK? (FastAPI for the web UI backend, Click for CLI commands, HTMX for the frontend to keep it simple)","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"AI summaries","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"— Do you have a Claude API key to use for generating the actual summaries? Or should I integrate with a local model / skip AI for now?","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"What summaries matter most?","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Day recap (what apps/windows you used, key text seen)","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"App time breakdown (time per app)","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Audio/conversation recap","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Custom searchable timeline","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Here's the architecture I'm thinking:","depth":22,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":22,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"/volume1/screenpipe/app/\n├── main.py # FastAPI web UI\n├── cli.py # Click CLI: `python cli.py day-recap`\n├── db.py # Read-only queries against db.sqlite\n├── consumers/\n│ ├── activity.py # App usage, time per window\n│ ├── ocr.py # OCR text aggregation + search\n│ ├── audio.py # Transcription queries\n│ └── summary.py # AI summary builder\n└── static/\n └── index.html # Single-page UI","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"CLI commands would look like:","depth":22,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":22,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"python cli.py day-recap # EOD summary\npython cli.py activity --date today # App time breakdown\npython cli.py search \"docker\" # Search OCR/audio text\npython cli.py serve # Launch web UI","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Does this direction work? Any preferences on the stack or which summaries to prioritize?","depth":22,"role_description":"text"},{"role":"AXButton","text":"Message actions","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"seesm ok","depth":24,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":22,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Check Python and available packages","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"python3 --version && pip3 list 2>/dev/null | grep -E \"fastapi|uvicorn|click|anthropic|httpx|jinja\"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Python 3.11.2\n[rerun: b1]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Verify join works for today's data","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"sqlite3 /volume1/screenpipe/db.sqlite \"\nSELECT f.timestamp, o.app_name, o.window_name, length(o.text) as txt_len\nFROM frames f JOIN ocr_text o ON f.id = o.frame_id\nWHERE DATE(f.timestamp) = '2026-04-11'\nORDER BY f.timestamp DESC LIMIT 3;\n\"","depth":25,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"2026-04-11T12:54:42.597794+00:00|||2111\n2026-04-11T12:54:41.915916+00:00|||2110\n2026-04-11T12:54:39.912712+00:00|||2111\n[rerun: b2]","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Install required packages","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"pip3 install fastapi uvicorn click anthropic python-dotenv 2>&1 | tail -5","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"/bin/bash: line 1: pip3: command not found\n[rerun: b3]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Find pip","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"which pip || which pip3 || python3 -m pip --version 2>/dev/null","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Exit code 1\n[rerun: b4]","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Bootstrap pip then install packages","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"python3 -m ensurepip --upgrade 2>&1 && python3 -m pip install fastapi uvicorn click anthropic python-dotenv 2>&1 | tail -10","depth":24,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":23,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-662634412454582797
|
-8717864774268745706
|
visual_change
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G)
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
Explorer Section: screenpipe [SSH: [IP_ADDRESS]]
SCREENPIPE [SSH: [IP_ADDRESS]]
#recycle
app
consumers
__init__.py
activity.py
audio.py
elements.py
interactions.py
ocr.py
report.py
summary.py
static
.env
cli.py
db.py
docker-compose.yml
Dockerfile
main.py
requirements.txt
data
pipes
db.sqlite
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
pipe.md, Editor Group 1
#!/bin/bash • Untitled-1, Editor Group 1
report.py, preview, Editor Group 1
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
"""Structured work report — no LLM needed."""
from datetime import date, datetime, timezone, timedelta
from typing import Any
from urllib.parse import urlparse
from db import get_conn, date_range, today as _today
BREAK_THRESHOLD_MIN = 10 # gap > 10 min = break
WORK_APPS = {
"code": {"iTerm2", "Terminal", "Code", "Visual Studio Code", "PyCharm", "Xcode", "Cursor"},
"browser": {"Firefox", "Safari", "Chrome", "Arc", "Dia"},
"comms": {"Slack", "Teams", "Discord", "Zoom", "Telegram", "WhatsApp"},
"docs": {"Word", "Pages", "Notion", "Obsidian", "Bear", "Typora"},
"ai": {"Claude", "ChatGPT"},
"design": {"Figma", "Sketch", "Photoshop", "Illustrator"},
"media": {"QuickTime Player", "VLC", "Spotify"},
"system": {"Finder", "Activity Monitor", "System Preferences", "System Settings",
"Raycast", "Control Centre", "UserNotificationCenter", "NetAuthAgent"},
}
def _categorize(app_name: str) -> str:
for cat, apps in WORK_APPS.items():
if app_name in apps:
return cat
return "other"
def _extract_domain(url: str) -> str:
try:
h = urlparse(url).netloc
return h.removeprefix("www.") if h else url[:40]
except Exception:
return url[:40]
def _parse_ts(ts: str) -> datetime:
ts = ts.replace("+00:00", "+00:00") # already UTC
try:
return datetime.fromisoformat(ts)
except ValueError:
return datetime.fromisoformat(ts[:26] + "+00:00")
def session_breakdown(for_date: date | None = None, break_min: int = BREAK_THRESHOLD_MIN) -> dict[str, Any]:
"""
Detect work sessions and breaks from frame timestamps.
Returns sessions, breaks, and totals.
"""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"SELECT timestamp FROM frames WHERE timestamp >= ? AND timestamp < ? ORDER BY timestamp",
(start, end),
).fetchall()
if not rows:
return {"sessions": [], "breaks": [], "total_active_min": 0, "total_break_min": 0, "date": str(d)}
timestamps = [_parse_ts(r["timestamp"]) for r in rows]
threshold = timedelta(minutes=break_min)
sessions: list[dict] = []
breaks: list[dict] = []
sess_start = timestamps[0]
prev = timestamps[0]
for ts in timestamps[1:]:
gap = ts - prev
if gap > threshold:
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
breaks.append({
"start": prev.isoformat(),
"end": ts.isoformat(),
"duration_min": round(gap.total_seconds() / 60, 1),
})
sess_start = ts
prev = ts
dur = (prev - sess_start).total_seconds() / 60
sessions.append({
"start": sess_start.isoformat(),
"end": prev.isoformat(),
"duration_min": round(dur, 1),
})
total_active = sum(s["duration_min"] for s in sessions)
total_break = sum(b["duration_min"] for b in breaks)
total_span = (timestamps[-1] - timestamps[0]).total_seconds() / 60
return {
"date": str(d),
"day_start": timestamps[0].isoformat(),
"day_end": timestamps[-1].isoformat(),
"total_span_min": round(total_span, 1),
"total_active_min": round(total_active, 1),
"total_break_min": round(total_break, 1),
"sessions": sessions,
"breaks": breaks,
}
def domain_breakdown(for_date: date | None = None) -> list[dict[str, Any]]:
"""Browser time grouped by domain."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
rows = conn.execute(
"""
SELECT browser_url, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ?
AND browser_url IS NOT NULL AND browser_url != ''
GROUP BY browser_url
ORDER BY frames DESC
""",
(start, end),
).fetchall()
# Group by domain
domains: dict[str, dict] = {}
for r in rows:
domain = _extract_domain(r["browser_url"])
if domain not in domains:
domains[domain] = {"domain": domain, "minutes": 0, "urls": []}
domains[domain]["minutes"] = round(domains[domain]["minutes"] + r["minutes"], 1)
domains[domain]["urls"].append({"url": r["browser_url"], "minutes": r["minutes"]})
return sorted(domains.values(), key=lambda x: x["minutes"], reverse=True)
def slack_activity(for_date: date | None = None) -> dict[str, Any]:
"""Slack-specific: time, channels, message activity."""
d = for_date or _today()
start, end = date_range(d)
with get_conn() as conn:
# Time in Slack
time_row = conn.execute(
"""
SELECT COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
# Channels from window names
channels = conn.execute(
"""
SELECT window_name, COUNT(*) as frames, ROUND(COUNT(*)*2.0/60,1) as minutes
FROM frames
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
AND window_name IS NOT NULL AND window_name != ''
GROUP BY window_name ORDER BY frames DESC LIMIT 20
""",
(start, end),
).fetchall()
# Keystrokes in Slack (proxy for messages sent)
events = conn.execute(
"""
SELECT
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END) as keystrokes,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END) as clicks
FROM ui_events
WHERE timestamp >= ? AND timestamp < ? AND app_name = 'Slack'
""",
(start, end),
).fetchone()
return {
"minutes": time_row["minutes"] if time_row else 0,
"frames": time_row["frames"] if time_row else 0,
"keystrokes": events["keystrokes"] if events else 0,
"clicks": events["clicks"] if events else 0,
"channels": [dict(r) for r in channels],
}
def work_report(for_date: date | None = None) -> dict[str, Any]:
"""Full structured work report — no AI needed."""
from consumers.activity import app_time, ui_event_summary
d = for_date or _today()
apps = app_time(d)
# Annotate with category
categorized: dict[str, list] = {}
for a in apps:
cat = _categorize(a["app_name"])
categorized.setdefault(cat, []).append(a)
return {
"date": str(d),
"sessions": session_breakdown(d),
"apps_by_category": categorized,
"domains": domain_breakdown(d),
"slack": slack_activity(d),
"ui_events": ui_event_summary(d),
}
Build screenpipe data UI…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports
PORTS
remote SSH: [IP_ADDRESS]
SSH: [IP_ADDRESS]
No Problems
0
0
No Ports Forwarded
0
Update is ready, click to restart.
Update is ready, click to restart.
Notifications
Sign In
Sign In
Screen Reader Optimized
Diff editor
Command Succeeded
Build screenpipe data UI and summary app
Session history
New session
Message actions
lets build app around screenpipe data and db. THe idea is to have ui and data consumers. So I can run regular commands at the end ot the day (or on demand) and create soem summary.
Thinking
Thinking
Let me explore the screenpipe directory to understand what we're working with.
Bash
List screenpipe directory contents
IN
ls /volume1/screenpipe/
Copy code to clipboard
OUT
data
db.sqlite
pipes
#recycle
[rerun: b1]
Bash
List data and pipes directories
IN
ls /volume1/screenpipe/data/ | head -20 && ls /volume1/screenpipe/pipes/
Copy code to clipboard
OUT
2026-04-09
2026-04-11
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
[rerun: b2]
Bash
List tables in screenpipe SQLite database
IN
sqlite3 /volume1/screenpipe/db.sqlite ".tables"
Copy code to clipboard
OUT
_sqlx_migrations meetings
audio_chunks memories
audio_tags memories_fts
audio_transcriptions memories_fts_config
audio_transcriptions_fts memories_fts_data
audio_transcriptions_fts_config memories_fts_docsize
audio_transcriptions_fts_data memories_fts_idx
audio_transcriptions_fts_docsize ocr_text
audio_transcriptions_fts_idx pipe_executions
elements pipe_scheduler_state
elements_fts speaker_embeddings
elements_fts_config speakers
elements_fts_data tags
elements_fts_docsize ui_events
elements_fts_idx ui_events_fts
frames ui_events_fts_config
frames_fts ui_events_fts_data
frames_fts_config ui_events_fts_docsize
frames_fts_content ui_events_fts_idx
frames_fts_data video_chunks
frames_fts_docsize vision_tags
frames_fts_idx
[rerun: b3]
Bash
Get ocr_text table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
Copy code to clipboard
OUT
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
[rerun: b4]
Bash
Get audio_transcriptions table schema
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(audio_transcriptions);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|audio_chunk_id|INTEGER|1||0
2|offset_index|INTEGER|1||0
3|timestamp|TIMESTAMP|1||0
4|transcription|TEXT|1||0
5|device|TEXT|1|''|0
6|is_input_device|BOOLEAN|1|TRUE|0
7|speaker_id|INTEGER|0||0
8|transcription_engine|TEXT|1|'Whisper'|0
9|start_time|REAL|0||0
10|end_time|REAL|0||0
11|text_length|INTEGER|0||0
12|sync_id|TEXT|0||0
13|synced_at|DATETIME|0||0
[rerun: b5]
Bash
Get frames, ui_events, video_chunks schemas
IN
sqlite3 /volume1/screenpipe/db.sqlite "PRAGMA table_info(frames); PRAGMA table_info(ui_events); PRAGMA table_info(video_chunks);"
Copy code to clipboard
OUT
0|id|INTEGER|0||1
1|video_chunk_id|INTEGER|0|NULL|0
2|offset_index|INTEGER|1|0|0
3|timestamp|TIMESTAMP|1||0
4|name|TEXT|0||0
5|app_name|TEXT|0|NULL|0
6|window_name|TEXT|0|NULL|0
7|focused|BOOLEAN|0|NULL|0
8|browser_url|TEXT|0|NULL|0
9|device_name|TEXT|1|''|0
10|sync_id|TEXT|0||0
11|machine_id|TEXT|0||0
12|synced_at|DATETIME|0||0
13|snapshot_path|TEXT|0|NULL|0
14|accessibility_text|TEXT|0|NULL|0
15|accessibility_tree_json|TEXT|0|NULL|0
16|content_hash|INTEGER|0|NULL|0
17|simhash|INTEGER|0|NULL|0
18|capture_trigger|TEXT|0|NULL|0
19|text_source|TEXT|0|NULL|0
20|cloud_blob_id|TEXT|0|NULL|0
21|full_text|TEXT|0|NULL|0
22|elements_ref_frame_id|INTEGER|0|NULL|0
0|id|INTEGER|0||1
1|timestamp|DATETIME|1|CURRENT_TIMESTAMP|0
2|session_id|TEXT|0||0
3|relative_ms|INTEGER|1|0|0
4|event_type|TEXT|1||0
5|x|INTEGER|0||0
6|y|INTEGER|0||0
7|delta_x|INTEGER|0||0
8|delta_y|INTEGER|0||0
9|button|INTEGER|0||0
10|click_count|INTEGER|0||0
11|key_code|INTEGER|0||0
12|modifiers|INTEGER|0||0
13|text_content|TEXT|0||0
14|text_length|INTEGER|0||0
15|app_name|TEXT|0||0
16|app_pid|INTEGER|0||0
17|window_title|TEXT|0||0
18|browser_url|TEXT|0||0
19|element_role|TEXT|0||0
20|element_name|TEXT|0||0
21|element_value|TEXT|0||0
22|element_description|TEXT|0||0
23|element_automation_id|TEXT|0||0
24|element_bounds|TEXT|0||0
25|frame_id|INTEGER|0||0
26|sync_id|TEXT|0||0
27|machine_id|TEXT|0||0
28|synced_at|DATETIME|0||0
0|id|INTEGER|0||1
1|file_path|TEXT|1||0
2|device_name|TEXT|1|''|0
3|sync_id|TEXT|0||0
4|machine_id|TEXT|0||0
5|synced_at|DATETIME|0||0
6|fps|REAL|1|0.5|0
7|cloud_blob_id|TEXT|0|NULL|0
[rerun: b6]
Bash
Check data counts and date ranges
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM frames;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*), MIN(timestamp), MAX(timestamp) FROM audio_transcriptions;" 2>/dev/null
sqlite3 /volume1/screenpipe/db.sqlite "SELECT COUNT(*) FROM ocr_text;" 2>/dev/null
Copy code to clipboard
OUT
1135|2026-04-09T16:53:09.043761+00:00|2026-04-11T12:54:42.597794+00:00
3|2026-04-09T16:53:20+00:00|2026-04-09T17:02:52+00:00
666
[rerun: b7]
Bash
Explore existing pipes for patterns
IN
ls /volume1/screenpipe/pipes/day-recap/ 2>/dev/null && cat /volume1/screenpipe/pipes/day-recap/*.js 2>/dev/null | head -50
Copy code to clipboard
OUT
pipe.md
[rerun: b8]
Bash
Read day-recap pipe documentation
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
[rerun: b9]
Bash
Sample app names from frames
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT DISTINCT app_name FROM frames WHERE app_name != '' LIMIT 20;"
Copy code to clipboard
OUT
Safari
Activity Monitor
Dia
iTerm2
Control Centre
UserNotificationCenter
Finder
Claude
Slack
Firefox
Raycast
NetAuthAgent
QuickTime Player
[rerun: b10]
Bash
Sample joined frame+ocr data for today
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT f.timestamp, o.app_name, o.window_name, substr(o.text, 1, 100) as text FROM frames f JOIN ocr_text o ON f.id = o.frame_id WHERE DATE(f.timestamp) = '2026-04-11' LIMIT 5;"
Copy code to clipboard
OUT
2026-04-11T11:53:00.627698+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <47H5Sat 11 Apr 14:53:00-zshDOCKE
2026-04-11T11:53:02.005967+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA-zsh100% <7H5Sat 11 Apr 14:53:01-zshDOCKER
2026-04-11T11:53:03.627468+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:03-zshDOCKERuse p
2026-04-11T11:53:05.528794+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <47Sat 11 Apr 14:53:05-zshDOCKERuse p
2026-04-11T11:53:07.662098+00:00|||iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0(ahlA100% <7Sat 11 Apr 14:53:07-zshDOCKERuse pi
[rerun: b11]
Bash
Sample recent audio transcriptions
IN
sqlite3 /volume1/screenpipe/db.sqlite "SELECT timestamp, substr(transcription,1,100) as text, device FROM audio_transcriptions ORDER BY timestamp DESC LIMIT 5;"
Copy code to clipboard
OUT
2026-04-09T17:02:52+00:00|.|System Audio
2026-04-09T16:59:22+00:00|Class is technically...|System Audio
2026-04-09T16:53:20+00:00|I do for you. Run the credit check. Deal apartment. Okay.|System Audio
[rerun: b12]
Thinking
Thinking
Good data to work with. Here's what we have:
frames
+
ocr_text
: Screen captures with OCR text, app name, window name (1135 frames so far)
audio_transcriptions
: Voice/system audio transcripts
ui_events
: Mouse/keyboard events with app context
video_chunks
: Raw video files
Before I start building, a few quick questions:
Tech stack
— Python OK? (FastAPI for the web UI backend, Click for CLI commands, HTMX for the frontend to keep it simple)
AI summaries
— Do you have a Claude API key to use for generating the actual summaries? Or should I integrate with a local model / skip AI for now?
What summaries matter most?
Day recap (what apps/windows you used, key text seen)
App time breakdown (time per app)
Audio/conversation recap
Custom searchable timeline
Here's the architecture I'm thinking:
Copy code to clipboard
/volume1/screenpipe/app/
├── main.py # FastAPI web UI
├── cli.py # Click CLI: `python cli.py day-recap`
├── db.py # Read-only queries against db.sqlite
├── consumers/
│ ├── activity.py # App usage, time per window
│ ├── ocr.py # OCR text aggregation + search
│ ├── audio.py # Transcription queries
│ └── summary.py # AI summary builder
└── static/
└── index.html # Single-page UI
CLI commands would look like:
Copy code to clipboard
python cli.py day-recap # EOD summary
python cli.py activity --date today # App time breakdown
python cli.py search "docker" # Search OCR/audio text
python cli.py serve # Launch web UI
Does this direction work? Any preferences on the stack or which summaries to prioritize?
Message actions
seesm ok
Thinking
Thinking
Bash
Check Python and available packages
IN
python3 --version && pip3 list 2>/dev/null | grep -E "fastapi|uvicorn|click|anthropic|httpx|jinja"
Copy code to clipboard
OUT
Python 3.11.2
[rerun: b1]
Bash
Verify join works for today's data
IN
sqlite3 /volume1/screenpipe/db.sqlite "
SELECT f.timestamp, o.app_name, o.window_name, length(o.text) as txt_len
FROM frames f JOIN ocr_text o ON f.id = o.frame_id
WHERE DATE(f.timestamp) = '2026-04-11'
ORDER BY f.timestamp DESC LIMIT 3;
"
Copy code to clipboard
OUT
2026-04-11T12:54:42.597794+00:00|||2111
2026-04-11T12:54:41.915916+00:00|||2110
2026-04-11T12:54:39.912712+00:00|||2111
[rerun: b2]
Bash
Install required packages
IN
pip3 install fastapi uvicorn click anthropic python-dotenv 2>&1 | tail -5
Copy code to clipboard
OUT
/bin/bash: line 1: pip3: command not found
[rerun: b3]
Bash
Find pip
IN
which pip || which pip3 || python3 -m pip --version 2>/dev/null
Copy code to clipboard
OUT
Exit code 1
[rerun: b4]
Bash
Bootstrap pip then install packages
IN
python3 -m ensurepip --upgrade 2>&1 && python3 -m pip install fastapi uvicorn click anthropic python-dotenv 2>&1 | tail -10
Copy code to clipboard...
|
NULL
|
|
1578
|
34
|
49
|
2026-04-11T17:41:07.481729+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929267481_m1.jpg...
|
Firefox
|
Settings — Personal
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Customize sidebar","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Customize sidebar","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sidebar settings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Vertical tabs","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Expand sidebar on hover","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide tabs and sidebar","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Move sidebar to the right","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox tools","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"AI chatbot","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI chatbot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tabs from other devices","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"History","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"History","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bookmarks","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bookmarks","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Passwords","depth":13,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Passwords","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Sidebar extensions","depth":6,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sidebar extensions","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Bitwarden","depth":11,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Extensions","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Extensions","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox settings","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox settings","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"bounds":{"left":0.19861111,"top":0.0,"width":0.17083333,"height":0.04222222},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.22916667,"top":0.0,"width":0.06736111,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
8582807571644243026
|
3890586094280788638
|
app_switch
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
Close tab
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Customize sidebar
Customize sidebar
Close
Sidebar settings
Vertical tabs
Vertical tabs
Expand sidebar on hover
Expand sidebar on hover
Hide tabs and sidebar
Hide tabs and sidebar
Move sidebar to the right
Move sidebar to the right
Firefox tools
AI chatbot
AI chatbot
Tabs from other devices
Tabs from other devices
History
History
Bookmarks
Bookmarks
Passwords
Passwords
Sidebar extensions
Sidebar extensions
Bitwarden
Bitwarden
Manage Extensions
Manage Extensions
Manage Firefox settings
Manage Firefox settings
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default...
|
NULL
|
|
1581
|
34
|
52
|
2026-04-11T17:41:53.712775+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929313712_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d
0.1m
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/
0.1m
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
0m
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com
0m...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TOTAL SPAN","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0 breaks · 0.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SESSIONS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"62m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FRAMES","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"612","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APPS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UI EVENTS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1344","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AUDIO","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE PERIOD","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TIME PER APP","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— CLICK TO FILTER RIGHT PANEL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.6m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Websites","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Windows","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"UI Events","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fadmin","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"http://localhost:3030","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3091908115894725819
|
-5356150684892378036
|
app_switch
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d
0.1m
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/
0.1m
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
0m
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com
0m...
|
NULL
|
|
1582
|
34
|
53
|
2026-04-11T17:41:56.327446+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929316327_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Search…
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
Enter a query and press Enter.
FTS tip: single words work best · "exact phrase" · OR between terms...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Search…","depth":8,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Source","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"any","depth":8,"help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"From","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Enter a query and press Enter.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FTS tip: single words work best · \"exact phrase\" · OR between terms","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5357516925589902745
|
-5338695937532457378
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Search…
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
Enter a query and press Enter.
FTS tip: single words work best · "exact phrase" · OR between terms...
|
1581
|
|
1584
|
34
|
55
|
2026-04-11T17:42:13.180990+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929333180_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"DennikN","depth":8,"value":"DennikN","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Source","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"any","depth":8,"help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"From","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:54 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3056445541898805660
|
-5338062575361913250
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
1583
|
|
1587
|
NULL
|
0
|
2026-04-11T17:42:16.134952+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929336134_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"DennikN","depth":8,"value":"DennikN","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Source","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"any","depth":8,"help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"From","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:54 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3056445541898805660
|
-5338062575361913250
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
NULL
|
|
1589
|
35
|
1
|
2026-04-11T17:42:22.869338+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929342869_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"DennikN","depth":8,"value":"DennikN","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Source","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"any","depth":8,"help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"From","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:54 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3056445541898805660
|
-5338062575361913250
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
NULL
|
|
1592
|
35
|
4
|
2026-04-11T17:42:25.749123+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929345749_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"DennikN","depth":8,"value":"DennikN","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Source","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"any","depth":8,"help_text":"","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"From","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"To","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"--","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:54 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 ·","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS Inbox (1) -","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"EMAIL","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3056445541898805660
|
-5338062575361913250
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
DennikN
Search
Source
App
any
Date
11
/
04
/
2026
Calendar
From
--
:
--
To
--
:
--
Searches full_text, app_name, window_name, browser_url in frames (1,135 rows)
14:54 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings...
14:52 ·
Firefox
/ Loď Orion úspešne pristála na Zemi. Desať vecí, kt
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamata
UGREEN NAS Inbox (1) -
EMAIL
- Gmail How to Get Through the Product Management Bottleneck How to Get Through the Product Management Bottleneck Shameless • HBO Max Shameless • HBO Max Settings Settings......
|
1591
|
|
1594
|
35
|
6
|
2026-04-11T17:42:27.810115+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929347810_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
AUDIO TRANSCRIPTIONS
No audio for this date....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"AUDIO TRANSCRIPTIONS","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No audio for this date.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5624204200654863363
|
-5335883386922824106
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
AUDIO TRANSCRIPTIONS
No audio for this date....
|
1593
|
|
1595
|
35
|
7
|
2026-04-11T17:42:29.896399+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929349896_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
Click Generate Report to build a structured work summary for the selected date....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate Report","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"No AI needed — pure data","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Click Generate Report to build a structured work summary for the selected date.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-7122515222436027688
|
3888615649216171614
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
Click Generate Report to build a structured work summary for the selected date....
|
NULL
|
|
1596
|
35
|
8
|
2026-04-11T17:42:40.356021+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929360356_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
📅 SESSION — 2026-04-11
📅 SESSION — 2026-04-11
14:52
START
15:54
END
1.0h
TOTAL SPAN
1.0h
ACTIVE
0.0h
BREAKS (0)
🖥️ APP TIME BY CATEGORY
🖥️ APP TIME BY CATEGORY
💻 code
5.2m total
iTerm2
5.2m
🌐 browser
1.5m total
Firefox
1.5m
🎬 media...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate Report","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"No AI needed — pure data","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"📅 SESSION — 2026-04-11","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"📅 SESSION — 2026-04-11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"START","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"END","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TOTAL SPAN","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS (0)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🖥️ APP TIME BY CATEGORY","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🖥️ APP TIME BY CATEGORY","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"💻 code","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🌐 browser","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🎬 media","depth":9,"subrole":"AXUnknown"}]...
|
8832597274193248725
|
-5337292926604669884
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
📅 SESSION — 2026-04-11
📅 SESSION — 2026-04-11
14:52
START
15:54
END
1.0h
TOTAL SPAN
1.0h
ACTIVE
0.0h
BREAKS (0)
🖥️ APP TIME BY CATEGORY
🖥️ APP TIME BY CATEGORY
💻 code
5.2m total
iTerm2
5.2m
🌐 browser
1.5m total
Firefox
1.5m
🎬 media...
|
1595
|
|
1597
|
35
|
9
|
2026-04-11T17:42:42.547180+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929362547_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate
Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env
Select a summary type and click Generate....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Select a summary type and click Generate.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4478918766039565278
|
-5332787162179006892
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate
Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env
Select a summary type and click Generate....
|
NULL
|
|
1599
|
35
|
11
|
2026-04-11T17:42:44.927096+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929364927_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate
Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env
Error: Error code: 401 - {'type': 'error', 'error': {'type': 'authentication_error', 'message': 'invalid x-api-key'}, 'request_id': 'req_011CZxPyxrBXxUcgcsdX39Vu'}...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Error: Error code: 401 - {'type': 'error', 'error': {'type': 'authentication_error', 'message': 'invalid x-api-key'}, 'request_id': 'req_011CZxPyxrBXxUcgcsdX39Vu'}","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-6522442641000217596
|
-5340670660013273506
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate
Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env
Error: Error code: 401 - {'type': 'error', 'error': {'type': 'authentication_error', 'message': 'invalid x-api-key'}, 'request_id': 'req_011CZxPyxrBXxUcgcsdX39Vu'}...
|
NULL
|
|
1602
|
35
|
14
|
2026-04-11T17:42:48.333643+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929368333_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate
Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env
Error: Error code: 401 - {'type': 'error', 'error': {'type': 'authentication_error', 'message': 'invalid x-api-key'}, 'request_id': 'req_011CZxPz8AGWPCKtKxzrU5Hb'}...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Error: Error code: 401 - {'type': 'error', 'error': {'type': 'authentication_error', 'message': 'invalid x-api-key'}, 'request_id': 'req_011CZxPz8AGWPCKtKxzrU5Hb'}","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
1786047919841421079
|
-5340670660013273506
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate
Requires ANTHROPIC_API_KEY in .env — edit /volume1/screenpipe/app/.env
Error: Error code: 401 - {'type': 'error', 'error': {'type': 'authentication_error', 'message': 'invalid x-api-key'}, 'request_id': 'req_011CZxPz8AGWPCKtKxzrU5Hb'}...
|
1601
|
|
1604
|
35
|
16
|
2026-04-11T17:42:55.012643+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929375012_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
📅 SESSION — 2026-04-11
📅 SESSION — 2026-04-11
14:52
START
15:54
END
1.0h
TOTAL SPAN
1.0h
ACTIVE
0.0h
BREAKS (0)
🖥️ APP TIME BY CATEGORY
🖥️ APP TIME BY CATEGORY
💻 code
5.2m total
iTerm2
5.2m
🌐 browser
1.5m total
Firefox
1.5m
🎬 media
0.5m total
QuickTime Player
0.5m
⚙️ system
0.8m total
Finder
0.6m
NetAuthAgent
0.1m
Raycast
0.1m
🌐 WEBSITES BY DOMAIN
🌐 WEBSITES BY DOMAIN
nas.lakylak.xyz/desktop/#/
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5f
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f
0.1m
nas.lakylak.xyz/desktop/#/login/account
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fad
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pri
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii
0.1m
localhost:3030
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/v
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium
0m
accounts.google.com/v3/signin/accountcho
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lm
0m
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
APP
CLICKS
KEYS
SWITCHES
TOTAL
iTerm2
399
200
4
603
Firefox
79
20
4
103
Finder
90
4
5
99
NetAuthAgent
12
0
3
15
APP
iTerm2
Firefox
Finder
NetAuthAgent
CLICKS
399
79
90
12
KEYS
200
20
4
0
SWITCHES
4
4
5
3
TOTAL
603
103
99
15...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate Report","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"No AI needed — pure data","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"📅 SESSION — 2026-04-11","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"📅 SESSION — 2026-04-11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"START","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"END","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TOTAL SPAN","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS (0)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🖥️ APP TIME BY CATEGORY","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🖥️ APP TIME BY CATEGORY","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"💻 code","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🌐 browser","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🎬 media","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⚙️ system","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.8m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.6m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🌐 WEBSITES BY DOMAIN","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🌐 WEBSITES BY DOMAIN","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5f","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fad","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fadmin","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pri","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"localhost:3030","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"http://localhost:3030","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/v","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountcho","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lm","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APP","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CLICKS","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KEYS","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SWITCHES","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TOTAL","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"399","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"200","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"603","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"79","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"99","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APP","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CLICKS","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"399","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"79","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KEYS","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"200","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SWITCHES","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TOTAL","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"603","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"99","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
6263680832872075116
|
3854837586856463996
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
📅 SESSION — 2026-04-11
📅 SESSION — 2026-04-11
14:52
START
15:54
END
1.0h
TOTAL SPAN
1.0h
ACTIVE
0.0h
BREAKS (0)
🖥️ APP TIME BY CATEGORY
🖥️ APP TIME BY CATEGORY
💻 code
5.2m total
iTerm2
5.2m
🌐 browser
1.5m total
Firefox
1.5m
🎬 media
0.5m total
QuickTime Player
0.5m
⚙️ system
0.8m total
Finder
0.6m
NetAuthAgent
0.1m
Raycast
0.1m
🌐 WEBSITES BY DOMAIN
🌐 WEBSITES BY DOMAIN
nas.lakylak.xyz/desktop/#/
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5f
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f
0.1m
nas.lakylak.xyz/desktop/#/login/account
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fad
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pri
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii
0.1m
localhost:3030
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/v
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium
0m
accounts.google.com/v3/signin/accountcho
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lm
0m
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
APP
CLICKS
KEYS
SWITCHES
TOTAL
iTerm2
399
200
4
603
Firefox
79
20
4
103
Finder
90
4
5
99
NetAuthAgent
12
0
3
15
APP
iTerm2
Firefox
Finder
NetAuthAgent
CLICKS
399
79
90
12
KEYS
200
20
4
0
SWITCHES
4
4
5
3
TOTAL
603
103
99
15...
|
1603
|
|
1605
|
35
|
17
|
2026-04-11T17:43:03.526226+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929383526_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
📅 SESSION — 2026-04-11
📅 SESSION — 2026-04-11
14:52
START
15:54
END
1.0h
TOTAL SPAN
1.0h
ACTIVE
0.0h
BREAKS (0)
🖥️ APP TIME BY CATEGORY
🖥️ APP TIME BY CATEGORY
💻 code
5.2m total
iTerm2
5.2m
🌐 browser
1.5m total
Firefox
1.5m
🎬 media
0.5m total
QuickTime Player
0.5m
⚙️ system
0.8m total
Finder
0.6m
NetAuthAgent
0.1m
Raycast
0.1m
🌐 WEBSITES BY DOMAIN
🌐 WEBSITES BY DOMAIN
nas.lakylak.xyz/desktop/#/
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5f
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f
0.1m
nas.lakylak.xyz/desktop/#/login/account
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fad
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pri
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii
0.1m
localhost:3030
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/v
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium
0m
accounts.google.com/v3/signin/accountcho
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lm
0m
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
APP
CLICKS
KEYS
SWITCHES
TOTAL
iTerm2
399
200
4
603
Firefox
79
20
4
103
Finder
90
4
5
99
NetAuthAgent
12...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Generate Report","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"No AI needed — pure data","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"📅 SESSION — 2026-04-11","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"📅 SESSION — 2026-04-11","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"START","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"END","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TOTAL SPAN","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.0h","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS (0)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🖥️ APP TIME BY CATEGORY","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🖥️ APP TIME BY CATEGORY","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"💻 code","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🌐 browser","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🎬 media","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⚙️ system","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.8m total","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.6m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🌐 WEBSITES BY DOMAIN","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🌐 WEBSITES BY DOMAIN","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5f","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fad","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fadmin","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pri","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"localhost:3030","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"http://localhost:3030","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/v","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountcho","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lm","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APP","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CLICKS","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"KEYS","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SWITCHES","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TOTAL","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"399","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"200","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"603","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"79","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"103","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"90","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"99","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4930562668540419088
|
3888330910070165100
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
Generate Report
No AI needed — pure data
📅 SESSION — 2026-04-11
📅 SESSION — 2026-04-11
14:52
START
15:54
END
1.0h
TOTAL SPAN
1.0h
ACTIVE
0.0h
BREAKS (0)
🖥️ APP TIME BY CATEGORY
🖥️ APP TIME BY CATEGORY
💻 code
5.2m total
iTerm2
5.2m
🌐 browser
1.5m total
Firefox
1.5m
🎬 media
0.5m total
QuickTime Player
0.5m
⚙️ system
0.8m total
Finder
0.6m
NetAuthAgent
0.1m
Raycast
0.1m
🌐 WEBSITES BY DOMAIN
🌐 WEBSITES BY DOMAIN
nas.lakylak.xyz/desktop/#/
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5f
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f
0.1m
nas.lakylak.xyz/desktop/#/login/account
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fad
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pri
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii
0.1m
localhost:3030
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/v
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium
0m
accounts.google.com/v3/signin/accountcho
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lm
0m
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
⌨️ UI ACTIVITY (CLICKS / KEYSTROKES / APP SWITCHES)
APP
CLICKS
KEYS
SWITCHES
TOTAL
iTerm2
399
200
4
603
Firefox
79
20
4
103
Finder
90
4
5
99
NetAuthAgent
12...
|
NULL
|
|
1607
|
35
|
19
|
2026-04-11T17:43:07.843138+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929387843_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d
0.1m
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/
0.1m
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
0m
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com
0m...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TOTAL SPAN","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0 breaks · 0.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SESSIONS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"62m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FRAMES","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"612","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APPS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UI EVENTS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1344","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AUDIO","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE PERIOD","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TIME PER APP","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— CLICK TO FILTER RIGHT PANEL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.6m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Websites","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Windows","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"UI Events","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fadmin","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"http://localhost:3030","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3091908115894725819
|
-5356150684892378036
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d
0.1m
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/
0.1m
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
0m
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com
0m...
|
NULL
|
|
1608
|
35
|
20
|
2026-04-11T17:43:10.726536+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929390726_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
APP
WINDOW
MIN
iTerm2
-zsh
5
Firefox
DXP4800PLUS-B5F8 — Personal
0.7
QuickTime Player
compact_monitor_1_1775908431491.mp4
0.5
Finder
[IP_ADDRESS]
0.1
Finder
Connect to Server
0.1
Firefox
Picture-in-Picture
0.1
Finder
0.1
Finder
Test
0.1
Firefox
UGREEN NAS — Personal
0.1
Firefox
Simple Pleasures • HBO Max — Personal
0.1
NetAuthAgent
0.1
Finder
Connecting to Server
0.1
Finder
Recents
0.1
Firefox
Loď Orion úspešne pristála na Zemi. Desať
0.1
Firefox
Settings — Personal
0.1
Firefox
Vimium – Get this Extension for 🦊 Firefox
0.1
Firefox
firefox sidebar - Google Search — Personal
0.1
Raycast
0.1
iTerm2
sqlite3
0.1
Firefox
Problem loading page — Personal
0
Firefox
Sign in – Google accounts — Personal
0
Firefox
Tailscale — Personal
0
Firefox
tilscale admin panel - Google Search — Per
0
Firefox
Shameless • HBO Max — Personal
0
iTerm2
-zsh — 176✕45
0
iTerm2
cp
0
iTerm2
du
0
iTerm2
find
0
iTerm2
zsh
0
APP
iTerm2
Firefox
QuickTime Player
Finder
Finder
Firefox
Finder
Finder
Firefox
Firefox
NetAuthAgent
Finder
Finder
Firefox
Firefox
Firefox
Firefox
Raycast
iTerm2
Firefox
Firefox
Firefox
Firefox
Firefox
iTerm2
iTerm2
iTerm2
iTerm2
iTerm2
WINDOW
-zsh
DXP4800PLUS-B5F8 — Personal
compact_monitor_1_1775908431491.mp4
[IP_ADDRESS]
Connect to Server
Picture-in-Picture
Test
UGREEN NAS — Personal
Simple Pleasures • HBO Max — Personal
Connecting to Server
Recents
Loď Orion úspešne pristála na Zemi. Desať
Settings — Personal
Vimium – Get this Extension for 🦊 Firefox
firefox sidebar - Google Search — Personal
sqlite3
Problem loading page — Personal
Sign in – Google accounts — Personal
Tailscale — Personal
tilscale admin panel - Google Search — Per
Shameless • HBO Max — Personal
-zsh — 176✕45
cp
du
find
zsh
MIN
5
0.7
0.5
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0
0
0
0
0
0
0
0
0
0...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TOTAL SPAN","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0 breaks · 0.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SESSIONS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"62m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FRAMES","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"612","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APPS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UI EVENTS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1344","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AUDIO","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE PERIOD","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TIME PER APP","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— CLICK TO FILTER RIGHT PANEL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.6m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Websites","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Windows","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"UI Events","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"APP","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"WINDOW","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MIN","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"-zsh","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8 — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"compact_monitor_1_1775908431491.mp4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100.73.206.126","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Connect to Server","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Picture-in-Picture","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Simple Pleasures • HBO Max — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Connecting to Server","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recents","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Settings — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"firefox sidebar - Google Search — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"sqlite3","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Problem loading page — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sign in – Google accounts — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tailscale — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tilscale admin panel - Google Search — Per","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shameless • HBO Max — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"-zsh — 176✕45","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"cp","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"du","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"find","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"zsh","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APP","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"WINDOW","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"-zsh","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8 — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"compact_monitor_1_1775908431491.mp4","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100.73.206.126","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Connect to Server","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Picture-in-Picture","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN NAS — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Simple Pleasures • HBO Max — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Connecting to Server","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recents","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Settings — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"firefox sidebar - Google Search — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"sqlite3","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Problem loading page — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sign in – Google accounts — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tailscale — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tilscale admin panel - Google Search — Per","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shameless • HBO Max — Personal","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"-zsh — 176✕45","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"cp","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"du","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"find","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"zsh","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MIN","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9183630555206479502
|
3829543151654882500
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
APP
WINDOW
MIN
iTerm2
-zsh
5
Firefox
DXP4800PLUS-B5F8 — Personal
0.7
QuickTime Player
compact_monitor_1_1775908431491.mp4
0.5
Finder
[IP_ADDRESS]
0.1
Finder
Connect to Server
0.1
Firefox
Picture-in-Picture
0.1
Finder
0.1
Finder
Test
0.1
Firefox
UGREEN NAS — Personal
0.1
Firefox
Simple Pleasures • HBO Max — Personal
0.1
NetAuthAgent
0.1
Finder
Connecting to Server
0.1
Finder
Recents
0.1
Firefox
Loď Orion úspešne pristála na Zemi. Desať
0.1
Firefox
Settings — Personal
0.1
Firefox
Vimium – Get this Extension for 🦊 Firefox
0.1
Firefox
firefox sidebar - Google Search — Personal
0.1
Raycast
0.1
iTerm2
sqlite3
0.1
Firefox
Problem loading page — Personal
0
Firefox
Sign in – Google accounts — Personal
0
Firefox
Tailscale — Personal
0
Firefox
tilscale admin panel - Google Search — Per
0
Firefox
Shameless • HBO Max — Personal
0
iTerm2
-zsh — 176✕45
0
iTerm2
cp
0
iTerm2
du
0
iTerm2
find
0
iTerm2
zsh
0
APP
iTerm2
Firefox
QuickTime Player
Finder
Finder
Firefox
Finder
Finder
Firefox
Firefox
NetAuthAgent
Finder
Finder
Firefox
Firefox
Firefox
Firefox
Raycast
iTerm2
Firefox
Firefox
Firefox
Firefox
Firefox
iTerm2
iTerm2
iTerm2
iTerm2
iTerm2
WINDOW
-zsh
DXP4800PLUS-B5F8 — Personal
compact_monitor_1_1775908431491.mp4
[IP_ADDRESS]
Connect to Server
Picture-in-Picture
Test
UGREEN NAS — Personal
Simple Pleasures • HBO Max — Personal
Connecting to Server
Recents
Loď Orion úspešne pristála na Zemi. Desať
Settings — Personal
Vimium – Get this Extension for 🦊 Firefox
firefox sidebar - Google Search — Personal
sqlite3
Problem loading page — Personal
Sign in – Google accounts — Personal
Tailscale — Personal
tilscale admin panel - Google Search — Per
Shameless • HBO Max — Personal
-zsh — 176✕45
cp
du
find
zsh
MIN
5
0.7
0.5
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0
0
0
0
0
0
0
0
0
0...
|
1607
|
|
1610
|
35
|
22
|
2026-04-11T17:43:14.013234+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929394013_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d
0.1m
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/
0.1m
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
0m
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com
0m...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Shameless • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Shameless • HBO Max","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Settings","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"firefox sidebar - Google Search","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"firefox sidebar - Google Search","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to use AI-enhanced tab groups | Firefox Help","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to use AI-enhanced tab groups | Firefox Help","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Add-ons Manager","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons Manager","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Irán – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Irán – Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium Options","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium Options","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Machines - Tailscale","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Machines - Tailscale","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser Extension Getting Started | Bitwarden","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser Extension Getting Started | Bitwarden","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Extensions – Add-ons for Firefox (en-US)","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions – Add-ons for Firefox (en-US)","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Screenpipe","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Screenpipe","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Activity","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Search","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Audio","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Work Report","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Summary","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Date","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"04","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2026","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Calendar","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TOTAL SPAN","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BREAKS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0 breaks · 0.0h","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SESSIONS","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"62m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"FRAMES","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"612","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"APPS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UI EVENTS","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1344","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AUDIO","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ACTIVE PERIOD","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"14:52 → 15:54","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TIME PER APP","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— CLICK TO FILTER RIGHT PANEL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.2m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Finder","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.6m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QuickTime Player","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.5m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"NetAuthAgent","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Raycast","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Websites","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Windows","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"UI Events","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.7m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"nas.lakylak.xyz/desktop/#/login/account","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"login.tailscale.com/login?next_url=%2Fadmin","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0.1m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"http://localhost:3030","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0m","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3091908115894725819
|
-5356150684892378036
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameles DXP4800PLUS-B5F8
Inbox - [EMAIL] - Gmail
Shameless • HBO Max
Shameless • HBO Max
Settings
Settings
firefox sidebar - Google Search
firefox sidebar - Google Search
How to use AI-enhanced tab groups | Firefox Help
How to use AI-enhanced tab groups | Firefox Help
Add-ons Manager
Add-ons Manager
Vimium – Get this Extension for 🦊 Firefox (en-US)
Vimium – Get this Extension for 🦊 Firefox (en-US)
Irán – Denník N
Irán – Denník N
Vimium Options
Vimium Options
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N
Machines - Tailscale
Machines - Tailscale
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
Add-ons for Firefox (en-US)
Add-ons for Firefox (en-US)
New Tab
New Tab
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Bitwarden Password Manager – Get this Extension for 🦊 Firefox (en-US)
Browser Extension Getting Started | Bitwarden
Browser Extension Getting Started | Bitwarden
Extensions – Add-ons for Firefox (en-US)
Extensions – Add-ons for Firefox (en-US)
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Screenpipe
Screenpipe
Activity
Search
Audio
Work Report
AI Summary
Date
11
/
04
/
2026
Calendar
TOTAL SPAN
1.0h
14:52 → 15:54
ACTIVE
1.0h
BREAKS
0 breaks · 0.0h
SESSIONS
1
62m
FRAMES
612
APPS
6
UI EVENTS
1344
AUDIO
0
ACTIVE PERIOD
14:52 → 15:54
TIME PER APP
— CLICK TO FILTER RIGHT PANEL
iTerm2
5.2m
Firefox
1.5m
Finder
0.6m
QuickTime Player
0.5m
NetAuthAgent
0.1m
Raycast
0.1m
Websites
Windows
UI Events
nas.lakylak.xyz/desktop/#/
0.7m
play.hbomax.com/video/watch/6b742798-e5fa-4f90-8beb-74c328dc5028/65d19c63-e85e-4392-8594-f0f2e0a1dc2d
0.1m
nas.lakylak.xyz/desktop/#/login/account
0.1m
login.tailscale.com/login?next_url=%2Fadmin
0.1m
dennikn.sk/5263377/lod-orion-uspesne-pristala-na-zemi-desat-veci-ktore-si-pamatat-na-misii-artemis-ii/
0.1m
http://localhost:3030
0m
addons.mozilla.org/en-US/firefox/addon/vimium-ff/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
0m
accounts.google.com/v3/signin/accountchooser?access_type=offline&client_id=674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com&prompt=select_account&redirect_uri=https%3A%2F%2Flogin.tailscale.com%2Fa%2Foauth_response&response_type=code&scope=openid+email+profile&state=tc-ftYwP8oB0urJfQZeh42KPfA&dsh=S1949714251%3A1775911302074699&o2v=2&service=lso&flowName=GeneralOAuthFlow&opparams=%253F&continue=https%3A%2F%2Faccounts.google.com%2Fsignin%2Foauth%2Fconsent%3Fauthuser%3Dunknown%26part%3DAJi8hAOOoeMJ9h1ZWE-Aau2rWQdjwJ-4Enpv6Ci-0hiDSq5jW9TsVTl1btOELm96_EZaQdgfRwBdj1zZGB_CYauRC0fkTqY_cZ35H_NcJOU2_4Ax0Gtto-fKf-nDgh4daUIBqdTh68bjSxOce25-KnK0XYdHV8mzb69bNhDZHVDj_gb42yLS6CaLOtRfvBqDUDqR3SzLMQPfBkXHhJz6IM_7wq52TLTL563ihzeGQBECsxCnD1Yk27REW5r_eZ0TNXkkAX7P1hB8gAkBKuZVXHltsgP7jvfc8R1fsuXURwjdV8kBOMOg3Reld6-0t5nB9qwgvuYCJsuo0Q7IMz9o-t41651a_Wsc0FnlTxFC_0DA-eKXtSlPZHRy9BW_O_UgliMh8Y9cnLpKZ4r9A_LwCm6flXHR1tZWe_NA_YGhQ9EYSdByTuW1hMcIXXh1Alssc0Sb9BtxZ5mPnlLjTXaWd8LEtCrsHv1HQQ%26flowName%3DGeneralOAuthFlow%26as%3DS1949714251%253A1775911302074699%26client_id%3D674241127656-lmq9su4p8ni1tcpuh6eqidoornqtvmvi.apps.googleusercontent.com%26requestPath%3D%252Fsignin%252Foauth%252Fconsent%23&app_domain=https%3A%2F%2Flogin.tailscale.com
0m...
|
1609
|
|
1611
|
35
|
23
|
2026-04-11T17:43:21.190292+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929401190_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3706728630941710938
|
-1563218222308097149
|
app_switch
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
NULL
|
|
1613
|
35
|
25
|
2026-04-11T17:43:27.874727+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929407874_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3706728630941710938
|
-1563218222308097149
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
NULL
|
|
1614
|
35
|
26
|
2026-04-11T17:43:29.045817+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929409045_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ c Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'
#!/bin/bash
DB="/volume1/Test/screenpipe/db.sqlite"
DATE=${1:-$(date -d "yesterday" '+%Y-%m-%d')}
echo "═══════════════════════════════════════"
echo " SCREENPIPE REPORT — $DATE"
echo "═══════════════════════════════════════"
echo -e "\n📱 APP USAGE (frames + estimated time)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n⌨️ ACTIVITY TYPE PER APP"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',
app_name,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n🌐 BROWSER URLS"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%4d frames %s', COUNT(*), browser_url)
FROM frames
WHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL
GROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;"
echo -e "\n🪟 WINDOW TITLES (top 20)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))
FROM frames
WHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL
GROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;"
chmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';"
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls
data db.sqlite pipes screenpipe-day.sh
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09
═══════════════════════════════════════
SCREENPIPE REPORT — 2026-04-09
═══════════════════════════════════════
📱 APP USAGE (frames + estimated time)
───────────────────────────────────────
iTerm2 185 frames ~ 13.9 min
Dia 31 frames ~ 2.3 min
Safari 20 frames ~ 1.5 min
Claude 12 frames ~ 0.9 min
UserNotificationCenter 4 frames ~ 0.3 min
Control Centre 3 frames ~ 0.2 min
Slack 2 frames ~ 0.2 min
Activity Monitor 2 frames ~ 0.2 min
Finder 1 frames ~ 0.1 min
⌨️ ACTIVITY TYPE PER APP
───────────────────────────────────────
iTerm2 clicks:283 keys:122 switches:34
Dia clicks:171 keys:56 switches:9
Safari clicks:56 keys:11 switches:3
Claude clicks:50 keys:6 switches:9
UserNotificationCenter clicks:8 keys:0 switches:4
Slack clicks:1 keys:0 switches:1
🌐 BROWSER URLS
───────────────────────────────────────
13 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp add screenpipe -- npx -y
Dia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
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] cd /volume2/applications/
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe
[sudo] password for Adm1n:
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps screenpipe ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls
app data db.sqlite pipes '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll
total 95084
drwxrwxrwx 1 root root 76 Apr 11 17:43 .
drwxr-xr-x 1 root root 450 Apr 11 16:11 ..
drwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app
drwxrwxrwx 1 root root 58 Apr 11 17:29 data
-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite
-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store
drwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes
drwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 15.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s
=> [screenpipe-app internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.2s
=> => transferring context: 40.53kB 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s
=> => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s
=> => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s
=> => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s
=> => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s
=> => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s
=> => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s
=> => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s
=> => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s
=> => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s
=> => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s
=> => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s
=> => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s
=> [screenpipe-app 2/5] WORKDIR /app 0.4s
=> [screenpipe-app 3/5] COPY requirements.txt . 0.2s
=> [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.4s
=> => exporting layers 0.3s
=> => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 2/2
✔ Network app_default Created 0.2s
✔ Container screenpipe-app Created 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 [IP_ADDRESS]:8765: bind: address already in use
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1
[+] Running 1/1
✔ Container screenpipe-app Started 0.1s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 1.7s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 24.55kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 38.85kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.6s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.1s
=> => transferring context: 47.13kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.5s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 61.77kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build
unknown shorthand flag: 'd' in -d
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.0s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 915B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [screenpipe-app 5/5] COPY . . 0.0s
=> [screenpipe-app] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe
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
-zsh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'\n#!/bin/bash\nDB=\"/volume1/Test/screenpipe/db.sqlite\"\nDATE=${1:-$(date -d \"yesterday\" '+%Y-%m-%d')}\n\necho \"═══════════════════════════════════════\"\necho \" SCREENPIPE REPORT — $DATE\"\necho \"═══════════════════════════════════════\"\n\necho -e \"\\n📱\u0000 APP USAGE (frames + estimated time)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n⌨️\u0000 ACTIVITY TYPE PER APP\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',\n app_name,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n🌐\u0000 BROWSER URLS\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%4d frames %s', COUNT(*), browser_url)\nFROM frames\nWHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL\nGROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho -e \"\\n🪟\u0000 WINDOW TITLES (top 20)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL\nGROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;\"\n\nchmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';\"\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls\ndata db.sqlite pipes\u0000\tscreenpipe-day.sh\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09\n═══════════════════════════════════════\n SCREENPIPE REPORT — 2026-04-09\n═══════════════════════════════════════\n\n📱\u0000 APP USAGE (frames + estimated time)\n───────────────────────────────────────\niTerm2 185 frames ~ 13.9 min\nDia 31 frames ~ 2.3 min\nSafari 20 frames ~ 1.5 min\nClaude 12 frames ~ 0.9 min\nUserNotificationCenter 4 frames ~ 0.3 min\nControl Centre 3 frames ~ 0.2 min\nSlack 2 frames ~ 0.2 min\nActivity Monitor 2 frames ~ 0.2 min\nFinder 1 frames ~ 0.1 min\n\n⌨️\u0000 ACTIVITY TYPE PER APP\n───────────────────────────────────────\niTerm2 clicks:283 keys:122 switches:34 \nDia clicks:171 keys:56 switches:9 \nSafari clicks:56 keys:11 switches:3 \nClaude clicks:50 keys:6 switches:9 \nUserNotificationCenter clicks:8 keys:0 switches:4 \nSlack clicks:1 keys:0 switches:1 \n\n🌐\u0000 BROWSER URLS\n───────────────────────────────────────\n 13 frames https://play.hbomax.com/video/watch/16b35e6c-e745-4416-bc16-0ef5092ba4e0/07b58730-24cb-419c-b5a0-1e258a77cd21\n 4 frames https://location-tracker.lakylak.xyz/dashboard\n 2 frames https://nas.lakylak.xyz/desktop/?os=ugospro#/\n 1 frames https://play.hbomax.com/show/06f986dd-dd6a-4596-9a0a-f473ef99c64b\n\n🪟\u0000 WINDOW TITLES (top 20)\n───────────────────────────────────────\niTerm2 93 -zsh\niTerm2 34 screenpipe\"\nSafari 13 Order Room Service • HBO Max\nClaude 12 Claude\niTerm2 8 ✳ Find cheapest WD Red Plus 6TB price\nDia 7 Personal: New Tab\niTerm2 7 ✳ Claude Code\niTerm2 7 ⠂ Find cheapest WD Red Plus 6TB price\niTerm2 7 ⠂ Research Western Digital Red Plus pricing\niTerm2 7 ⠐ Research Western Digital Red Plus pricing\nDia 6 Personal: GitHub - scree…\niTerm2 5 ✳ Research Western Digital Red Plus pricing\nSafari 4 Location Logger\nUserNotificationCenter 4 \niTerm2 4 nano\niTerm2 4 ⠐ Find cheapest WD Red Plus 6TB price\nControl Centre 3 Control Centre\nDia 3 Personal: Western Digita…\niTerm2 3 ✳ Check today's app usage\nActivity Monitor 2 Activity Monitor – All Processes\n\n🕐\u0000 HOURLY TIMELINE\n───────────────────────────────────────\n16:00 iTerm2 14 frames\n16:00 Safari 4 frames\n16:00 Dia 3 frames\n16:00 Control Centre 2 frames\n16:00 Activity Monitor 2 frames\n17:00 iTerm2 116 frames\n17:00 Dia 24 frames\n17:00 Safari 16 frames\n17:00 Claude 8 frames\n17:00 UserNotificationCenter 4 frames\n17:00 Finder 1 frames\n17:00 Control Centre 1 frames\n18:00 iTerm2 55 frames\n18:00 Dia 4 frames\n18:00 Claude 4 frames\n18:00 Slack 2 frames\n\n📋\u0000 CLIPBOARD\n───────────────────────────────────────\niTerm2 claude mcp add screenpipe -- npx -y screenpipe-mcp\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\nDia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n 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 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cd /volume2/applications/\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe\n[sudo] password for Adm1n: \nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps screenpipe ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls\n app data db.sqlite pipes '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll\ntotal 95084\ndrwxrwxrwx 1 root root 76 Apr 11 17:43 .\ndrwxr-xr-x 1 root root 450 Apr 11 16:11 ..\ndrwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app\ndrwxrwxrwx 1 root root 58 Apr 11 17:29 data\n-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite\n-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store\ndrwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes\ndrwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 15.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s\n => [screenpipe-app internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.2s\n => => transferring context: 40.53kB 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s\n => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s\n => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s\n => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s\n => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s\n => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s\n => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s\n => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s\n => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s\n => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s\n => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s\n => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s\n => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s\n => [screenpipe-app 2/5] WORKDIR /app 0.4s\n => [screenpipe-app 3/5] COPY requirements.txt . 0.2s\n => [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s\n => [screenpipe-app 5/5] COPY . . 0.2s \n => [screenpipe-app] exporting to image 0.4s \n => => exporting layers 0.3s \n => => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s \n => => naming to docker.io/library/app-screenpipe-app 0.0s \n[+] Running 2/2 \n ✔ Network app_default Created 0.2s \n ✔ Container screenpipe-app Created 0.1s \nError response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 0.0.0.0:8765: bind: address already in use\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.1s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 1.7s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 24.55kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 38.85kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.6s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.1s\n => => transferring context: 47.13kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.5s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 61.77kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build\nunknown shorthand flag: 'd' in -d\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.0s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 915B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => CACHED [screenpipe-app 5/5] COPY . . 0.0s\n => [screenpipe-app] exporting to image 0.0s\n => => exporting layers 0.0s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'\n#!/bin/bash\nDB=\"/volume1/Test/screenpipe/db.sqlite\"\nDATE=${1:-$(date -d \"yesterday\" '+%Y-%m-%d')}\n\necho \"═══════════════════════════════════════\"\necho \" SCREENPIPE REPORT — $DATE\"\necho \"═══════════════════════════════════════\"\n\necho -e \"\\n📱\u0000 APP USAGE (frames + estimated time)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n⌨️\u0000 ACTIVITY TYPE PER APP\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',\n app_name,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n🌐\u0000 BROWSER URLS\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%4d frames %s', COUNT(*), browser_url)\nFROM frames\nWHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL\nGROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho -e \"\\n🪟\u0000 WINDOW TITLES (top 20)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL\nGROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;\"\n\nchmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';\"\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls\ndata db.sqlite pipes\u0000\tscreenpipe-day.sh\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09\n═══════════════════════════════════════\n SCREENPIPE REPORT — 2026-04-09\n═══════════════════════════════════════\n\n📱\u0000 APP USAGE (frames + estimated time)\n───────────────────────────────────────\niTerm2 185 frames ~ 13.9 min\nDia 31 frames ~ 2.3 min\nSafari 20 frames ~ 1.5 min\nClaude 12 frames ~ 0.9 min\nUserNotificationCenter 4 frames ~ 0.3 min\nControl Centre 3 frames ~ 0.2 min\nSlack 2 frames ~ 0.2 min\nActivity Monitor 2 frames ~ 0.2 min\nFinder 1 frames ~ 0.1 min\n\n⌨️\u0000 ACTIVITY TYPE PER APP\n───────────────────────────────────────\niTerm2 clicks:283 keys:122 switches:34 \nDia clicks:171 keys:56 switches:9 \nSafari clicks:56 keys:11 switches:3 \nClaude clicks:50 keys:6 switches:9 \nUserNotificationCenter clicks:8 keys:0 switches:4 \nSlack clicks:1 keys:0 switches:1 \n\n🌐\u0000 BROWSER URLS\n───────────────────────────────────────\n 13 frames https://play.hbomax.com/video/watch/16b35e6c-e745-4416-bc16-0ef5092ba4e0/07b58730-24cb-419c-b5a0-1e258a77cd21\n 4 frames https://location-tracker.lakylak.xyz/dashboard\n 2 frames https://nas.lakylak.xyz/desktop/?os=ugospro#/\n 1 frames https://play.hbomax.com/show/06f986dd-dd6a-4596-9a0a-f473ef99c64b\n\n🪟\u0000 WINDOW TITLES (top 20)\n───────────────────────────────────────\niTerm2 93 -zsh\niTerm2 34 screenpipe\"\nSafari 13 Order Room Service • HBO Max\nClaude 12 Claude\niTerm2 8 ✳ Find cheapest WD Red Plus 6TB price\nDia 7 Personal: New Tab\niTerm2 7 ✳ Claude Code\niTerm2 7 ⠂ Find cheapest WD Red Plus 6TB price\niTerm2 7 ⠂ Research Western Digital Red Plus pricing\niTerm2 7 ⠐ Research Western Digital Red Plus pricing\nDia 6 Personal: GitHub - scree…\niTerm2 5 ✳ Research Western Digital Red Plus pricing\nSafari 4 Location Logger\nUserNotificationCenter 4 \niTerm2 4 nano\niTerm2 4 ⠐ Find cheapest WD Red Plus 6TB price\nControl Centre 3 Control Centre\nDia 3 Personal: Western Digita…\niTerm2 3 ✳ Check today's app usage\nActivity Monitor 2 Activity Monitor – All Processes\n\n🕐\u0000 HOURLY TIMELINE\n───────────────────────────────────────\n16:00 iTerm2 14 frames\n16:00 Safari 4 frames\n16:00 Dia 3 frames\n16:00 Control Centre 2 frames\n16:00 Activity Monitor 2 frames\n17:00 iTerm2 116 frames\n17:00 Dia 24 frames\n17:00 Safari 16 frames\n17:00 Claude 8 frames\n17:00 UserNotificationCenter 4 frames\n17:00 Finder 1 frames\n17:00 Control Centre 1 frames\n18:00 iTerm2 55 frames\n18:00 Dia 4 frames\n18:00 Claude 4 frames\n18:00 Slack 2 frames\n\n📋\u0000 CLIPBOARD\n───────────────────────────────────────\niTerm2 claude mcp add screenpipe -- npx -y screenpipe-mcp\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\nDia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n 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 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cd /volume2/applications/\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe\n[sudo] password for Adm1n: \nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps screenpipe ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls\n app data db.sqlite pipes '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll\ntotal 95084\ndrwxrwxrwx 1 root root 76 Apr 11 17:43 .\ndrwxr-xr-x 1 root root 450 Apr 11 16:11 ..\ndrwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app\ndrwxrwxrwx 1 root root 58 Apr 11 17:29 data\n-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite\n-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store\ndrwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes\ndrwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 15.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s\n => [screenpipe-app internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.2s\n => => transferring context: 40.53kB 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s\n => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s\n => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s\n => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s\n => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s\n => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s\n => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s\n => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s\n => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s\n => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s\n => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s\n => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s\n => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s\n => [screenpipe-app 2/5] WORKDIR /app 0.4s\n => [screenpipe-app 3/5] COPY requirements.txt . 0.2s\n => [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s\n => [screenpipe-app 5/5] COPY . . 0.2s \n => [screenpipe-app] exporting to image 0.4s \n => => exporting layers 0.3s \n => => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s \n => => naming to docker.io/library/app-screenpipe-app 0.0s \n[+] Running 2/2 \n ✔ Network app_default Created 0.2s \n ✔ Container screenpipe-app Created 0.1s \nError response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 0.0.0.0:8765: bind: address already in use\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.1s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 1.7s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 24.55kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 38.85kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.6s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.1s\n => => transferring context: 47.13kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.5s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 61.77kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build\nunknown shorthand flag: 'd' in -d\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.0s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 915B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => CACHED [screenpipe-app 5/5] COPY . . 0.0s\n => [screenpipe-app] exporting to image 0.0s\n => => exporting layers 0.0s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"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.12291667,"top":0.05888889,"width":0.12291667,"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.12708333,"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.24583334,"top":0.05888889,"width":0.12291667,"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.25,"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.36875,"top":0.05888889,"width":0.12291667,"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.37291667,"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.49166667,"top":0.05888889,"width":0.12291667,"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.49583334,"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.6145833,"top":0.05888889,"width":0.12291667,"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.61875,"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.7375,"top":0.05888889,"width":0.12291667,"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.7416667,"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.86041665,"top":0.05888889,"width":0.12291667,"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.8645833,"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"}]...
|
4627422429601284718
|
7804189247912797736
|
click
|
accessibility
|
NULL
|
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ c Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'
#!/bin/bash
DB="/volume1/Test/screenpipe/db.sqlite"
DATE=${1:-$(date -d "yesterday" '+%Y-%m-%d')}
echo "═══════════════════════════════════════"
echo " SCREENPIPE REPORT — $DATE"
echo "═══════════════════════════════════════"
echo -e "\n📱 APP USAGE (frames + estimated time)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n⌨️ ACTIVITY TYPE PER APP"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',
app_name,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n🌐 BROWSER URLS"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%4d frames %s', COUNT(*), browser_url)
FROM frames
WHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL
GROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;"
echo -e "\n🪟 WINDOW TITLES (top 20)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))
FROM frames
WHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL
GROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;"
chmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';"
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls
data db.sqlite pipes screenpipe-day.sh
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09
═══════════════════════════════════════
SCREENPIPE REPORT — 2026-04-09
═══════════════════════════════════════
📱 APP USAGE (frames + estimated time)
───────────────────────────────────────
iTerm2 185 frames ~ 13.9 min
Dia 31 frames ~ 2.3 min
Safari 20 frames ~ 1.5 min
Claude 12 frames ~ 0.9 min
UserNotificationCenter 4 frames ~ 0.3 min
Control Centre 3 frames ~ 0.2 min
Slack 2 frames ~ 0.2 min
Activity Monitor 2 frames ~ 0.2 min
Finder 1 frames ~ 0.1 min
⌨️ ACTIVITY TYPE PER APP
───────────────────────────────────────
iTerm2 clicks:283 keys:122 switches:34
Dia clicks:171 keys:56 switches:9
Safari clicks:56 keys:11 switches:3
Claude clicks:50 keys:6 switches:9
UserNotificationCenter clicks:8 keys:0 switches:4
Slack clicks:1 keys:0 switches:1
🌐 BROWSER URLS
───────────────────────────────────────
13 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp add screenpipe -- npx -y
Dia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
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] cd /volume2/applications/
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe
[sudo] password for Adm1n:
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps screenpipe ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls
app data db.sqlite pipes '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll
total 95084
drwxrwxrwx 1 root root 76 Apr 11 17:43 .
drwxr-xr-x 1 root root 450 Apr 11 16:11 ..
drwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app
drwxrwxrwx 1 root root 58 Apr 11 17:29 data
-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite
-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store
drwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes
drwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 15.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s
=> [screenpipe-app internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.2s
=> => transferring context: 40.53kB 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s
=> => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s
=> => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s
=> => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s
=> => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s
=> => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s
=> => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s
=> => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s
=> => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s
=> => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s
=> => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s
=> => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s
=> => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s
=> [screenpipe-app 2/5] WORKDIR /app 0.4s
=> [screenpipe-app 3/5] COPY requirements.txt . 0.2s
=> [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.4s
=> => exporting layers 0.3s
=> => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 2/2
✔ Network app_default Created 0.2s
✔ Container screenpipe-app Created 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 [IP_ADDRESS]:8765: bind: address already in use
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1
[+] Running 1/1
✔ Container screenpipe-app Started 0.1s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 1.7s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 24.55kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 38.85kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.6s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.1s
=> => transferring context: 47.13kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.5s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 61.77kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build
unknown shorthand flag: 'd' in -d
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.0s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 915B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [screenpipe-app 5/5] COPY . . 0.0s
=> [screenpipe-app] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe
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
-zsh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
1615
|
35
|
27
|
2026-04-11T17:43:37.436192+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929417436_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ c Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'
#!/bin/bash
DB="/volume1/Test/screenpipe/db.sqlite"
DATE=${1:-$(date -d "yesterday" '+%Y-%m-%d')}
echo "═══════════════════════════════════════"
echo " SCREENPIPE REPORT — $DATE"
echo "═══════════════════════════════════════"
echo -e "\n📱 APP USAGE (frames + estimated time)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n⌨️ ACTIVITY TYPE PER APP"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',
app_name,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n🌐 BROWSER URLS"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%4d frames %s', COUNT(*), browser_url)
FROM frames
WHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL
GROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;"
echo -e "\n🪟 WINDOW TITLES (top 20)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))
FROM frames
WHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL
GROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;"
chmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';"
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls
data db.sqlite pipes screenpipe-day.sh
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09
═══════════════════════════════════════
SCREENPIPE REPORT — 2026-04-09
═══════════════════════════════════════
📱 APP USAGE (frames + estimated time)
───────────────────────────────────────
iTerm2 185 frames ~ 13.9 min
Dia 31 frames ~ 2.3 min
Safari 20 frames ~ 1.5 min
Claude 12 frames ~ 0.9 min
UserNotificationCenter 4 frames ~ 0.3 min
Control Centre 3 frames ~ 0.2 min
Slack 2 frames ~ 0.2 min
Activity Monitor 2 frames ~ 0.2 min
Finder 1 frames ~ 0.1 min
⌨️ ACTIVITY TYPE PER APP
───────────────────────────────────────
iTerm2 clicks:283 keys:122 switches:34
Dia clicks:171 keys:56 switches:9
Safari clicks:56 keys:11 switches:3
Claude clicks:50 keys:6 switches:9
UserNotificationCenter clicks:8 keys:0 switches:4
Slack clicks:1 keys:0 switches:1
🌐 BROWSER URLS
───────────────────────────────────────
13 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp add screenpipe -- npx -y
Dia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
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] cd /volume2/applications/
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe
[sudo] password for Adm1n:
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps screenpipe ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls
app data db.sqlite pipes '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll
total 95084
drwxrwxrwx 1 root root 76 Apr 11 17:43 .
drwxr-xr-x 1 root root 450 Apr 11 16:11 ..
drwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app
drwxrwxrwx 1 root root 58 Apr 11 17:29 data
-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite
-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store
drwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes
drwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 15.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s
=> [screenpipe-app internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.2s
=> => transferring context: 40.53kB 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s
=> => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s
=> => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s
=> => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s
=> => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s
=> => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s
=> => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s
=> => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s
=> => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s
=> => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s
=> => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s
=> => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s
=> => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s
=> [screenpipe-app 2/5] WORKDIR /app 0.4s
=> [screenpipe-app 3/5] COPY requirements.txt . 0.2s
=> [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.4s
=> => exporting layers 0.3s
=> => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 2/2
✔ Network app_default Created 0.2s
✔ Container screenpipe-app Created 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 [IP_ADDRESS]:8765: bind: address already in use
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1
[+] Running 1/1
✔ Container screenpipe-app Started 0.1s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 1.7s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 24.55kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 38.85kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.6s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.1s
=> => transferring context: 47.13kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.5s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 61.77kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build
unknown shorthand flag: 'd' in -d
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.0s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 915B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [screenpipe-app 5/5] COPY . . 0.0s
=> [screenpipe-app] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude
file:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8
import{createRequire as MA5}from"node:module";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q==="object";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,"default",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for("Symbol.dispose"),PA5=Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose"),lz=(q,K,_)=>{if(K!=null){if(typeof K!=="object"&&typeof K!=="function")throw TypeError('Object expected to be assigned to "using" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!=="function")throw TypeError("Object not disposable");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError==="function"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name="SuppressedError",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,"An error was suppressed during disposal"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global=="object"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self=="object"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function("return this")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5="[object Null]",gA5="[object Undefined]",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K=="object"||K=="function")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5="[object AsyncFunction]",dA5="[object Function]",cA5="[object GeneratorFunction]",lA5="[object Proxy]",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ["__core-js_shared__"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||"");return q?"Symbol(src)_1."+q:""}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+""}catch(K){}}return""}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\^$.*+?()[\]{}|]/g,eA5=/^\[object .+?Constructor\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp("^"+_O5.call(zO5).replace(tA5,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,"Map"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,"create"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5="__lodash_hash_undefined__",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5="__lodash_hash_undefined__",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K=="string"||K=="number"||K=="symbol"||K=="boolean"?q!=="__proto__":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K=="string"?"string":"hash"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5="__lodash_hash_undefined__",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+"";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5="[object Boolean]",cO5="[object Date]",lO5="[object Error]",nO5="[object Map]",iO5="[object Number]",rO5="[object RegExp]",oO5="[object Set]",aO5="[object String]",sO5="[object Symbol]",tO5="[object ArrayBuffer]",eO5="[object DataView]",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q=="object"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5="[object Arguments]",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,"callee")&&!P$5.call(q,"callee")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8=="object"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8=="object"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_=="number"||_!="symbol"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=[CREDIT_CARD],T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\d*)$/;re=V$5});function N$5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=k$5}var k$5=[CREDIT_CARD],rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5="[object Arguments]",E$5="[object Array]",L$5="[object Boolean]",h$5="[object Date]",R$5="[object Error]",S$5="[object Function]",C$5="[object Map]",b$5="[object Number]",x$5="[object Object]",I$5="[object RegExp]",u$5="[object Set]",m$5="[object String]",B$5="[object WeakMap]",p$5="[object ArrayBuffer]",g$5="[object DataView]",F$5="[object Float32Array]",U$5="[object Float64Array]",Q$5="[object Int8Array]",d$5="[object Int16Array]",c$5="[object Int32Array]",l$5="[object Uint8Array]",n$5="[object Uint8ClampedArray]",i$5="[object Uint16Array]",r$5="[object Uint32Array]",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8=="object"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8=="object"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require("util").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding("util")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j=="length"||Y&&(j=="offset"||j=="parent")||A&&(j=="buffer"||j=="byteLength"||j=="byteOffset")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K=="function"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!="constructor")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M=="constructor")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&(("constructor"in q)&&("constructor"in K))&&!(typeof v=="function"&&v instanceof v&&typeof V=="function"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,"DataView"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,"Promise"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,"Set"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,"WeakMap"),Xz8=vw5});var sM7="[object Map]",Tw5="[object Object]",tM7="[object Promise]",eM7="[object Set]",qX7="[object WeakMap]",KX7="[object DataView]",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'\n#!/bin/bash\nDB=\"/volume1/Test/screenpipe/db.sqlite\"\nDATE=${1:-$(date -d \"yesterday\" '+%Y-%m-%d')}\n\necho \"═══════════════════════════════════════\"\necho \" SCREENPIPE REPORT — $DATE\"\necho \"═══════════════════════════════════════\"\n\necho -e \"\\n📱\u0000 APP USAGE (frames + estimated time)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n⌨️\u0000 ACTIVITY TYPE PER APP\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',\n app_name,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n🌐\u0000 BROWSER URLS\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%4d frames %s', COUNT(*), browser_url)\nFROM frames\nWHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL\nGROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho -e \"\\n🪟\u0000 WINDOW TITLES (top 20)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL\nGROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;\"\n\nchmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';\"\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls\ndata db.sqlite pipes\u0000\tscreenpipe-day.sh\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09\n═══════════════════════════════════════\n SCREENPIPE REPORT — 2026-04-09\n═══════════════════════════════════════\n\n📱\u0000 APP USAGE (frames + estimated time)\n───────────────────────────────────────\niTerm2 185 frames ~ 13.9 min\nDia 31 frames ~ 2.3 min\nSafari 20 frames ~ 1.5 min\nClaude 12 frames ~ 0.9 min\nUserNotificationCenter 4 frames ~ 0.3 min\nControl Centre 3 frames ~ 0.2 min\nSlack 2 frames ~ 0.2 min\nActivity Monitor 2 frames ~ 0.2 min\nFinder 1 frames ~ 0.1 min\n\n⌨️\u0000 ACTIVITY TYPE PER APP\n───────────────────────────────────────\niTerm2 clicks:283 keys:122 switches:34 \nDia clicks:171 keys:56 switches:9 \nSafari clicks:56 keys:11 switches:3 \nClaude clicks:50 keys:6 switches:9 \nUserNotificationCenter clicks:8 keys:0 switches:4 \nSlack clicks:1 keys:0 switches:1 \n\n🌐\u0000 BROWSER URLS\n───────────────────────────────────────\n 13 frames https://play.hbomax.com/video/watch/16b35e6c-e745-4416-bc16-0ef5092ba4e0/07b58730-24cb-419c-b5a0-1e258a77cd21\n 4 frames https://location-tracker.lakylak.xyz/dashboard\n 2 frames https://nas.lakylak.xyz/desktop/?os=ugospro#/\n 1 frames https://play.hbomax.com/show/06f986dd-dd6a-4596-9a0a-f473ef99c64b\n\n🪟\u0000 WINDOW TITLES (top 20)\n───────────────────────────────────────\niTerm2 93 -zsh\niTerm2 34 screenpipe\"\nSafari 13 Order Room Service • HBO Max\nClaude 12 Claude\niTerm2 8 ✳ Find cheapest WD Red Plus 6TB price\nDia 7 Personal: New Tab\niTerm2 7 ✳ Claude Code\niTerm2 7 ⠂ Find cheapest WD Red Plus 6TB price\niTerm2 7 ⠂ Research Western Digital Red Plus pricing\niTerm2 7 ⠐ Research Western Digital Red Plus pricing\nDia 6 Personal: GitHub - scree…\niTerm2 5 ✳ Research Western Digital Red Plus pricing\nSafari 4 Location Logger\nUserNotificationCenter 4 \niTerm2 4 nano\niTerm2 4 ⠐ Find cheapest WD Red Plus 6TB price\nControl Centre 3 Control Centre\nDia 3 Personal: Western Digita…\niTerm2 3 ✳ Check today's app usage\nActivity Monitor 2 Activity Monitor – All Processes\n\n🕐\u0000 HOURLY TIMELINE\n───────────────────────────────────────\n16:00 iTerm2 14 frames\n16:00 Safari 4 frames\n16:00 Dia 3 frames\n16:00 Control Centre 2 frames\n16:00 Activity Monitor 2 frames\n17:00 iTerm2 116 frames\n17:00 Dia 24 frames\n17:00 Safari 16 frames\n17:00 Claude 8 frames\n17:00 UserNotificationCenter 4 frames\n17:00 Finder 1 frames\n17:00 Control Centre 1 frames\n18:00 iTerm2 55 frames\n18:00 Dia 4 frames\n18:00 Claude 4 frames\n18:00 Slack 2 frames\n\n📋\u0000 CLIPBOARD\n───────────────────────────────────────\niTerm2 claude mcp add screenpipe -- npx -y screenpipe-mcp\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\nDia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n 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 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cd /volume2/applications/\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe\n[sudo] password for Adm1n: \nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps screenpipe ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls\n app data db.sqlite pipes '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll\ntotal 95084\ndrwxrwxrwx 1 root root 76 Apr 11 17:43 .\ndrwxr-xr-x 1 root root 450 Apr 11 16:11 ..\ndrwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app\ndrwxrwxrwx 1 root root 58 Apr 11 17:29 data\n-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite\n-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store\ndrwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes\ndrwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 15.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s\n => [screenpipe-app internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.2s\n => => transferring context: 40.53kB 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s\n => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s\n => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s\n => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s\n => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s\n => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s\n => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s\n => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s\n => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s\n => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s\n => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s\n => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s\n => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s\n => [screenpipe-app 2/5] WORKDIR /app 0.4s\n => [screenpipe-app 3/5] COPY requirements.txt . 0.2s\n => [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s\n => [screenpipe-app 5/5] COPY . . 0.2s \n => [screenpipe-app] exporting to image 0.4s \n => => exporting layers 0.3s \n => => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s \n => => naming to docker.io/library/app-screenpipe-app 0.0s \n[+] Running 2/2 \n ✔ Network app_default Created 0.2s \n ✔ Container screenpipe-app Created 0.1s \nError response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 0.0.0.0:8765: bind: address already in use\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.1s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 1.7s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 24.55kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 38.85kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.6s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.1s\n => => transferring context: 47.13kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.5s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 61.77kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build\nunknown shorthand flag: 'd' in -d\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.0s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 915B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => CACHED [screenpipe-app 5/5] COPY . . 0.0s\n => [screenpipe-app] exporting to image 0.0s\n => => exporting layers 0.0s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude\nfile:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8\nimport{createRequire as MA5}from\"node:module\";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q===\"object\";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,\"default\",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},\"__esModule\",{value:!0}),q&&typeof q===\"object\"||typeof q===\"function\"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for(\"Symbol.dispose\"),PA5=Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\"),lz=(q,K,_)=>{if(K!=null){if(typeof K!==\"object\"&&typeof K!==\"function\")throw TypeError('Object expected to be assigned to \"using\" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!==\"function\")throw TypeError(\"Object not disposable\");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError===\"function\"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name=\"SuppressedError\",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,\"An error was suppressed during disposal\"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global==\"object\"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self==\"object\"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function(\"return this\")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5=\"[object Null]\",gA5=\"[object Undefined]\",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K==\"object\"||K==\"function\")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5=\"[object AsyncFunction]\",dA5=\"[object Function]\",cA5=\"[object GeneratorFunction]\",lA5=\"[object Proxy]\",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ[\"__core-js_shared__\"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||\"\");return q?\"Symbol(src)_1.\"+q:\"\"}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+\"\"}catch(K){}}return\"\"}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\\\^$.*+?()[\\]{}|]/g,eA5=/^\\[object .+?Constructor\\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp(\"^\"+_O5.call(zO5).replace(tA5,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,\"Map\"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,\"create\"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5=\"__lodash_hash_undefined__\",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5=\"__lodash_hash_undefined__\",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K==\"string\"||K==\"number\"||K==\"symbol\"||K==\"boolean\"?q!==\"__proto__\":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K==\"string\"?\"string\":\"hash\"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5=\"__lodash_hash_undefined__\",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+\"\";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5=\"[object Boolean]\",cO5=\"[object Date]\",lO5=\"[object Error]\",nO5=\"[object Map]\",iO5=\"[object Number]\",rO5=\"[object RegExp]\",oO5=\"[object Set]\",aO5=\"[object String]\",sO5=\"[object Symbol]\",tO5=\"[object ArrayBuffer]\",eO5=\"[object DataView]\",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q==\"object\"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5=\"[object Arguments]\",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,\"callee\")&&!P$5.call(q,\"callee\")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8==\"object\"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8==\"object\"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_==\"number\"||_!=\"symbol\"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=9007199254740991,T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\\d*)$/;re=V$5});function N$5(q){return typeof q==\"number\"&&q>-1&&q%1==0&&q<=k$5}var k$5=9007199254740991,rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5=\"[object Arguments]\",E$5=\"[object Array]\",L$5=\"[object Boolean]\",h$5=\"[object Date]\",R$5=\"[object Error]\",S$5=\"[object Function]\",C$5=\"[object Map]\",b$5=\"[object Number]\",x$5=\"[object Object]\",I$5=\"[object RegExp]\",u$5=\"[object Set]\",m$5=\"[object String]\",B$5=\"[object WeakMap]\",p$5=\"[object ArrayBuffer]\",g$5=\"[object DataView]\",F$5=\"[object Float32Array]\",U$5=\"[object Float64Array]\",Q$5=\"[object Int8Array]\",d$5=\"[object Int16Array]\",c$5=\"[object Int32Array]\",l$5=\"[object Uint8Array]\",n$5=\"[object Uint8ClampedArray]\",i$5=\"[object Uint16Array]\",r$5=\"[object Uint32Array]\",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8==\"object\"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8==\"object\"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require(\"util\").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding(\"util\")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j==\"length\"||Y&&(j==\"offset\"||j==\"parent\")||A&&(j==\"buffer\"||j==\"byteLength\"||j==\"byteOffset\")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K==\"function\"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!=\"constructor\")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M==\"constructor\")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&((\"constructor\"in q)&&(\"constructor\"in K))&&!(typeof v==\"function\"&&v instanceof v&&typeof V==\"function\"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,\"DataView\"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,\"Promise\"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,\"Set\"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,\"WeakMap\"),Xz8=vw5});var sM7=\"[object Map]\",Tw5=\"[object Object]\",tM7=\"[object Promise]\",eM7=\"[object Set]\",qX7=\"[object WeakMap]\",KX7=\"[object DataView]\",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):\"\";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,\"__wrapped__\"),P=J&&YX7.call(K,\"__wrapped__\");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7=\"[object Arguments]\",zX7=\"[object Array]\",Pz8=\"[object Object]\",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q==\"symbol\"||QP(q)&&YL(q)==Bw5}var Bw5=\"[object Symbol]\",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_==\"number\"||_==\"symbol\"||_==\"boolean\"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Fw5=/^\\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!=\"function\"||K!=null&&typeof K!=\"function\")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5=\"Expected a function\",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,nw5=/\\\\(\\\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push(\"\");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,\"$1\"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q==\"string\")return q;if(DO(q))return se(q,vX7)+\"\";if(ae(q))return GX7?GX7.call(q):\"\";var K=q+\"\";return K==\"0\"&&1/q==-ow5?\"-0\":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?\"\":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q==\"string\"||ae(q))return q;var K=q+\"\";return K==\"0\"&&1/q==-tw5?\"-0\":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q=q[qS(K[_++])];return _&&_==z?q:void 0}var te;var Pu6=L(()=>{W_6();f_6();te=q25});function K25(q,K,_){var z=q==null?void 0:te(q,K);return z===void 0?_:z}var kX7;var NX7=L(()=>{Pu6();kX7=K25});function _25(q,K){return q!=null&&K in Object(q)}var yX7;var EX7=L(()=>{yX7=_25});function z25(q,K,_){K=eR(K,q);var z=-1,Y=K.length,A=!1;while(++z<Y){var O=qS(K[z]);if(!(A=q!=null&&_(q,O)))break;q=q[O]}if(A||++z!=Y)return A;return Y=q==null?0:q.length,!!Y&&rP6(Y)&&re(O,Y)&&(DO(q)||al(q))}var LX7;var hX7=L(()=>{W_6();Ou6();RT();wu6();_z8();f_6();LX7=z25});function Y25(q,K){return q!=null&&LX7(q,K,yX7)}var RX7;var SX7=L(()=>{EX7();hX7();RX7=Y25});function $25(q,K){if(qD6(q)&&Wz8(K))return fz8(qS(q),K);return function(_){var z=kX7(_,q);return z===void 0&&z===K?RX7(_,q):eP6(K,z,A25|O25)}}var A25=1,O25=2,CX7;var bX7=L(()=>{Dz8();NX7();SX7();Zz8();Va8();ka8();f_6();CX7=$25});function w25(q){return q}var _D6;var vz8=L(()=>{_D6=w25});function j25(q){return function(K){return K==null?void 0:K[q]}}var xX7;var IX7=L(()=>{xX7=j25});function H25(q){return function(K){return te(K,q)}}var uX7;var mX7=L(()=>{Pu6();uX7=H25});function J25(q){return qD6(q)?xX7(qS(q)):uX7(q)}var BX7;var pX7=L(()=>{IX7();mX7();Zz8();f_6();BX7=J25});function M25(q){if(typeof q==\"function\")return q;if(q==null)return _D6;if(typeof q==\"object\")return DO(q)?CX7(q[0],q[1]):MX7(q);return BX7(q)}var rk;var ee=L(()=>{XX7();bX7();vz8();RT();pX7();rk=M25});function X25(q,K){var _,z=-1,Y=q.length;while(++z<Y){var A=K(q[z]);if(A!==void 0)_=_===void 0?A:_+A}return _}var gX7;var FX7=L(()=>{gX7=X25});function P25(q,K){return q&&q.length?gX7(q,rk(K,2)):0}var zD6;var UX7=L(()=>{ee();FX7();zD6=P25});import{randomUUID as Du6}from\"crypto\";var ya8=()=>{};function QX7(){return Ea8}function dX7(q){Ea8=q}function cX7(q){return Tz8.has(q)?Tz8.get(q):void 0}function lX7(q,K){Tz8.set(q,K)}function nX7(q){return La8.get(q)}function iX7(q,K){La8.set(q,K)}function AW(){Ea8=null,Tz8.clear(),La8.clear()}function Vz8(){return ha8}function rX7(q){ha8=q}function oX7(){ha8=void 0}var Ea8=null,Tz8,La8,ha8;var tl=L(()=>{Tz8=new Map;La8=new Map});function E9(){let q=new Set;return{subscribe(K){return q.add(K),()=>{q.delete(K)}},emit(...K){for(let _ of q)_(...K)},clear(){q.clear()}}}var DD6={};f8(DD6,{waitForScrollIdle:()=>Vu6,updateLastInteractionTime:()=>G_6,switchSession:()=>Yf,snapshotOutputTokensForTurn:()=>h25,setUserMsgOptIn:()=>Vg,setUseCoworkPlugins:()=>OL,setTracerProvider:()=>xz8,setThinkingClearLatched:()=>Yt8,setTeleportedSessionInfo:()=>Bu6,setSystemPromptSectionCacheEntry:()=>is8,setStrictToolResultPairing:()=>I25,setStatsStore:()=>ca8,setSessionTrustAccepted:()=>Iu6,setSessionSource:()=>fs8,setSessionPersistenceDisabled:()=>ms8,setSessionIngressToken:()=>y_6,setSessionBypassPermissionsMode:()=>Is8,setSdkBetas:()=>Ys8,setSdkAgentProgressSummariesEnabled:()=>Ps8,setScheduledTasksEnabled:()=>bu6,setQuestionPreviewFormat:()=>uz8,setPromptId:()=>Fu6,setPromptCache1hAllowlist:()=>ss8,setProjectRoot:()=>fu6,setOriginalCwd:()=>KS,setOauthTokenFromFd:()=>Vs8,setNeedsPlanModeExitAttachment:()=>gI,setNeedsAutoModeExitAttachment:()=>CG,setModelStrings:()=>Nu6,setMeterProvider:()=>bz8,setMeter:()=>As8,setMemoryToggledOff:()=>Ws8,setMainThreadAgentType:()=>_n,setMainLoopModelOverride:()=>dP,setLspRecommendationShownThisSession:()=>Us8,setLoopChainStartedAt:()=>g25,setLoggerProvider:()=>Sz8,setLastMainRequestId:()=>ea8,setLastEmittedDate:()=>PD6,setLastClassifierRequests:()=>hu6,setLastApiCompletionTimestamp:()=>Tu6,setLastAPIRequestMessages:()=>Ls8,setLastAPIRequest:()=>ys8,setKairosActive:()=>x25,setIsRemoteMode:()=>ls8,setIsInteractive:()=>Ms8,setInlinePlugins:()=>bs8,setInitialMainLoopModel:()=>zs8,setInitJsonSchema:()=>Qs8,setHasUnknownModelCost:()=>hz8,setHasExitedPlanMode:()=>$L,setHasDevChannels:()=>Qz8,setFlagSettingsPath:()=>Zs8,setFlagSettingsInline:()=>Gs8,setFastModeHeaderLatched:()=>Kt8,setEventLogger:()=>Cz8,setDirectConnectServerUrl:()=>W25,setCwdState:()=>Ia8,setCostStateForRestore:()=>ku6,setClientType:()=>Xs8,setChromeFlagOverride:()=>xs8,setCachedClaudeMdContent:()=>hs8,setCacheEditingHeaderLatched:()=>d25,setApiKeyFromFd:()=>Ns8,setAllowedSettingSources:()=>Cs8,setAllowedChannels:()=>zn,setAfkModeHeaderLatched:()=>es8,setAdditionalDirectoriesForClaudeMd:()=>pu6,setActiveRoutine:()=>Z25,resetTurnToolDuration:()=>Ua8,resetTurnHookDuration:()=>Fa8,resetTurnClassifierDuration:()=>da8,resetTotalDurationStateAndCost_FOR_TESTS_ONLY:()=>G25,resetStateForTests:()=>_P7,resetSdkInitState:()=>YP7,resetModelStringsForTestingOnly:()=>C25,resetCostState:()=>OD6,removeSessionCronTasks:()=>xu6,registerHookCallbacks:()=>z66,regenerateSessionId:()=>Sa8,preferThirdPartyAuthentication:()=>Ru6,onSessionSwitch:()=>xa8,onInteraction:()=>ra8,needsPlanModeExitAttachment:()=>Bs8,needsAutoModeExitAttachment:()=>ps8,markScrollActivity:()=>Ks8,markPostCompaction:()=>K66,markFirstTeleportMessageLogged:()=>Fz8,isSessionPersistenceDisabled:()=>ok,incrementBudgetContinuationCount:()=>S25,hasUnknownModelCost:()=>ta8,hasShownLspRecommendationThisSession:()=>Fs8,hasExitedPlanModeInSession:()=>uu6,handlePlanModeTransition:()=>Kn,handleAutoModeTransition:()=>gs8,getUserMsgOptIn:()=>AL,getUseCoworkPlugins:()=>Cu6,getUsageForModel:()=>_s8,getTurnToolDurationMs:()=>V25,getTurnToolCount:()=>k25,getTurnOutputTokens:()=>E25,getTurnHookDurationMs:()=>v25,getTurnHookCount:()=>T25,getTurnClassifierDurationMs:()=>N25,getTurnClassifierCount:()=>y25,getTracerProvider:()=>N_6,getTotalWebSearchRequests:()=>oa8,getTotalToolDuration:()=>ga8,getTotalOutputTokens:()=>el,getTotalLinesRemoved:()=>T_6,getTotalLinesAdded:()=>v_6,getTotalInputTokens:()=>V_6,getTotalDuration:()=>YD6,getTotalCostUSD:()=>XM,getTotalCacheReadInputTokens:()=>Zu6,getTotalCacheCreationInputTokens:()=>Gu6,getTotalAPIDurationWithoutRetries:()=>pa8,getTotalAPIDuration:()=>RG,getTokenCounter:()=>wD6,getThinkingClearLatched:()=>zt8,getTeleportedSessionInfo:()=>gz8,getSystemPromptSectionCache:()=>ns8,getStrictToolResultPairing:()=>Ds8,getStatsStore:()=>q66,getSlowOperations:()=>OP7,getSessionTrustAccepted:()=>MD6,getSessionSource:()=>u25,getSessionProjectDir:()=>Z_6,getSessionIngressToken:()=>vs8,getSessionId:()=>N8,getSessionCronTasks:()=>L_6,getSessionCreatedTeams:()=>mu6,getSessionCounter:()=>Os8,getSessionBypassPermissionsMode:()=>E_6,getSdkBetas:()=>OW,getSdkAgentProgressSummariesEnabled:()=>vg,getScheduledTasksEnabled:()=>JD6,getRegisteredHooks:()=>zS,getQuestionPreviewFormat:()=>Iz8,getPromptId:()=>gu6,getPromptCache1hAllowlist:()=>as8,getProjectRoot:()=>wz,getPrCounter:()=>yu6,getPlanSlugCache:()=>h_6,getParentSessionId:()=>Ca8,getOriginalCwd:()=>A7,getOauthTokenFromFd:()=>Ts8,getModelUsage:()=>ST,getModelStrings:()=>$D6,getMeterProvider:()=>Js8,getMeter:()=>b25,getMemoryToggledOff:()=>Tg,getMainThreadAgentType:()=>Ng,getMainLoopModelOverride:()=>pI,getLoopChainStartedAt:()=>p25,getLoggerProvider:()=>Lu6,getLocCounter:()=>Rz8,getLastMainRequestId:()=>vu6,getLastInteractionTime:()=>_S,getLastEmittedDate:()=>os8,getLastClassifierRequests:()=>zP7,getLastApiCompletionTimestamp:()=>qn,getLastAPIRequestMessages:()=>m25,getLastAPIRequest:()=>Es8,getKairosActive:()=>SG,getIsScrollDraining:()=>k_6,getIsRemoteMode:()=>cK,getIsNonInteractiveSession:()=>d7,getIsInteractive:()=>CT,getInvokedSkillsForAgent:()=>ds8,getInvokedSkills:()=>Q25,getInlinePlugins:()=>kg,getInitialMainLoopModel:()=>AD6,getInitJsonSchema:()=>Bz8,getHasDevChannels:()=>Uz8,getFlagSettingsPath:()=>_66,getFlagSettingsInline:()=>HD6,getFastModeHeaderLatched:()=>qt8,getEventLogger:()=>Hs8,getDirectConnectServerUrl:()=>ua8,getCwdState:()=>BI,getCurrentTurnTokenBudget:()=>L25,getCostCounter:()=>ws8,getCommitCounter:()=>$s8,getCodeEditToolDecisionCounter:()=>Eu6,getClientType:()=>jD6,getChromeFlagOverride:()=>Su6,getCachedClaudeMdContent:()=>Rs8,getCacheEditingHeaderLatched:()=>_t8,getBudgetContinuationCount:()=>R25,getApiKeyFromFd:()=>ks8,getAllowedSettingSources:()=>Ss8,getAllowedChannels:()=>TJ,getAgentColorMap:()=>mz8,getAfkModeHeaderLatched:()=>ts8,getAdditionalDirectoriesForClaudeMd:()=>bG,getActiveTimeCounter:()=>js8,getActiveRoutine:()=>f25,flushInteractionTime:()=>na8,deleteLoopChainStartedAt:()=>F25,consumePostCompaction:()=>qs8,clearSystemPromptSectionState:()=>rs8,clearRegisteredPluginHooks:()=>pz8,clearRegisteredHooks:()=>U25,clearInvokedSkillsForAgent:()=>Y66,clearInvokedSkills:()=>cs8,clearBetaHeaderLatches:()=>At8,addToTurnHookDuration:()=>yz8,addToTurnClassifierDuration:()=>Qa8,addToTotalLinesChanged:()=>Ez8,addToTotalDurationState:()=>ma8,addToTotalCostState:()=>Ba8,addToToolDuration:()=>Nz8,addToInMemoryErrorLog:()=>B25,addSlowOperation:()=>AP7,addSessionCronTask:()=>us8,addInvokedSkill:()=>XD6});import{realpathSync as aX7}from\"fs\";import{cwd as D25}from\"process\";function eX7(){let q=\"\";if(typeof process<\"u\"&&typeof process.cwd===\"function\"&&typeof aX7===\"function\"){let _=D25();try{q=aX7(_).normalize(\"NFC\")}catch{q=_.normalize(\"NFC\")}}return{originalCwd:q,projectRoot:q,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:q,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,memoryToggledOff:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:\"cli\",sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[\"userSettings\",\"projectSettings\",\"localSettings\",\"flagSettings\",\"policySettings\"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:Du6(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,scheduledTasksEnabled:!1,sessionCronTasks:[],loopChainStartedAt:Object.create(null),sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,...!1,directConnectServerUrl:void 0,activeRoutine:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],allowedChannels:[],hasDevChannels:!1,sessionProjectDir:null,promptCache1hAllowlist:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,thinkingClearLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function N8(){return G8.sessionId}function Sa8(q={}){if(q.setCurrentAsParent)G8.parentSessionId=G8.sessionId;return G8.planSlugCache.delete(G8.sessionId),G8.sessionId=Du6(),G8.sessionProjectDir=null,G8.sessionId}function Ca8(){return G8.parentSessionId}function Yf(q,K=null){if(G8.sessionId!==q)G8.planSlugCache.delete(G8.sessionId);G8.sessionId=q,G8.sessionProjectDir=K,ba8.emit(q)}function Z_6(){return G8.sessionProjectDir}function A7(){return G8.originalCwd}function wz(){return G8.projectRoot}function KS(q){G8.originalCwd=q.normalize(\"NFC\")}function fu6(q){G8.projectRoot=q.normalize(\"NFC\")}function BI(){return G8.cwd}function Ia8(q){G8.cwd=q.normalize(\"NFC\")}function ua8(){return G8.directConnectServerUrl}function W25(q){G8.directConnectServerUrl=q}function f25(){return G8.activeRoutine}function Z25(q){G8.activeRoutine=q}function ma8(q,K){G8.totalAPIDuration+=q,G8.totalAPIDurationWithoutRetries+=K}function G25(){G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalCostUSD=0}function Ba8(q,K,_){G8.modelUsage[_]=K,G8.totalCostUSD+=q}function XM(){return G8.totalCostUSD}function RG(){return G8.totalAPIDuration}function YD6(){return Date.now()-G8.startTime}function pa8(){return G8.totalAPIDurationWithoutRetries}function ga8(){return G8.totalToolDuration}function Nz8(q){G8.totalToolDuration+=q,G8.turnToolDurationMs+=q,G8.turnToolCount++}function v25(){return G8.turnHookDurationMs}function yz8(q){G8.turnHookDurationMs+=q,G8.turnHookCount++}function Fa8(){G8.turnHookDurationMs=0,G8.turnHookCount=0}function T25(){return G8.turnHookCount}function V25(){return G8.turnToolDurationMs}function Ua8(){G8.turnToolDurationMs=0,G8.turnToolCount=0}function k25(){return G8.turnToolCount}function N25(){return G8.turnClassifierDurationMs}function Qa8(q){G8.turnClassifierDurationMs+=q,G8.turnClassifierCount++}function da8(){G8.turnClassifierDurationMs=0,G8.turnClassifierCount=0}function y25(){return G8.turnClassifierCount}function q66(){return G8.statsStore}function ca8(q){G8.statsStore=q}function G_6(q){if(q)qP7();else la8=!0}function na8(){if(la8)qP7()}function qP7(){G8.lastInteractionTime=Date.now(),la8=!1,ia8.emit()}function Ez8(q,K){G8.totalLinesAdded+=q,G8.totalLinesRemoved+=K}function v_6(){return G8.totalLinesAdded}function T_6(){return G8.totalLinesRemoved}function V_6(){return zD6(Object.values(G8.modelUsage),\"inputTokens\")}function el(){return zD6(Object.values(G8.modelUsage),\"outputTokens\")}function Zu6(){return zD6(Object.values(G8.modelUsage),\"cacheReadInputTokens\")}function Gu6(){return zD6(Object.values(G8.modelUsage),\"cacheCreationInputTokens\")}function oa8(){return zD6(Object.values(G8.modelUsage),\"webSearchRequests\")}function E25(){return el()-aa8}function L25(){return sa8}function h25(q){aa8=el(),sa8=q,Lz8=0}function R25(){return Lz8}function S25(){Lz8++}function hz8(){G8.hasUnknownModelCost=!0}function ta8(){return G8.hasUnknownModelCost}function vu6(){return G8.lastMainRequestId}function ea8(q){G8.lastMainRequestId=q}function qn(){return G8.lastApiCompletionTimestamp}function Tu6(q){G8.lastApiCompletionTimestamp=q}function K66(){G8.pendingPostCompaction=!0}function qs8(){let q=G8.pendingPostCompaction;return G8.pendingPostCompaction=!1,q}function _S(){return G8.lastInteractionTime}function Ks8(){if(kz8=!0,Wu6)clearTimeout(Wu6);Wu6=setTimeout(()=>{kz8=!1,Wu6=void 0},KP7),Wu6.unref?.()}function k_6(){return kz8}async function Vu6(){while(kz8)await new Promise((q)=>setTimeout(q,KP7).unref?.())}function ST(){return G8.modelUsage}function _s8(q){return G8.modelUsage[q]}function pI(){return G8.mainLoopModelOverride}function AD6(){return G8.initialMainLoopModel}function dP(q){G8.mainLoopModelOverride=q}function zs8(q){G8.initialMainLoopModel=q}function OW(){return G8.sdkBetas}function Ys8(q){G8.sdkBetas=q}function OD6(){G8.totalCostUSD=0,G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalToolDuration=0,G8.startTime=Date.now(),G8.totalLinesAdded=0,G8.totalLinesRemoved=0,G8.hasUnknownModelCost=!1,G8.modelUsage={},G8.promptId=null}function ku6({totalCostUSD:q,totalAPIDuration:K,totalAPIDurationWithoutRetries:_,totalToolDuration:z,totalLinesAdded:Y,totalLinesRemoved:A,lastDuration:O,modelUsage:$}){if(G8.totalCostUSD=q,G8.totalAPIDuration=K,G8.totalAPIDurationWithoutRetries=_,G8.totalToolDuration=z,G8.totalLinesAdded=Y,G8.totalLinesRemoved=A,$)G8.modelUsage=$;if(O)G8.startTime=Date.now()-O}function _P7(){throw Error(\"resetStateForTests can only be called in tests\")}function $D6(){return G8.modelStrings}function Nu6(q){G8.modelStrings=q}function C25(){G8.modelStrings=null}function As8(q,K){G8.meter=q,G8.sessionCounter=K(\"claude_code.session.count\",{description:\"Count of CLI sessions started\"}),G8.locCounter=K(\"claude_code.lines_of_code.count\",{description:\"Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed\"}),G8.prCounter=K(\"claude_code.pull_request.count\",{description:\"Number of pull requests created\"}),G8.commitCounter=K(\"claude_code.commit.count\",{description:\"Number of git commits created\"}),G8.costCounter=K(\"claude_code.cost.usage\",{description:\"Cost of the Claude Code session\",unit:\"USD\"}),G8.tokenCounter=K(\"claude_code.token.usage\",{description:\"Number of tokens used\",unit:\"tokens\"}),G8.codeEditToolDecisionCounter=K(\"claude_code.code_edit_tool.decision\",{description:\"Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools\"}),G8.activeTimeCounter=K(\"claude_code.active_time.total\",{description:\"Total active time in seconds\",unit:\"s\"})}function b25(){return G8.meter}function Os8(){return G8.sessionCounter}function Rz8(){return G8.locCounter}function yu6(){return G8.prCounter}function $s8(){return G8.commitCounter}function ws8(){return G8.costCounter}function wD6(){return G8.tokenCounter}function Eu6(){return G8.codeEditToolDecisionCounter}function js8(){return G8.activeTimeCounter}function Lu6(){return G8.loggerProvider}function Sz8(q){G8.loggerProvider=q}function Hs8(){return G8.eventLogger}function Cz8(q){G8.eventLogger=q}function Js8(){return G8.meterProvider}function bz8(q){G8.meterProvider=q}function N_6(){return G8.tracerProvider}function xz8(q){G8.tracerProvider=q}function d7(){return!G8.isInteractive}function CT(){return G8.isInteractive}function Ms8(q){G8.isInteractive=q}function jD6(){return G8.clientType}function Xs8(q){G8.clientType=q}function vg(){return G8.sdkAgentProgressSummariesEnabled}function Ps8(q){G8.sdkAgentProgressSummariesEnabled=q}function SG(){return G8.kairosActive}function x25(q){G8.kairosActive=q}function Ds8(){return G8.strictToolResultPairing}function I25(q){G8.strictToolResultPairing=q}function Tg(){return G8.memoryToggledOff}function Ws8(q){G8.memoryToggledOff=q}function AL(){return G8.userMsgOptIn}function Vg(q){G8.userMsgOptIn=q}function u25(){return G8.sessionSource}function fs8(q){G8.sessionSource=q}function Iz8(){return G8.questionPreviewFormat}function uz8(q){G8.questionPreviewFormat=q}function mz8(){return G8.agentColorMap}function _66(){return G8.flagSettingsPath}function Zs8(q){G8.flagSettingsPath=q}function HD6(){return G8.flagSettingsInline}function Gs8(q){G8.flagSettingsInline=q}function vs8(){return G8.sessionIngressToken}function y_6(q){G8.sessionIngressToken=q}function Ts8(){return G8.oauthTokenFromFd}function Vs8(q){G8.oauthTokenFromFd=q}function ks8(){return G8.apiKeyFromFd}function Ns8(q){G8.apiKeyFromFd=q}function ys8(q){G8.lastAPIRequest=q}function Es8(){return G8.lastAPIRequest}function Ls8(q){G8.lastAPIRequestMessages=q}function m25(){return G8.lastAPIRequestMessages}function hu6(q){G8.lastClassifierRequests=q}function zP7(){return G8.lastClassifierRequests}function hs8(q){G8.cachedClaudeMdContent=q}function Rs8(){return G8.cachedClaudeMdContent}function B25(q){if(G8.inMemoryErrorLog.length>=100)G8.inMemoryErrorLog.shift();G8.inMemoryErrorLog.push(q)}function Ss8(){return G8.allowedSettingSources}function Cs8(q){G8.allowedSettingSources=q}function Ru6(){return d7()&&G8.clientType!==\"claude-vscode\"}function bs8(q){G8.inlinePlugins=q}function kg(){return G8.inlinePlugins}function xs8(q){G8.chromeFlagOverride=q}function Su6(){return G8.chromeFlagOverride}function OL(q){G8.useCoworkPlugins=q,AW()}function Cu6(){return G8.useCoworkPlugins}function Is8(q){G8.sessionBypassPermissionsMode=q}function E_6(){return G8.sessionBypassPermissionsMode}function bu6(q){G8.scheduledTasksEnabled=q}function JD6(){return G8.scheduledTasksEnabled}function L_6(){return G8.sessionCronTasks}function us8(q){G8.sessionCronTasks.push(q)}function p25(q){return G8.loopChainStartedAt[q]}function g25(q,K){G8.loopChainStartedAt[q]=K}function F25(q){delete G8.loopChainStartedAt[q]}function xu6(q){if(q.length===0)return 0;let K=new Set(q),_=G8.sessionCronTasks.filter((Y)=>!K.has(Y.id)),z=G8.sessionCronTasks.length-_.length;if(z===0)return 0;return G8.sessionCronTasks=_,z}function Iu6(q){G8.sessionTrustAccepted=q}function MD6(){return G8.sessionTrustAccepted}function ms8(q){G8.sessionPersistenceDisabled=q}function ok(){return G8.sessionPersistenceDisabled}function uu6(){return G8.hasExitedPlanMode}function $L(q){G8.hasExitedPlanMode=q}function Bs8(){return G8.needsPlanModeExitAttachment}function gI(q){G8.needsPlanModeExitAttachment=q}function Kn(q,K){if(K===\"plan\"&&q!==\"plan\")G8.needsPlanModeExitAttachment=!1;if(q===\"plan\"&&K!==\"plan\")G8.needsPlanModeExitAttachment=!0}function ps8(){return G8.needsAutoModeExitAttachment}function CG(q){G8.needsAutoModeExitAttachment=q}function gs8(q,K){if(q===\"auto\"&&K===\"plan\"||q===\"plan\"&&K===\"auto\")return;let _=q===\"auto\",z=K===\"auto\";if(z&&!_)G8.needsAutoModeExitAttachment=!1;if(_&&!z)G8.needsAutoModeExitAttachment=!0}function Fs8(){return G8.lspRecommendationShownThisSession}function Us8(q){G8.lspRecommendationShownThisSession=q}function Qs8(q){G8.initJsonSchema=q}function Bz8(){return G8.initJsonSchema}function z66(q){if(!G8.registeredHooks)G8.registeredHooks={};for(let[K,_]of Object.entries(q)){let z=K;if(!G8.registeredHooks[z])G8.registeredHooks[z]=[];G8.registeredHooks[z].push(..._)}}function zS(){return G8.registeredHooks}function U25(){G8.registeredHooks=null}function pz8(){if(!G8.registeredHooks)return;let q={};for(let[K,_]of Object.entries(G8.registeredHooks)){let z=_.filter((Y)=>!(\"pluginRoot\"in Y));if(z.length>0)q[K]=z}G8.registeredHooks=Object.keys(q).length>0?q:null}function YP7(){G8.initJsonSchema=null,G8.registeredHooks=null}function h_6(){return G8.planSlugCache}function mu6(){return G8.sessionCreatedTeams}function Bu6(q){G8.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:q.sessionId}}function gz8(){return G8.teleportedSessionInfo}function Fz8(){if(G8.teleportedSessionInfo)G8.teleportedSessionInfo.hasLoggedFirstMessage=!0}function XD6(q,K,_,z=null){let Y=`${z??\"\"}:${q}`;G8.invokedSkills.set(Y,{skillName:q,skillPath:K,content:_,invokedAt:Date.now(),agentId:z})}function Q25(){return G8.invokedSkills}function ds8(q){let K=q??null,_=new Map;for(let[z,Y]of G8.invokedSkills)if(Y.agentId===K)_.set(z,Y);return _}function cs8(q){if(!q||q.size===0){G8.invokedSkills.clear();return}for(let[K,_]of G8.invokedSkills)if(_.agentId===null||!q.has(_.agentId))G8.invokedSkills.delete(K)}function Y66(q){for(let[K,_]of G8.invokedSkills)if(_.agentId===q)G8.invokedSkills.delete(K)}function AP7(q,K){return}function OP7(){if(G8.slowOperations.length===0)return tX7;let q=Date.now();if(G8.slowOperations.some((K)=>q-K.timestamp>=Ra8)){if(G8.slowOperations=G8.slowOperations.filter((K)=>q-K.timestamp<Ra8),G8.slowOperations.length===0)return tX7}return G8.slowOperations}function Ng(){return G8.mainThreadAgentType}function _n(q){G8.mainThreadAgentType=q}function cK(){return G8.isRemoteMode}function ls8(q){G8.isRemoteMode=q}function ns8(){return G8.systemPromptSectionCache}function is8(q,K){G8.systemPromptSectionCache.set(q,K)}function rs8(){G8.systemPromptSectionCache.clear()}function os8(){return G8.lastEmittedDate}function PD6(q){G8.lastEmittedDate=q}function bG(){return G8.additionalDirectoriesForClaudeMd}function pu6(q){G8.additionalDirectoriesForClaudeMd=q}function TJ(){return G8.allowedChannels}function zn(q){G8.allowedChannels=q}function Uz8(){return G8.hasDevChannels}function Qz8(q){G8.hasDevChannels=q}function as8(){return G8.promptCache1hAllowlist}function ss8(q){G8.promptCache1hAllowlist=q}function ts8(){return G8.afkModeHeaderLatched}function es8(q){G8.afkModeHeaderLatched=q}function qt8(){return G8.fastModeHeaderLatched}function Kt8(q){G8.fastModeHeaderLatched=q}function _t8(){return G8.cacheEditingHeaderLatched}function d25(q){G8.cacheEditingHeaderLatched=q}function zt8(){return G8.thinkingClearLatched}function Yt8(q){G8.thinkingClearLatched=q}function At8(){G8.afkModeHeaderLatched=null,G8.fastModeHeaderLatched=null,G8.cacheEditingHeaderLatched=null,G8.thinkingClearLatched=null}function gu6(){return G8.promptId}function Fu6(q){G8.promptId=q}var G8,ba8,xa8,la8=!1,ia8,ra8,aa8=0,sa8=null,Lz8=0,kz8=!1,Wu6,KP7=150,sX7=10,Ra8=1e4,tX7;var v8=L(()=>{UX7();ya8();tl();G8=eX7();ba8=E9(),xa8=ba8.subscribe;ia8=E9(),ra8=ia8.subscribe;tX7=[]});function dz8(q){let K;for(let _ in q)if(_.startsWith(\"_PROTO_\")){if(K===void 0)K={...q};delete K[_]}return K??q}function $P7(q){if(A66!==null)return;if(A66=q,Uu6.length>0){let K=[...Uu6];Uu6.length=0,queueMicrotask(()=>{for(let _ of K)if(_.async)A66.logEventAsync(_.eventName,_.metadata);else A66.logEvent(_.eventName,_.metadata)})}}function d(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!1});return}A66.logEvent(q,K)}async function wP7(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!0});return}await A66.logEventAsync(q,K)}var Uu6,A66=null;var T8=L(()=>{Uu6=[]});function WD6({writeFn:q,flushIntervalMs:K=1000,maxBufferSize:_=100,maxBufferBytes:z=1/0,immediateMode:Y=!1}){let A=[],O=0,$=null,w=null;function j(){if($)clearTimeout($),$=null}function H(){if(w)q(w.join(\"\")),w=null;if(A.length===0)return;q(A.join(\"\")),A=[],O=0,j()}function J(){if(!$)$=setTimeout(H,K)}function M(){if(w){w.push(...A),A=[],O=0,j();return}let X=A;A=[],O=0,j(),w=X,setImmediate(()=>{let P=w;if(w=null,P)q(P.join(\"\"))})}return{write(X){if(Y){q(X);return}if(A.push(X),O+=X.length,J(),A.length>=_||O>=z)M()},flush:H,dispose(){H()}}}function gq(q){return Ot8.add(q),()=>Ot8.delete(q)}async function jP7(){await Promise.all(Array.from(Ot8).map((q)=>q()))}var Ot8;var o9=L(()=>{Ot8=new Set});function c25(q){let K=[],_=q.match(/^MCP server [\"']([^\"']+)[\"']/);if(_&&_[1])K.push(\"mcp\"),K.push(_[1].toLowerCase());else{let A=q.match(/^([^:[]+):/);if(A&&A[1])K.push(A[1].trim().toLowerCase())}let z=q.match(/^\\[([^\\]]+)]/);if(z&&z[1])K.push(z[1].trim().toLowerCase());if(q.toLowerCase().includes(\"1p event:\"))K.push(\"1p\");let Y=q.match(/:\\s*([^:]+?)(?:\\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let A=Y[1].trim().toLowerCase();if(A.length<30&&!A.includes(\" \"))K.push(A)}return Array.from(new Set(K))}function l25(q,K){if(!K)return!0;if(q.length===0)return!1;if(K.isExclusive)return!q.some((_)=>K.exclude.includes(_));else return q.some((_)=>K.include.includes(_))}function JP7(q,K){if(!K)return!0;let _=c25(q);return l25(_,K)}var HP7;var MP7=L(()=>{h4();HP7=A1((q)=>{if(!q||q.trim()===\"\")return null;let K=q.split(\",\").map((A)=>A.trim()).filter(Boolean);if(K.length===0)return null;let _=K.some((A)=>A.startsWith(\"!\")),z=K.some((A)=>!A.startsWith(\"!\"));if(_&&z)return null;let Y=K.map((A)=>A.replace(/^!/,\"\").toLowerCase());return{include:_?[]:Y,exclude:_?Y:[],isExclusive:_}})});import{homedir as n25}from\"os\";import{join as XP7}from\"path\";function fD6(){return XP7(O7(),\"teams\")}function ZD6(q){let K=process.env.NODE_OPTIONS;if(!K)return!1;return K.split(/\\s+/).includes(q)}function Yn(q,K){if(q===void 0)return K;let _=parseInt(q,10);return Number.isNaN(_)?K:_}function B6(q){if(!q)return!1;if(typeof q===\"boolean\")return q;let K=q.toLowerCase().trim();return[\"1\",\"true\",\"yes\",\"on\"].includes(K)}function a9(q){if(q===void 0)return!1;if(typeof q===\"boolean\")return!q;if(!q)return!1;let K=q.toLowerCase().trim();return[\"0\",\"false\",\"no\",\"off\"].includes(K)}function D9(){return B6(process.env.CLAUDE_CODE_SIMPLE)||process.argv.includes(\"--bare\")}function PP7(q){let K={};if(q)for(let _ of q){let[z,...Y]=_.split(\"=\");if(!z||Y.length===0)throw Error(`Invalid environment variable format: ${_}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);K[z]=Y.join(\"=\")}return K}function YS(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||\"us-east-1\"}function cz8(){return process.env.CLOUD_ML_REGION||\"us-east5\"}function DP7(){return B6(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)}function Af(){return!1}function AS(){return!1}function WP7(){return{namespace:void 0,cluster:void 0}}function lz8(q){if(q){let K=i25.find(([_])=>q.startsWith(_));if(K)return process.env[K[1]]||cz8()}return cz8()}var O7,i25;var B8=L(()=>{h4();O7=A1(()=>{return(process.env.CLAUDE_CONFIG_DIR??XP7(n25(),\".claude\")).normalize(\"NFC\")},()=>process.env.CLAUDE_CONFIG_DIR);i25=[[\"claude-haiku-4-5\",\"VERTEX_REGION_CLAUDE_HAIKU_4_5\"],[\"claude-3-5-haiku\",\"VERTEX_REGION_CLAUDE_3_5_HAIKU\"],[\"claude-3-5-sonnet\",\"VERTEX_REGION_CLAUDE_3_5_SONNET\"],[\"claude-3-7-sonnet\",\"VERTEX_REGION_CLAUDE_3_7_SONNET\"],[\"claude-opus-4-6\",\"VERTEX_REGION_CLAUDE_4_6_OPUS\"],[\"claude-opus-4-1\",\"VERTEX_REGION_CLAUDE_4_1_OPUS\"],[\"claude-opus-4\",\"VERTEX_REGION_CLAUDE_4_0_OPUS\"],[\"claude-sonnet-4-6\",\"VERTEX_REGION_CLAUDE_4_6_SONNET\"],[\"claude-sonnet-4-5\",\"VERTEX_REGION_CLAUDE_4_5_SONNET\"],[\"claude-sonnet-4\",\"VERTEX_REGION_CLAUDE_4_0_SONNET\"]]});function $4(q,K,_,z,Y){if(z===\"m\")throw TypeError(\"Private method is not writable\");if(z===\"a\"&&!Y)throw TypeError(\"Private accessor was defined without a setter\");if(typeof K===\"function\"?q!==K||!Y:!K.has(q))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return z===\"a\"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_}function u1(q,K,_,z){if(_===\"a\"&&!z)throw TypeError(\"Private accessor was defined without a getter\");if(typeof K===\"function\"?q!==K||!z:!K.has(q))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return _===\"m\"?z:_===\"a\"?z.call(q):z?z.value:K.get(q)}var An=()=>{};var $t8=function(){let{crypto:q}=globalThis;if(q?.randomUUID)return $t8=q.randomUUID.bind(q),q.randomUUID();let K=new Uint8Array(1),_=q?()=>q.getRandomValues(K)[0]:()=>Math.random()*255&255;return\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,(z)=>(+z^_()&15>>+z/4).toString(16))};function On(q){return typeof q===\"object\"&&q!==null&&((\"name\"in q)&&q.name===\"AbortError\"||(\"message\"in q)&&String(q.message).includes(\"FetchRequestCanceledException\"))}var Qu6=(q)=>{if(q instanceof Error)return q;if(typeof q===\"object\"&&q!==null){try{if(Object.prototype.toString.call(q)===\"[object Error]\"){let K=Error(q.message,q.cause?{cause:q.cause}:{});if(q.stack)K.stack=q.stack;if(q.cause&&!K.cause)K.cause=q.cause;if(q.name)K.name=q.name;return K}}catch{}try{return Error(JSON.stringify(q))}catch{}}return Error(q)};var vq,dq,c_,Of,yg,du6,R_6,cu6,S_6,lu6,nu6,iu6,ru6;var $W=L(()=>{vq=class vq extends Error{};dq=class dq extends vq{constructor(q,K,_,z,Y){super(`${dq.makeMessage(q,K,_)}`);this.status=q,this.headers=z,this.requestID=z?.get(\"request-id\"),this.error=K,this.type=Y??null}static makeMessage(q,K,_){let z=K?.message?typeof K.message===\"string\"?K.message:JSON.stringify(K.message):K?JSON.stringify(K):_;if(q&&z)return`${q} ${z}`;if(q)return`${q} status code (no body)`;if(z)return z;return\"(no status code or body)\"}static generate(q,K,_,z){if(!q||!z)return new Of({message:_,cause:Qu6(K)});let Y=K,A=Y?.error?.type;if(q===400)return new du6(q,Y,_,z,A);if(q===401)return new R_6(q,Y,_,z,A);if(q===403)return new cu6(q,Y,_,z,A);if(q===404)return new S_6(q,Y,_,z,A);if(q===409)return new lu6(q,Y,_,z,A);if(q===422)return new nu6(q,Y,_,z,A);if(q===429)return new iu6(q,Y,_,z,A);if(q>=500)return new ru6(q,Y,_,z,A);return new dq(q,Y,_,z,A)}};c_=class c_ extends dq{constructor({message:q}={}){super(void 0,void 0,q||\"Request was aborted.\",void 0)}};Of=class Of extends dq{constructor({message:q,cause:K}){super(void 0,void 0,q||\"Connection error.\",void 0);if(K)this.cause=K}};yg=class yg extends Of{constructor({message:q}={}){super({message:q??\"Request timed out.\"})}};du6=class du6 extends dq{};R_6=class R_6 extends dq{};cu6=class cu6 extends dq{};S_6=class S_6 extends dq{};lu6=class lu6 extends dq{};nu6=class nu6 extends dq{};iu6=class iu6 extends dq{};ru6=class ru6 extends dq{}});function nz8(q){if(typeof q!==\"object\")return{};return q??{}}function Ht8(q){if(!q)return!0;for(let K in q)return!1;return!0}function ZP7(q,K){return Object.prototype.hasOwnProperty.call(q,K)}var o25,fP7=(q)=>{return o25.test(q)},wt8=(q)=>(wt8=Array.isArray,wt8(q)),jt8,GP7=(q,K)=>{if(typeof K!==\"number\"||!Number.isInteger(K))throw new vq(`${q} must be an integer`);if(K<0)throw new vq(`${q} must be a positive integer`);return K},iz8=(q)=>{try{return JSON.parse(q)}catch(K){return}};var C_6=L(()=>{$W();o25=/^[a-z][a-z0-9+.-]*:/i,jt8=wt8});var vP7=(q)=>new Promise((K)=>setTimeout(K,q));var O66=\"0.81.0\";function a25(){if(typeof Deno<\"u\"&&Deno.build!=null)return\"deno\";if(typeof EdgeRuntime<\"u\")return\"edge\";if(Object.prototype.toString.call(typeof globalThis.process<\"u\"?globalThis.process:0)===\"[object process]\")return\"node\";return\"unknown\"}function t25(){if(typeof navigator>\"u\"||!navigator)return null;let q=[{key:\"edge\",pattern:/Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"chrome\",pattern:/Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"firefox\",pattern:/Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"safari\",pattern:/(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/}];for(let{key:K,pattern:_}of q){let z=_.exec(navigator.userAgent);if(z){let Y=z[1]||0,A=z[2]||0,O=z[3]||0;return{browser:K,version:`${Y}.${A}.${O}`}}}return null}var NP7=()=>{return typeof window<\"u\"&&typeof window.document<\"u\"&&typeof navigator<\"u\"},s25=()=>{let q=a25();if(q===\"deno\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(Deno.build.os),\"X-Stainless-Arch\":TP7(Deno.build.arch),\"X-Stainless-Runtime\":\"deno\",\"X-Stainless-Runtime-Version\":typeof Deno.version===\"string\"?Deno.version:Deno.version?.deno??\"unknown\"};if(typeof EdgeRuntime<\"u\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":`other:${EdgeRuntime}`,\"X-Stainless-Runtime\":\"edge\",\"X-Stainless-Runtime-Version\":globalThis.process.version};if(q===\"node\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(globalThis.process.platform??\"unknown\"),\"X-Stainless-Arch\":TP7(globalThis.process.arch??\"unknown\"),\"X-Stainless-Runtime\":\"node\",\"X-Stainless-Runtime-Version\":globalThis.process.version??\"unknown\"};let K=t25();if(K)return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":`browser:${K.browser}`,\"X-Stainless-Runtime-Version\":K.version};return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":\"unknown\",\"X-Stainless-Runtime-Version\":\"unknown\"}},TP7=(q)=>{if(q===\"x32\")return\"x32\";if(q===\"x86_64\"||q===\"x64\")return\"x64\";if(q===\"arm\")return\"arm\";if(q===\"aarch64\"||q===\"arm64\")return\"arm64\";if(q)return`other:${q}`;return\"unknown\"},VP7=(q)=>{if(q=q.toLowerCase(),q.includes(\"ios\"))return\"iOS\";if(q===\"android\")return\"Android\";if(q===\"darwin\")return\"MacOS\";if(q===\"win32\")return\"Windows\";if(q===\"freebsd\")return\"FreeBSD\";if(q===\"openbsd\")return\"OpenBSD\";if(q===\"linux\")return\"Linux\";if(q)return`Other:${q}`;return\"Unknown\"},kP7,yP7=()=>{return kP7??(kP7=s25())};var Jt8=()=>{};function EP7(){if(typeof fetch<\"u\")return fetch;throw Error(\"`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`\")}function Mt8(...q){let K=globalThis.ReadableStream;if(typeof K>\"u\")throw Error(\"`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`\");return new K(...q)}function rz8(q){let K=Symbol.asyncIterator in q?q[Symbol.asyncIterator]():q[Symbol.iterator]();return Mt8({start(){},async pull(_){let{done:z,value:Y}=await K.next();if(z)_.close();else _.enqueue(Y)},async cancel(){await K.return?.()}})}function ou6(q){if(q[Symbol.asyncIterator])return q;let K=q.getReader();return{async next(){try{let _=await K.read();if(_?.done)K.releaseLock();return _}catch(_){throw K.releaseLock(),_}},async return(){let _=K.cancel();return K.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function LP7(q){if(q===null||typeof q!==\"object\")return;if(q[Symbol.asyncIterator]){await q[Symbol.asyncIterator]().return?.();return}let K=q.getReader(),_=K.cancel();K.releaseLock(),await _}var hP7=({headers:q,body:K})=>{return{bodyHeaders:{\"content-type\":\"application/json\"},body:JSON.stringify(K)}};function RP7(q){return Object.entries(q).filter(([K,_])=>typeof _<\"u\").map(([K,_])=>{if(typeof _===\"string\"||typeof _===\"number\"||typeof _===\"boolean\")return`${encodeURIComponent(K)}=${encodeURIComponent(_)}`;if(_===null)return`${encodeURIComponent(K)}=`;throw new vq(`Cannot stringify type ${typeof _}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(\"&\")}var SP7=L(()=>{$W()});function xP7(q){let K=0;for(let Y of q)K+=Y.length;let _=new Uint8Array(K),z=0;for(let Y of q)_.set(Y,z),z+=Y.length;return _}function au6(q){let K;return(CP7??(K=new globalThis.TextEncoder,CP7=K.encode.bind(K)))(q)}function Xt8(q){let K;return(bP7??(K=new globalThis.TextDecoder,bP7=K.decode.bind(K)))(q)}var CP7,bP7;class $66{constructor(){wL.set(this,void 0),jL.set(this,void 0),$4(this,wL,new Uint8Array,\"f\"),$4(this,jL,null,\"f\")}decode(q){if(q==null)return[];let K=q instanceof ArrayBuffer?new Uint8Array(q):typeof q===\"string\"?au6(q):q;$4(this,wL,xP7([u1(this,wL,\"f\"),K]),\"f\");let _=[],z;while((z=Kj5(u1(this,wL,\"f\"),u1(this,jL,\"f\")))!=null){if(z.carriage&&u1(this,jL,\"f\")==null){$4(this,jL,z.index,\"f\");continue}if(u1(this,jL,\"f\")!=null&&(z.index!==u1(this,jL,\"f\")+1||z.carriage)){_.push(Xt8(u1(this,wL,\"f\").subarray(0,u1(this,jL,\"f\")-1))),$4(this,wL,u1(this,wL,\"f\").subarray(u1(this,jL,\"f\")),\"f\"),$4(this,jL,null,\"f\");continue}let Y=u1(this,jL,\"f\")!==null?z.preceding-1:z.preceding,A=Xt8(u1(this,wL,\"f\").subarray(0,Y));_.push(A),$4(this,wL,u1(this,wL,\"f\").subarray(z.index),\"f\"),$4(this,jL,null,\"f\")}return _}flush(){if(!u1(this,wL,\"f\").length)return[];return this.decode(`\n ^^^\n\nSyntaxError: Unexpected token '??='\n at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)\n at async link (internal/modules/esm/module_job.js:47:21)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'\n#!/bin/bash\nDB=\"/volume1/Test/screenpipe/db.sqlite\"\nDATE=${1:-$(date -d \"yesterday\" '+%Y-%m-%d')}\n\necho \"═══════════════════════════════════════\"\necho \" SCREENPIPE REPORT — $DATE\"\necho \"═══════════════════════════════════════\"\n\necho -e \"\\n📱\u0000 APP USAGE (frames + estimated time)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n⌨️\u0000 ACTIVITY TYPE PER APP\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',\n app_name,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho -e \"\\n🌐\u0000 BROWSER URLS\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%4d frames %s', COUNT(*), browser_url)\nFROM frames\nWHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL\nGROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho -e \"\\n🪟\u0000 WINDOW TITLES (top 20)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL\nGROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;\"\n\nchmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';\"\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls\ndata db.sqlite pipes\u0000\tscreenpipe-day.sh\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09\n═══════════════════════════════════════\n SCREENPIPE REPORT — 2026-04-09\n═══════════════════════════════════════\n\n📱\u0000 APP USAGE (frames + estimated time)\n───────────────────────────────────────\niTerm2 185 frames ~ 13.9 min\nDia 31 frames ~ 2.3 min\nSafari 20 frames ~ 1.5 min\nClaude 12 frames ~ 0.9 min\nUserNotificationCenter 4 frames ~ 0.3 min\nControl Centre 3 frames ~ 0.2 min\nSlack 2 frames ~ 0.2 min\nActivity Monitor 2 frames ~ 0.2 min\nFinder 1 frames ~ 0.1 min\n\n⌨️\u0000 ACTIVITY TYPE PER APP\n───────────────────────────────────────\niTerm2 clicks:283 keys:122 switches:34 \nDia clicks:171 keys:56 switches:9 \nSafari clicks:56 keys:11 switches:3 \nClaude clicks:50 keys:6 switches:9 \nUserNotificationCenter clicks:8 keys:0 switches:4 \nSlack clicks:1 keys:0 switches:1 \n\n🌐\u0000 BROWSER URLS\n───────────────────────────────────────\n 13 frames https://play.hbomax.com/video/watch/16b35e6c-e745-4416-bc16-0ef5092ba4e0/07b58730-24cb-419c-b5a0-1e258a77cd21\n 4 frames https://location-tracker.lakylak.xyz/dashboard\n 2 frames https://nas.lakylak.xyz/desktop/?os=ugospro#/\n 1 frames https://play.hbomax.com/show/06f986dd-dd6a-4596-9a0a-f473ef99c64b\n\n🪟\u0000 WINDOW TITLES (top 20)\n───────────────────────────────────────\niTerm2 93 -zsh\niTerm2 34 screenpipe\"\nSafari 13 Order Room Service • HBO Max\nClaude 12 Claude\niTerm2 8 ✳ Find cheapest WD Red Plus 6TB price\nDia 7 Personal: New Tab\niTerm2 7 ✳ Claude Code\niTerm2 7 ⠂ Find cheapest WD Red Plus 6TB price\niTerm2 7 ⠂ Research Western Digital Red Plus pricing\niTerm2 7 ⠐ Research Western Digital Red Plus pricing\nDia 6 Personal: GitHub - scree…\niTerm2 5 ✳ Research Western Digital Red Plus pricing\nSafari 4 Location Logger\nUserNotificationCenter 4 \niTerm2 4 nano\niTerm2 4 ⠐ Find cheapest WD Red Plus 6TB price\nControl Centre 3 Control Centre\nDia 3 Personal: Western Digita…\niTerm2 3 ✳ Check today's app usage\nActivity Monitor 2 Activity Monitor – All Processes\n\n🕐\u0000 HOURLY TIMELINE\n───────────────────────────────────────\n16:00 iTerm2 14 frames\n16:00 Safari 4 frames\n16:00 Dia 3 frames\n16:00 Control Centre 2 frames\n16:00 Activity Monitor 2 frames\n17:00 iTerm2 116 frames\n17:00 Dia 24 frames\n17:00 Safari 16 frames\n17:00 Claude 8 frames\n17:00 UserNotificationCenter 4 frames\n17:00 Finder 1 frames\n17:00 Control Centre 1 frames\n18:00 iTerm2 55 frames\n18:00 Dia 4 frames\n18:00 Claude 4 frames\n18:00 Slack 2 frames\n\n📋\u0000 CLIPBOARD\n───────────────────────────────────────\niTerm2 claude mcp add screenpipe -- npx -y screenpipe-mcp\n lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\nDia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y\n npm install -g @anthropic-ai/claude-code\n npm install -g @anthropic-ai/claude-code\nDia npm install -g @anthropic-ai/claude-code\n 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 TOTALS\n───────────────────────────────────────\nFrames: 523\nUI Events: 1305\nAdm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cd /volume2/applications/\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe\n[sudo] password for Adm1n: \nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls\nAppFlowy-Cloud\u0000\tbooklore gramps screenpipe ytber\nAdm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls\n app data db.sqlite pipes '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll\ntotal 95084\ndrwxrwxrwx 1 root root 76 Apr 11 17:43 .\ndrwxr-xr-x 1 root root 450 Apr 11 16:11 ..\ndrwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app\ndrwxrwxrwx 1 root root 58 Apr 11 17:29 data\n-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite\n-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store\ndrwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes\ndrwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 15.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s\n => [screenpipe-app internal] load .dockerignore 0.1s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.2s\n => => transferring context: 40.53kB 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s\n => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s\n => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s\n => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s\n => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s\n => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s\n => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s\n => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s\n => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s\n => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s\n => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s\n => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s\n => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s\n => [screenpipe-app 2/5] WORKDIR /app 0.4s\n => [screenpipe-app 3/5] COPY requirements.txt . 0.2s\n => [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s\n => [screenpipe-app 5/5] COPY . . 0.2s \n => [screenpipe-app] exporting to image 0.4s \n => => exporting layers 0.3s \n => => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s \n => => naming to docker.io/library/app-screenpipe-app 0.0s \n[+] Running 2/2 \n ✔ Network app_default Created 0.2s \n ✔ Container screenpipe-app Created 0.1s \nError response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 0.0.0.0:8765: bind: address already in use\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.1s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[sudo] password for Adm1n: \n[+] Building 1.7s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 24.55kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.4s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 38.85kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.6s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.1s\n => => transferring context: 47.13kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.5s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 61.77kB 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => [screenpipe-app 5/5] COPY . . 0.2s\n => [screenpipe-app] exporting to image 0.2s\n => => exporting layers 0.1s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/1\n ✔ Container screenpipe-app Started 0.8s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls\ncli.py\u0000\tconsumers db.py docker-compose.yml Dockerfile main.py requirements.txt static\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build\nunknown shorthand flag: 'd' in -d\nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build\n[+] Building 1.0s (10/10) FINISHED docker:default\n => [screenpipe-app internal] load build definition from Dockerfile 0.1s\n => => transferring dockerfile: 266B 0.0s\n => [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s\n => [screenpipe-app internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [screenpipe-app internal] load build context 0.0s\n => => transferring context: 915B 0.0s\n => [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s\n => CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s\n => CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s\n => CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s\n => CACHED [screenpipe-app 5/5] COPY . . 0.0s\n => [screenpipe-app] exporting to image 0.0s\n => => exporting layers 0.0s\n => => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s\n => => naming to docker.io/library/app-screenpipe-app 0.0s\n[+] Running 1/0\n ✔ Container screenpipe-app Running 0.0s \nAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude\nfile:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8\nimport{createRequire as MA5}from\"node:module\";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q===\"object\";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,\"default\",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},\"__esModule\",{value:!0}),q&&typeof q===\"object\"||typeof q===\"function\"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for(\"Symbol.dispose\"),PA5=Symbol.asyncDispose||Symbol.for(\"Symbol.asyncDispose\"),lz=(q,K,_)=>{if(K!=null){if(typeof K!==\"object\"&&typeof K!==\"function\")throw TypeError('Object expected to be assigned to \"using\" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!==\"function\")throw TypeError(\"Object not disposable\");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError===\"function\"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name=\"SuppressedError\",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,\"An error was suppressed during disposal\"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global==\"object\"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self==\"object\"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function(\"return this\")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5=\"[object Null]\",gA5=\"[object Undefined]\",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K==\"object\"||K==\"function\")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5=\"[object AsyncFunction]\",dA5=\"[object Function]\",cA5=\"[object GeneratorFunction]\",lA5=\"[object Proxy]\",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ[\"__core-js_shared__\"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||\"\");return q?\"Symbol(src)_1.\"+q:\"\"}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+\"\"}catch(K){}}return\"\"}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\\\^$.*+?()[\\]{}|]/g,eA5=/^\\[object .+?Constructor\\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp(\"^\"+_O5.call(zO5).replace(tA5,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,\"Map\"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,\"create\"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5=\"__lodash_hash_undefined__\",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5=\"__lodash_hash_undefined__\",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K==\"string\"||K==\"number\"||K==\"symbol\"||K==\"boolean\"?q!==\"__proto__\":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K==\"string\"?\"string\":\"hash\"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5=\"__lodash_hash_undefined__\",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+\"\";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5=\"[object Boolean]\",cO5=\"[object Date]\",lO5=\"[object Error]\",nO5=\"[object Map]\",iO5=\"[object Number]\",rO5=\"[object RegExp]\",oO5=\"[object Set]\",aO5=\"[object String]\",sO5=\"[object Symbol]\",tO5=\"[object ArrayBuffer]\",eO5=\"[object DataView]\",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q==\"object\"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5=\"[object Arguments]\",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,\"callee\")&&!P$5.call(q,\"callee\")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8==\"object\"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8==\"object\"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_==\"number\"||_!=\"symbol\"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=9007199254740991,T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\\d*)$/;re=V$5});function N$5(q){return typeof q==\"number\"&&q>-1&&q%1==0&&q<=k$5}var k$5=9007199254740991,rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5=\"[object Arguments]\",E$5=\"[object Array]\",L$5=\"[object Boolean]\",h$5=\"[object Date]\",R$5=\"[object Error]\",S$5=\"[object Function]\",C$5=\"[object Map]\",b$5=\"[object Number]\",x$5=\"[object Object]\",I$5=\"[object RegExp]\",u$5=\"[object Set]\",m$5=\"[object String]\",B$5=\"[object WeakMap]\",p$5=\"[object ArrayBuffer]\",g$5=\"[object DataView]\",F$5=\"[object Float32Array]\",U$5=\"[object Float64Array]\",Q$5=\"[object Int8Array]\",d$5=\"[object Int16Array]\",c$5=\"[object Int32Array]\",l$5=\"[object Uint8Array]\",n$5=\"[object Uint8ClampedArray]\",i$5=\"[object Uint16Array]\",r$5=\"[object Uint32Array]\",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8==\"object\"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8==\"object\"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require(\"util\").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding(\"util\")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j==\"length\"||Y&&(j==\"offset\"||j==\"parent\")||A&&(j==\"buffer\"||j==\"byteLength\"||j==\"byteOffset\")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K==\"function\"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!=\"constructor\")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M==\"constructor\")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&((\"constructor\"in q)&&(\"constructor\"in K))&&!(typeof v==\"function\"&&v instanceof v&&typeof V==\"function\"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,\"DataView\"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,\"Promise\"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,\"Set\"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,\"WeakMap\"),Xz8=vw5});var sM7=\"[object Map]\",Tw5=\"[object Object]\",tM7=\"[object Promise]\",eM7=\"[object Set]\",qX7=\"[object WeakMap]\",KX7=\"[object DataView]\",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();Q_8();oM7();Ta8();aM7();M_6();Oa8();Vw5=rl(Jz8),kw5=rl(ne),Nw5=rl(Mz8),yw5=rl(oe),Ew5=rl(Xz8),D_6=YL;if(Jz8&&D_6(new Jz8(new ArrayBuffer(1)))!=KX7||ne&&D_6(new ne)!=sM7||Mz8&&D_6(Mz8.resolve())!=tM7||oe&&D_6(new oe)!=eM7||Xz8&&D_6(new Xz8)!=qX7)D_6=function(q){var K=YL(q),_=K==Tw5?q.constructor:void 0,z=_?rl(_):\"\";if(z)switch(z){case Vw5:return KX7;case kw5:return sM7;case Nw5:return tM7;case yw5:return eM7;case Ew5:return qX7}return K};sl=D_6});function Rw5(q,K,_,z,Y,A){var O=DO(q),$=DO(K),w=O?zX7:sl(q),j=$?zX7:sl(K);w=w==_X7?Pz8:w,j=j==_X7?Pz8:j;var H=w==Pz8,J=j==Pz8,M=w==j;if(M&&fg(q)){if(!fg(K))return!1;O=!0,H=!1}if(M&&!H)return A||(A=new Dg),O||aP6(q)?i_8(q,K,_,z,Y,A):EM7(q,K,w,_,z,Y,A);if(!(_&Lw5)){var X=H&&YX7.call(q,\"__wrapped__\"),P=J&&YX7.call(K,\"__wrapped__\");if(X||P){var D=X?q.value():q,W=P?K.value():K;return A||(A=new Dg),Y(D,W,_,z,A)}}if(!M)return!1;return A||(A=new Dg),nM7(q,K,_,z,Y,A)}var Lw5=1,_X7=\"[object Arguments]\",zX7=\"[object Array]\",Pz8=\"[object Object]\",hw5,YX7,AX7;var OX7=L(()=>{Au6();Ha8();LM7();iM7();Ju6();RT();$u6();$z8();hw5=Object.prototype,YX7=hw5.hasOwnProperty;AX7=Rw5});function $X7(q,K,_,z,Y){if(q===K)return!0;if(q==null||K==null||!QP(q)&&!QP(K))return q!==q&&K!==K;return AX7(q,K,_,z,$X7,Y)}var eP6;var Dz8=L(()=>{OX7();Wg();eP6=$X7});function bw5(q,K,_,z){var Y=_.length,A=Y,O=!z;if(q==null)return!A;q=Object(q);while(Y--){var $=_[Y];if(O&&$[2]?$[1]!==q[$[0]]:!($[0]in q))return!1}while(++Y<A){$=_[Y];var w=$[0],j=q[w],H=$[1];if(O&&$[2]){if(j===void 0&&!(w in q))return!1}else{var J=new Dg;if(z)var M=z(j,H,w,q,K,J);if(!(M===void 0?eP6(H,j,Sw5|Cw5,z,J):M))return!1}}return!0}var Sw5=1,Cw5=2,wX7;var jX7=L(()=>{Au6();Dz8();wX7=bw5});function xw5(q){return q===q&&!PO(q)}var Wz8;var Va8=L(()=>{hT();Wz8=xw5});function Iw5(q){var K=tR(q),_=K.length;while(_--){var z=K[_],Y=q[z];K[_]=[z,Y,Wz8(Y)]}return K}var HX7;var JX7=L(()=>{Va8();P_6();HX7=Iw5});function uw5(q,K){return function(_){if(_==null)return!1;return _[q]===K&&(K!==void 0||(q in Object(_)))}}var fz8;var ka8=L(()=>{fz8=uw5});function mw5(q){var K=HX7(q);if(K.length==1&&K[0][2])return fz8(K[0][0],K[0][1]);return function(_){return _===q||wX7(_,q,K)}}var MX7;var XX7=L(()=>{jX7();JX7();ka8();MX7=mw5});function pw5(q){return typeof q==\"symbol\"||QP(q)&&YL(q)==Bw5}var Bw5=\"[object Symbol]\",ae;var Mu6=L(()=>{M_6();Wg();ae=pw5});function Uw5(q,K){if(DO(q))return!1;var _=typeof q;if(_==\"number\"||_==\"symbol\"||_==\"boolean\"||q==null||ae(q))return!0;return Fw5.test(q)||!gw5.test(q)||K!=null&&q in Object(K)}var gw5,Fw5,qD6;var Zz8=L(()=>{RT();Mu6();gw5=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Fw5=/^\\w*$/;qD6=Uw5});function Na8(q,K){if(typeof q!=\"function\"||K!=null&&typeof K!=\"function\")throw TypeError(Qw5);var _=function(){var z=arguments,Y=K?K.apply(this,z):z[0],A=_.cache;if(A.has(Y))return A.get(Y);var O=q.apply(this,z);return _.cache=A.set(Y,O)||A,O};return _.cache=new(Na8.Cache||X_6),_}var Qw5=\"Expected a function\",A1;var h4=L(()=>{d_8();Na8.Cache=X_6;A1=Na8});function cw5(q){var K=A1(q,function(z){if(_.size===dw5)_.clear();return z}),_=K.cache;return K}var dw5=500,PX7;var DX7=L(()=>{h4();PX7=cw5});var lw5,nw5,iw5,WX7;var fX7=L(()=>{DX7();lw5=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,nw5=/\\\\(\\\\)?/g,iw5=PX7(function(q){var K=[];if(q.charCodeAt(0)===46)K.push(\"\");return q.replace(lw5,function(_,z,Y,A){K.push(Y?A.replace(nw5,\"$1\"):z||_)}),K}),WX7=iw5});function rw5(q,K){var _=-1,z=q==null?0:q.length,Y=Array(z);while(++_<z)Y[_]=K(q[_],_,q);return Y}var se;var Xu6=L(()=>{se=rw5});function vX7(q){if(typeof q==\"string\")return q;if(DO(q))return se(q,vX7)+\"\";if(ae(q))return GX7?GX7.call(q):\"\";var K=q+\"\";return K==\"0\"&&1/q==-ow5?\"-0\":K}var ow5=1/0,ZX7,GX7,TX7;var VX7=L(()=>{J_6();Xu6();RT();Mu6();ZX7=YW?YW.prototype:void 0,GX7=ZX7?ZX7.toString:void 0;TX7=vX7});function aw5(q){return q==null?\"\":TX7(q)}var KD6;var Gz8=L(()=>{VX7();KD6=aw5});function sw5(q,K){if(DO(q))return q;return qD6(q,K)?[q]:WX7(KD6(q))}var eR;var W_6=L(()=>{RT();Zz8();fX7();Gz8();eR=sw5});function ew5(q){if(typeof q==\"string\"||ae(q))return q;var K=q+\"\";return K==\"0\"&&1/q==-tw5?\"-0\":K}var tw5=1/0,qS;var f_6=L(()=>{Mu6();qS=ew5});function q25(q,K){K=eR(K,q);var _=0,z=K.length;while(q!=null&&_<z)q=q[qS(K[_++])];return _&&_==z?q:void 0}var te;var Pu6=L(()=>{W_6();f_6();te=q25});function K25(q,K,_){var z=q==null?void 0:te(q,K);return z===void 0?_:z}var kX7;var NX7=L(()=>{Pu6();kX7=K25});function _25(q,K){return q!=null&&K in Object(q)}var yX7;var EX7=L(()=>{yX7=_25});function z25(q,K,_){K=eR(K,q);var z=-1,Y=K.length,A=!1;while(++z<Y){var O=qS(K[z]);if(!(A=q!=null&&_(q,O)))break;q=q[O]}if(A||++z!=Y)return A;return Y=q==null?0:q.length,!!Y&&rP6(Y)&&re(O,Y)&&(DO(q)||al(q))}var LX7;var hX7=L(()=>{W_6();Ou6();RT();wu6();_z8();f_6();LX7=z25});function Y25(q,K){return q!=null&&LX7(q,K,yX7)}var RX7;var SX7=L(()=>{EX7();hX7();RX7=Y25});function $25(q,K){if(qD6(q)&&Wz8(K))return fz8(qS(q),K);return function(_){var z=kX7(_,q);return z===void 0&&z===K?RX7(_,q):eP6(K,z,A25|O25)}}var A25=1,O25=2,CX7;var bX7=L(()=>{Dz8();NX7();SX7();Zz8();Va8();ka8();f_6();CX7=$25});function w25(q){return q}var _D6;var vz8=L(()=>{_D6=w25});function j25(q){return function(K){return K==null?void 0:K[q]}}var xX7;var IX7=L(()=>{xX7=j25});function H25(q){return function(K){return te(K,q)}}var uX7;var mX7=L(()=>{Pu6();uX7=H25});function J25(q){return qD6(q)?xX7(qS(q)):uX7(q)}var BX7;var pX7=L(()=>{IX7();mX7();Zz8();f_6();BX7=J25});function M25(q){if(typeof q==\"function\")return q;if(q==null)return _D6;if(typeof q==\"object\")return DO(q)?CX7(q[0],q[1]):MX7(q);return BX7(q)}var rk;var ee=L(()=>{XX7();bX7();vz8();RT();pX7();rk=M25});function X25(q,K){var _,z=-1,Y=q.length;while(++z<Y){var A=K(q[z]);if(A!==void 0)_=_===void 0?A:_+A}return _}var gX7;var FX7=L(()=>{gX7=X25});function P25(q,K){return q&&q.length?gX7(q,rk(K,2)):0}var zD6;var UX7=L(()=>{ee();FX7();zD6=P25});import{randomUUID as Du6}from\"crypto\";var ya8=()=>{};function QX7(){return Ea8}function dX7(q){Ea8=q}function cX7(q){return Tz8.has(q)?Tz8.get(q):void 0}function lX7(q,K){Tz8.set(q,K)}function nX7(q){return La8.get(q)}function iX7(q,K){La8.set(q,K)}function AW(){Ea8=null,Tz8.clear(),La8.clear()}function Vz8(){return ha8}function rX7(q){ha8=q}function oX7(){ha8=void 0}var Ea8=null,Tz8,La8,ha8;var tl=L(()=>{Tz8=new Map;La8=new Map});function E9(){let q=new Set;return{subscribe(K){return q.add(K),()=>{q.delete(K)}},emit(...K){for(let _ of q)_(...K)},clear(){q.clear()}}}var DD6={};f8(DD6,{waitForScrollIdle:()=>Vu6,updateLastInteractionTime:()=>G_6,switchSession:()=>Yf,snapshotOutputTokensForTurn:()=>h25,setUserMsgOptIn:()=>Vg,setUseCoworkPlugins:()=>OL,setTracerProvider:()=>xz8,setThinkingClearLatched:()=>Yt8,setTeleportedSessionInfo:()=>Bu6,setSystemPromptSectionCacheEntry:()=>is8,setStrictToolResultPairing:()=>I25,setStatsStore:()=>ca8,setSessionTrustAccepted:()=>Iu6,setSessionSource:()=>fs8,setSessionPersistenceDisabled:()=>ms8,setSessionIngressToken:()=>y_6,setSessionBypassPermissionsMode:()=>Is8,setSdkBetas:()=>Ys8,setSdkAgentProgressSummariesEnabled:()=>Ps8,setScheduledTasksEnabled:()=>bu6,setQuestionPreviewFormat:()=>uz8,setPromptId:()=>Fu6,setPromptCache1hAllowlist:()=>ss8,setProjectRoot:()=>fu6,setOriginalCwd:()=>KS,setOauthTokenFromFd:()=>Vs8,setNeedsPlanModeExitAttachment:()=>gI,setNeedsAutoModeExitAttachment:()=>CG,setModelStrings:()=>Nu6,setMeterProvider:()=>bz8,setMeter:()=>As8,setMemoryToggledOff:()=>Ws8,setMainThreadAgentType:()=>_n,setMainLoopModelOverride:()=>dP,setLspRecommendationShownThisSession:()=>Us8,setLoopChainStartedAt:()=>g25,setLoggerProvider:()=>Sz8,setLastMainRequestId:()=>ea8,setLastEmittedDate:()=>PD6,setLastClassifierRequests:()=>hu6,setLastApiCompletionTimestamp:()=>Tu6,setLastAPIRequestMessages:()=>Ls8,setLastAPIRequest:()=>ys8,setKairosActive:()=>x25,setIsRemoteMode:()=>ls8,setIsInteractive:()=>Ms8,setInlinePlugins:()=>bs8,setInitialMainLoopModel:()=>zs8,setInitJsonSchema:()=>Qs8,setHasUnknownModelCost:()=>hz8,setHasExitedPlanMode:()=>$L,setHasDevChannels:()=>Qz8,setFlagSettingsPath:()=>Zs8,setFlagSettingsInline:()=>Gs8,setFastModeHeaderLatched:()=>Kt8,setEventLogger:()=>Cz8,setDirectConnectServerUrl:()=>W25,setCwdState:()=>Ia8,setCostStateForRestore:()=>ku6,setClientType:()=>Xs8,setChromeFlagOverride:()=>xs8,setCachedClaudeMdContent:()=>hs8,setCacheEditingHeaderLatched:()=>d25,setApiKeyFromFd:()=>Ns8,setAllowedSettingSources:()=>Cs8,setAllowedChannels:()=>zn,setAfkModeHeaderLatched:()=>es8,setAdditionalDirectoriesForClaudeMd:()=>pu6,setActiveRoutine:()=>Z25,resetTurnToolDuration:()=>Ua8,resetTurnHookDuration:()=>Fa8,resetTurnClassifierDuration:()=>da8,resetTotalDurationStateAndCost_FOR_TESTS_ONLY:()=>G25,resetStateForTests:()=>_P7,resetSdkInitState:()=>YP7,resetModelStringsForTestingOnly:()=>C25,resetCostState:()=>OD6,removeSessionCronTasks:()=>xu6,registerHookCallbacks:()=>z66,regenerateSessionId:()=>Sa8,preferThirdPartyAuthentication:()=>Ru6,onSessionSwitch:()=>xa8,onInteraction:()=>ra8,needsPlanModeExitAttachment:()=>Bs8,needsAutoModeExitAttachment:()=>ps8,markScrollActivity:()=>Ks8,markPostCompaction:()=>K66,markFirstTeleportMessageLogged:()=>Fz8,isSessionPersistenceDisabled:()=>ok,incrementBudgetContinuationCount:()=>S25,hasUnknownModelCost:()=>ta8,hasShownLspRecommendationThisSession:()=>Fs8,hasExitedPlanModeInSession:()=>uu6,handlePlanModeTransition:()=>Kn,handleAutoModeTransition:()=>gs8,getUserMsgOptIn:()=>AL,getUseCoworkPlugins:()=>Cu6,getUsageForModel:()=>_s8,getTurnToolDurationMs:()=>V25,getTurnToolCount:()=>k25,getTurnOutputTokens:()=>E25,getTurnHookDurationMs:()=>v25,getTurnHookCount:()=>T25,getTurnClassifierDurationMs:()=>N25,getTurnClassifierCount:()=>y25,getTracerProvider:()=>N_6,getTotalWebSearchRequests:()=>oa8,getTotalToolDuration:()=>ga8,getTotalOutputTokens:()=>el,getTotalLinesRemoved:()=>T_6,getTotalLinesAdded:()=>v_6,getTotalInputTokens:()=>V_6,getTotalDuration:()=>YD6,getTotalCostUSD:()=>XM,getTotalCacheReadInputTokens:()=>Zu6,getTotalCacheCreationInputTokens:()=>Gu6,getTotalAPIDurationWithoutRetries:()=>pa8,getTotalAPIDuration:()=>RG,getTokenCounter:()=>wD6,getThinkingClearLatched:()=>zt8,getTeleportedSessionInfo:()=>gz8,getSystemPromptSectionCache:()=>ns8,getStrictToolResultPairing:()=>Ds8,getStatsStore:()=>q66,getSlowOperations:()=>OP7,getSessionTrustAccepted:()=>MD6,getSessionSource:()=>u25,getSessionProjectDir:()=>Z_6,getSessionIngressToken:()=>vs8,getSessionId:()=>N8,getSessionCronTasks:()=>L_6,getSessionCreatedTeams:()=>mu6,getSessionCounter:()=>Os8,getSessionBypassPermissionsMode:()=>E_6,getSdkBetas:()=>OW,getSdkAgentProgressSummariesEnabled:()=>vg,getScheduledTasksEnabled:()=>JD6,getRegisteredHooks:()=>zS,getQuestionPreviewFormat:()=>Iz8,getPromptId:()=>gu6,getPromptCache1hAllowlist:()=>as8,getProjectRoot:()=>wz,getPrCounter:()=>yu6,getPlanSlugCache:()=>h_6,getParentSessionId:()=>Ca8,getOriginalCwd:()=>A7,getOauthTokenFromFd:()=>Ts8,getModelUsage:()=>ST,getModelStrings:()=>$D6,getMeterProvider:()=>Js8,getMeter:()=>b25,getMemoryToggledOff:()=>Tg,getMainThreadAgentType:()=>Ng,getMainLoopModelOverride:()=>pI,getLoopChainStartedAt:()=>p25,getLoggerProvider:()=>Lu6,getLocCounter:()=>Rz8,getLastMainRequestId:()=>vu6,getLastInteractionTime:()=>_S,getLastEmittedDate:()=>os8,getLastClassifierRequests:()=>zP7,getLastApiCompletionTimestamp:()=>qn,getLastAPIRequestMessages:()=>m25,getLastAPIRequest:()=>Es8,getKairosActive:()=>SG,getIsScrollDraining:()=>k_6,getIsRemoteMode:()=>cK,getIsNonInteractiveSession:()=>d7,getIsInteractive:()=>CT,getInvokedSkillsForAgent:()=>ds8,getInvokedSkills:()=>Q25,getInlinePlugins:()=>kg,getInitialMainLoopModel:()=>AD6,getInitJsonSchema:()=>Bz8,getHasDevChannels:()=>Uz8,getFlagSettingsPath:()=>_66,getFlagSettingsInline:()=>HD6,getFastModeHeaderLatched:()=>qt8,getEventLogger:()=>Hs8,getDirectConnectServerUrl:()=>ua8,getCwdState:()=>BI,getCurrentTurnTokenBudget:()=>L25,getCostCounter:()=>ws8,getCommitCounter:()=>$s8,getCodeEditToolDecisionCounter:()=>Eu6,getClientType:()=>jD6,getChromeFlagOverride:()=>Su6,getCachedClaudeMdContent:()=>Rs8,getCacheEditingHeaderLatched:()=>_t8,getBudgetContinuationCount:()=>R25,getApiKeyFromFd:()=>ks8,getAllowedSettingSources:()=>Ss8,getAllowedChannels:()=>TJ,getAgentColorMap:()=>mz8,getAfkModeHeaderLatched:()=>ts8,getAdditionalDirectoriesForClaudeMd:()=>bG,getActiveTimeCounter:()=>js8,getActiveRoutine:()=>f25,flushInteractionTime:()=>na8,deleteLoopChainStartedAt:()=>F25,consumePostCompaction:()=>qs8,clearSystemPromptSectionState:()=>rs8,clearRegisteredPluginHooks:()=>pz8,clearRegisteredHooks:()=>U25,clearInvokedSkillsForAgent:()=>Y66,clearInvokedSkills:()=>cs8,clearBetaHeaderLatches:()=>At8,addToTurnHookDuration:()=>yz8,addToTurnClassifierDuration:()=>Qa8,addToTotalLinesChanged:()=>Ez8,addToTotalDurationState:()=>ma8,addToTotalCostState:()=>Ba8,addToToolDuration:()=>Nz8,addToInMemoryErrorLog:()=>B25,addSlowOperation:()=>AP7,addSessionCronTask:()=>us8,addInvokedSkill:()=>XD6});import{realpathSync as aX7}from\"fs\";import{cwd as D25}from\"process\";function eX7(){let q=\"\";if(typeof process<\"u\"&&typeof process.cwd===\"function\"&&typeof aX7===\"function\"){let _=D25();try{q=aX7(_).normalize(\"NFC\")}catch{q=_.normalize(\"NFC\")}}return{originalCwd:q,projectRoot:q,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:q,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,memoryToggledOff:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:\"cli\",sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[\"userSettings\",\"projectSettings\",\"localSettings\",\"flagSettings\",\"policySettings\"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:Du6(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,scheduledTasksEnabled:!1,sessionCronTasks:[],loopChainStartedAt:Object.create(null),sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,...!1,directConnectServerUrl:void 0,activeRoutine:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],allowedChannels:[],hasDevChannels:!1,sessionProjectDir:null,promptCache1hAllowlist:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,thinkingClearLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function N8(){return G8.sessionId}function Sa8(q={}){if(q.setCurrentAsParent)G8.parentSessionId=G8.sessionId;return G8.planSlugCache.delete(G8.sessionId),G8.sessionId=Du6(),G8.sessionProjectDir=null,G8.sessionId}function Ca8(){return G8.parentSessionId}function Yf(q,K=null){if(G8.sessionId!==q)G8.planSlugCache.delete(G8.sessionId);G8.sessionId=q,G8.sessionProjectDir=K,ba8.emit(q)}function Z_6(){return G8.sessionProjectDir}function A7(){return G8.originalCwd}function wz(){return G8.projectRoot}function KS(q){G8.originalCwd=q.normalize(\"NFC\")}function fu6(q){G8.projectRoot=q.normalize(\"NFC\")}function BI(){return G8.cwd}function Ia8(q){G8.cwd=q.normalize(\"NFC\")}function ua8(){return G8.directConnectServerUrl}function W25(q){G8.directConnectServerUrl=q}function f25(){return G8.activeRoutine}function Z25(q){G8.activeRoutine=q}function ma8(q,K){G8.totalAPIDuration+=q,G8.totalAPIDurationWithoutRetries+=K}function G25(){G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalCostUSD=0}function Ba8(q,K,_){G8.modelUsage[_]=K,G8.totalCostUSD+=q}function XM(){return G8.totalCostUSD}function RG(){return G8.totalAPIDuration}function YD6(){return Date.now()-G8.startTime}function pa8(){return G8.totalAPIDurationWithoutRetries}function ga8(){return G8.totalToolDuration}function Nz8(q){G8.totalToolDuration+=q,G8.turnToolDurationMs+=q,G8.turnToolCount++}function v25(){return G8.turnHookDurationMs}function yz8(q){G8.turnHookDurationMs+=q,G8.turnHookCount++}function Fa8(){G8.turnHookDurationMs=0,G8.turnHookCount=0}function T25(){return G8.turnHookCount}function V25(){return G8.turnToolDurationMs}function Ua8(){G8.turnToolDurationMs=0,G8.turnToolCount=0}function k25(){return G8.turnToolCount}function N25(){return G8.turnClassifierDurationMs}function Qa8(q){G8.turnClassifierDurationMs+=q,G8.turnClassifierCount++}function da8(){G8.turnClassifierDurationMs=0,G8.turnClassifierCount=0}function y25(){return G8.turnClassifierCount}function q66(){return G8.statsStore}function ca8(q){G8.statsStore=q}function G_6(q){if(q)qP7();else la8=!0}function na8(){if(la8)qP7()}function qP7(){G8.lastInteractionTime=Date.now(),la8=!1,ia8.emit()}function Ez8(q,K){G8.totalLinesAdded+=q,G8.totalLinesRemoved+=K}function v_6(){return G8.totalLinesAdded}function T_6(){return G8.totalLinesRemoved}function V_6(){return zD6(Object.values(G8.modelUsage),\"inputTokens\")}function el(){return zD6(Object.values(G8.modelUsage),\"outputTokens\")}function Zu6(){return zD6(Object.values(G8.modelUsage),\"cacheReadInputTokens\")}function Gu6(){return zD6(Object.values(G8.modelUsage),\"cacheCreationInputTokens\")}function oa8(){return zD6(Object.values(G8.modelUsage),\"webSearchRequests\")}function E25(){return el()-aa8}function L25(){return sa8}function h25(q){aa8=el(),sa8=q,Lz8=0}function R25(){return Lz8}function S25(){Lz8++}function hz8(){G8.hasUnknownModelCost=!0}function ta8(){return G8.hasUnknownModelCost}function vu6(){return G8.lastMainRequestId}function ea8(q){G8.lastMainRequestId=q}function qn(){return G8.lastApiCompletionTimestamp}function Tu6(q){G8.lastApiCompletionTimestamp=q}function K66(){G8.pendingPostCompaction=!0}function qs8(){let q=G8.pendingPostCompaction;return G8.pendingPostCompaction=!1,q}function _S(){return G8.lastInteractionTime}function Ks8(){if(kz8=!0,Wu6)clearTimeout(Wu6);Wu6=setTimeout(()=>{kz8=!1,Wu6=void 0},KP7),Wu6.unref?.()}function k_6(){return kz8}async function Vu6(){while(kz8)await new Promise((q)=>setTimeout(q,KP7).unref?.())}function ST(){return G8.modelUsage}function _s8(q){return G8.modelUsage[q]}function pI(){return G8.mainLoopModelOverride}function AD6(){return G8.initialMainLoopModel}function dP(q){G8.mainLoopModelOverride=q}function zs8(q){G8.initialMainLoopModel=q}function OW(){return G8.sdkBetas}function Ys8(q){G8.sdkBetas=q}function OD6(){G8.totalCostUSD=0,G8.totalAPIDuration=0,G8.totalAPIDurationWithoutRetries=0,G8.totalToolDuration=0,G8.startTime=Date.now(),G8.totalLinesAdded=0,G8.totalLinesRemoved=0,G8.hasUnknownModelCost=!1,G8.modelUsage={},G8.promptId=null}function ku6({totalCostUSD:q,totalAPIDuration:K,totalAPIDurationWithoutRetries:_,totalToolDuration:z,totalLinesAdded:Y,totalLinesRemoved:A,lastDuration:O,modelUsage:$}){if(G8.totalCostUSD=q,G8.totalAPIDuration=K,G8.totalAPIDurationWithoutRetries=_,G8.totalToolDuration=z,G8.totalLinesAdded=Y,G8.totalLinesRemoved=A,$)G8.modelUsage=$;if(O)G8.startTime=Date.now()-O}function _P7(){throw Error(\"resetStateForTests can only be called in tests\")}function $D6(){return G8.modelStrings}function Nu6(q){G8.modelStrings=q}function C25(){G8.modelStrings=null}function As8(q,K){G8.meter=q,G8.sessionCounter=K(\"claude_code.session.count\",{description:\"Count of CLI sessions started\"}),G8.locCounter=K(\"claude_code.lines_of_code.count\",{description:\"Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed\"}),G8.prCounter=K(\"claude_code.pull_request.count\",{description:\"Number of pull requests created\"}),G8.commitCounter=K(\"claude_code.commit.count\",{description:\"Number of git commits created\"}),G8.costCounter=K(\"claude_code.cost.usage\",{description:\"Cost of the Claude Code session\",unit:\"USD\"}),G8.tokenCounter=K(\"claude_code.token.usage\",{description:\"Number of tokens used\",unit:\"tokens\"}),G8.codeEditToolDecisionCounter=K(\"claude_code.code_edit_tool.decision\",{description:\"Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools\"}),G8.activeTimeCounter=K(\"claude_code.active_time.total\",{description:\"Total active time in seconds\",unit:\"s\"})}function b25(){return G8.meter}function Os8(){return G8.sessionCounter}function Rz8(){return G8.locCounter}function yu6(){return G8.prCounter}function $s8(){return G8.commitCounter}function ws8(){return G8.costCounter}function wD6(){return G8.tokenCounter}function Eu6(){return G8.codeEditToolDecisionCounter}function js8(){return G8.activeTimeCounter}function Lu6(){return G8.loggerProvider}function Sz8(q){G8.loggerProvider=q}function Hs8(){return G8.eventLogger}function Cz8(q){G8.eventLogger=q}function Js8(){return G8.meterProvider}function bz8(q){G8.meterProvider=q}function N_6(){return G8.tracerProvider}function xz8(q){G8.tracerProvider=q}function d7(){return!G8.isInteractive}function CT(){return G8.isInteractive}function Ms8(q){G8.isInteractive=q}function jD6(){return G8.clientType}function Xs8(q){G8.clientType=q}function vg(){return G8.sdkAgentProgressSummariesEnabled}function Ps8(q){G8.sdkAgentProgressSummariesEnabled=q}function SG(){return G8.kairosActive}function x25(q){G8.kairosActive=q}function Ds8(){return G8.strictToolResultPairing}function I25(q){G8.strictToolResultPairing=q}function Tg(){return G8.memoryToggledOff}function Ws8(q){G8.memoryToggledOff=q}function AL(){return G8.userMsgOptIn}function Vg(q){G8.userMsgOptIn=q}function u25(){return G8.sessionSource}function fs8(q){G8.sessionSource=q}function Iz8(){return G8.questionPreviewFormat}function uz8(q){G8.questionPreviewFormat=q}function mz8(){return G8.agentColorMap}function _66(){return G8.flagSettingsPath}function Zs8(q){G8.flagSettingsPath=q}function HD6(){return G8.flagSettingsInline}function Gs8(q){G8.flagSettingsInline=q}function vs8(){return G8.sessionIngressToken}function y_6(q){G8.sessionIngressToken=q}function Ts8(){return G8.oauthTokenFromFd}function Vs8(q){G8.oauthTokenFromFd=q}function ks8(){return G8.apiKeyFromFd}function Ns8(q){G8.apiKeyFromFd=q}function ys8(q){G8.lastAPIRequest=q}function Es8(){return G8.lastAPIRequest}function Ls8(q){G8.lastAPIRequestMessages=q}function m25(){return G8.lastAPIRequestMessages}function hu6(q){G8.lastClassifierRequests=q}function zP7(){return G8.lastClassifierRequests}function hs8(q){G8.cachedClaudeMdContent=q}function Rs8(){return G8.cachedClaudeMdContent}function B25(q){if(G8.inMemoryErrorLog.length>=100)G8.inMemoryErrorLog.shift();G8.inMemoryErrorLog.push(q)}function Ss8(){return G8.allowedSettingSources}function Cs8(q){G8.allowedSettingSources=q}function Ru6(){return d7()&&G8.clientType!==\"claude-vscode\"}function bs8(q){G8.inlinePlugins=q}function kg(){return G8.inlinePlugins}function xs8(q){G8.chromeFlagOverride=q}function Su6(){return G8.chromeFlagOverride}function OL(q){G8.useCoworkPlugins=q,AW()}function Cu6(){return G8.useCoworkPlugins}function Is8(q){G8.sessionBypassPermissionsMode=q}function E_6(){return G8.sessionBypassPermissionsMode}function bu6(q){G8.scheduledTasksEnabled=q}function JD6(){return G8.scheduledTasksEnabled}function L_6(){return G8.sessionCronTasks}function us8(q){G8.sessionCronTasks.push(q)}function p25(q){return G8.loopChainStartedAt[q]}function g25(q,K){G8.loopChainStartedAt[q]=K}function F25(q){delete G8.loopChainStartedAt[q]}function xu6(q){if(q.length===0)return 0;let K=new Set(q),_=G8.sessionCronTasks.filter((Y)=>!K.has(Y.id)),z=G8.sessionCronTasks.length-_.length;if(z===0)return 0;return G8.sessionCronTasks=_,z}function Iu6(q){G8.sessionTrustAccepted=q}function MD6(){return G8.sessionTrustAccepted}function ms8(q){G8.sessionPersistenceDisabled=q}function ok(){return G8.sessionPersistenceDisabled}function uu6(){return G8.hasExitedPlanMode}function $L(q){G8.hasExitedPlanMode=q}function Bs8(){return G8.needsPlanModeExitAttachment}function gI(q){G8.needsPlanModeExitAttachment=q}function Kn(q,K){if(K===\"plan\"&&q!==\"plan\")G8.needsPlanModeExitAttachment=!1;if(q===\"plan\"&&K!==\"plan\")G8.needsPlanModeExitAttachment=!0}function ps8(){return G8.needsAutoModeExitAttachment}function CG(q){G8.needsAutoModeExitAttachment=q}function gs8(q,K){if(q===\"auto\"&&K===\"plan\"||q===\"plan\"&&K===\"auto\")return;let _=q===\"auto\",z=K===\"auto\";if(z&&!_)G8.needsAutoModeExitAttachment=!1;if(_&&!z)G8.needsAutoModeExitAttachment=!0}function Fs8(){return G8.lspRecommendationShownThisSession}function Us8(q){G8.lspRecommendationShownThisSession=q}function Qs8(q){G8.initJsonSchema=q}function Bz8(){return G8.initJsonSchema}function z66(q){if(!G8.registeredHooks)G8.registeredHooks={};for(let[K,_]of Object.entries(q)){let z=K;if(!G8.registeredHooks[z])G8.registeredHooks[z]=[];G8.registeredHooks[z].push(..._)}}function zS(){return G8.registeredHooks}function U25(){G8.registeredHooks=null}function pz8(){if(!G8.registeredHooks)return;let q={};for(let[K,_]of Object.entries(G8.registeredHooks)){let z=_.filter((Y)=>!(\"pluginRoot\"in Y));if(z.length>0)q[K]=z}G8.registeredHooks=Object.keys(q).length>0?q:null}function YP7(){G8.initJsonSchema=null,G8.registeredHooks=null}function h_6(){return G8.planSlugCache}function mu6(){return G8.sessionCreatedTeams}function Bu6(q){G8.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:q.sessionId}}function gz8(){return G8.teleportedSessionInfo}function Fz8(){if(G8.teleportedSessionInfo)G8.teleportedSessionInfo.hasLoggedFirstMessage=!0}function XD6(q,K,_,z=null){let Y=`${z??\"\"}:${q}`;G8.invokedSkills.set(Y,{skillName:q,skillPath:K,content:_,invokedAt:Date.now(),agentId:z})}function Q25(){return G8.invokedSkills}function ds8(q){let K=q??null,_=new Map;for(let[z,Y]of G8.invokedSkills)if(Y.agentId===K)_.set(z,Y);return _}function cs8(q){if(!q||q.size===0){G8.invokedSkills.clear();return}for(let[K,_]of G8.invokedSkills)if(_.agentId===null||!q.has(_.agentId))G8.invokedSkills.delete(K)}function Y66(q){for(let[K,_]of G8.invokedSkills)if(_.agentId===q)G8.invokedSkills.delete(K)}function AP7(q,K){return}function OP7(){if(G8.slowOperations.length===0)return tX7;let q=Date.now();if(G8.slowOperations.some((K)=>q-K.timestamp>=Ra8)){if(G8.slowOperations=G8.slowOperations.filter((K)=>q-K.timestamp<Ra8),G8.slowOperations.length===0)return tX7}return G8.slowOperations}function Ng(){return G8.mainThreadAgentType}function _n(q){G8.mainThreadAgentType=q}function cK(){return G8.isRemoteMode}function ls8(q){G8.isRemoteMode=q}function ns8(){return G8.systemPromptSectionCache}function is8(q,K){G8.systemPromptSectionCache.set(q,K)}function rs8(){G8.systemPromptSectionCache.clear()}function os8(){return G8.lastEmittedDate}function PD6(q){G8.lastEmittedDate=q}function bG(){return G8.additionalDirectoriesForClaudeMd}function pu6(q){G8.additionalDirectoriesForClaudeMd=q}function TJ(){return G8.allowedChannels}function zn(q){G8.allowedChannels=q}function Uz8(){return G8.hasDevChannels}function Qz8(q){G8.hasDevChannels=q}function as8(){return G8.promptCache1hAllowlist}function ss8(q){G8.promptCache1hAllowlist=q}function ts8(){return G8.afkModeHeaderLatched}function es8(q){G8.afkModeHeaderLatched=q}function qt8(){return G8.fastModeHeaderLatched}function Kt8(q){G8.fastModeHeaderLatched=q}function _t8(){return G8.cacheEditingHeaderLatched}function d25(q){G8.cacheEditingHeaderLatched=q}function zt8(){return G8.thinkingClearLatched}function Yt8(q){G8.thinkingClearLatched=q}function At8(){G8.afkModeHeaderLatched=null,G8.fastModeHeaderLatched=null,G8.cacheEditingHeaderLatched=null,G8.thinkingClearLatched=null}function gu6(){return G8.promptId}function Fu6(q){G8.promptId=q}var G8,ba8,xa8,la8=!1,ia8,ra8,aa8=0,sa8=null,Lz8=0,kz8=!1,Wu6,KP7=150,sX7=10,Ra8=1e4,tX7;var v8=L(()=>{UX7();ya8();tl();G8=eX7();ba8=E9(),xa8=ba8.subscribe;ia8=E9(),ra8=ia8.subscribe;tX7=[]});function dz8(q){let K;for(let _ in q)if(_.startsWith(\"_PROTO_\")){if(K===void 0)K={...q};delete K[_]}return K??q}function $P7(q){if(A66!==null)return;if(A66=q,Uu6.length>0){let K=[...Uu6];Uu6.length=0,queueMicrotask(()=>{for(let _ of K)if(_.async)A66.logEventAsync(_.eventName,_.metadata);else A66.logEvent(_.eventName,_.metadata)})}}function d(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!1});return}A66.logEvent(q,K)}async function wP7(q,K){if(A66===null){Uu6.push({eventName:q,metadata:K,async:!0});return}await A66.logEventAsync(q,K)}var Uu6,A66=null;var T8=L(()=>{Uu6=[]});function WD6({writeFn:q,flushIntervalMs:K=1000,maxBufferSize:_=100,maxBufferBytes:z=1/0,immediateMode:Y=!1}){let A=[],O=0,$=null,w=null;function j(){if($)clearTimeout($),$=null}function H(){if(w)q(w.join(\"\")),w=null;if(A.length===0)return;q(A.join(\"\")),A=[],O=0,j()}function J(){if(!$)$=setTimeout(H,K)}function M(){if(w){w.push(...A),A=[],O=0,j();return}let X=A;A=[],O=0,j(),w=X,setImmediate(()=>{let P=w;if(w=null,P)q(P.join(\"\"))})}return{write(X){if(Y){q(X);return}if(A.push(X),O+=X.length,J(),A.length>=_||O>=z)M()},flush:H,dispose(){H()}}}function gq(q){return Ot8.add(q),()=>Ot8.delete(q)}async function jP7(){await Promise.all(Array.from(Ot8).map((q)=>q()))}var Ot8;var o9=L(()=>{Ot8=new Set});function c25(q){let K=[],_=q.match(/^MCP server [\"']([^\"']+)[\"']/);if(_&&_[1])K.push(\"mcp\"),K.push(_[1].toLowerCase());else{let A=q.match(/^([^:[]+):/);if(A&&A[1])K.push(A[1].trim().toLowerCase())}let z=q.match(/^\\[([^\\]]+)]/);if(z&&z[1])K.push(z[1].trim().toLowerCase());if(q.toLowerCase().includes(\"1p event:\"))K.push(\"1p\");let Y=q.match(/:\\s*([^:]+?)(?:\\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let A=Y[1].trim().toLowerCase();if(A.length<30&&!A.includes(\" \"))K.push(A)}return Array.from(new Set(K))}function l25(q,K){if(!K)return!0;if(q.length===0)return!1;if(K.isExclusive)return!q.some((_)=>K.exclude.includes(_));else return q.some((_)=>K.include.includes(_))}function JP7(q,K){if(!K)return!0;let _=c25(q);return l25(_,K)}var HP7;var MP7=L(()=>{h4();HP7=A1((q)=>{if(!q||q.trim()===\"\")return null;let K=q.split(\",\").map((A)=>A.trim()).filter(Boolean);if(K.length===0)return null;let _=K.some((A)=>A.startsWith(\"!\")),z=K.some((A)=>!A.startsWith(\"!\"));if(_&&z)return null;let Y=K.map((A)=>A.replace(/^!/,\"\").toLowerCase());return{include:_?[]:Y,exclude:_?Y:[],isExclusive:_}})});import{homedir as n25}from\"os\";import{join as XP7}from\"path\";function fD6(){return XP7(O7(),\"teams\")}function ZD6(q){let K=process.env.NODE_OPTIONS;if(!K)return!1;return K.split(/\\s+/).includes(q)}function Yn(q,K){if(q===void 0)return K;let _=parseInt(q,10);return Number.isNaN(_)?K:_}function B6(q){if(!q)return!1;if(typeof q===\"boolean\")return q;let K=q.toLowerCase().trim();return[\"1\",\"true\",\"yes\",\"on\"].includes(K)}function a9(q){if(q===void 0)return!1;if(typeof q===\"boolean\")return!q;if(!q)return!1;let K=q.toLowerCase().trim();return[\"0\",\"false\",\"no\",\"off\"].includes(K)}function D9(){return B6(process.env.CLAUDE_CODE_SIMPLE)||process.argv.includes(\"--bare\")}function PP7(q){let K={};if(q)for(let _ of q){let[z,...Y]=_.split(\"=\");if(!z||Y.length===0)throw Error(`Invalid environment variable format: ${_}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);K[z]=Y.join(\"=\")}return K}function YS(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||\"us-east-1\"}function cz8(){return process.env.CLOUD_ML_REGION||\"us-east5\"}function DP7(){return B6(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)}function Af(){return!1}function AS(){return!1}function WP7(){return{namespace:void 0,cluster:void 0}}function lz8(q){if(q){let K=i25.find(([_])=>q.startsWith(_));if(K)return process.env[K[1]]||cz8()}return cz8()}var O7,i25;var B8=L(()=>{h4();O7=A1(()=>{return(process.env.CLAUDE_CONFIG_DIR??XP7(n25(),\".claude\")).normalize(\"NFC\")},()=>process.env.CLAUDE_CONFIG_DIR);i25=[[\"claude-haiku-4-5\",\"VERTEX_REGION_CLAUDE_HAIKU_4_5\"],[\"claude-3-5-haiku\",\"VERTEX_REGION_CLAUDE_3_5_HAIKU\"],[\"claude-3-5-sonnet\",\"VERTEX_REGION_CLAUDE_3_5_SONNET\"],[\"claude-3-7-sonnet\",\"VERTEX_REGION_CLAUDE_3_7_SONNET\"],[\"claude-opus-4-6\",\"VERTEX_REGION_CLAUDE_4_6_OPUS\"],[\"claude-opus-4-1\",\"VERTEX_REGION_CLAUDE_4_1_OPUS\"],[\"claude-opus-4\",\"VERTEX_REGION_CLAUDE_4_0_OPUS\"],[\"claude-sonnet-4-6\",\"VERTEX_REGION_CLAUDE_4_6_SONNET\"],[\"claude-sonnet-4-5\",\"VERTEX_REGION_CLAUDE_4_5_SONNET\"],[\"claude-sonnet-4\",\"VERTEX_REGION_CLAUDE_4_0_SONNET\"]]});function $4(q,K,_,z,Y){if(z===\"m\")throw TypeError(\"Private method is not writable\");if(z===\"a\"&&!Y)throw TypeError(\"Private accessor was defined without a setter\");if(typeof K===\"function\"?q!==K||!Y:!K.has(q))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return z===\"a\"?Y.call(q,_):Y?Y.value=_:K.set(q,_),_}function u1(q,K,_,z){if(_===\"a\"&&!z)throw TypeError(\"Private accessor was defined without a getter\");if(typeof K===\"function\"?q!==K||!z:!K.has(q))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return _===\"m\"?z:_===\"a\"?z.call(q):z?z.value:K.get(q)}var An=()=>{};var $t8=function(){let{crypto:q}=globalThis;if(q?.randomUUID)return $t8=q.randomUUID.bind(q),q.randomUUID();let K=new Uint8Array(1),_=q?()=>q.getRandomValues(K)[0]:()=>Math.random()*255&255;return\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,(z)=>(+z^_()&15>>+z/4).toString(16))};function On(q){return typeof q===\"object\"&&q!==null&&((\"name\"in q)&&q.name===\"AbortError\"||(\"message\"in q)&&String(q.message).includes(\"FetchRequestCanceledException\"))}var Qu6=(q)=>{if(q instanceof Error)return q;if(typeof q===\"object\"&&q!==null){try{if(Object.prototype.toString.call(q)===\"[object Error]\"){let K=Error(q.message,q.cause?{cause:q.cause}:{});if(q.stack)K.stack=q.stack;if(q.cause&&!K.cause)K.cause=q.cause;if(q.name)K.name=q.name;return K}}catch{}try{return Error(JSON.stringify(q))}catch{}}return Error(q)};var vq,dq,c_,Of,yg,du6,R_6,cu6,S_6,lu6,nu6,iu6,ru6;var $W=L(()=>{vq=class vq extends Error{};dq=class dq extends vq{constructor(q,K,_,z,Y){super(`${dq.makeMessage(q,K,_)}`);this.status=q,this.headers=z,this.requestID=z?.get(\"request-id\"),this.error=K,this.type=Y??null}static makeMessage(q,K,_){let z=K?.message?typeof K.message===\"string\"?K.message:JSON.stringify(K.message):K?JSON.stringify(K):_;if(q&&z)return`${q} ${z}`;if(q)return`${q} status code (no body)`;if(z)return z;return\"(no status code or body)\"}static generate(q,K,_,z){if(!q||!z)return new Of({message:_,cause:Qu6(K)});let Y=K,A=Y?.error?.type;if(q===400)return new du6(q,Y,_,z,A);if(q===401)return new R_6(q,Y,_,z,A);if(q===403)return new cu6(q,Y,_,z,A);if(q===404)return new S_6(q,Y,_,z,A);if(q===409)return new lu6(q,Y,_,z,A);if(q===422)return new nu6(q,Y,_,z,A);if(q===429)return new iu6(q,Y,_,z,A);if(q>=500)return new ru6(q,Y,_,z,A);return new dq(q,Y,_,z,A)}};c_=class c_ extends dq{constructor({message:q}={}){super(void 0,void 0,q||\"Request was aborted.\",void 0)}};Of=class Of extends dq{constructor({message:q,cause:K}){super(void 0,void 0,q||\"Connection error.\",void 0);if(K)this.cause=K}};yg=class yg extends Of{constructor({message:q}={}){super({message:q??\"Request timed out.\"})}};du6=class du6 extends dq{};R_6=class R_6 extends dq{};cu6=class cu6 extends dq{};S_6=class S_6 extends dq{};lu6=class lu6 extends dq{};nu6=class nu6 extends dq{};iu6=class iu6 extends dq{};ru6=class ru6 extends dq{}});function nz8(q){if(typeof q!==\"object\")return{};return q??{}}function Ht8(q){if(!q)return!0;for(let K in q)return!1;return!0}function ZP7(q,K){return Object.prototype.hasOwnProperty.call(q,K)}var o25,fP7=(q)=>{return o25.test(q)},wt8=(q)=>(wt8=Array.isArray,wt8(q)),jt8,GP7=(q,K)=>{if(typeof K!==\"number\"||!Number.isInteger(K))throw new vq(`${q} must be an integer`);if(K<0)throw new vq(`${q} must be a positive integer`);return K},iz8=(q)=>{try{return JSON.parse(q)}catch(K){return}};var C_6=L(()=>{$W();o25=/^[a-z][a-z0-9+.-]*:/i,jt8=wt8});var vP7=(q)=>new Promise((K)=>setTimeout(K,q));var O66=\"0.81.0\";function a25(){if(typeof Deno<\"u\"&&Deno.build!=null)return\"deno\";if(typeof EdgeRuntime<\"u\")return\"edge\";if(Object.prototype.toString.call(typeof globalThis.process<\"u\"?globalThis.process:0)===\"[object process]\")return\"node\";return\"unknown\"}function t25(){if(typeof navigator>\"u\"||!navigator)return null;let q=[{key:\"edge\",pattern:/Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"ie\",pattern:/Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"chrome\",pattern:/Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"firefox\",pattern:/Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/},{key:\"safari\",pattern:/(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/}];for(let{key:K,pattern:_}of q){let z=_.exec(navigator.userAgent);if(z){let Y=z[1]||0,A=z[2]||0,O=z[3]||0;return{browser:K,version:`${Y}.${A}.${O}`}}}return null}var NP7=()=>{return typeof window<\"u\"&&typeof window.document<\"u\"&&typeof navigator<\"u\"},s25=()=>{let q=a25();if(q===\"deno\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(Deno.build.os),\"X-Stainless-Arch\":TP7(Deno.build.arch),\"X-Stainless-Runtime\":\"deno\",\"X-Stainless-Runtime-Version\":typeof Deno.version===\"string\"?Deno.version:Deno.version?.deno??\"unknown\"};if(typeof EdgeRuntime<\"u\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":`other:${EdgeRuntime}`,\"X-Stainless-Runtime\":\"edge\",\"X-Stainless-Runtime-Version\":globalThis.process.version};if(q===\"node\")return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":VP7(globalThis.process.platform??\"unknown\"),\"X-Stainless-Arch\":TP7(globalThis.process.arch??\"unknown\"),\"X-Stainless-Runtime\":\"node\",\"X-Stainless-Runtime-Version\":globalThis.process.version??\"unknown\"};let K=t25();if(K)return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":`browser:${K.browser}`,\"X-Stainless-Runtime-Version\":K.version};return{\"X-Stainless-Lang\":\"js\",\"X-Stainless-Package-Version\":O66,\"X-Stainless-OS\":\"Unknown\",\"X-Stainless-Arch\":\"unknown\",\"X-Stainless-Runtime\":\"unknown\",\"X-Stainless-Runtime-Version\":\"unknown\"}},TP7=(q)=>{if(q===\"x32\")return\"x32\";if(q===\"x86_64\"||q===\"x64\")return\"x64\";if(q===\"arm\")return\"arm\";if(q===\"aarch64\"||q===\"arm64\")return\"arm64\";if(q)return`other:${q}`;return\"unknown\"},VP7=(q)=>{if(q=q.toLowerCase(),q.includes(\"ios\"))return\"iOS\";if(q===\"android\")return\"Android\";if(q===\"darwin\")return\"MacOS\";if(q===\"win32\")return\"Windows\";if(q===\"freebsd\")return\"FreeBSD\";if(q===\"openbsd\")return\"OpenBSD\";if(q===\"linux\")return\"Linux\";if(q)return`Other:${q}`;return\"Unknown\"},kP7,yP7=()=>{return kP7??(kP7=s25())};var Jt8=()=>{};function EP7(){if(typeof fetch<\"u\")return fetch;throw Error(\"`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`\")}function Mt8(...q){let K=globalThis.ReadableStream;if(typeof K>\"u\")throw Error(\"`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`\");return new K(...q)}function rz8(q){let K=Symbol.asyncIterator in q?q[Symbol.asyncIterator]():q[Symbol.iterator]();return Mt8({start(){},async pull(_){let{done:z,value:Y}=await K.next();if(z)_.close();else _.enqueue(Y)},async cancel(){await K.return?.()}})}function ou6(q){if(q[Symbol.asyncIterator])return q;let K=q.getReader();return{async next(){try{let _=await K.read();if(_?.done)K.releaseLock();return _}catch(_){throw K.releaseLock(),_}},async return(){let _=K.cancel();return K.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function LP7(q){if(q===null||typeof q!==\"object\")return;if(q[Symbol.asyncIterator]){await q[Symbol.asyncIterator]().return?.();return}let K=q.getReader(),_=K.cancel();K.releaseLock(),await _}var hP7=({headers:q,body:K})=>{return{bodyHeaders:{\"content-type\":\"application/json\"},body:JSON.stringify(K)}};function RP7(q){return Object.entries(q).filter(([K,_])=>typeof _<\"u\").map(([K,_])=>{if(typeof _===\"string\"||typeof _===\"number\"||typeof _===\"boolean\")return`${encodeURIComponent(K)}=${encodeURIComponent(_)}`;if(_===null)return`${encodeURIComponent(K)}=`;throw new vq(`Cannot stringify type ${typeof _}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(\"&\")}var SP7=L(()=>{$W()});function xP7(q){let K=0;for(let Y of q)K+=Y.length;let _=new Uint8Array(K),z=0;for(let Y of q)_.set(Y,z),z+=Y.length;return _}function au6(q){let K;return(CP7??(K=new globalThis.TextEncoder,CP7=K.encode.bind(K)))(q)}function Xt8(q){let K;return(bP7??(K=new globalThis.TextDecoder,bP7=K.decode.bind(K)))(q)}var CP7,bP7;class $66{constructor(){wL.set(this,void 0),jL.set(this,void 0),$4(this,wL,new Uint8Array,\"f\"),$4(this,jL,null,\"f\")}decode(q){if(q==null)return[];let K=q instanceof ArrayBuffer?new Uint8Array(q):typeof q===\"string\"?au6(q):q;$4(this,wL,xP7([u1(this,wL,\"f\"),K]),\"f\");let _=[],z;while((z=Kj5(u1(this,wL,\"f\"),u1(this,jL,\"f\")))!=null){if(z.carriage&&u1(this,jL,\"f\")==null){$4(this,jL,z.index,\"f\");continue}if(u1(this,jL,\"f\")!=null&&(z.index!==u1(this,jL,\"f\")+1||z.carriage)){_.push(Xt8(u1(this,wL,\"f\").subarray(0,u1(this,jL,\"f\")-1))),$4(this,wL,u1(this,wL,\"f\").subarray(u1(this,jL,\"f\")),\"f\"),$4(this,jL,null,\"f\");continue}let Y=u1(this,jL,\"f\")!==null?z.preceding-1:z.preceding,A=Xt8(u1(this,wL,\"f\").subarray(0,Y));_.push(A),$4(this,wL,u1(this,wL,\"f\").subarray(z.index),\"f\"),$4(this,jL,null,\"f\")}return _}flush(){if(!u1(this,wL,\"f\").length)return[];return this.decode(`\n ^^^\n\nSyntaxError: Unexpected token '??='\n at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)\n at async link (internal/modules/esm/module_job.js:47:21)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"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.12291667,"top":0.05888889,"width":0.12291667,"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.12708333,"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.24583334,"top":0.05888889,"width":0.12291667,"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.25,"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.36875,"top":0.05888889,"width":0.12291667,"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.37291667,"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.49166667,"top":0.05888889,"width":0.12291667,"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.49583334,"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.6145833,"top":0.05888889,"width":0.12291667,"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.61875,"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.7375,"top":0.05888889,"width":0.12291667,"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.7416667,"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.86041665,"top":0.05888889,"width":0.12291667,"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.8645833,"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"}]...
|
-719952589760894517
|
7804189247914894888
|
visual_change
|
accessibility
|
NULL
|
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ c Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ cat > /volume1/Test/screenpipe/screenpipe-day.sh << 'EOF'
#!/bin/bash
DB="/volume1/Test/screenpipe/db.sqlite"
DATE=${1:-$(date -d "yesterday" '+%Y-%m-%d')}
echo "═══════════════════════════════════════"
echo " SCREENPIPE REPORT — $DATE"
echo "═══════════════════════════════════════"
echo -e "\n📱 APP USAGE (frames + estimated time)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n⌨️ ACTIVITY TYPE PER APP"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',
app_name,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo -e "\n🌐 BROWSER URLS"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%4d frames %s', COUNT(*), browser_url)
FROM frames
WHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL
GROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;"
echo -e "\n🪟 WINDOW TITLES (top 20)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))
FROM frames
WHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL
GROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;"
chmod +x /volume1/Test/screenpipe/screenpipe-day.shM ui_events WHERE date(timestamp) = '$DATE';"
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ ls
data db.sqlite pipes screenpipe-day.sh
Adm1n@DXP4800PLUS-B5F8:/volume1/Test/screenpipe$ /volume1/Test/screenpipe/screenpipe-day.sh 2026-04-09
═══════════════════════════════════════
SCREENPIPE REPORT — 2026-04-09
═══════════════════════════════════════
📱 APP USAGE (frames + estimated time)
───────────────────────────────────────
iTerm2 185 frames ~ 13.9 min
Dia 31 frames ~ 2.3 min
Safari 20 frames ~ 1.5 min
Claude 12 frames ~ 0.9 min
UserNotificationCenter 4 frames ~ 0.3 min
Control Centre 3 frames ~ 0.2 min
Slack 2 frames ~ 0.2 min
Activity Monitor 2 frames ~ 0.2 min
Finder 1 frames ~ 0.1 min
⌨️ ACTIVITY TYPE PER APP
───────────────────────────────────────
iTerm2 clicks:283 keys:122 switches:34
Dia clicks:171 keys:56 switches:9
Safari clicks:56 keys:11 switches:3
Claude clicks:50 keys:6 switches:9
UserNotificationCenter clicks:8 keys:0 switches:4
Slack clicks:1 keys:0 switches:1
🌐 BROWSER URLS
───────────────────────────────────────
13 frames [URL_WITH_CREDENTIALS] ~ $ claude mcp add screenpipe -- npx -y
Dia lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude mcp add screenpipe -- npx -y
npm install -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
Dia npm install -g @anthropic-ai/claude-code
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] cd /volume2/applications/
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ sudo mkdir screenpipe
[sudo] password for Adm1n:
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ ls
AppFlowy-Cloud booklore gramps screenpipe ytber
Adm1n@DXP4800PLUS-B5F8:/volume2/applications$ cd /volume1/screenpipe/
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ls
app data db.sqlite pipes '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ ll
total 95084
drwxrwxrwx 1 root root 76 Apr 11 17:43 .
drwxr-xr-x 1 root root 450 Apr 11 16:11 ..
drwxrwxrwx 1 Adm1n admin 162 Apr 11 17:46 app
drwxrwxrwx 1 root root 58 Apr 11 17:29 data
-rwxrwxrwx 1 Adm1n admin 97337344 Apr 11 16:48 db.sqlite
-rwxrwxrwx 1 Adm1n admin 10244 Apr 11 17:28 .DS_Store
drwxrwxrwx 1 Adm1n admin 164 Apr 11 16:51 pipes
drwxrwxrwx 1 root root 22 Apr 11 16:11 '#recycle'
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ cd app
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 15.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 1.6s
=> [screenpipe-app internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.2s
=> => transferring context: 40.53kB 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 4.5s
=> => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.2s
=> => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB 0.6s
=> => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB 0.0s
=> => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB 0.0s
=> => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB 0.0s
=> => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB 1.2s
=> => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB 0.7s
=> => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B 0.9s
=> => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 1.6s
=> => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 0.1s
=> => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 0.7s
=> => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 0.0s
=> [screenpipe-app 2/5] WORKDIR /app 0.4s
=> [screenpipe-app 3/5] COPY requirements.txt . 0.2s
=> [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 7.5s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.4s
=> => exporting layers 0.3s
=> => writing image sha256:3f6fa549da7eb4ba2e5f9217d1abe1437ba60975438fa45a21b5c0f41020c329 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 2/2
✔ Network app_default Created 0.2s
✔ Container screenpipe-app Created 0.1s
Error response from daemon: driver failed programming external connectivity on endpoint screenpipe-app (95f2d983d77d6953158ff8e04a9a821e13f87f06c8de49fd80f39a9a02bd3b7b): Error starting userland proxy: listen tcp4 [IP_ADDRESS]:8765: bind: address already in use
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d 2>&1
[+] Running 1/1
✔ Container screenpipe-app Started 0.1s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f /volume1/screenpipe/app/docker-compose.yml up -d
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[sudo] password for Adm1n:
[+] Building 1.7s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 24.55kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.4s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 38.85kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.6s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.8s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.1s
=> => transferring context: 47.13kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.5s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.7s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 61.77kB 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> [screenpipe-app 5/5] COPY . . 0.2s
=> [screenpipe-app] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/1
✔ Container screenpipe-app Started 0.8s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ ls
cli.py consumers db.py docker-compose.yml Dockerfile main.py requirements.txt static
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose -f up -d --build
unknown shorthand flag: 'd' in -d
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build
[+] Building 1.0s (10/10) FINISHED docker:default
=> [screenpipe-app internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 266B 0.0s
=> [screenpipe-app internal] load metadata for docker.io/library/python:3.12-slim 0.6s
=> [screenpipe-app internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [screenpipe-app internal] load build context 0.0s
=> => transferring context: 915B 0.0s
=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 0.0s
=> CACHED [screenpipe-app 2/5] WORKDIR /app 0.0s
=> CACHED [screenpipe-app 3/5] COPY requirements.txt . 0.0s
=> CACHED [screenpipe-app 4/5] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [screenpipe-app 5/5] COPY . . 0.0s
=> [screenpipe-app] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fd2d2158b6d072140e7bf915c0a6b486e52fb07d4184f516affe4c96367e944b 0.0s
=> => naming to docker.io/library/app-screenpipe-app 0.0s
[+] Running 1/0
✔ Container screenpipe-app Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ client_loop: send disconnect: Broken pipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ claude
file:///Users/lukas/.nvm/versions/node/v14.15.4/lib/node_modules/@anthropic-ai/claude-code/cli.js:8
import{createRequire as MA5}from"node:module";var AA5=Object.create;var{getPrototypeOf:OA5,defineProperty:eI6,getOwnPropertyNames:JJ7,getOwnPropertyDescriptor:$A5}=Object,MJ7=Object.prototype.hasOwnProperty;function XJ7(q){return this[q]}var wA5,jA5,Y6=(q,K,_)=>{var z=q!=null&&typeof q==="object";if(z){var Y=K?wA5??=new WeakMap:jA5??=new WeakMap,A=Y.get(q);if(A)return A}_=q!=null?AA5(OA5(q)):{};let O=K||!q||!q.__esModule?eI6(_,"default",{value:q,enumerable:!0}):_;for(let $ of JJ7(q))if(!MJ7.call(O,$))eI6(O,$,{get:XJ7.bind(q,$),enumerable:!0});if(z)Y.set(q,O);return O},fq=(q)=>{var K=(HJ7??=new WeakMap).get(q),_;if(K)return K;if(K=eI6({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var z of JJ7(q))if(!MJ7.call(K,z))eI6(K,z,{get:XJ7.bind(q,z),enumerable:!(_=$A5(q,z))||_.enumerable})}return HJ7.set(q,K),K},HJ7,B=(q,K)=>()=>(K||q((K={exports:{}}).exports,K),K.exports);var HA5=(q)=>q;function JA5(q,K){this[q]=HA5.bind(null,K)}var f8=(q,K)=>{for(var _ in K)eI6(q,_,{get:K[_],enumerable:!0,configurable:!0,set:JA5.bind(K,_)})};var L=(q,K)=>()=>(q&&(K=q(q=0)),K);var U6=MA5(import.meta.url),XA5=Symbol.dispose||Symbol.for("Symbol.dispose"),PA5=Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose"),lz=(q,K,_)=>{if(K!=null){if(typeof K!=="object"&&typeof K!=="function")throw TypeError('Object expected to be assigned to "using" declaration');var z;if(_)z=K[PA5];if(z===void 0)z=K[XA5];if(typeof z!=="function")throw TypeError("Object not disposable");q.push([_,z,K])}else if(_)q.push([_]);return K},nz=(q,K,_)=>{var z=typeof SuppressedError==="function"?SuppressedError:function(O,$,w,j){return j=Error(w),j.name="SuppressedError",j.error=O,j.suppressed=$,j},Y=(O)=>K=_?new z(O,K,"An error was suppressed during disposal"):(_=!0,O),A=(O)=>{while(O=q.pop())try{var $=O[1]&&O[1].call(O[2]);if(O[0])return Promise.resolve($).then(A,(w)=>(Y(w),A()))}catch(w){Y(w)}if(_)throw K};return A()};function DA5(){this.__data__=[],this.size=0}var PJ7;var DJ7=L(()=>{PJ7=DA5});function WA5(q,K){return q===K||q!==q&&K!==K}var Pg;var pP6=L(()=>{Pg=WA5});function fA5(q,K){var _=q.length;while(_--)if(Pg(q[_][0],K))return _;return-1}var de;var qu6=L(()=>{pP6();de=fA5});function vA5(q){var K=this.__data__,_=de(K,q);if(_<0)return!1;var z=K.length-1;if(_==z)K.pop();else GA5.call(K,_,1);return--this.size,!0}var ZA5,GA5,WJ7;var fJ7=L(()=>{qu6();ZA5=Array.prototype,GA5=ZA5.splice;WJ7=vA5});function TA5(q){var K=this.__data__,_=de(K,q);return _<0?void 0:K[_][1]}var ZJ7;var GJ7=L(()=>{qu6();ZJ7=TA5});function VA5(q){return de(this.__data__,q)>-1}var vJ7;var TJ7=L(()=>{qu6();vJ7=VA5});function kA5(q,K){var _=this.__data__,z=de(_,q);if(z<0)++this.size,_.push([q,K]);else _[z][1]=K;return this}var VJ7;var kJ7=L(()=>{qu6();VJ7=kA5});function gP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var ce;var Ku6=L(()=>{DJ7();fJ7();GJ7();TJ7();kJ7();gP6.prototype.clear=PJ7;gP6.prototype.delete=WJ7;gP6.prototype.get=ZJ7;gP6.prototype.has=vJ7;gP6.prototype.set=VJ7;ce=gP6});function NA5(){this.__data__=new ce,this.size=0}var NJ7;var yJ7=L(()=>{Ku6();NJ7=NA5});function yA5(q){var K=this.__data__,_=K.delete(q);return this.size=K.size,_}var EJ7;var LJ7=L(()=>{EJ7=yA5});function EA5(q){return this.__data__.get(q)}var hJ7;var RJ7=L(()=>{hJ7=EA5});function LA5(q){return this.__data__.has(q)}var SJ7;var CJ7=L(()=>{SJ7=LA5});var hA5,g_8;var Aa8=L(()=>{hA5=typeof global=="object"&&global&&global.Object===Object&&global,g_8=hA5});var RA5,SA5,vJ;var sR=L(()=>{Aa8();RA5=typeof self=="object"&&self&&self.Object===Object&&self,SA5=g_8||RA5||Function("return this")(),vJ=SA5});var CA5,YW;var J_6=L(()=>{sR();CA5=vJ.Symbol,YW=CA5});function IA5(q){var K=bA5.call(q,_u6),_=q[_u6];try{q[_u6]=void 0;var z=!0}catch(A){}var Y=xA5.call(q);if(z)if(K)q[_u6]=_;else delete q[_u6];return Y}var bJ7,bA5,xA5,_u6,xJ7;var IJ7=L(()=>{J_6();bJ7=Object.prototype,bA5=bJ7.hasOwnProperty,xA5=bJ7.toString,_u6=YW?YW.toStringTag:void 0;xJ7=IA5});function BA5(q){return mA5.call(q)}var uA5,mA5,uJ7;var mJ7=L(()=>{uA5=Object.prototype,mA5=uA5.toString;uJ7=BA5});function FA5(q){if(q==null)return q===void 0?gA5:pA5;return BJ7&&BJ7 in Object(q)?xJ7(q):uJ7(q)}var pA5="[object Null]",gA5="[object Undefined]",BJ7,YL;var M_6=L(()=>{J_6();IJ7();mJ7();BJ7=YW?YW.toStringTag:void 0;YL=FA5});function UA5(q){var K=typeof q;return q!=null&&(K=="object"||K=="function")}var PO;var hT=L(()=>{PO=UA5});function nA5(q){if(!PO(q))return!1;var K=YL(q);return K==dA5||K==cA5||K==QA5||K==lA5}var QA5="[object AsyncFunction]",dA5="[object Function]",cA5="[object GeneratorFunction]",lA5="[object Proxy]",FP6;var F_8=L(()=>{M_6();hT();FP6=nA5});var iA5,U_8;var pJ7=L(()=>{sR();iA5=vJ["__core-js_shared__"],U_8=iA5});function rA5(q){return!!gJ7&&gJ7 in q}var gJ7,FJ7;var UJ7=L(()=>{pJ7();gJ7=function(){var q=/[^.]+$/.exec(U_8&&U_8.keys&&U_8.keys.IE_PROTO||"");return q?"Symbol(src)_1."+q:""}();FJ7=rA5});function sA5(q){if(q!=null){try{return aA5.call(q)}catch(K){}try{return q+""}catch(K){}}return""}var oA5,aA5,rl;var Oa8=L(()=>{oA5=Function.prototype,aA5=oA5.toString;rl=sA5});function AO5(q){if(!PO(q)||FJ7(q))return!1;var K=FP6(q)?YO5:eA5;return K.test(rl(q))}var tA5,eA5,qO5,KO5,_O5,zO5,YO5,QJ7;var dJ7=L(()=>{F_8();UJ7();hT();Oa8();tA5=/[\\^$.*+?()[\]{}|]/g,eA5=/^\[object .+?Constructor\]$/,qO5=Function.prototype,KO5=Object.prototype,_O5=qO5.toString,zO5=KO5.hasOwnProperty,YO5=RegExp("^"+_O5.call(zO5).replace(tA5,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");QJ7=AO5});function OO5(q,K){return q==null?void 0:q[K]}var cJ7;var lJ7=L(()=>{cJ7=OO5});function $O5(q,K){var _=cJ7(q,K);return QJ7(_)?_:void 0}var ik;var le=L(()=>{dJ7();lJ7();ik=$O5});var wO5,ne;var Q_8=L(()=>{le();sR();wO5=ik(vJ,"Map"),ne=wO5});var jO5,ol;var zu6=L(()=>{le();jO5=ik(Object,"create"),ol=jO5});function HO5(){this.__data__=ol?ol(null):{},this.size=0}var nJ7;var iJ7=L(()=>{zu6();nJ7=HO5});function JO5(q){var K=this.has(q)&&delete this.__data__[q];return this.size-=K?1:0,K}var rJ7;var oJ7=L(()=>{rJ7=JO5});function DO5(q){var K=this.__data__;if(ol){var _=K[q];return _===MO5?void 0:_}return PO5.call(K,q)?K[q]:void 0}var MO5="__lodash_hash_undefined__",XO5,PO5,aJ7;var sJ7=L(()=>{zu6();XO5=Object.prototype,PO5=XO5.hasOwnProperty;aJ7=DO5});function ZO5(q){var K=this.__data__;return ol?K[q]!==void 0:fO5.call(K,q)}var WO5,fO5,tJ7;var eJ7=L(()=>{zu6();WO5=Object.prototype,fO5=WO5.hasOwnProperty;tJ7=ZO5});function vO5(q,K){var _=this.__data__;return this.size+=this.has(q)?0:1,_[q]=ol&&K===void 0?GO5:K,this}var GO5="__lodash_hash_undefined__",qM7;var KM7=L(()=>{zu6();qM7=vO5});function UP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var $a8;var _M7=L(()=>{iJ7();oJ7();sJ7();eJ7();KM7();UP6.prototype.clear=nJ7;UP6.prototype.delete=rJ7;UP6.prototype.get=aJ7;UP6.prototype.has=tJ7;UP6.prototype.set=qM7;$a8=UP6});function TO5(){this.size=0,this.__data__={hash:new $a8,map:new(ne||ce),string:new $a8}}var zM7;var YM7=L(()=>{_M7();Ku6();Q_8();zM7=TO5});function VO5(q){var K=typeof q;return K=="string"||K=="number"||K=="symbol"||K=="boolean"?q!=="__proto__":q===null}var AM7;var OM7=L(()=>{AM7=VO5});function kO5(q,K){var _=q.__data__;return AM7(K)?_[typeof K=="string"?"string":"hash"]:_.map}var ie;var Yu6=L(()=>{OM7();ie=kO5});function NO5(q){var K=ie(this,q).delete(q);return this.size-=K?1:0,K}var $M7;var wM7=L(()=>{Yu6();$M7=NO5});function yO5(q){return ie(this,q).get(q)}var jM7;var HM7=L(()=>{Yu6();jM7=yO5});function EO5(q){return ie(this,q).has(q)}var JM7;var MM7=L(()=>{Yu6();JM7=EO5});function LO5(q,K){var _=ie(this,q),z=_.size;return _.set(q,K),this.size+=_.size==z?0:1,this}var XM7;var PM7=L(()=>{Yu6();XM7=LO5});function QP6(q){var K=-1,_=q==null?0:q.length;this.clear();while(++K<_){var z=q[K];this.set(z[0],z[1])}}var X_6;var d_8=L(()=>{YM7();wM7();HM7();MM7();PM7();QP6.prototype.clear=zM7;QP6.prototype.delete=$M7;QP6.prototype.get=jM7;QP6.prototype.has=JM7;QP6.prototype.set=XM7;X_6=QP6});function RO5(q,K){var _=this.__data__;if(_ instanceof ce){var z=_.__data__;if(!ne||z.length<hO5-1)return z.push([q,K]),this.size=++_.size,this;_=this.__data__=new X_6(z)}return _.set(q,K),this.size=_.size,this}var hO5=200,DM7;var WM7=L(()=>{Ku6();Q_8();d_8();DM7=RO5});function dP6(q){var K=this.__data__=new ce(q);this.size=K.size}var Dg;var Au6=L(()=>{Ku6();yJ7();LJ7();RJ7();CJ7();WM7();dP6.prototype.clear=NJ7;dP6.prototype.delete=EJ7;dP6.prototype.get=hJ7;dP6.prototype.has=SJ7;dP6.prototype.set=DM7;Dg=dP6});function CO5(q){return this.__data__.set(q,SO5),this}var SO5="__lodash_hash_undefined__",fM7;var ZM7=L(()=>{fM7=CO5});function bO5(q){return this.__data__.has(q)}var GM7;var vM7=L(()=>{GM7=bO5});function c_8(q){var K=-1,_=q==null?0:q.length;this.__data__=new X_6;while(++K<_)this.add(q[K])}var l_8;var wa8=L(()=>{d_8();ZM7();vM7();c_8.prototype.add=c_8.prototype.push=fM7;c_8.prototype.has=GM7;l_8=c_8});function xO5(q,K){var _=-1,z=q==null?0:q.length;while(++_<z)if(K(q[_],_,q))return!0;return!1}var TM7;var VM7=L(()=>{TM7=xO5});function IO5(q,K){return q.has(K)}var n_8;var ja8=L(()=>{n_8=IO5});function BO5(q,K,_,z,Y,A){var O=_&uO5,$=q.length,w=K.length;if($!=w&&!(O&&w>$))return!1;var j=A.get(q),H=A.get(K);if(j&&H)return j==K&&H==q;var J=-1,M=!0,X=_&mO5?new l_8:void 0;A.set(q,K),A.set(K,q);while(++J<$){var P=q[J],D=K[J];if(z)var W=O?z(D,P,J,K,q,A):z(P,D,J,q,K,A);if(W!==void 0){if(W)continue;M=!1;break}if(X){if(!TM7(K,function(f,G){if(!n_8(X,G)&&(P===f||Y(P,f,_,z,A)))return X.push(G)})){M=!1;break}}else if(!(P===D||Y(P,D,_,z,A))){M=!1;break}}return A.delete(q),A.delete(K),M}var uO5=1,mO5=2,i_8;var Ha8=L(()=>{wa8();VM7();ja8();i_8=BO5});var pO5,cP6;var Ja8=L(()=>{sR();pO5=vJ.Uint8Array,cP6=pO5});function gO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z,Y){_[++K]=[Y,z]}),_}var kM7;var NM7=L(()=>{kM7=gO5});function FO5(q){var K=-1,_=Array(q.size);return q.forEach(function(z){_[++K]=z}),_}var lP6;var r_8=L(()=>{lP6=FO5});function q$5(q,K,_,z,Y,A,O){switch(_){case eO5:if(q.byteLength!=K.byteLength||q.byteOffset!=K.byteOffset)return!1;q=q.buffer,K=K.buffer;case tO5:if(q.byteLength!=K.byteLength||!A(new cP6(q),new cP6(K)))return!1;return!0;case dO5:case cO5:case iO5:return Pg(+q,+K);case lO5:return q.name==K.name&&q.message==K.message;case rO5:case aO5:return q==K+"";case nO5:var $=kM7;case oO5:var w=z&UO5;if($||($=lP6),q.size!=K.size&&!w)return!1;var j=O.get(q);if(j)return j==K;z|=QO5,O.set(q,K);var H=i_8($(q),$(K),z,Y,A,O);return O.delete(q),H;case sO5:if(Ma8)return Ma8.call(q)==Ma8.call(K)}return!1}var UO5=1,QO5=2,dO5="[object Boolean]",cO5="[object Date]",lO5="[object Error]",nO5="[object Map]",iO5="[object Number]",rO5="[object RegExp]",oO5="[object Set]",aO5="[object String]",sO5="[object Symbol]",tO5="[object ArrayBuffer]",eO5="[object DataView]",yM7,Ma8,EM7;var LM7=L(()=>{J_6();Ja8();pP6();Ha8();NM7();r_8();yM7=YW?YW.prototype:void 0,Ma8=yM7?yM7.valueOf:void 0;EM7=q$5});function K$5(q,K){var _=-1,z=K.length,Y=q.length;while(++_<z)q[Y+_]=K[_];return q}var nP6;var o_8=L(()=>{nP6=K$5});var _$5,DO;var RT=L(()=>{_$5=Array.isArray,DO=_$5});function z$5(q,K,_){var z=K(q);return DO(q)?z:nP6(z,_(q))}var a_8;var Xa8=L(()=>{o_8();RT();a_8=z$5});function Y$5(q,K){var _=-1,z=q==null?0:q.length,Y=0,A=[];while(++_<z){var O=q[_];if(K(O,_,q))A[Y++]=O}return A}var s_8;var Pa8=L(()=>{s_8=Y$5});function A$5(){return[]}var t_8;var Da8=L(()=>{t_8=A$5});var O$5,$$5,hM7,w$5,iP6;var e_8=L(()=>{Pa8();Da8();O$5=Object.prototype,$$5=O$5.propertyIsEnumerable,hM7=Object.getOwnPropertySymbols,w$5=!hM7?t_8:function(q){if(q==null)return[];return q=Object(q),s_8(hM7(q),function(K){return $$5.call(q,K)})},iP6=w$5});function j$5(q,K){var _=-1,z=Array(q);while(++_<q)z[_]=K(_);return z}var RM7;var SM7=L(()=>{RM7=j$5});function H$5(q){return q!=null&&typeof q=="object"}var QP;var Wg=L(()=>{QP=H$5});function M$5(q){return QP(q)&&YL(q)==J$5}var J$5="[object Arguments]",Wa8;var CM7=L(()=>{M_6();Wg();Wa8=M$5});var bM7,X$5,P$5,D$5,al;var Ou6=L(()=>{CM7();Wg();bM7=Object.prototype,X$5=bM7.hasOwnProperty,P$5=bM7.propertyIsEnumerable,D$5=Wa8(function(){return arguments}())?Wa8:function(q){return QP(q)&&X$5.call(q,"callee")&&!P$5.call(q,"callee")},al=D$5});function W$5(){return!1}var xM7;var IM7=L(()=>{xM7=W$5});var Kz8={};f8(Kz8,{default:()=>fg});var BM7,uM7,f$5,mM7,Z$5,G$5,fg;var $u6=L(()=>{sR();IM7();BM7=typeof Kz8=="object"&&Kz8&&!Kz8.nodeType&&Kz8,uM7=BM7&&typeof qz8=="object"&&qz8&&!qz8.nodeType&&qz8,f$5=uM7&&uM7.exports===BM7,mM7=f$5?vJ.Buffer:void 0,Z$5=mM7?mM7.isBuffer:void 0,G$5=Z$5||xM7,fg=G$5});function V$5(q,K){var _=typeof q;return K=K==null?v$5:K,!!K&&(_=="number"||_!="symbol"&&T$5.test(q))&&(q>-1&&q%1==0&&q<K)}var v$5=[CREDIT_CARD],T$5,re;var wu6=L(()=>{T$5=/^(?:0|[1-9]\d*)$/;re=V$5});function N$5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=k$5}var k$5=[CREDIT_CARD],rP6;var _z8=L(()=>{rP6=N$5});function o$5(q){return QP(q)&&rP6(q.length)&&!!G2[YL(q)]}var y$5="[object Arguments]",E$5="[object Array]",L$5="[object Boolean]",h$5="[object Date]",R$5="[object Error]",S$5="[object Function]",C$5="[object Map]",b$5="[object Number]",x$5="[object Object]",I$5="[object RegExp]",u$5="[object Set]",m$5="[object String]",B$5="[object WeakMap]",p$5="[object ArrayBuffer]",g$5="[object DataView]",F$5="[object Float32Array]",U$5="[object Float64Array]",Q$5="[object Int8Array]",d$5="[object Int16Array]",c$5="[object Int32Array]",l$5="[object Uint8Array]",n$5="[object Uint8ClampedArray]",i$5="[object Uint16Array]",r$5="[object Uint32Array]",G2,pM7;var gM7=L(()=>{M_6();_z8();Wg();G2={};G2[F$5]=G2[U$5]=G2[Q$5]=G2[d$5]=G2[c$5]=G2[l$5]=G2[n$5]=G2[i$5]=G2[r$5]=!0;G2[y$5]=G2[E$5]=G2[p$5]=G2[L$5]=G2[g$5]=G2[h$5]=G2[R$5]=G2[S$5]=G2[C$5]=G2[b$5]=G2[x$5]=G2[I$5]=G2[u$5]=G2[m$5]=G2[B$5]=!1;pM7=o$5});function a$5(q){return function(K){return q(K)}}var oP6;var zz8=L(()=>{oP6=a$5});var Az8={};f8(Az8,{default:()=>Zg});var FM7,ju6,s$5,fa8,t$5,Zg;var Oz8=L(()=>{Aa8();FM7=typeof Az8=="object"&&Az8&&!Az8.nodeType&&Az8,ju6=FM7&&typeof Yz8=="object"&&Yz8&&!Yz8.nodeType&&Yz8,s$5=ju6&&ju6.exports===FM7,fa8=s$5&&g_8.process,t$5=function(){try{var q=ju6&&ju6.require&&ju6.require("util").types;if(q)return q;return fa8&&fa8.binding&&fa8.binding("util")}catch(K){}}(),Zg=t$5});var UM7,e$5,aP6;var $z8=L(()=>{gM7();zz8();Oz8();UM7=Zg&&Zg.isTypedArray,e$5=UM7?oP6(UM7):pM7,aP6=e$5});function _w5(q,K){var _=DO(q),z=!_&&al(q),Y=!_&&!z&&fg(q),A=!_&&!z&&!Y&&aP6(q),O=_||z||Y||A,$=O?RM7(q.length,String):[],w=$.length;for(var j in q)if((K||Kw5.call(q,j))&&!(O&&(j=="length"||Y&&(j=="offset"||j=="parent")||A&&(j=="buffer"||j=="byteLength"||j=="byteOffset")||re(j,w))))$.push(j);return $}var qw5,Kw5,wz8;var Za8=L(()=>{SM7();Ou6();RT();$u6();wu6();$z8();qw5=Object.prototype,Kw5=qw5.hasOwnProperty;wz8=_w5});function Yw5(q){var K=q&&q.constructor,_=typeof K=="function"&&K.prototype||zw5;return q===_}var zw5,sP6;var jz8=L(()=>{zw5=Object.prototype;sP6=Yw5});function Aw5(q,K){return function(_){return q(K(_))}}var Hz8;var Ga8=L(()=>{Hz8=Aw5});var Ow5,QM7;var dM7=L(()=>{Ga8();Ow5=Hz8(Object.keys,Object),QM7=Ow5});function jw5(q){if(!sP6(q))return QM7(q);var K=[];for(var _ in Object(q))if(ww5.call(q,_)&&_!="constructor")K.push(_);return K}var $w5,ww5,cM7;var lM7=L(()=>{jz8();dM7();$w5=Object.prototype,ww5=$w5.hasOwnProperty;cM7=jw5});function Hw5(q){return q!=null&&rP6(q.length)&&!FP6(q)}var Gg;var tP6=L(()=>{F_8();_z8();Gg=Hw5});function Jw5(q){return Gg(q)?wz8(q):cM7(q)}var tR;var P_6=L(()=>{Za8();lM7();tP6();tR=Jw5});function Mw5(q){return a_8(q,tR,iP6)}var Hu6;var va8=L(()=>{Xa8();e_8();P_6();Hu6=Mw5});function Ww5(q,K,_,z,Y,A){var O=_&Xw5,$=Hu6(q),w=$.length,j=Hu6(K),H=j.length;if(w!=H&&!O)return!1;var J=w;while(J--){var M=$[J];if(!(O?M in K:Dw5.call(K,M)))return!1}var X=A.get(q),P=A.get(K);if(X&&P)return X==K&&P==q;var D=!0;A.set(q,K),A.set(K,q);var W=O;while(++J<w){M=$[J];var f=q[M],G=K[M];if(z)var Z=O?z(G,f,M,K,q,A):z(f,G,M,q,K,A);if(!(Z===void 0?f===G||Y(f,G,_,z,A):Z)){D=!1;break}W||(W=M=="constructor")}if(D&&!W){var v=q.constructor,V=K.constructor;if(v!=V&&(("constructor"in q)&&("constructor"in K))&&!(typeof v=="function"&&v instanceof v&&typeof V=="function"&&V instanceof V))D=!1}return A.delete(q),A.delete(K),D}var Xw5=1,Pw5,Dw5,nM7;var iM7=L(()=>{va8();Pw5=Object.prototype,Dw5=Pw5.hasOwnProperty;nM7=Ww5});var fw5,Jz8;var rM7=L(()=>{le();sR();fw5=ik(vJ,"DataView"),Jz8=fw5});var Zw5,Mz8;var oM7=L(()=>{le();sR();Zw5=ik(vJ,"Promise"),Mz8=Zw5});var Gw5,oe;var Ta8=L(()=>{le();sR();Gw5=ik(vJ,"Set"),oe=Gw5});var vw5,Xz8;var aM7=L(()=>{le();sR();vw5=ik(vJ,"WeakMap"),Xz8=vw5});var sM7="[object Map]",Tw5="[object Object]",tM7="[object Promise]",eM7="[object Set]",qX7="[object WeakMap]",KX7="[object DataView]",Vw5,kw5,Nw5,yw5,Ew5,D_6,sl;var Ju6=L(()=>{rM7();...
|
1614
|
|
1616
|
35
|
28
|
2026-04-11T17:43:52.954831+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929432954_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 12:38:46 on ttys011
Poetry Last login: Sat Apr 11 12:38:46 on ttys011
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 20490
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T14:52:51.446657Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)
2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)
2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames
2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)
2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted
2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)
2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)
2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)
2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)
2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)
2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)
2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)
2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted
2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)
2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)
2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)
2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)
2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)
2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)
2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)
2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)
2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames
2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted
2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)
2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)
2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)
2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)
2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)
2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted
2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)
2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)
2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames
2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted
2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)
2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)
2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)
2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)
2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)
2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames
2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted
2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)
2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)
2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)
2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)
2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted
2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests
2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)
2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted
2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)
2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)
2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames
2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted
2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)
2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)
2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)
2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)
2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted
2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)
2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)
2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)
2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)
2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)
2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)
2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted
2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)
2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)
2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)
2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)
2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)
2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)
2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted
2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)
2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)
2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)
2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)
2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)
2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)
2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes
total 96
drwxr-xr-x 6 root wheel 192 11 Apr 16:12 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
drwx------ 1 lukas staff 16384 13 Jan 12:37 BT
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 15:46 Test
drwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls
2026-04-09 2026-04-11
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 32288
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T17:08:37.220526Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 35889
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T18:14:49.157319Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 12:38:46 on ttys011\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\n[1] 20490\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T14:52:51.446657Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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 │\n2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\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│ │ disabled │\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-11T14:52:51.449041Z INFO screenpipe: starting UI event capture\n2026-04-11T14:52:51.452565Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T14:52:51.454874Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T14:52:51.462971Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T14:52:51.476861Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3c87e288-1128-414e-a08e-08b835039941\n2026-04-11T14:52:51.476943Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 11:52:51.476940 UTC to 2026-04-11 11:52:51.476940 UTC)\n2026-04-11T14:52:51.476899Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T14:52:51.477747Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T14:52:51.478180Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-10 11:52:51.476940 UTC\n2026-04-11T14:52:51.482338Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T14:52:51.487512Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T14:52:51.553834Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T14:52:51.553858Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T14:52:51.553868Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T14:52:51.553885Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T14:52:51.553903Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T14:52:52.265339Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T14:52:52.345651Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=524, dur=35ms\n2026-04-11T14:52:56.482318Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T14:52:56.483070Z INFO screenpipe: local retention auto-enabled (14 days)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)\n2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)\n2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)\n2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted\n2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)\n2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)\n2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)\n2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)\n2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)\n2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)\n2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)\n2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted\n2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)\n2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)\n2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)\n2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\n2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)\n2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)\n2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)\n2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)\n2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)\n2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted\n2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)\n2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)\n2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)\n2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)\n2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)\n2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted\n2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)\n2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)\n2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted\n2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)\n2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)\n2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)\n2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)\n2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)\n2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted\n2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)\n2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)\n2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)\n2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)\n2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted\n2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests\n2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)\n2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted\n2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)\n2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)\n2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted\n2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)\n2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)\n2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)\n2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)\n2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted\n2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)\n2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)\n2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)\n2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)\n2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)\n2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)\n2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted\n2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)\n2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)\n2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)\n2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)\n2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)\n2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)\n2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted\n2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)\n2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)\n2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)\n2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)\n2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)\n2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)\n2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe \ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes \ntotal 96\ndrwxr-xr-x 6 root wheel 192 11 Apr 16:12 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\ndrwx------ 1 lukas staff 16384 13 Jan 12:37 BT\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 15:46 Test\ndrwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls\n2026-04-09\u0000\u0000\u0000\u0000\u0000\t2026-04-11\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 32288\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T17:08:37.220526Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T17:08:37.222937Z INFO screenpipe: starting UI event capture\n2026-04-11T17:08:37.222392Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T17:08:37.226036Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T17:08:37.229120Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T17:08:37.236636Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T17:08:37.250644Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::ui_recorder: UI recording session started: 0835a866-1525-418d-9b28-4bee2db007a7\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 14:08:37.250721 UTC to 2026-04-11 14:08:37.250721 UTC)\n2026-04-11T17:08:37.251401Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T17:08:37.256857Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T17:08:37.262382Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T17:08:37.334531Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 654 frame entries, coverage from 2026-04-10 14:08:37.250721 UTC\n2026-04-11T17:08:37.441736Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T17:08:37.441853Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T17:08:37.441863Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T17:08:37.441870Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T17:08:37.441915Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T17:08:38.177260Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T17:08:38.324389Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1178, dur=66ms\n2026-04-11T17:08:42.255826Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T17:08:42.256358Z INFO screenpipe: local retention auto-enabled (14 days)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-stop \nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 35889\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:14:49.157319Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:14:49.158771Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:14:49.159009Z INFO screenpipe: starting UI event capture\n2026-04-11T18:14:49.162404Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:14:49.164084Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:14:49.172587Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:14:49.187022Z INFO screenpipe_engine::ui_recorder: UI recording session started: f5ab4a30-2a53-4ae6-8f03-89fe11f27c08\n2026-04-11T18:14:49.187167Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:14:49.187268Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:14:49.187266 UTC to 2026-04-11 15:14:49.187266 UTC)\n2026-04-11T18:14:49.187516Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:14:49.193188Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:14:49.196809Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:14:49.282504Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 657 frame entries, coverage from 2026-04-10 15:14:49.187266 UTC\n2026-04-11T18:14:49.430508Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:14:49.430533Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:14:49.430543Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:14:49.430551Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:14:49.430591Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:14:50.196560Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:14:50.336787Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1181, dur=69ms\n2026-04-11T18:14:54.191574Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:14:54.191989Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:15:49.211986Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 200 eligible frames\n2026-04-11T18:15:55.393078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 16.9MB → 2.5MB (6.6x), 99 JPEGs deleted\n2026-04-11T18:16:01.163459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 15.4MB → 3.9MB (4.0x), 100 JPEGs deleted\n2026-04-11T18:17:08.938525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1415082838396203702, trigger=visual_change)\n2026-04-11T18:19:49.185361Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T18:20:24.190258Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:20:24.190229+00:00 (14d retention)\n2026-04-11T18:21:01.166967Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-11T18:23:24.262907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8169121800982612035, trigger=click)\n2026-04-11T18:25:02.456168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7778531055320620492, trigger=visual_change)\n2026-04-11T18:25:24.185557Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:25:24.185548+00:00 (14d retention)\n2026-04-11T18:26:01.172115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames\n2026-04-11T18:26:01.937461Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.5MB → 0.6MB (2.5x), 7 JPEGs deleted\n2026-04-11T18:29:02.442552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=356488991701364076, trigger=click)\n2026-04-11T18:29:08.410627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=150342226082476547, trigger=click)\n2026-04-11T18:29:33.426686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=990305626722697489, trigger=click)\n2026-04-11T18:29:59.165003Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2572081417493247398, trigger=click)\n2026-04-11T18:30:24.182807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:30:24.182767+00:00 (14d retention)\n2026-04-11T18:31:01.941347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 52 eligible frames\n2026-04-11T18:31:04.878237Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 9.8MB → 0.9MB (11.1x), 51 JPEGs deleted\n2026-04-11T18:32:26.437337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5036409005623697934, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ curl http://localhost:3030/health | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to localhost port 3030 after 0 ms: Couldn't connect to server\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 39664\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:41:58.306070Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:41:58.833945Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:41:58.835475Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:41:58.835479Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:41:58.835724Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:41:58.835734Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:41:58.835787Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:41:58.835970Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:41:58.836134Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:41:58.836328Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:41:58.836993Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:41:58.837171Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:41:58.837343Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:41:58.838123Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:41:58.838143Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:41:58.839571Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:41:58.839799Z INFO screenpipe: starting UI event capture\n2026-04-11T18:41:58.843521Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:41:58.845948Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:41:58.853264Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:41:58.867881Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:41:58.867934Z INFO screenpipe_engine::ui_recorder: UI recording session started: c0a04b39-312a-4bfa-aee5-14c3a5dbd242\n2026-04-11T18:41:58.868035Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:41:58.867994 UTC to 2026-04-11 15:41:58.867994 UTC)\n2026-04-11T18:41:58.868668Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:41:58.874766Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:41:58.878994Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:41:59.011341Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 838 frame entries, coverage from 2026-04-10 15:41:58.867994 UTC\n2026-04-11T18:41:59.165278Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:41:59.165302Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.165322Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:41:59.165338Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:41:59.165390Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.953409Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:42:00.086573Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1362, dur=65ms\n2026-04-11T18:42:03.873046Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:42:03.873524Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:42:58.898798Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-11T18:43:01.495401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=810635838678462500, trigger=clipboard)\n2026-04-11T18:43:05.037916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 18.9MB → 1.8MB (10.7x), 99 JPEGs deleted\n2026-04-11T18:43:05.791313Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.5MB → 0.4MB (3.7x), 8 JPEGs deleted\n2026-04-11T18:43:05.869321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8059017237112085187, trigger=visual_change)\n2026-04-11T18:44:34.370623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=visual_change)\n2026-04-11T18:44:37.039894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=clipboard)\n2026-04-11T18:44:43.637666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150475841360271668, trigger=visual_change)\n2026-04-11T18:46:22.830023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:24.746425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:26.145427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:29.154628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:45.161217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=click)\n2026-04-11T18:46:47.291011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=visual_change)\n2026-04-11T18:46:58.867582Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T18:47:33.873256Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:47:33.873226+00:00 (14d retention)\n2026-04-11T18:48:05.793658Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $","depth":4,"value":"Last login: Sat Apr 11 12:38:46 on ttys011\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\n[1] 20490\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T14:52:51.446657Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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 │\n2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\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│ │ disabled │\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-11T14:52:51.449041Z INFO screenpipe: starting UI event capture\n2026-04-11T14:52:51.452565Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T14:52:51.454874Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T14:52:51.462971Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T14:52:51.476861Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3c87e288-1128-414e-a08e-08b835039941\n2026-04-11T14:52:51.476943Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 11:52:51.476940 UTC to 2026-04-11 11:52:51.476940 UTC)\n2026-04-11T14:52:51.476899Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T14:52:51.477747Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T14:52:51.478180Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-10 11:52:51.476940 UTC\n2026-04-11T14:52:51.482338Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T14:52:51.487512Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T14:52:51.553834Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T14:52:51.553858Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T14:52:51.553868Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T14:52:51.553885Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T14:52:51.553903Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T14:52:52.265339Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T14:52:52.345651Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=524, dur=35ms\n2026-04-11T14:52:56.482318Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T14:52:56.483070Z INFO screenpipe: local retention auto-enabled (14 days)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)\n2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)\n2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)\n2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted\n2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)\n2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)\n2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)\n2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)\n2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)\n2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)\n2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)\n2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted\n2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)\n2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)\n2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)\n2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\n2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)\n2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)\n2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)\n2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)\n2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)\n2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted\n2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)\n2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)\n2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)\n2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)\n2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)\n2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted\n2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)\n2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)\n2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted\n2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)\n2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)\n2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)\n2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)\n2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)\n2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted\n2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)\n2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)\n2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)\n2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)\n2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted\n2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests\n2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)\n2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted\n2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)\n2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)\n2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted\n2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)\n2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)\n2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)\n2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)\n2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted\n2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)\n2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)\n2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)\n2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)\n2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)\n2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)\n2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted\n2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)\n2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)\n2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)\n2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)\n2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)\n2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)\n2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted\n2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)\n2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)\n2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)\n2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)\n2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)\n2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)\n2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe \ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes \ntotal 96\ndrwxr-xr-x 6 root wheel 192 11 Apr 16:12 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\ndrwx------ 1 lukas staff 16384 13 Jan 12:37 BT\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 15:46 Test\ndrwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls\n2026-04-09\u0000\u0000\u0000\u0000\u0000\t2026-04-11\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 32288\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T17:08:37.220526Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T17:08:37.222937Z INFO screenpipe: starting UI event capture\n2026-04-11T17:08:37.222392Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T17:08:37.226036Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T17:08:37.229120Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T17:08:37.236636Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T17:08:37.250644Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::ui_recorder: UI recording session started: 0835a866-1525-418d-9b28-4bee2db007a7\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 14:08:37.250721 UTC to 2026-04-11 14:08:37.250721 UTC)\n2026-04-11T17:08:37.251401Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T17:08:37.256857Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T17:08:37.262382Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T17:08:37.334531Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 654 frame entries, coverage from 2026-04-10 14:08:37.250721 UTC\n2026-04-11T17:08:37.441736Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T17:08:37.441853Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T17:08:37.441863Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T17:08:37.441870Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T17:08:37.441915Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T17:08:38.177260Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T17:08:38.324389Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1178, dur=66ms\n2026-04-11T17:08:42.255826Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T17:08:42.256358Z INFO screenpipe: local retention auto-enabled (14 days)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-stop \nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 35889\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:14:49.157319Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:14:49.158771Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:14:49.159009Z INFO screenpipe: starting UI event capture\n2026-04-11T18:14:49.162404Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:14:49.164084Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:14:49.172587Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:14:49.187022Z INFO screenpipe_engine::ui_recorder: UI recording session started: f5ab4a30-2a53-4ae6-8f03-89fe11f27c08\n2026-04-11T18:14:49.187167Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:14:49.187268Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:14:49.187266 UTC to 2026-04-11 15:14:49.187266 UTC)\n2026-04-11T18:14:49.187516Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:14:49.193188Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:14:49.196809Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:14:49.282504Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 657 frame entries, coverage from 2026-04-10 15:14:49.187266 UTC\n2026-04-11T18:14:49.430508Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:14:49.430533Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:14:49.430543Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:14:49.430551Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:14:49.430591Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:14:50.196560Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:14:50.336787Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1181, dur=69ms\n2026-04-11T18:14:54.191574Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:14:54.191989Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:15:49.211986Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 200 eligible frames\n2026-04-11T18:15:55.393078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 16.9MB → 2.5MB (6.6x), 99 JPEGs deleted\n2026-04-11T18:16:01.163459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 15.4MB → 3.9MB (4.0x), 100 JPEGs deleted\n2026-04-11T18:17:08.938525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1415082838396203702, trigger=visual_change)\n2026-04-11T18:19:49.185361Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T18:20:24.190258Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:20:24.190229+00:00 (14d retention)\n2026-04-11T18:21:01.166967Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-11T18:23:24.262907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8169121800982612035, trigger=click)\n2026-04-11T18:25:02.456168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7778531055320620492, trigger=visual_change)\n2026-04-11T18:25:24.185557Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:25:24.185548+00:00 (14d retention)\n2026-04-11T18:26:01.172115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames\n2026-04-11T18:26:01.937461Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.5MB → 0.6MB (2.5x), 7 JPEGs deleted\n2026-04-11T18:29:02.442552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=356488991701364076, trigger=click)\n2026-04-11T18:29:08.410627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=150342226082476547, trigger=click)\n2026-04-11T18:29:33.426686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=990305626722697489, trigger=click)\n2026-04-11T18:29:59.165003Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2572081417493247398, trigger=click)\n2026-04-11T18:30:24.182807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:30:24.182767+00:00 (14d retention)\n2026-04-11T18:31:01.941347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 52 eligible frames\n2026-04-11T18:31:04.878237Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 9.8MB → 0.9MB (11.1x), 51 JPEGs deleted\n2026-04-11T18:32:26.437337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5036409005623697934, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ curl http://localhost:3030/health | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to localhost port 3030 after 0 ms: Couldn't connect to server\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 39664\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:41:58.306070Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:41:58.833945Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:41:58.835475Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:41:58.835479Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:41:58.835724Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:41:58.835734Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:41:58.835787Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:41:58.835970Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:41:58.836134Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:41:58.836328Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:41:58.836993Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:41:58.837171Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:41:58.837343Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:41:58.838123Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:41:58.838143Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:41:58.839571Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:41:58.839799Z INFO screenpipe: starting UI event capture\n2026-04-11T18:41:58.843521Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:41:58.845948Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:41:58.853264Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:41:58.867881Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:41:58.867934Z INFO screenpipe_engine::ui_recorder: UI recording session started: c0a04b39-312a-4bfa-aee5-14c3a5dbd242\n2026-04-11T18:41:58.868035Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:41:58.867994 UTC to 2026-04-11 15:41:58.867994 UTC)\n2026-04-11T18:41:58.868668Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:41:58.874766Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:41:58.878994Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:41:59.011341Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 838 frame entries, coverage from 2026-04-10 15:41:58.867994 UTC\n2026-04-11T18:41:59.165278Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:41:59.165302Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.165322Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:41:59.165338Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:41:59.165390Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.953409Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:42:00.086573Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1362, dur=65ms\n2026-04-11T18:42:03.873046Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:42:03.873524Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:42:58.898798Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-11T18:43:01.495401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=810635838678462500, trigger=clipboard)\n2026-04-11T18:43:05.037916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 18.9MB → 1.8MB (10.7x), 99 JPEGs deleted\n2026-04-11T18:43:05.791313Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.5MB → 0.4MB (3.7x), 8 JPEGs deleted\n2026-04-11T18:43:05.869321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8059017237112085187, trigger=visual_change)\n2026-04-11T18:44:34.370623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=visual_change)\n2026-04-11T18:44:37.039894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=clipboard)\n2026-04-11T18:44:43.637666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150475841360271668, trigger=visual_change)\n2026-04-11T18:46:22.830023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:24.746425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:26.145427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:29.154628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:45.161217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=click)\n2026-04-11T18:46:47.291011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=visual_change)\n2026-04-11T18:46:58.867582Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T18:47:33.873256Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:47:33.873226+00:00 (14d retention)\n2026-04-11T18:48:05.793658Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"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.12291667,"top":0.05888889,"width":0.12291667,"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.12708333,"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.24583334,"top":0.05888889,"width":0.12291667,"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.25,"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.36875,"top":0.05888889,"width":0.12291667,"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.37291667,"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.49166667,"top":0.05888889,"width":0.12291667,"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.49583334,"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.6145833,"top":0.05888889,"width":0.12291667,"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.61875,"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.7375,"top":0.05888889,"width":0.12291667,"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.7416667,"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.86041665,"top":0.05888889,"width":0.12291667,"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.8645833,"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"}]...
|
2963523872015364328
|
3292597621806441849
|
click
|
accessibility
|
NULL
|
Last login: Sat Apr 11 12:38:46 on ttys011
Poetry Last login: Sat Apr 11 12:38:46 on ttys011
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 20490
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T14:52:51.446657Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)
2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)
2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames
2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)
2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted
2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)
2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)
2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)
2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)
2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)
2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)
2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)
2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted
2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)
2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)
2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)
2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)
2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)
2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)
2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)
2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)
2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames
2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted
2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)
2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)
2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)
2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)
2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)
2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted
2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)
2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)
2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames
2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted
2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)
2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)
2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)
2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)
2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)
2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames
2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted
2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)
2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)
2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)
2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)
2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted
2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests
2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)
2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted
2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)
2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)
2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames
2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted
2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)
2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)
2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)
2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)
2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted
2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)
2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)
2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)
2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)
2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)
2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)
2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted
2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)
2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)
2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)
2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)
2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)
2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)
2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted
2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)
2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)
2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)
2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)
2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)
2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)
2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes
total 96
drwxr-xr-x 6 root wheel 192 11 Apr 16:12 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
drwx------ 1 lukas staff 16384 13 Jan 12:37 BT
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 15:46 Test
drwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls
2026-04-09 2026-04-11
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 32288
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T17:08:37.220526Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 35889
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T18:14:49.157319Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────...
|
NULL
|
|
1617
|
35
|
29
|
2026-04-11T17:43:54.781365+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929434781_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
zsh: file exists: /
zsh: command not found: drwx-- zsh: file exists: /
zsh: command not found: drwx------
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/db.sqlite
scp: dest open "/volume1/screenpipe/db.sqlite": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls
Macintosh HD screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll
total 32
drwxr-xr-x 4 root wheel 128 11 Apr 16:35 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
cp: /Volumes/Test/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/
cp: directory /Volumes/Test/screenpipe does not exist
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll
total 96
drwxr-xr-x 6 root wheel 192 11 Apr 16:45 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
drwx------ 1 lukas staff 16384 10 Aug 2025 Apps
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 15:46 Test
drwx------ 1 lukas staff 16384 11 Apr 16:47 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/pipes/ /Volumes/Test/screenpipe/pipes/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/data/data/ /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sed 's|$HOME/.screenpipe/db.sqlite|/volume1/Test/screenpipe/db.sqlite|g' ~/screenpipe-day.sh > /volume1/Test/screenpipe/screenpipe-day.sh
zsh: no such file or directory: /volume1/Test/screenpipe/screenpipe-day.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cat ~/screenpipe-day.sh
#!/bin/zsh
DB="$HOME/.screenpipe/db.sqlite"
DATE=${1:-$(date -v-1d '+%Y-%m-%d')}
echo "═══════════════════════════════════════"
echo " SCREENPIPE REPORT — $DATE"
echo "═══════════════════════════════════════"
echo "\n📱 APP USAGE (frames + estimated time)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo "\n⌨️ ACTIVITY TYPE PER APP (clicks / keys / switches)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',
app_name,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo "\n🌐 BROWSER URLS VISITED"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%4d frames %s', COUNT(*), browser_url)
FROM frames
WHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL
GROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;"
echo "\n🪟 WINDOW TITLES (top 20)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))
FROM frames
WHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL
GROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;"
echo "\n🕐 HOURLY TIMELINE"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%s %-20s %3d frames', strftime('%H:00', timestamp), app_name, COUNT(*))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY strftime('%H', timestamp), app_name
ORDER BY strftime('%H', timestamp), COUNT(*) DESC;"
echo "\n📋 CLIPBOARD ACTIVITY"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %s', app_name, SUBSTR(text_content, 1, 80))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND event_type = 'clipboard' AND text_content IS NOT NULL
ORDER BY timestamp LIMIT 20;"
echo "\n💬 OCR TEXT SAMPLES PER APP"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-15s %s', o.app_name, SUBSTR(o.text, 1, 80))
FROM ocr_text o
JOIN frames f ON o.frame_id = f.id
WHERE date(f.timestamp) = '$DATE' AND o.app_name IS NOT NULL AND o.text != ''
GROUP BY o.app_name
ORDER BY o.app_name LIMIT 15;"
echo "\n🔢 TOTALS"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT
'Frames: ' || COUNT(*) FROM frames WHERE date(timestamp) = '$DATE';
"
sqlite3 "$DB" "
SELECT 'UI Events: ' || COUNT(*) FROM ui_events WHERE date(timestamp) = '$DATE';
"
sqlite3 "$DB" "
SELECT 'OCR texts: ' || COUNT(*) FROM ocr_text o JOIN frames f ON o.frame_id = f.id WHERE date(f.timestamp) = '$DATE';
"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -X POST [URL_WITH_CREDENTIALS] /Volumes $ curl -X POST [URL_WITH_CREDENTIALS] /Volumes $ curl [URL_WITH_CREDENTIALS] /Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ echo "alias sp-status='curl -s [URL_WITH_CREDENTIALS] /Volumes $ sp-status
zsh: command not found: sp-status
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ source ~/.zprofile
Poetry could not find a pyproject.toml file in /Volumes or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sp-status
zsh: command not found: sp-status
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ zp
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls
Apps Macintosh HD Test screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll
total 1272
drwx------+ 89 lukas staff 2848 11 Apr 18:38 .
drwxr-xr-x 5 root admin 160 23 Aug 2024 ..
-r-------- 1 lukas staff 7 18 Nov 2021 .CFUserTextEncoding
-rw-r--r--@ 1 lukas staff 22532 11 Apr 16:46 .DS_Store
drwx------+ 2 lukas staff 64 11 Apr 11:15 .Trash
drwx------ 5 lukas staff 160 1 Nov 2021 .aws
-rw-r--r-- 1 lukas staff 341470 29 Sep 2022 .babel.json
-rw-------@ 1 lukas staff 388 25 Jul 2025 .bash_history
-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .bashrc
drwxr-xr-x 5 lukas staff 160 11 Mar 2023 .bito
drwx------@ 6 lukas staff 192 9 Apr 19:53 .cache
drwxr-xr-x 20 lukas staff 640 9 Apr 21:21 .claude
-rw------- 1 lukas staff 24973 9 Apr 21:24 .claude.json
drwxr-xr-x@ 20 lukas staff 640 12 Mar 09:12 .codeium
drwxrwxrwx@ 3 lukas staff 96 2 Mar 2023 .composer
drwx------ 16 lukas staff 512 21 May 2025 .config
drwxr-xr-x 15 lukas staff 480 23 Dec 2024 .continue
drwx------@ 3 lukas staff 96 16 Feb 19:13 .copilot
drwxr-xr-x@ 5 lukas staff 160 9 Apr 2025 .cursor
drwxr-xr-x@ 5 lukas staff 160 17 Aug 2024 .cursor-tutor
drwxr-xr-x 3 lukas staff 96 8 Sep 2024 .daytona
drwxr-xr-x@ 4 lukas staff 128 18 Feb 10:52 .devdb
drwx------ 24 lukas staff 768 9 Apr 18:24 .docker
drwx------ 15 lukas staff 480 6 Jun 2023 .dropbox
drwxr-xr-x@ 3 lukas staff 96 20 Nov 2022 .fig.dotfiles.bak
-rw-r--r-- 1 lukas staff 138 5 Mar 2022 .gauth
-rw-r--r-- 1 lukas staff 220 25 Nov 2021 .gitconfig
-rw-r--r-- 1 lukas staff 12288 25 Nov 2021 .gitconfig.swp
drwx------ 5 lukas staff 160 18 Nov 2021 .hammerspoon
drwxr-xr-x 3 lukas staff 96 21 Mar 2025 .idlerc
-rw------- 1 lukas staff 20 31 Mar 18:32 .lesshst
drwx------ 5 lukas staff 160 23 Dec 2024 .local
-rw------- 1 lukas staff 204 16 Mar 2024 .netrc
drwx------ 3 lukas staff 96 1 Nov 2021 .node-gyp
-rw------- 1 lukas staff 4 6 Feb 2024 .node_repl_history
-rw-r--r-- 1 lukas staff 17 24 Dec 2023 .notion-enhancer
drwxr-xr-x 4 lukas staff 128 12 Jul 2024 .notion-py
drwx------ 9 lukas staff 288 11 Apr 18:41 .npm
-rw------- 1 lukas staff 74 20 May 2024 .npmrc
drwx------ 32 lukas staff 1024 25 Jul 2025 .nvm
drwxr-xr-x 4 lukas staff 128 5 Aug 2023 .postman
-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .profile
-rw-------@ 1 lukas staff 3153 21 Mar 2025 .python_history
drwx------ 2 lukas staff 64 15 Nov 2021 .quicktype-vscode
drwxr-xr-x@ 8 lukas staff 256 16 Feb 08:48 .redis-insight
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .screenpipe
UW PICO 5.09 New Buffer
[ Read 11 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
drwxr-xr-x 4 lukas staff 128 4 Feb 09:35 .sonarlint
drwx------ 15 lukas staff 480 8 Aug 2025 .ssh
drwxr-xr-x@ 3 lukas staff 96 15 Aug 2025 .streamlit
drwx------ 6 lukas staff 192 17 Oct 2022 .swiftpm
-rw------- 1 lukas staff 12183 8 Apr 19:14 .viminfo
drwx------ 5 lukas staff 160 19 Jun 2023 .vscode
drwxr-xr-x@ 3 lukas staff 96 20 Jan 2025 .warp
drwxr-xr-x 4 lukas staff 128 29 Apr 2023 .wdm
drwxr-xr-x@ 5 lukas staff 160 26 Jan 13:03 .windsurf
drwxr-xr-x 4 lukas staff 128 24 Mar 12:03 .yarn
-rw-r--r-- 1 lukas staff 116 30 Mar 10:12 .yarnrc
-rw-r--r--@ 1 lukas staff 49518 6 Apr 14:31 .zcompdump
-rw-r--r--@ 1 lukas staff 46758 2 Nov 20:34 .zcompdump.Lukas-Kovaliks-MacBook-Pro-Jiminny.23381
-rw-r--r--@ 1 lukas staff 5641 9 Apr 20:30 .zprofile
-rw-r--r-- 1 lukas staff 1468 8 Apr 2022 .zprofile-copy
-rw-r--r--@ 1 lukas staff 2900 15 Mar 2023 .zprofile.pysave
-rw------- 1 lukas staff 1731 29 Jun 2022 .zprofile.save
-rw-r--r-- 1 lukas staff 1569 8 Apr 2022 .zprofilees
UW PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
-rw------- 1 lukas staff 28812 11 Apr 18:38 .zsh_history
drwx------ 9 lukas staff 288 6 May 2025 .zsh_sessions
-rw-r--r--@ 1 lukas staff 597 11 Apr 18:44 .zshrc
drwx------@ 9 lukas staff 288 9 Apr 20:08 Applications
drwxr-xr-x@ 2 lukas staff 64 22 Oct 09:35 CascadeProjects
drwxr-xr-x 4 lukas staff 128 27 Oct 09:24 DEV
drwx------@ 10 lukas staff 320 11 Apr 18:31 Desktop
drwx------@ 7 lukas staff 224 26 Mar 14:40 Documents
drwx------@ 41 lukas staff 1312 8 Apr 20:46 Downloads
drwxr-xr-x@ 4 lukas staff 128 17 Mar 20:27 Keychron_Screen
drwx------@ 112 lukas staff 3584 2 Dec 09:19 Library
drwx------ 7 lukas staff 224 12 Feb 2024 Movies
drwx------+ 5 lukas staff 160 25 Sep 2023 Music
drwx------+ 9 lukas staff 288 25 Sep 2023 Pictures
drwx------ 3 lukas staff 96 8 Nov 2021 Postman
drwx------+ 4 lukas staff 128 28 Oct 2021 Public
-rw-r--r--@ 1 lukas staff 3950 15 Dec 09:16 Untitled 4.spf
drwx------ 4 lukas staff 128 2 Jul 2023 Users
drwx------ 3 lukas staff 96 30 Sep 2022 iCloud Drive (Archive)
drwx------ 16 lukas staff 512 3 Nov 11:35 jiminny
drwxr-xr-x 3 lukas staff 96 20 Mar 18:47 node_modules
drwxr-xr-x 4 lukas staff 128 21 Oct 18:15 raycast
-rw-r--r-- 1 lukas staff 0 1 Mar 14:26 response.bin
-rwxr-xr-x 1 lukas staff 3824 11 Apr 15:16 screenpipe-day.sh
-rw-r--r-- 1 lukas staff 86 20 Mar 18:47 yarn.lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano .zshrc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo "alias sp-status='curl -s [URL_WITH_CREDENTIALS] ~ $ source ~/.zprofile
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-11T18:47:17+03:00",
"uptime": 345.971219541,
"fps": 0.[CREDIT_CARD],
"frames": 34
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 41216
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T18:54:13.170097Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T18:54:13.812964Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T18:54:13.819889Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T18:54:13.819889Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T18:54:13.820291Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T18:54:13.820220Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T18:54:13.820450Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T18:54:13.820896Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T18:54:13.820856Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T18:54:13.821123Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T18:54:13.821801Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T18:54:13.821972Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T18:54:13.822128Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T18:54:13.822942Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T18:54:13.822962Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T18:54:18.859011Z INFO screenpipe_engine::retention: retention: initialized with 14d retention
2026-04-11T18:54:18.859467Z INFO screenpipe: local retention auto-enabled (14 days)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT DISTINCT window_name
FROM frames
WHERE app_name IN ('Safari', 'Firefox', 'Arc', 'Chrome')
AND window_name IS NOT NULL
UW PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
ORDER BY window_name;"
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8 — Personal
Denník N - Nezávislý denník — Personal
Edit profile — Personal
Location Logger
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N — Personal
Maďarské voľby – Denník N — Personal
Personal — Mozilla Firefox
Picture-in-Picture
Problem loading page — Personal
Screenpipe Dashboard — Personal
Settings — Personal
Sign in – Google accounts — Personal
Tailscale — Personal
UGREEN NAS — Personal
Vimium Options — Personal
Vimium – Get this Extension for 🦊 Firefox (en-US) — Personal
firefox sidebar - Google Search — Personal
tilscale admin panel - Google Search — Personal
Order Room Service • HBO Max
Shameless • HBO Max
Shameless • HBO Max — Personal
Simple Pleasures • HBO Max — Personal
Časť 2 • HBO Max — Personal
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cat ~/.screenpipe/config.json
{
"disable_audio": true,
"monitor_ids": ["Display 1_1440x900_0,0", "Display 2_3008x1253_-813,-1253"],
"ignored_windows": [
"1Password",
"Keychain Access",
"Bitwarden",
"System Preferences",
"System Settings",
"zoom.us",
"HBO Max",
]
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe && sleep 2 && npx screenpipe@latest record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe
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-11T19:00:06.546722Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T19:00:07.267955Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T19:00:07.269566Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T19:00:07.269564Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T19:00:07.269921Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T19:00:07.470439Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T19:00:07.470481Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T19:00:07.470420Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T19:00:07.470877Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T19:00:07.471071Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T19:00:07.471748Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T19:00:07.471948Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T19:00:07.472085Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T19:00:07.472295Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T19:00:07.472315Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T19:00:14.624523Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 6b15bcb7-6588-4b6b-9ae5-5a3b50fba2a2
2026-04-11T19:00:14.624669Z INFO screenpipe: shutdown complete
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-11T19:00:31.694964Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T19:00:32.442217Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T19:00:32.443687Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T19:00:32.443694Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T19:00:32.444120Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T19:00:32.662907Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T19:00:32.662887Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T19:00:32.662980Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T19:00:32.663355Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T19:00:32.663550Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T19:00:32.664216Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T19:00:32.664395Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T19:00:32.664552Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T19:00:32.665488Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T19:00:32.665515Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T19:00:42.589528Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 47668625-ff04-42f8-aa0d-f468ff11f0ff
2026-04-11T19:00:42.589635Z INFO screenpipe: shutdown complete
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 42748
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T20:26:04.829554Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T20:26:05.341444Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T20:26:05.345218Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T20:26:05.345229Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T20:26:05.345415Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T20:26:05.345428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T20:26:05.345477Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T20:26:05.345864Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T20:26:05.346065Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T20:26:05.346166Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T20:26:05.346730Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T20:26:05.346883Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T20:26:05.346990Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T20:26:05.347093Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T20:26:05.347108Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting ...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"zsh: file exists: /\nzsh: command not found: drwx------\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/db.sqlite\nscp: dest open \"/volume1/screenpipe/db.sqlite\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/db.sqlite\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls \nMacintosh HD\u0000\u0000\u0000\tscreenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll\ntotal 32\ndrwxr-xr-x 4 root wheel 128 11 Apr 16:35 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\ncp: /Volumes/Test/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/ \ncp: directory /Volumes/Test/screenpipe does not exist\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/ \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll\ntotal 96\ndrwxr-xr-x 6 root wheel 192 11 Apr 16:45 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\ndrwx------ 1 lukas staff 16384 10 Aug 2025 Apps\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 15:46 Test\ndrwx------ 1 lukas staff 16384 11 Apr 16:47 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/pipes/ /Volumes/Test/screenpipe/pipes/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/data/data/ /Volumes/Test/screenpipe/data/ \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sed 's|$HOME/.screenpipe/db.sqlite|/volume1/Test/screenpipe/db.sqlite|g' ~/screenpipe-day.sh > /volume1/Test/screenpipe/screenpipe-day.sh\nzsh: no such file or directory: /volume1/Test/screenpipe/screenpipe-day.sh\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cat ~/screenpipe-day.sh \n#!/bin/zsh\nDB=\"$HOME/.screenpipe/db.sqlite\"\nDATE=${1:-$(date -v-1d '+%Y-%m-%d')}\n\necho \"═══════════════════════════════════════\"\necho \" SCREENPIPE REPORT — $DATE\"\necho \"═══════════════════════════════════════\"\n\necho \"\\n📱\u0000 APP USAGE (frames + estimated time)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho \"\\n⌨️\u0000 ACTIVITY TYPE PER APP (clicks / keys / switches)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d', \n app_name,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho \"\\n🌐\u0000 BROWSER URLS VISITED\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%4d frames %s', COUNT(*), browser_url)\nFROM frames\nWHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL\nGROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho \"\\n🪟\u0000 WINDOW TITLES (top 20)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL\nGROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho \"\\n🕐\u0000 HOURLY TIMELINE\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%s %-20s %3d frames', strftime('%H:00', timestamp), app_name, COUNT(*))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY strftime('%H', timestamp), app_name\nORDER BY strftime('%H', timestamp), COUNT(*) DESC;\"\n\necho \"\\n📋\u0000 CLIPBOARD ACTIVITY\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %s', app_name, SUBSTR(text_content, 1, 80))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND event_type = 'clipboard' AND text_content IS NOT NULL\nORDER BY timestamp LIMIT 20;\"\n\necho \"\\n💬\u0000 OCR TEXT SAMPLES PER APP\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-15s %s', o.app_name, SUBSTR(o.text, 1, 80))\nFROM ocr_text o\nJOIN frames f ON o.frame_id = f.id\nWHERE date(f.timestamp) = '$DATE' AND o.app_name IS NOT NULL AND o.text != ''\nGROUP BY o.app_name\nORDER BY o.app_name LIMIT 15;\"\n\necho \"\\n🔢\u0000 TOTALS\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT \n 'Frames: ' || COUNT(*) FROM frames WHERE date(timestamp) = '$DATE';\n\"\nsqlite3 \"$DB\" \"\nSELECT 'UI Events: ' || COUNT(*) FROM ui_events WHERE date(timestamp) = '$DATE';\n\"\nsqlite3 \"$DB\" \"\nSELECT 'OCR texts: ' || COUNT(*) FROM ocr_text o JOIN frames f ON o.frame_id = f.id WHERE date(f.timestamp) = '$DATE';\n\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to localhost port 3030 after 0 ms: Couldn't connect to server\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -X POST http://localhost:3030/pipes/time-breakdown/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 11194 0 --:--:-- --:--:-- --:--:-- 11666\n{\n \"error\": \"agent 'pi' is not installed — run ensure_installed first\"\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl http://localhost:3030/health | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 943 100 943 0 0 574k 0 --:--:-- --:--:-- --:--:-- 920k\n{\n \"audio_db_write_stalled\": false,\n \"audio_status\": \"disabled\",\n \"device_status_details\": null,\n \"drm_content_paused\": false,\n \"frame_status\": \"ok\",\n \"hostname\": \"Lukas-Kovaliks-MacBook-Pro-Jiminny\",\n \"last_audio_timestamp\": null,\n \"last_frame_timestamp\": \"2026-04-11T18:42:01+03:00\",\n \"message\": \"all systems are functioning normally.\",\n \"monitors\": [\n \"Display 1 (1440x900)\",\n \"Display 2 (2560x1440)\"\n ],\n \"pipeline\": {\n \"avg_db_latency_ms\": 56.5,\n \"avg_ocr_latency_ms\": 0.0,\n \"capture_fps_actual\": 0.5718911974206078,\n \"frame_drop_rate\": 0.0,\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 134 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n \"frames_captured\": 2,\n \"frames_db_written\": 2,\n \"frames_dropped\": 0,\n \"ocr_cache_hit_rate\": 0.0,\n \"ocr_queue_depth\": 0,\n \"pipeline_stall_count\": 0,\n \"time_to_first_frame_ms\": 1250.985,\n \"uptime_secs\": 3.497168708,\n \"video_queue_depth\": 0\n },\n \"pool_stats\": {\n \"read_pool_idle\": 3,\n \"read_pool_size\": 3,\n \"write_pool_idle\": 2,\n \"write_pool_size\": 2\n },\n \"schedule_paused\": false,\n \"status\": \"healthy\",\n \"status_code\": 200,\n \"verbose_instructions\": null,\n \"version\": \"0.3.278\",\n \"vision_db_write_stalled\": false\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -s http://localhost:3030/health | jq '{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}'\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-11T18:43:24+03:00\",\n \"uptime\": 85.845911708,\n \"fps\": 0.198029232397514,\n \"frames\": 17\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo \"alias sp-status='curl -s http://localhost:3030/health | jq \\\"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\\\"'\" >> ~/.zshrc\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sp-status\nzsh: command not found: sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ source ~/.zprofile\n\nPoetry could not find a pyproject.toml file in /Volumes or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sp-status \nzsh: command not found: sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ zp\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls\nApps\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tMacintosh HD\u0000\u0000\u0000\tTest\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll\ntotal 1272\ndrwx------+ 89 lukas staff 2848 11 Apr 18:38 .\ndrwxr-xr-x 5 root admin 160 23 Aug 2024 ..\n-r-------- 1 lukas staff 7 18 Nov 2021 .CFUserTextEncoding\n-rw-r--r--@ 1 lukas staff 22532 11 Apr 16:46 .DS_Store\ndrwx------+ 2 lukas staff 64 11 Apr 11:15 .Trash\ndrwx------ 5 lukas staff 160 1 Nov 2021 .aws\n-rw-r--r-- 1 lukas staff 341470 29 Sep 2022 .babel.json\n-rw-------@ 1 lukas staff 388 25 Jul 2025 .bash_history\n-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .bashrc\ndrwxr-xr-x 5 lukas staff 160 11 Mar 2023 .bito\ndrwx------@ 6 lukas staff 192 9 Apr 19:53 .cache\ndrwxr-xr-x 20 lukas staff 640 9 Apr 21:21 .claude\n-rw------- 1 lukas staff 24973 9 Apr 21:24 .claude.json\ndrwxr-xr-x@ 20 lukas staff 640 12 Mar 09:12 .codeium\ndrwxrwxrwx@ 3 lukas staff 96 2 Mar 2023 .composer\ndrwx------ 16 lukas staff 512 21 May 2025 .config\ndrwxr-xr-x 15 lukas staff 480 23 Dec 2024 .continue\ndrwx------@ 3 lukas staff 96 16 Feb 19:13 .copilot\ndrwxr-xr-x@ 5 lukas staff 160 9 Apr 2025 .cursor\ndrwxr-xr-x@ 5 lukas staff 160 17 Aug 2024 .cursor-tutor\ndrwxr-xr-x 3 lukas staff 96 8 Sep 2024 .daytona\ndrwxr-xr-x@ 4 lukas staff 128 18 Feb 10:52 .devdb\ndrwx------ 24 lukas staff 768 9 Apr 18:24 .docker\ndrwx------ 15 lukas staff 480 6 Jun 2023 .dropbox\ndrwxr-xr-x@ 3 lukas staff 96 20 Nov 2022 .fig.dotfiles.bak\n-rw-r--r-- 1 lukas staff 138 5 Mar 2022 .gauth\n-rw-r--r-- 1 lukas staff 220 25 Nov 2021 .gitconfig\n-rw-r--r-- 1 lukas staff 12288 25 Nov 2021 .gitconfig.swp\ndrwx------ 5 lukas staff 160 18 Nov 2021 .hammerspoon\ndrwxr-xr-x 3 lukas staff 96 21 Mar 2025 .idlerc\n-rw------- 1 lukas staff 20 31 Mar 18:32 .lesshst\ndrwx------ 5 lukas staff 160 23 Dec 2024 .local\n-rw------- 1 lukas staff 204 16 Mar 2024 .netrc\ndrwx------ 3 lukas staff 96 1 Nov 2021 .node-gyp\n-rw------- 1 lukas staff 4 6 Feb 2024 .node_repl_history\n-rw-r--r-- 1 lukas staff 17 24 Dec 2023 .notion-enhancer\ndrwxr-xr-x 4 lukas staff 128 12 Jul 2024 .notion-py\ndrwx------ 9 lukas staff 288 11 Apr 18:41 .npm\n-rw------- 1 lukas staff 74 20 May 2024 .npmrc\ndrwx------ 32 lukas staff 1024 25 Jul 2025 .nvm\ndrwxr-xr-x 4 lukas staff 128 5 Aug 2023 .postman\n-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .profile\n-rw-------@ 1 lukas staff 3153 21 Mar 2025 .python_history\ndrwx------ 2 lukas staff 64 15 Nov 2021 .quicktype-vscode\ndrwxr-xr-x@ 8 lukas staff 256 16 Feb 08:48 .redis-insight\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .screenpipe\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 11 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ndrwxr-xr-x 4 lukas staff 128 4 Feb 09:35 .sonarlint\ndrwx------ 15 lukas staff 480 8 Aug 2025 .ssh\ndrwxr-xr-x@ 3 lukas staff 96 15 Aug 2025 .streamlit\ndrwx------ 6 lukas staff 192 17 Oct 2022 .swiftpm\n-rw------- 1 lukas staff 12183 8 Apr 19:14 .viminfo\ndrwx------ 5 lukas staff 160 19 Jun 2023 .vscode\ndrwxr-xr-x@ 3 lukas staff 96 20 Jan 2025 .warp\ndrwxr-xr-x 4 lukas staff 128 29 Apr 2023 .wdm\ndrwxr-xr-x@ 5 lukas staff 160 26 Jan 13:03 .windsurf\ndrwxr-xr-x 4 lukas staff 128 24 Mar 12:03 .yarn\n-rw-r--r-- 1 lukas staff 116 30 Mar 10:12 .yarnrc\n-rw-r--r--@ 1 lukas staff 49518 6 Apr 14:31 .zcompdump\n-rw-r--r--@ 1 lukas staff 46758 2 Nov 20:34 .zcompdump.Lukas-Kovaliks-MacBook-Pro-Jiminny.23381\n-rw-r--r--@ 1 lukas staff 5641 9 Apr 20:30 .zprofile\n-rw-r--r-- 1 lukas staff 1468 8 Apr 2022 .zprofile-copy\n-rw-r--r--@ 1 lukas staff 2900 15 Mar 2023 .zprofile.pysave\n-rw------- 1 lukas staff 1731 29 Jun 2022 .zprofile.save\n-rw-r--r-- 1 lukas staff 1569 8 Apr 2022 .zprofilees\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n-rw------- 1 lukas staff 28812 11 Apr 18:38 .zsh_history\ndrwx------ 9 lukas staff 288 6 May 2025 .zsh_sessions\n-rw-r--r--@ 1 lukas staff 597 11 Apr 18:44 .zshrc\ndrwx------@ 9 lukas staff 288 9 Apr 20:08 Applications\ndrwxr-xr-x@ 2 lukas staff 64 22 Oct 09:35 CascadeProjects\ndrwxr-xr-x 4 lukas staff 128 27 Oct 09:24 DEV\ndrwx------@ 10 lukas staff 320 11 Apr 18:31 Desktop\ndrwx------@ 7 lukas staff 224 26 Mar 14:40 Documents\ndrwx------@ 41 lukas staff 1312 8 Apr 20:46 Downloads\ndrwxr-xr-x@ 4 lukas staff 128 17 Mar 20:27 Keychron_Screen\ndrwx------@ 112 lukas staff 3584 2 Dec 09:19 Library\ndrwx------ 7 lukas staff 224 12 Feb 2024 Movies\ndrwx------+ 5 lukas staff 160 25 Sep 2023 Music\ndrwx------+ 9 lukas staff 288 25 Sep 2023 Pictures\ndrwx------ 3 lukas staff 96 8 Nov 2021 Postman\ndrwx------+ 4 lukas staff 128 28 Oct 2021 Public\n-rw-r--r--@ 1 lukas staff 3950 15 Dec 09:16 Untitled 4.spf\ndrwx------ 4 lukas staff 128 2 Jul 2023 Users\ndrwx------ 3 lukas staff 96 30 Sep 2022 iCloud Drive (Archive)\ndrwx------ 16 lukas staff 512 3 Nov 11:35 jiminny\ndrwxr-xr-x 3 lukas staff 96 20 Mar 18:47 node_modules\ndrwxr-xr-x 4 lukas staff 128 21 Oct 18:15 raycast\n-rw-r--r-- 1 lukas staff 0 1 Mar 14:26 response.bin\n-rwxr-xr-x 1 lukas staff 3824 11 Apr 15:16 screenpipe-day.sh\n-rw-r--r-- 1 lukas staff 86 20 Mar 18:47 yarn.lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano .zshrc \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo \"alias sp-status='curl -s http://localhost:3030/health | jq \\\"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\\\"'\" >> ~/.zprofile\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ source ~/.zprofile\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status \n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-11T18:47:17+03:00\",\n \"uptime\": 345.971219541,\n \"fps\": 0.0982740704417778,\n \"frames\": 34\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start \n[1] 41216\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:54:13.170097Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:54:13.812964Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:54:13.819889Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:54:13.819889Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:54:13.820291Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:54:13.820220Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:54:13.820450Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:54:13.820896Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:54:13.820856Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:54:13.821123Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:54:13.821801Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:54:13.821972Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:54:13.822128Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:54:13.822942Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:54:13.822962Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:54:13.824479Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:54:13.824829Z INFO screenpipe: starting UI event capture\n2026-04-11T18:54:13.828568Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:54:13.829646Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:54:13.838998Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:54:13.852999Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:54:13.853108Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:54:13.853107 UTC to 2026-04-11 15:54:13.853107 UTC)\n2026-04-11T18:54:13.853121Z INFO screenpipe_engine::ui_recorder: UI recording session started: 13f9ef4b-a7db-47ce-844f-778b4b926db5\n2026-04-11T18:54:13.854048Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:54:13.859344Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:54:13.864448Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:54:14.006638Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 878 frame entries, coverage from 2026-04-10 15:54:13.853107 UTC\n2026-04-11T18:54:14.161101Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:54:14.161134Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:54:14.161145Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:54:14.161153Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:54:14.161204Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:54:14.958802Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:54:15.096012Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1402, dur=52ms\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T18:54:18.859011Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:54:18.859467Z INFO screenpipe: local retention auto-enabled (14 days)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT DISTINCT window_name\nFROM frames\nWHERE app_name IN ('Safari', 'Firefox', 'Arc', 'Chrome')\nAND window_name IS NOT NULL\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nORDER BY window_name;\"\nDXP4800PLUS-B5F8\nDXP4800PLUS-B5F8 — Personal\nDenník N - Nezávislý denník — Personal\nEdit profile — Personal\nLocation Logger\nLoď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N — Personal\nMaďarské voľby – Denník N — Personal\nPersonal — Mozilla Firefox\nPicture-in-Picture\nProblem loading page — Personal\nScreenpipe Dashboard — Personal\nSettings — Personal\nSign in – Google accounts — Personal\nTailscale — Personal\nUGREEN NAS — Personal\nVimium Options — Personal\nVimium – Get this Extension for 🦊\u0000 Firefox (en-US) — Personal\nfirefox sidebar - Google Search — Personal\ntilscale admin panel - Google Search — Personal\nOrder Room Service • HBO Max\nShameless • HBO Max\nShameless • HBO Max — Personal\nSimple Pleasures • HBO Max — Personal\nČasť 2 • HBO Max — Personal\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cat ~/.screenpipe/config.json \n{\n \"disable_audio\": true,\n \"monitor_ids\": [\"Display 1_1440x900_0,0\", \"Display 2_3008x1253_-813,-1253\"],\n \"ignored_windows\": [\n \"1Password\",\n \"Keychain Access\",\n \"Bitwarden\",\n \"System Preferences\",\n \"System Settings\",\n \"zoom.us\",\n \"HBO Max\",\n ]\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe && sleep 2 && npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe\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-11T19:00:06.546722Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T19:00:07.267955Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T19:00:07.269566Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T19:00:07.269564Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T19:00:07.269921Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T19:00:07.470439Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T19:00:07.470481Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T19:00:07.470420Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T19:00:07.470877Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T19:00:07.471071Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T19:00:07.471748Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T19:00:07.471948Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T19:00:07.472085Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T19:00:07.472295Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T19:00:07.472315Z 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│ pause on DRM content │ 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-11T19:00:07.473167Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T19:00:07.473787Z INFO screenpipe: starting UI event capture\n2026-04-11T19:00:07.476515Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T19:00:07.485630Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T19:00:07.489867Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T19:00:07.503670Z INFO screenpipe_engine::ui_recorder: UI recording session started: 6b15bcb7-6588-4b6b-9ae5-5a3b50fba2a2\n2026-04-11T19:00:07.503881Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T19:00:07.503967Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 16:00:07.503966 UTC to 2026-04-11 16:00:07.503966 UTC)\n2026-04-11T19:00:07.504283Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T19:00:07.509408Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T19:00:07.514386Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T19:00:07.659978Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 879 frame entries, coverage from 2026-04-10 16:00:07.503966 UTC\n2026-04-11T19:00:07.820721Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T19:00:07.820747Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T19:00:07.820758Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T19:00:07.820766Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T19:00:07.820805Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T19:00:08.565404Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T19:00:08.709384Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1403, dur=60ms\n2026-04-11T19:00:12.507772Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T19:00:12.508217Z INFO screenpipe: local retention auto-enabled (14 days)\n^C2026-04-11T19:00:14.475068Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-04-11T19:00:14.476266Z INFO screenpipe: stopping UI event capture\n2026-04-11T19:00:14.476480Z INFO screenpipe: received shutdown signal for VisionManager\n2026-04-11T19:00:14.476552Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-04-11T19:00:14.476564Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-04-11T19:00:14.476595Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-11T19:00:14.477268Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n\n2026-04-11T19:00:14.481053Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s) \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T19:00:14.624523Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 6b15bcb7-6588-4b6b-9ae5-5a3b50fba2a2\n2026-04-11T19:00:14.624669Z INFO screenpipe: shutdown complete\n\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-11T19:00:31.694964Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T19:00:32.442217Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T19:00:32.443687Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T19:00:32.443694Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T19:00:32.444120Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T19:00:32.662907Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T19:00:32.662887Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T19:00:32.662980Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T19:00:32.663355Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T19:00:32.663550Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T19:00:32.664216Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T19:00:32.664395Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T19:00:32.664552Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T19:00:32.665488Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T19:00:32.665515Z 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│ pause on DRM content │ 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-11T19:00:32.667186Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T19:00:32.667286Z INFO screenpipe: starting UI event capture\n2026-04-11T19:00:32.670076Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T19:00:32.672989Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T19:00:32.681327Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T19:00:32.695244Z INFO screenpipe_engine::ui_recorder: UI recording session started: 47668625-ff04-42f8-aa0d-f468ff11f0ff\n2026-04-11T19:00:32.695238Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T19:00:32.695298Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 16:00:32.695296 UTC to 2026-04-11 16:00:32.695296 UTC)\n2026-04-11T19:00:32.695769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T19:00:32.701263Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T19:00:32.705041Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T19:00:32.852998Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 880 frame entries, coverage from 2026-04-10 16:00:32.695296 UTC\n2026-04-11T19:00:32.998691Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T19:00:32.998717Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T19:00:32.998728Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T19:00:32.998739Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T19:00:32.998790Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T19:00:33.736410Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T19:00:34.302357Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1404, dur=507ms\n2026-04-11T19:00:37.699366Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T19:00:37.699830Z INFO screenpipe: local retention auto-enabled (14 days)\n^C2026-04-11T19:00:42.463354Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-04-11T19:00:42.463443Z INFO screenpipe: stopping UI event capture\n2026-04-11T19:00:42.463473Z INFO screenpipe: received shutdown signal for VisionManager\n2026-04-11T19:00:42.463494Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-04-11T19:00:42.463501Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-04-11T19:00:42.463509Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-11T19:00:42.463516Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n\n2026-04-11T19:00:42.466209Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s) \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T19:00:42.589528Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 47668625-ff04-42f8-aa0d-f468ff11f0ff\n2026-04-11T19:00:42.589635Z INFO screenpipe: shutdown complete\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\n[1] 42748\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T20:26:04.829554Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T20:26:05.341444Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T20:26:05.345218Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T20:26:05.345229Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T20:26:05.345415Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T20:26:05.345428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T20:26:05.345477Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T20:26:05.345864Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T20:26:05.346065Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T20:26:05.346166Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T20:26:05.346730Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T20:26:05.346883Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T20:26:05.346990Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T20:26:05.347093Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T20:26:05.347108Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T20:26:05.348501Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T20:26:05.348754Z INFO screenpipe: starting UI event capture\n2026-04-11T20:26:05.353656Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T20:26:05.358540Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T20:26:05.363864Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T20:26:05.378325Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T20:26:05.378392Z INFO screenpipe_engine::ui_recorder: UI recording session started: 5b17c7fe-3811-4788-a81b-6b04773808f1\n2026-04-11T20:26:05.378564Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 17:26:05.378561 UTC to 2026-04-11 17:26:05.378561 UTC)\n2026-04-11T20:26:05.379467Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T20:26:05.384798Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T20:26:05.389960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T20:26:05.528107Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 883 frame entries, coverage from 2026-04-10 17:26:05.378561 UTC\n2026-04-11T20:26:05.683177Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T20:26:05.683293Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T20:26:05.683303Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T20:26:05.683311Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T20:26:05.683359Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T20:26:06.488545Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T20:26:07.067446Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1407, dur=537ms\n2026-04-11T20:26:08.752985Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9215443531147982391, trigger=visual_change)\n2026-04-11T20:26:10.383131Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T20:26:10.383762Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T20:26:38.337011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9215443531147982391, trigger=click)\n2026-04-11T20:26:55.992688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5606118560581161138, trigger=click)\n2026-04-11T20:26:57.331771Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5606118560581161138, trigger=click)\n2026-04-11T20:27:05.408691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-11T20:27:09.664908Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.4MB → 3.3MB (2.8x), 61 JPEGs deleted\n2026-04-11T20:31:05.374969Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T20:31:40.380610Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T17:31:40.380594+00:00 (14d retention)\n2026-04-11T20:32:09.668412Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ls -lah ~/.screenpipe/data/data/ | head -20\ndu -sh ~/.screenpipe/data/data/*\ntotal 24\ndrwxr-xr-x 5 lukas staff 160B 11 Apr 14:52 .\ndrwxr-xr-x 5 lukas staff 160B 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8.0K 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448B 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 98 lukas staff 3.1K 11 Apr 20:32 2026-04-11\n 39M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data/data/2026-04-09\n 60M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data/data/2026-04-11\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n234M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/\n234M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n 99M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n126M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n8.0M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T20:34:53.551967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9017845113719419888, trigger=click)\n2026-04-11T20:34:56.379684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9017845113719419888, trigger=click)\n2026-04-11T20:34:58.704027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9017845113719419888, trigger=click)\n2026-04-11T20:36:40.376312Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T17:36:40.376264+00:00 (14d retention)\n2026-04-11T20:36:53.215520Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1247300013418283538, trigger=click)\n2026-04-11T20:37:03.549467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1247300013418283538, trigger=click)\n2026-04-11T20:37:09.670722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-04-11T20:37:11.207501Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 5.3MB → 1.2MB (4.5x), 24 JPEGs deleted\n2026-04-11T20:37:44.461189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-259750597993296433, trigger=click)\n2026-04-11T20:37:58.408608Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4847561377089731380, trigger=click)\n2026-04-11T20:41:40.359883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T17:41:40.359820+00:00 (14d retention)\n2026-04-11T20:42:11.201085Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-04-11T20:42:14.092074Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 11.5MB → 1.3MB (8.9x), 47 JPEGs deleted\n2026-04-11T20:43:17.639493Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3091908115894725819, trigger=click)\n2026-04-11T20:43:40.490394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-719952589760894517, trigger=visual_change)\n2026-04-11T20:43:46.083974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-719952589760894517, trigger=click)\n2026-04-11T20:43:52.105573Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-719952589760894517, trigger=click)","depth":4,"value":"zsh: file exists: /\nzsh: command not found: drwx------\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ clear\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/db.sqlite\nscp: dest open \"/volume1/screenpipe/db.sqlite\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/db.sqlite\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls \nMacintosh HD\u0000\u0000\u0000\tscreenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll\ntotal 32\ndrwxr-xr-x 4 root wheel 128 11 Apr 16:35 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite\ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite\ncp: /Volumes/Test/screenpipe/db.sqlite: No such file or directory\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/ \ncp: directory /Volumes/Test/screenpipe does not exist\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/ \ncp: /Volumes/screenpipe/db.sqlite: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll\ntotal 96\ndrwxr-xr-x 6 root wheel 192 11 Apr 16:45 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\ndrwx------ 1 lukas staff 16384 10 Aug 2025 Apps\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 15:46 Test\ndrwx------ 1 lukas staff 16384 11 Apr 16:47 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/pipes/ /Volumes/Test/screenpipe/pipes/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/data/data/ /Volumes/Test/screenpipe/data/ \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sed 's|$HOME/.screenpipe/db.sqlite|/volume1/Test/screenpipe/db.sqlite|g' ~/screenpipe-day.sh > /volume1/Test/screenpipe/screenpipe-day.sh\nzsh: no such file or directory: /volume1/Test/screenpipe/screenpipe-day.sh\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cat ~/screenpipe-day.sh \n#!/bin/zsh\nDB=\"$HOME/.screenpipe/db.sqlite\"\nDATE=${1:-$(date -v-1d '+%Y-%m-%d')}\n\necho \"═══════════════════════════════════════\"\necho \" SCREENPIPE REPORT — $DATE\"\necho \"═══════════════════════════════════════\"\n\necho \"\\n📱\u0000 APP USAGE (frames + estimated time)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho \"\\n⌨️\u0000 ACTIVITY TYPE PER APP (clicks / keys / switches)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d', \n app_name,\n SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),\n SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY app_name ORDER BY COUNT(*) DESC;\"\n\necho \"\\n🌐\u0000 BROWSER URLS VISITED\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%4d frames %s', COUNT(*), browser_url)\nFROM frames\nWHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL\nGROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho \"\\n🪟\u0000 WINDOW TITLES (top 20)\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL\nGROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;\"\n\necho \"\\n🕐\u0000 HOURLY TIMELINE\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%s %-20s %3d frames', strftime('%H:00', timestamp), app_name, COUNT(*))\nFROM frames\nWHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL\nGROUP BY strftime('%H', timestamp), app_name\nORDER BY strftime('%H', timestamp), COUNT(*) DESC;\"\n\necho \"\\n📋\u0000 CLIPBOARD ACTIVITY\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-20s %s', app_name, SUBSTR(text_content, 1, 80))\nFROM ui_events\nWHERE date(timestamp) = '$DATE' AND event_type = 'clipboard' AND text_content IS NOT NULL\nORDER BY timestamp LIMIT 20;\"\n\necho \"\\n💬\u0000 OCR TEXT SAMPLES PER APP\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT printf('%-15s %s', o.app_name, SUBSTR(o.text, 1, 80))\nFROM ocr_text o\nJOIN frames f ON o.frame_id = f.id\nWHERE date(f.timestamp) = '$DATE' AND o.app_name IS NOT NULL AND o.text != ''\nGROUP BY o.app_name\nORDER BY o.app_name LIMIT 15;\"\n\necho \"\\n🔢\u0000 TOTALS\"\necho \"───────────────────────────────────────\"\nsqlite3 \"$DB\" \"\nSELECT \n 'Frames: ' || COUNT(*) FROM frames WHERE date(timestamp) = '$DATE';\n\"\nsqlite3 \"$DB\" \"\nSELECT 'UI Events: ' || COUNT(*) FROM ui_events WHERE date(timestamp) = '$DATE';\n\"\nsqlite3 \"$DB\" \"\nSELECT 'OCR texts: ' || COUNT(*) FROM ocr_text o JOIN frames f ON o.frame_id = f.id WHERE date(f.timestamp) = '$DATE';\n\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -X POST http://localhost:3030/pipes/time-breakdown/run | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to localhost port 3030 after 0 ms: Couldn't connect to server\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -X POST http://localhost:3030/pipes/time-breakdown/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 11194 0 --:--:-- --:--:-- --:--:-- 11666\n{\n \"error\": \"agent 'pi' is not installed — run ensure_installed first\"\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl http://localhost:3030/health | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 943 100 943 0 0 574k 0 --:--:-- --:--:-- --:--:-- 920k\n{\n \"audio_db_write_stalled\": false,\n \"audio_status\": \"disabled\",\n \"device_status_details\": null,\n \"drm_content_paused\": false,\n \"frame_status\": \"ok\",\n \"hostname\": \"Lukas-Kovaliks-MacBook-Pro-Jiminny\",\n \"last_audio_timestamp\": null,\n \"last_frame_timestamp\": \"2026-04-11T18:42:01+03:00\",\n \"message\": \"all systems are functioning normally.\",\n \"monitors\": [\n \"Display 1 (1440x900)\",\n \"Display 2 (2560x1440)\"\n ],\n \"pipeline\": {\n \"avg_db_latency_ms\": 56.5,\n \"avg_ocr_latency_ms\": 0.0,\n \"capture_fps_actual\": 0.5718911974206078,\n \"frame_drop_rate\": 0.0,\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 134 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n \"frames_captured\": 2,\n \"frames_db_written\": 2,\n \"frames_dropped\": 0,\n \"ocr_cache_hit_rate\": 0.0,\n \"ocr_queue_depth\": 0,\n \"pipeline_stall_count\": 0,\n \"time_to_first_frame_ms\": 1250.985,\n \"uptime_secs\": 3.497168708,\n \"video_queue_depth\": 0\n },\n \"pool_stats\": {\n \"read_pool_idle\": 3,\n \"read_pool_size\": 3,\n \"write_pool_idle\": 2,\n \"write_pool_size\": 2\n },\n \"schedule_paused\": false,\n \"status\": \"healthy\",\n \"status_code\": 200,\n \"verbose_instructions\": null,\n \"version\": \"0.3.278\",\n \"vision_db_write_stalled\": false\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -s http://localhost:3030/health | jq '{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}'\n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-11T18:43:24+03:00\",\n \"uptime\": 85.845911708,\n \"fps\": 0.198029232397514,\n \"frames\": 17\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo \"alias sp-status='curl -s http://localhost:3030/health | jq \\\"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\\\"'\" >> ~/.zshrc\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sp-status\nzsh: command not found: sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ source ~/.zprofile\n\nPoetry could not find a pyproject.toml file in /Volumes or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sp-status \nzsh: command not found: sp-status\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ zp\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls\nApps\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tMacintosh HD\u0000\u0000\u0000\tTest\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cd\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll\ntotal 1272\ndrwx------+ 89 lukas staff 2848 11 Apr 18:38 .\ndrwxr-xr-x 5 root admin 160 23 Aug 2024 ..\n-r-------- 1 lukas staff 7 18 Nov 2021 .CFUserTextEncoding\n-rw-r--r--@ 1 lukas staff 22532 11 Apr 16:46 .DS_Store\ndrwx------+ 2 lukas staff 64 11 Apr 11:15 .Trash\ndrwx------ 5 lukas staff 160 1 Nov 2021 .aws\n-rw-r--r-- 1 lukas staff 341470 29 Sep 2022 .babel.json\n-rw-------@ 1 lukas staff 388 25 Jul 2025 .bash_history\n-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .bashrc\ndrwxr-xr-x 5 lukas staff 160 11 Mar 2023 .bito\ndrwx------@ 6 lukas staff 192 9 Apr 19:53 .cache\ndrwxr-xr-x 20 lukas staff 640 9 Apr 21:21 .claude\n-rw------- 1 lukas staff 24973 9 Apr 21:24 .claude.json\ndrwxr-xr-x@ 20 lukas staff 640 12 Mar 09:12 .codeium\ndrwxrwxrwx@ 3 lukas staff 96 2 Mar 2023 .composer\ndrwx------ 16 lukas staff 512 21 May 2025 .config\ndrwxr-xr-x 15 lukas staff 480 23 Dec 2024 .continue\ndrwx------@ 3 lukas staff 96 16 Feb 19:13 .copilot\ndrwxr-xr-x@ 5 lukas staff 160 9 Apr 2025 .cursor\ndrwxr-xr-x@ 5 lukas staff 160 17 Aug 2024 .cursor-tutor\ndrwxr-xr-x 3 lukas staff 96 8 Sep 2024 .daytona\ndrwxr-xr-x@ 4 lukas staff 128 18 Feb 10:52 .devdb\ndrwx------ 24 lukas staff 768 9 Apr 18:24 .docker\ndrwx------ 15 lukas staff 480 6 Jun 2023 .dropbox\ndrwxr-xr-x@ 3 lukas staff 96 20 Nov 2022 .fig.dotfiles.bak\n-rw-r--r-- 1 lukas staff 138 5 Mar 2022 .gauth\n-rw-r--r-- 1 lukas staff 220 25 Nov 2021 .gitconfig\n-rw-r--r-- 1 lukas staff 12288 25 Nov 2021 .gitconfig.swp\ndrwx------ 5 lukas staff 160 18 Nov 2021 .hammerspoon\ndrwxr-xr-x 3 lukas staff 96 21 Mar 2025 .idlerc\n-rw------- 1 lukas staff 20 31 Mar 18:32 .lesshst\ndrwx------ 5 lukas staff 160 23 Dec 2024 .local\n-rw------- 1 lukas staff 204 16 Mar 2024 .netrc\ndrwx------ 3 lukas staff 96 1 Nov 2021 .node-gyp\n-rw------- 1 lukas staff 4 6 Feb 2024 .node_repl_history\n-rw-r--r-- 1 lukas staff 17 24 Dec 2023 .notion-enhancer\ndrwxr-xr-x 4 lukas staff 128 12 Jul 2024 .notion-py\ndrwx------ 9 lukas staff 288 11 Apr 18:41 .npm\n-rw------- 1 lukas staff 74 20 May 2024 .npmrc\ndrwx------ 32 lukas staff 1024 25 Jul 2025 .nvm\ndrwxr-xr-x 4 lukas staff 128 5 Aug 2023 .postman\n-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .profile\n-rw-------@ 1 lukas staff 3153 21 Mar 2025 .python_history\ndrwx------ 2 lukas staff 64 15 Nov 2021 .quicktype-vscode\ndrwxr-xr-x@ 8 lukas staff 256 16 Feb 08:48 .redis-insight\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .screenpipe\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 11 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \ndrwxr-xr-x 4 lukas staff 128 4 Feb 09:35 .sonarlint\ndrwx------ 15 lukas staff 480 8 Aug 2025 .ssh\ndrwxr-xr-x@ 3 lukas staff 96 15 Aug 2025 .streamlit\ndrwx------ 6 lukas staff 192 17 Oct 2022 .swiftpm\n-rw------- 1 lukas staff 12183 8 Apr 19:14 .viminfo\ndrwx------ 5 lukas staff 160 19 Jun 2023 .vscode\ndrwxr-xr-x@ 3 lukas staff 96 20 Jan 2025 .warp\ndrwxr-xr-x 4 lukas staff 128 29 Apr 2023 .wdm\ndrwxr-xr-x@ 5 lukas staff 160 26 Jan 13:03 .windsurf\ndrwxr-xr-x 4 lukas staff 128 24 Mar 12:03 .yarn\n-rw-r--r-- 1 lukas staff 116 30 Mar 10:12 .yarnrc\n-rw-r--r--@ 1 lukas staff 49518 6 Apr 14:31 .zcompdump\n-rw-r--r--@ 1 lukas staff 46758 2 Nov 20:34 .zcompdump.Lukas-Kovaliks-MacBook-Pro-Jiminny.23381\n-rw-r--r--@ 1 lukas staff 5641 9 Apr 20:30 .zprofile\n-rw-r--r-- 1 lukas staff 1468 8 Apr 2022 .zprofile-copy\n-rw-r--r--@ 1 lukas staff 2900 15 Mar 2023 .zprofile.pysave\n-rw------- 1 lukas staff 1731 29 Jun 2022 .zprofile.save\n-rw-r--r-- 1 lukas staff 1569 8 Apr 2022 .zprofilees\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \n-rw------- 1 lukas staff 28812 11 Apr 18:38 .zsh_history\ndrwx------ 9 lukas staff 288 6 May 2025 .zsh_sessions\n-rw-r--r--@ 1 lukas staff 597 11 Apr 18:44 .zshrc\ndrwx------@ 9 lukas staff 288 9 Apr 20:08 Applications\ndrwxr-xr-x@ 2 lukas staff 64 22 Oct 09:35 CascadeProjects\ndrwxr-xr-x 4 lukas staff 128 27 Oct 09:24 DEV\ndrwx------@ 10 lukas staff 320 11 Apr 18:31 Desktop\ndrwx------@ 7 lukas staff 224 26 Mar 14:40 Documents\ndrwx------@ 41 lukas staff 1312 8 Apr 20:46 Downloads\ndrwxr-xr-x@ 4 lukas staff 128 17 Mar 20:27 Keychron_Screen\ndrwx------@ 112 lukas staff 3584 2 Dec 09:19 Library\ndrwx------ 7 lukas staff 224 12 Feb 2024 Movies\ndrwx------+ 5 lukas staff 160 25 Sep 2023 Music\ndrwx------+ 9 lukas staff 288 25 Sep 2023 Pictures\ndrwx------ 3 lukas staff 96 8 Nov 2021 Postman\ndrwx------+ 4 lukas staff 128 28 Oct 2021 Public\n-rw-r--r--@ 1 lukas staff 3950 15 Dec 09:16 Untitled 4.spf\ndrwx------ 4 lukas staff 128 2 Jul 2023 Users\ndrwx------ 3 lukas staff 96 30 Sep 2022 iCloud Drive (Archive)\ndrwx------ 16 lukas staff 512 3 Nov 11:35 jiminny\ndrwxr-xr-x 3 lukas staff 96 20 Mar 18:47 node_modules\ndrwxr-xr-x 4 lukas staff 128 21 Oct 18:15 raycast\n-rw-r--r-- 1 lukas staff 0 1 Mar 14:26 response.bin\n-rwxr-xr-x 1 lukas staff 3824 11 Apr 15:16 screenpipe-day.sh\n-rw-r--r-- 1 lukas staff 86 20 Mar 18:47 yarn.lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano .zshrc \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo \"alias sp-status='curl -s http://localhost:3030/health | jq \\\"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\\\"'\" >> ~/.zprofile\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ source ~/.zprofile\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status \n{\n \"status\": \"healthy\",\n \"frame_status\": \"ok\",\n \"audio_status\": \"disabled\",\n \"last_frame\": \"2026-04-11T18:47:17+03:00\",\n \"uptime\": 345.971219541,\n \"fps\": 0.0982740704417778,\n \"frames\": 34\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start \n[1] 41216\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:54:13.170097Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:54:13.812964Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:54:13.819889Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:54:13.819889Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:54:13.820291Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:54:13.820220Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:54:13.820450Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:54:13.820896Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:54:13.820856Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:54:13.821123Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:54:13.821801Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:54:13.821972Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:54:13.822128Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:54:13.822942Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:54:13.822962Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:54:13.824479Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:54:13.824829Z INFO screenpipe: starting UI event capture\n2026-04-11T18:54:13.828568Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:54:13.829646Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:54:13.838998Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:54:13.852999Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:54:13.853108Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:54:13.853107 UTC to 2026-04-11 15:54:13.853107 UTC)\n2026-04-11T18:54:13.853121Z INFO screenpipe_engine::ui_recorder: UI recording session started: 13f9ef4b-a7db-47ce-844f-778b4b926db5\n2026-04-11T18:54:13.854048Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:54:13.859344Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:54:13.864448Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:54:14.006638Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 878 frame entries, coverage from 2026-04-10 15:54:13.853107 UTC\n2026-04-11T18:54:14.161101Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:54:14.161134Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:54:14.161145Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:54:14.161153Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:54:14.161204Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:54:14.958802Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:54:15.096012Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1402, dur=52ms\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T18:54:18.859011Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:54:18.859467Z INFO screenpipe: local retention auto-enabled (14 days)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite \"\nSELECT DISTINCT window_name\nFROM frames\nWHERE app_name IN ('Safari', 'Firefox', 'Arc', 'Chrome')\nAND window_name IS NOT NULL\n UW PICO 5.09 New Buffer \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Read 13 lines ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell \nORDER BY window_name;\"\nDXP4800PLUS-B5F8\nDXP4800PLUS-B5F8 — Personal\nDenník N - Nezávislý denník — Personal\nEdit profile — Personal\nLocation Logger\nLoď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N — Personal\nMaďarské voľby – Denník N — Personal\nPersonal — Mozilla Firefox\nPicture-in-Picture\nProblem loading page — Personal\nScreenpipe Dashboard — Personal\nSettings — Personal\nSign in – Google accounts — Personal\nTailscale — Personal\nUGREEN NAS — Personal\nVimium Options — Personal\nVimium – Get this Extension for 🦊\u0000 Firefox (en-US) — Personal\nfirefox sidebar - Google Search — Personal\ntilscale admin panel - Google Search — Personal\nOrder Room Service • HBO Max\nShameless • HBO Max\nShameless • HBO Max — Personal\nSimple Pleasures • HBO Max — Personal\nČasť 2 • HBO Max — Personal\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cat ~/.screenpipe/config.json \n{\n \"disable_audio\": true,\n \"monitor_ids\": [\"Display 1_1440x900_0,0\", \"Display 2_3008x1253_-813,-1253\"],\n \"ignored_windows\": [\n \"1Password\",\n \"Keychain Access\",\n \"Bitwarden\",\n \"System Preferences\",\n \"System Settings\",\n \"zoom.us\",\n \"HBO Max\",\n ]\n}\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe && sleep 2 && npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe\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-11T19:00:06.546722Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T19:00:07.267955Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T19:00:07.269566Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T19:00:07.269564Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T19:00:07.269921Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T19:00:07.470439Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T19:00:07.470481Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T19:00:07.470420Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T19:00:07.470877Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T19:00:07.471071Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T19:00:07.471748Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T19:00:07.471948Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T19:00:07.472085Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T19:00:07.472295Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T19:00:07.472315Z 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│ pause on DRM content │ 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-11T19:00:07.473167Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T19:00:07.473787Z INFO screenpipe: starting UI event capture\n2026-04-11T19:00:07.476515Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T19:00:07.485630Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T19:00:07.489867Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T19:00:07.503670Z INFO screenpipe_engine::ui_recorder: UI recording session started: 6b15bcb7-6588-4b6b-9ae5-5a3b50fba2a2\n2026-04-11T19:00:07.503881Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T19:00:07.503967Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 16:00:07.503966 UTC to 2026-04-11 16:00:07.503966 UTC)\n2026-04-11T19:00:07.504283Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T19:00:07.509408Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T19:00:07.514386Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T19:00:07.659978Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 879 frame entries, coverage from 2026-04-10 16:00:07.503966 UTC\n2026-04-11T19:00:07.820721Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T19:00:07.820747Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T19:00:07.820758Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T19:00:07.820766Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T19:00:07.820805Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T19:00:08.565404Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T19:00:08.709384Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1403, dur=60ms\n2026-04-11T19:00:12.507772Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T19:00:12.508217Z INFO screenpipe: local retention auto-enabled (14 days)\n^C2026-04-11T19:00:14.475068Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-04-11T19:00:14.476266Z INFO screenpipe: stopping UI event capture\n2026-04-11T19:00:14.476480Z INFO screenpipe: received shutdown signal for VisionManager\n2026-04-11T19:00:14.476552Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-04-11T19:00:14.476564Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-04-11T19:00:14.476595Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-11T19:00:14.477268Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n\n2026-04-11T19:00:14.481053Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s) \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T19:00:14.624523Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 6b15bcb7-6588-4b6b-9ae5-5a3b50fba2a2\n2026-04-11T19:00:14.624669Z INFO screenpipe: shutdown complete\n\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-11T19:00:31.694964Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T19:00:32.442217Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T19:00:32.443687Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T19:00:32.443694Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T19:00:32.444120Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T19:00:32.662907Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T19:00:32.662887Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T19:00:32.662980Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T19:00:32.663355Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T19:00:32.663550Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T19:00:32.664216Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T19:00:32.664395Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T19:00:32.664552Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T19:00:32.665488Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T19:00:32.665515Z 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│ pause on DRM content │ 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-11T19:00:32.667186Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T19:00:32.667286Z INFO screenpipe: starting UI event capture\n2026-04-11T19:00:32.670076Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T19:00:32.672989Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T19:00:32.681327Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T19:00:32.695244Z INFO screenpipe_engine::ui_recorder: UI recording session started: 47668625-ff04-42f8-aa0d-f468ff11f0ff\n2026-04-11T19:00:32.695238Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T19:00:32.695298Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 16:00:32.695296 UTC to 2026-04-11 16:00:32.695296 UTC)\n2026-04-11T19:00:32.695769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T19:00:32.701263Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T19:00:32.705041Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T19:00:32.852998Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 880 frame entries, coverage from 2026-04-10 16:00:32.695296 UTC\n2026-04-11T19:00:32.998691Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T19:00:32.998717Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T19:00:32.998728Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T19:00:32.998739Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T19:00:32.998790Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T19:00:33.736410Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T19:00:34.302357Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1404, dur=507ms\n2026-04-11T19:00:37.699366Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T19:00:37.699830Z INFO screenpipe: local retention auto-enabled (14 days)\n^C2026-04-11T19:00:42.463354Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-04-11T19:00:42.463443Z INFO screenpipe: stopping UI event capture\n2026-04-11T19:00:42.463473Z INFO screenpipe: received shutdown signal for VisionManager\n2026-04-11T19:00:42.463494Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-04-11T19:00:42.463501Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-04-11T19:00:42.463509Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-04-11T19:00:42.463516Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n\n2026-04-11T19:00:42.466209Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s) \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T19:00:42.589528Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 47668625-ff04-42f8-aa0d-f468ff11f0ff\n2026-04-11T19:00:42.589635Z INFO screenpipe: shutdown complete\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\n[1] 42748\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T20:26:04.829554Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T20:26:05.341444Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T20:26:05.345218Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T20:26:05.345229Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T20:26:05.345415Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T20:26:05.345428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T20:26:05.345477Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T20:26:05.345864Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T20:26:05.346065Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T20:26:05.346166Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T20:26:05.346730Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T20:26:05.346883Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T20:26:05.346990Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T20:26:05.347093Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T20:26:05.347108Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T20:26:05.348501Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T20:26:05.348754Z INFO screenpipe: starting UI event capture\n2026-04-11T20:26:05.353656Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T20:26:05.358540Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T20:26:05.363864Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T20:26:05.378325Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T20:26:05.378392Z INFO screenpipe_engine::ui_recorder: UI recording session started: 5b17c7fe-3811-4788-a81b-6b04773808f1\n2026-04-11T20:26:05.378564Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 17:26:05.378561 UTC to 2026-04-11 17:26:05.378561 UTC)\n2026-04-11T20:26:05.379467Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T20:26:05.384798Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T20:26:05.389960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T20:26:05.528107Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 883 frame entries, coverage from 2026-04-10 17:26:05.378561 UTC\n2026-04-11T20:26:05.683177Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T20:26:05.683293Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T20:26:05.683303Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T20:26:05.683311Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T20:26:05.683359Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T20:26:06.488545Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T20:26:07.067446Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1407, dur=537ms\n2026-04-11T20:26:08.752985Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9215443531147982391, trigger=visual_change)\n2026-04-11T20:26:10.383131Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T20:26:10.383762Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T20:26:38.337011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9215443531147982391, trigger=click)\n2026-04-11T20:26:55.992688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5606118560581161138, trigger=click)\n2026-04-11T20:26:57.331771Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5606118560581161138, trigger=click)\n2026-04-11T20:27:05.408691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-11T20:27:09.664908Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.4MB → 3.3MB (2.8x), 61 JPEGs deleted\n2026-04-11T20:31:05.374969Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T20:31:40.380610Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T17:31:40.380594+00:00 (14d retention)\n2026-04-11T20:32:09.668412Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ls -lah ~/.screenpipe/data/data/ | head -20\ndu -sh ~/.screenpipe/data/data/*\ntotal 24\ndrwxr-xr-x 5 lukas staff 160B 11 Apr 14:52 .\ndrwxr-xr-x 5 lukas staff 160B 11 Apr 15:03 ..\n-rw-r--r--@ 1 lukas staff 8.0K 9 Apr 20:43 .DS_Store\ndrwxr-xr-x 14 lukas staff 448B 11 Apr 14:53 2026-04-09\ndrwxr-xr-x 98 lukas staff 3.1K 11 Apr 20:32 2026-04-11\n 39M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data/data/2026-04-09\n 60M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data/data/2026-04-11\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe \n234M\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/\n234M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n 99M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n126M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 32K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n8.0M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/pipes\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.log\n132K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T20:34:53.551967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9017845113719419888, trigger=click)\n2026-04-11T20:34:56.379684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9017845113719419888, trigger=click)\n2026-04-11T20:34:58.704027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9017845113719419888, trigger=click)\n2026-04-11T20:36:40.376312Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T17:36:40.376264+00:00 (14d retention)\n2026-04-11T20:36:53.215520Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1247300013418283538, trigger=click)\n2026-04-11T20:37:03.549467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1247300013418283538, trigger=click)\n2026-04-11T20:37:09.670722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-04-11T20:37:11.207501Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 5.3MB → 1.2MB (4.5x), 24 JPEGs deleted\n2026-04-11T20:37:44.461189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-259750597993296433, trigger=click)\n2026-04-11T20:37:58.408608Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4847561377089731380, trigger=click)\n2026-04-11T20:41:40.359883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T17:41:40.359820+00:00 (14d retention)\n2026-04-11T20:42:11.201085Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-04-11T20:42:14.092074Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 11.5MB → 1.3MB (8.9x), 47 JPEGs deleted\n2026-04-11T20:43:17.639493Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3091908115894725819, trigger=click)\n2026-04-11T20:43:40.490394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-719952589760894517, trigger=visual_change)\n2026-04-11T20:43:46.083974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-719952589760894517, trigger=click)\n2026-04-11T20:43:52.105573Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-719952589760894517, trigger=click)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"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.12291667,"top":0.05888889,"width":0.12291667,"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.12708333,"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.24583334,"top":0.05888889,"width":0.12291667,"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.25,"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.36875,"top":0.05888889,"width":0.12291667,"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.37291667,"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.49166667,"top":0.05888889,"width":0.12291667,"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.49583334,"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.6145833,"top":0.05888889,"width":0.12291667,"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.61875,"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.7375,"top":0.05888889,"width":0.12291667,"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.7416667,"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.86041665,"top":0.05888889,"width":0.12291667,"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.8645833,"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"}]...
|
-2410352425524075163
|
2983095230480973152
|
click
|
accessibility
|
NULL
|
zsh: file exists: /
zsh: command not found: drwx-- zsh: file exists: /
zsh: command not found: drwx------
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ clear
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/db.sqlite
scp: dest open "/volume1/screenpipe/db.sqlite": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/db.sqlite
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls
Macintosh HD screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll
total 32
drwxr-xr-x 4 root wheel 128 11 Apr 16:35 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/db.sqlite
cp: /Volumes/Test/screenpipe/db.sqlite: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/
cp: directory /Volumes/Test/screenpipe does not exist
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/Test/screenpipe/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/db.sqlite
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp ~/.screenpipe/db.sqlite /Volumes/screenpipe/
cp: /Volumes/screenpipe/db.sqlite: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ll
total 96
drwxr-xr-x 6 root wheel 192 11 Apr 16:45 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
drwx------ 1 lukas staff 16384 10 Aug 2025 Apps
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 15:46 Test
drwx------ 1 lukas staff 16384 11 Apr 16:47 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/pipes/ /Volumes/Test/screenpipe/pipes/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cp -r ~/.screenpipe/data/data/ /Volumes/Test/screenpipe/data/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sed 's|$HOME/.screenpipe/db.sqlite|/volume1/Test/screenpipe/db.sqlite|g' ~/screenpipe-day.sh > /volume1/Test/screenpipe/screenpipe-day.sh
zsh: no such file or directory: /volume1/Test/screenpipe/screenpipe-day.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cat ~/screenpipe-day.sh
#!/bin/zsh
DB="$HOME/.screenpipe/db.sqlite"
DATE=${1:-$(date -v-1d '+%Y-%m-%d')}
echo "═══════════════════════════════════════"
echo " SCREENPIPE REPORT — $DATE"
echo "═══════════════════════════════════════"
echo "\n📱 APP USAGE (frames + estimated time)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-30s %5d frames ~%5.1f min', app_name, COUNT(*), ROUND(COUNT(*) * 4.5 / 60.0, 1))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo "\n⌨️ ACTIVITY TYPE PER APP (clicks / keys / switches)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-25s clicks:%-5d keys:%-5d switches:%-4d',
app_name,
SUM(CASE WHEN event_type='click' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='key' THEN 1 ELSE 0 END),
SUM(CASE WHEN event_type='app_switch' THEN 1 ELSE 0 END))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY app_name ORDER BY COUNT(*) DESC;"
echo "\n🌐 BROWSER URLS VISITED"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%4d frames %s', COUNT(*), browser_url)
FROM frames
WHERE date(timestamp) = '$DATE' AND browser_url IS NOT NULL
GROUP BY browser_url ORDER BY COUNT(*) DESC LIMIT 20;"
echo "\n🪟 WINDOW TITLES (top 20)"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %3d %s', app_name, COUNT(*), SUBSTR(window_name,1,60))
FROM frames
WHERE date(timestamp) = '$DATE' AND window_name IS NOT NULL AND app_name IS NOT NULL
GROUP BY app_name, window_name ORDER BY COUNT(*) DESC LIMIT 20;"
echo "\n🕐 HOURLY TIMELINE"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%s %-20s %3d frames', strftime('%H:00', timestamp), app_name, COUNT(*))
FROM frames
WHERE date(timestamp) = '$DATE' AND app_name IS NOT NULL
GROUP BY strftime('%H', timestamp), app_name
ORDER BY strftime('%H', timestamp), COUNT(*) DESC;"
echo "\n📋 CLIPBOARD ACTIVITY"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-20s %s', app_name, SUBSTR(text_content, 1, 80))
FROM ui_events
WHERE date(timestamp) = '$DATE' AND event_type = 'clipboard' AND text_content IS NOT NULL
ORDER BY timestamp LIMIT 20;"
echo "\n💬 OCR TEXT SAMPLES PER APP"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT printf('%-15s %s', o.app_name, SUBSTR(o.text, 1, 80))
FROM ocr_text o
JOIN frames f ON o.frame_id = f.id
WHERE date(f.timestamp) = '$DATE' AND o.app_name IS NOT NULL AND o.text != ''
GROUP BY o.app_name
ORDER BY o.app_name LIMIT 15;"
echo "\n🔢 TOTALS"
echo "───────────────────────────────────────"
sqlite3 "$DB" "
SELECT
'Frames: ' || COUNT(*) FROM frames WHERE date(timestamp) = '$DATE';
"
sqlite3 "$DB" "
SELECT 'UI Events: ' || COUNT(*) FROM ui_events WHERE date(timestamp) = '$DATE';
"
sqlite3 "$DB" "
SELECT 'OCR texts: ' || COUNT(*) FROM ocr_text o JOIN frames f ON o.frame_id = f.id WHERE date(f.timestamp) = '$DATE';
"
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ curl -X POST [URL_WITH_CREDENTIALS] /Volumes $ curl -X POST [URL_WITH_CREDENTIALS] /Volumes $ curl [URL_WITH_CREDENTIALS] /Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ echo "alias sp-status='curl -s [URL_WITH_CREDENTIALS] /Volumes $ sp-status
zsh: command not found: sp-status
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ source ~/.zprofile
Poetry could not find a pyproject.toml file in /Volumes or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ sp-status
zsh: command not found: sp-status
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ zp
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ ls
Apps Macintosh HD Test screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ cd
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll
total 1272
drwx------+ 89 lukas staff 2848 11 Apr 18:38 .
drwxr-xr-x 5 root admin 160 23 Aug 2024 ..
-r-------- 1 lukas staff 7 18 Nov 2021 .CFUserTextEncoding
-rw-r--r--@ 1 lukas staff 22532 11 Apr 16:46 .DS_Store
drwx------+ 2 lukas staff 64 11 Apr 11:15 .Trash
drwx------ 5 lukas staff 160 1 Nov 2021 .aws
-rw-r--r-- 1 lukas staff 341470 29 Sep 2022 .babel.json
-rw-------@ 1 lukas staff 388 25 Jul 2025 .bash_history
-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .bashrc
drwxr-xr-x 5 lukas staff 160 11 Mar 2023 .bito
drwx------@ 6 lukas staff 192 9 Apr 19:53 .cache
drwxr-xr-x 20 lukas staff 640 9 Apr 21:21 .claude
-rw------- 1 lukas staff 24973 9 Apr 21:24 .claude.json
drwxr-xr-x@ 20 lukas staff 640 12 Mar 09:12 .codeium
drwxrwxrwx@ 3 lukas staff 96 2 Mar 2023 .composer
drwx------ 16 lukas staff 512 21 May 2025 .config
drwxr-xr-x 15 lukas staff 480 23 Dec 2024 .continue
drwx------@ 3 lukas staff 96 16 Feb 19:13 .copilot
drwxr-xr-x@ 5 lukas staff 160 9 Apr 2025 .cursor
drwxr-xr-x@ 5 lukas staff 160 17 Aug 2024 .cursor-tutor
drwxr-xr-x 3 lukas staff 96 8 Sep 2024 .daytona
drwxr-xr-x@ 4 lukas staff 128 18 Feb 10:52 .devdb
drwx------ 24 lukas staff 768 9 Apr 18:24 .docker
drwx------ 15 lukas staff 480 6 Jun 2023 .dropbox
drwxr-xr-x@ 3 lukas staff 96 20 Nov 2022 .fig.dotfiles.bak
-rw-r--r-- 1 lukas staff 138 5 Mar 2022 .gauth
-rw-r--r-- 1 lukas staff 220 25 Nov 2021 .gitconfig
-rw-r--r-- 1 lukas staff 12288 25 Nov 2021 .gitconfig.swp
drwx------ 5 lukas staff 160 18 Nov 2021 .hammerspoon
drwxr-xr-x 3 lukas staff 96 21 Mar 2025 .idlerc
-rw------- 1 lukas staff 20 31 Mar 18:32 .lesshst
drwx------ 5 lukas staff 160 23 Dec 2024 .local
-rw------- 1 lukas staff 204 16 Mar 2024 .netrc
drwx------ 3 lukas staff 96 1 Nov 2021 .node-gyp
-rw------- 1 lukas staff 4 6 Feb 2024 .node_repl_history
-rw-r--r-- 1 lukas staff 17 24 Dec 2023 .notion-enhancer
drwxr-xr-x 4 lukas staff 128 12 Jul 2024 .notion-py
drwx------ 9 lukas staff 288 11 Apr 18:41 .npm
-rw------- 1 lukas staff 74 20 May 2024 .npmrc
drwx------ 32 lukas staff 1024 25 Jul 2025 .nvm
drwxr-xr-x 4 lukas staff 128 5 Aug 2023 .postman
-rw-r--r--@ 1 lukas staff 77 9 Feb 2023 .profile
-rw-------@ 1 lukas staff 3153 21 Mar 2025 .python_history
drwx------ 2 lukas staff 64 15 Nov 2021 .quicktype-vscode
drwxr-xr-x@ 8 lukas staff 256 16 Feb 08:48 .redis-insight
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .screenpipe
UW PICO 5.09 New Buffer
[ Read 11 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
drwxr-xr-x 4 lukas staff 128 4 Feb 09:35 .sonarlint
drwx------ 15 lukas staff 480 8 Aug 2025 .ssh
drwxr-xr-x@ 3 lukas staff 96 15 Aug 2025 .streamlit
drwx------ 6 lukas staff 192 17 Oct 2022 .swiftpm
-rw------- 1 lukas staff 12183 8 Apr 19:14 .viminfo
drwx------ 5 lukas staff 160 19 Jun 2023 .vscode
drwxr-xr-x@ 3 lukas staff 96 20 Jan 2025 .warp
drwxr-xr-x 4 lukas staff 128 29 Apr 2023 .wdm
drwxr-xr-x@ 5 lukas staff 160 26 Jan 13:03 .windsurf
drwxr-xr-x 4 lukas staff 128 24 Mar 12:03 .yarn
-rw-r--r-- 1 lukas staff 116 30 Mar 10:12 .yarnrc
-rw-r--r--@ 1 lukas staff 49518 6 Apr 14:31 .zcompdump
-rw-r--r--@ 1 lukas staff 46758 2 Nov 20:34 .zcompdump.Lukas-Kovaliks-MacBook-Pro-Jiminny.23381
-rw-r--r--@ 1 lukas staff 5641 9 Apr 20:30 .zprofile
-rw-r--r-- 1 lukas staff 1468 8 Apr 2022 .zprofile-copy
-rw-r--r--@ 1 lukas staff 2900 15 Mar 2023 .zprofile.pysave
-rw------- 1 lukas staff 1731 29 Jun 2022 .zprofile.save
-rw-r--r-- 1 lukas staff 1569 8 Apr 2022 .zprofilees
UW PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
-rw------- 1 lukas staff 28812 11 Apr 18:38 .zsh_history
drwx------ 9 lukas staff 288 6 May 2025 .zsh_sessions
-rw-r--r--@ 1 lukas staff 597 11 Apr 18:44 .zshrc
drwx------@ 9 lukas staff 288 9 Apr 20:08 Applications
drwxr-xr-x@ 2 lukas staff 64 22 Oct 09:35 CascadeProjects
drwxr-xr-x 4 lukas staff 128 27 Oct 09:24 DEV
drwx------@ 10 lukas staff 320 11 Apr 18:31 Desktop
drwx------@ 7 lukas staff 224 26 Mar 14:40 Documents
drwx------@ 41 lukas staff 1312 8 Apr 20:46 Downloads
drwxr-xr-x@ 4 lukas staff 128 17 Mar 20:27 Keychron_Screen
drwx------@ 112 lukas staff 3584 2 Dec 09:19 Library
drwx------ 7 lukas staff 224 12 Feb 2024 Movies
drwx------+ 5 lukas staff 160 25 Sep 2023 Music
drwx------+ 9 lukas staff 288 25 Sep 2023 Pictures
drwx------ 3 lukas staff 96 8 Nov 2021 Postman
drwx------+ 4 lukas staff 128 28 Oct 2021 Public
-rw-r--r--@ 1 lukas staff 3950 15 Dec 09:16 Untitled 4.spf
drwx------ 4 lukas staff 128 2 Jul 2023 Users
drwx------ 3 lukas staff 96 30 Sep 2022 iCloud Drive (Archive)
drwx------ 16 lukas staff 512 3 Nov 11:35 jiminny
drwxr-xr-x 3 lukas staff 96 20 Mar 18:47 node_modules
drwxr-xr-x 4 lukas staff 128 21 Oct 18:15 raycast
-rw-r--r-- 1 lukas staff 0 1 Mar 14:26 response.bin
-rwxr-xr-x 1 lukas staff 3824 11 Apr 15:16 screenpipe-day.sh
-rw-r--r-- 1 lukas staff 86 20 Mar 18:47 yarn.lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano .zshrc
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo "alias sp-status='curl -s [URL_WITH_CREDENTIALS] ~ $ source ~/.zprofile
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-status
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "disabled",
"last_frame": "2026-04-11T18:47:17+03:00",
"uptime": 345.971219541,
"fps": 0.[CREDIT_CARD],
"frames": 34
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 41216
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T18:54:13.170097Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T18:54:13.812964Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T18:54:13.819889Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T18:54:13.819889Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T18:54:13.820291Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T18:54:13.820220Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T18:54:13.820450Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T18:54:13.820896Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T18:54:13.820856Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T18:54:13.821123Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T18:54:13.821801Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T18:54:13.821972Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T18:54:13.822128Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T18:54:13.822942Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T18:54:13.822962Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T18:54:18.859011Z INFO screenpipe_engine::retention: retention: initialized with 14d retention
2026-04-11T18:54:18.859467Z INFO screenpipe: local retention auto-enabled (14 days)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "
SELECT DISTINCT window_name
FROM frames
WHERE app_name IN ('Safari', 'Firefox', 'Arc', 'Chrome')
AND window_name IS NOT NULL
UW PICO 5.09 New Buffer
[ Read 13 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
ORDER BY window_name;"
DXP4800PLUS-B5F8
DXP4800PLUS-B5F8 — Personal
Denník N - Nezávislý denník — Personal
Edit profile — Personal
Location Logger
Loď Orion úspešne pristála na Zemi. Desať vecí, ktoré si pamätať o misii Artemis II — Denník N — Personal
Maďarské voľby – Denník N — Personal
Personal — Mozilla Firefox
Picture-in-Picture
Problem loading page — Personal
Screenpipe Dashboard — Personal
Settings — Personal
Sign in – Google accounts — Personal
Tailscale — Personal
UGREEN NAS — Personal
Vimium Options — Personal
Vimium – Get this Extension for 🦊 Firefox (en-US) — Personal
firefox sidebar - Google Search — Personal
tilscale admin panel - Google Search — Personal
Order Room Service • HBO Max
Shameless • HBO Max
Shameless • HBO Max — Personal
Simple Pleasures • HBO Max — Personal
Časť 2 • HBO Max — Personal
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cat ~/.screenpipe/config.json
{
"disable_audio": true,
"monitor_ids": ["Display 1_1440x900_0,0", "Display 2_3008x1253_-813,-1253"],
"ignored_windows": [
"1Password",
"Keychain Access",
"Bitwarden",
"System Preferences",
"System Settings",
"zoom.us",
"HBO Max",
]
}
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano ~/.screenpipe/config.json
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe && sleep 2 && npx screenpipe@latest record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ pkill screenpipe
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-11T19:00:06.546722Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T19:00:07.267955Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T19:00:07.269566Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T19:00:07.269564Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T19:00:07.269921Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T19:00:07.470439Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T19:00:07.470481Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T19:00:07.470420Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T19:00:07.470877Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T19:00:07.471071Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T19:00:07.471748Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T19:00:07.471948Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T19:00:07.472085Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T19:00:07.472295Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T19:00:07.472315Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T19:00:14.624523Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 6b15bcb7-6588-4b6b-9ae5-5a3b50fba2a2
2026-04-11T19:00:14.624669Z INFO screenpipe: shutdown complete
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-11T19:00:31.694964Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T19:00:32.442217Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T19:00:32.443687Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T19:00:32.443694Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T19:00:32.444120Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T19:00:32.662907Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T19:00:32.662887Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T19:00:32.662980Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T19:00:32.663355Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T19:00:32.663550Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T19:00:32.664216Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T19:00:32.664395Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T19:00:32.664552Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T19:00:32.665488Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T19:00:32.665515Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T19:00:42.589528Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 47668625-ff04-42f8-aa0d-f468ff11f0ff
2026-04-11T19:00:42.589635Z INFO screenpipe: shutdown complete
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 42748
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T20:26:04.829554Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T20:26:05.341444Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T20:26:05.345218Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T20:26:05.345229Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T20:26:05.345415Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T20:26:05.345428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T20:26:05.345477Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T20:26:05.345864Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T20:26:05.346065Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T20:26:05.346166Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T20:26:05.346730Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T20:26:05.346883Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T20:26:05.346990Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T20:26:05.347093Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T20:26:05.347108Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting ...
|
1616
|
|
1618
|
35
|
30
|
2026-04-11T17:43:56.209245+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929436209_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 12:38:46 on ttys011
Poetry Last login: Sat Apr 11 12:38:46 on ttys011
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 20490
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T14:52:51.446657Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)
2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)
2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames
2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)
2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted
2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)
2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)
2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)
2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)
2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)
2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)
2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)
2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted
2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)
2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)
2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)
2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)
2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)
2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)
2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)
2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)
2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames
2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted
2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)
2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)
2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)
2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)
2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)
2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted
2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)
2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)
2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames
2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted
2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)
2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)
2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)
2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)
2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)
2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames
2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted
2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)
2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)
2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)
2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)
2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted
2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests
2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)
2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted
2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)
2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)
2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames
2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted
2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)
2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)
2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)
2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)
2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted
2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)
2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)
2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)
2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)
2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)
2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)
2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted
2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)
2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)
2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)
2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)
2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)
2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)
2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted
2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)
2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)
2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)
2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)
2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)
2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)
2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes
total 96
drwxr-xr-x 6 root wheel 192 11 Apr 16:12 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
drwx------ 1 lukas staff 16384 13 Jan 12:37 BT
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 15:46 Test
drwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls
2026-04-09 2026-04-11
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 32288
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T17:08:37.220526Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 35889
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T18:14:49.157319Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 12:38:46 on ttys011\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\n[1] 20490\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T14:52:51.446657Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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 │\n2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\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│ │ disabled │\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-11T14:52:51.449041Z INFO screenpipe: starting UI event capture\n2026-04-11T14:52:51.452565Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T14:52:51.454874Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T14:52:51.462971Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T14:52:51.476861Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3c87e288-1128-414e-a08e-08b835039941\n2026-04-11T14:52:51.476943Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 11:52:51.476940 UTC to 2026-04-11 11:52:51.476940 UTC)\n2026-04-11T14:52:51.476899Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T14:52:51.477747Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T14:52:51.478180Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-10 11:52:51.476940 UTC\n2026-04-11T14:52:51.482338Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T14:52:51.487512Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T14:52:51.553834Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T14:52:51.553858Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T14:52:51.553868Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T14:52:51.553885Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T14:52:51.553903Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T14:52:52.265339Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T14:52:52.345651Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=524, dur=35ms\n2026-04-11T14:52:56.482318Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T14:52:56.483070Z INFO screenpipe: local retention auto-enabled (14 days)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)\n2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)\n2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)\n2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted\n2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)\n2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)\n2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)\n2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)\n2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)\n2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)\n2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)\n2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted\n2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)\n2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)\n2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)\n2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\n2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)\n2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)\n2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)\n2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)\n2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)\n2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted\n2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)\n2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)\n2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)\n2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)\n2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)\n2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted\n2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)\n2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)\n2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted\n2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)\n2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)\n2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)\n2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)\n2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)\n2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted\n2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)\n2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)\n2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)\n2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)\n2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted\n2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests\n2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)\n2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted\n2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)\n2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)\n2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted\n2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)\n2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)\n2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)\n2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)\n2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted\n2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)\n2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)\n2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)\n2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)\n2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)\n2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)\n2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted\n2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)\n2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)\n2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)\n2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)\n2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)\n2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)\n2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted\n2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)\n2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)\n2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)\n2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)\n2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)\n2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)\n2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe \ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes \ntotal 96\ndrwxr-xr-x 6 root wheel 192 11 Apr 16:12 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\ndrwx------ 1 lukas staff 16384 13 Jan 12:37 BT\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 15:46 Test\ndrwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls\n2026-04-09\u0000\u0000\u0000\u0000\u0000\t2026-04-11\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 32288\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T17:08:37.220526Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T17:08:37.222937Z INFO screenpipe: starting UI event capture\n2026-04-11T17:08:37.222392Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T17:08:37.226036Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T17:08:37.229120Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T17:08:37.236636Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T17:08:37.250644Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::ui_recorder: UI recording session started: 0835a866-1525-418d-9b28-4bee2db007a7\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 14:08:37.250721 UTC to 2026-04-11 14:08:37.250721 UTC)\n2026-04-11T17:08:37.251401Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T17:08:37.256857Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T17:08:37.262382Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T17:08:37.334531Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 654 frame entries, coverage from 2026-04-10 14:08:37.250721 UTC\n2026-04-11T17:08:37.441736Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T17:08:37.441853Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T17:08:37.441863Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T17:08:37.441870Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T17:08:37.441915Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T17:08:38.177260Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T17:08:38.324389Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1178, dur=66ms\n2026-04-11T17:08:42.255826Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T17:08:42.256358Z INFO screenpipe: local retention auto-enabled (14 days)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-stop \nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 35889\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:14:49.157319Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:14:49.158771Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:14:49.159009Z INFO screenpipe: starting UI event capture\n2026-04-11T18:14:49.162404Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:14:49.164084Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:14:49.172587Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:14:49.187022Z INFO screenpipe_engine::ui_recorder: UI recording session started: f5ab4a30-2a53-4ae6-8f03-89fe11f27c08\n2026-04-11T18:14:49.187167Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:14:49.187268Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:14:49.187266 UTC to 2026-04-11 15:14:49.187266 UTC)\n2026-04-11T18:14:49.187516Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:14:49.193188Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:14:49.196809Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:14:49.282504Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 657 frame entries, coverage from 2026-04-10 15:14:49.187266 UTC\n2026-04-11T18:14:49.430508Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:14:49.430533Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:14:49.430543Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:14:49.430551Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:14:49.430591Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:14:50.196560Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:14:50.336787Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1181, dur=69ms\n2026-04-11T18:14:54.191574Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:14:54.191989Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:15:49.211986Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 200 eligible frames\n2026-04-11T18:15:55.393078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 16.9MB → 2.5MB (6.6x), 99 JPEGs deleted\n2026-04-11T18:16:01.163459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 15.4MB → 3.9MB (4.0x), 100 JPEGs deleted\n2026-04-11T18:17:08.938525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1415082838396203702, trigger=visual_change)\n2026-04-11T18:19:49.185361Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T18:20:24.190258Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:20:24.190229+00:00 (14d retention)\n2026-04-11T18:21:01.166967Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-11T18:23:24.262907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8169121800982612035, trigger=click)\n2026-04-11T18:25:02.456168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7778531055320620492, trigger=visual_change)\n2026-04-11T18:25:24.185557Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:25:24.185548+00:00 (14d retention)\n2026-04-11T18:26:01.172115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames\n2026-04-11T18:26:01.937461Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.5MB → 0.6MB (2.5x), 7 JPEGs deleted\n2026-04-11T18:29:02.442552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=356488991701364076, trigger=click)\n2026-04-11T18:29:08.410627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=150342226082476547, trigger=click)\n2026-04-11T18:29:33.426686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=990305626722697489, trigger=click)\n2026-04-11T18:29:59.165003Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2572081417493247398, trigger=click)\n2026-04-11T18:30:24.182807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:30:24.182767+00:00 (14d retention)\n2026-04-11T18:31:01.941347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 52 eligible frames\n2026-04-11T18:31:04.878237Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 9.8MB → 0.9MB (11.1x), 51 JPEGs deleted\n2026-04-11T18:32:26.437337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5036409005623697934, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ curl http://localhost:3030/health | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to localhost port 3030 after 0 ms: Couldn't connect to server\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 39664\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:41:58.306070Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:41:58.833945Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:41:58.835475Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:41:58.835479Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:41:58.835724Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:41:58.835734Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:41:58.835787Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:41:58.835970Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:41:58.836134Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:41:58.836328Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:41:58.836993Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:41:58.837171Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:41:58.837343Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:41:58.838123Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:41:58.838143Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:41:58.839571Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:41:58.839799Z INFO screenpipe: starting UI event capture\n2026-04-11T18:41:58.843521Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:41:58.845948Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:41:58.853264Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:41:58.867881Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:41:58.867934Z INFO screenpipe_engine::ui_recorder: UI recording session started: c0a04b39-312a-4bfa-aee5-14c3a5dbd242\n2026-04-11T18:41:58.868035Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:41:58.867994 UTC to 2026-04-11 15:41:58.867994 UTC)\n2026-04-11T18:41:58.868668Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:41:58.874766Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:41:58.878994Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:41:59.011341Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 838 frame entries, coverage from 2026-04-10 15:41:58.867994 UTC\n2026-04-11T18:41:59.165278Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:41:59.165302Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.165322Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:41:59.165338Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:41:59.165390Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.953409Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:42:00.086573Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1362, dur=65ms\n2026-04-11T18:42:03.873046Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:42:03.873524Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:42:58.898798Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-11T18:43:01.495401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=810635838678462500, trigger=clipboard)\n2026-04-11T18:43:05.037916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 18.9MB → 1.8MB (10.7x), 99 JPEGs deleted\n2026-04-11T18:43:05.791313Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.5MB → 0.4MB (3.7x), 8 JPEGs deleted\n2026-04-11T18:43:05.869321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8059017237112085187, trigger=visual_change)\n2026-04-11T18:44:34.370623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=visual_change)\n2026-04-11T18:44:37.039894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=clipboard)\n2026-04-11T18:44:43.637666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150475841360271668, trigger=visual_change)\n2026-04-11T18:46:22.830023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:24.746425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:26.145427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:29.154628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:45.161217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=click)\n2026-04-11T18:46:47.291011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=visual_change)\n2026-04-11T18:46:58.867582Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T18:47:33.873256Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:47:33.873226+00:00 (14d retention)\n2026-04-11T18:48:05.793658Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $","depth":4,"value":"Last login: Sat Apr 11 12:38:46 on ttys011\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\n[1] 20490\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T14:52:51.446657Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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 │\n2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\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│ │ disabled │\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-11T14:52:51.449041Z INFO screenpipe: starting UI event capture\n2026-04-11T14:52:51.452565Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T14:52:51.454874Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T14:52:51.462971Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T14:52:51.476861Z INFO screenpipe_engine::ui_recorder: UI recording session started: 3c87e288-1128-414e-a08e-08b835039941\n2026-04-11T14:52:51.476943Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 11:52:51.476940 UTC to 2026-04-11 11:52:51.476940 UTC)\n2026-04-11T14:52:51.476899Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T14:52:51.477747Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T14:52:51.478180Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-04-10 11:52:51.476940 UTC\n2026-04-11T14:52:51.482338Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T14:52:51.487512Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T14:52:51.553834Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T14:52:51.553858Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T14:52:51.553868Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T14:52:51.553885Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T14:52:51.553903Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T14:52:52.265339Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T14:52:52.345651Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=524, dur=35ms\n2026-04-11T14:52:56.482318Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T14:52:56.483070Z INFO screenpipe: local retention auto-enabled (14 days)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)\n2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)\n2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)\n2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted\n2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)\n2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)\n2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)\n2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames\n2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)\n2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)\n2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)\n2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)\n2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)\n2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)\n2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)\n2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted\n2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)\n2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)\n2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)\n2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)\n2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)\n2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)\n2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)\n2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)\n2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)\n2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)\n2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)\n2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)\n2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)\n2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)\n2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted\n2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)\n2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)\n2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)\n2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)\n2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)\n2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)\n2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)\n2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted\n2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)\n2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)\n2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)\n2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted\n2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)\n2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)\n2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)\n2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)\n2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)\n2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)\n2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)\n2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)\n2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted\n2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)\n2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)\n2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)\n2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)\n2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)\n2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)\n2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)\n2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)\n2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)\n2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted\n2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests\n2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)\n2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted\n2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)\n2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)\n2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames\n2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted\n2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)\n2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)\n2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)\n2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)\n2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)\n2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)\n2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted\n2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)\n2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)\n2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)\n2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)\n2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)\n2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)\n2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)\n2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)\n2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)\n2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)\n2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)\n2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted\n2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)\n2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)\n2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)\n2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)\n2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)\n2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)\n2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)\n2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)\n2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted\n2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)\n2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)\n2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)\n2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)\n2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)\n2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)\n2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)\n2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)\n2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop\nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe \ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes \ntotal 96\ndrwxr-xr-x 6 root wheel 192 11 Apr 16:12 .\ndrwxr-xr-x 20 root wheel 640 4 Aug 2024 ..\ndrwx------ 1 lukas staff 16384 13 Jan 12:37 BT\nlrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /\ndrwx------ 1 lukas staff 16384 11 Apr 15:46 Test\ndrwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls\nconfig.json\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-wal\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-09.0.log\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tdb.sqlite-shm\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpipes\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tscreenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll\ntotal 228936\ndrwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .\ndrwx------+ 89 lukas staff 2848 11 Apr 15:55 ..\n-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json\ndrwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data\n-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite\n-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm\n-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal\ndrwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes\n-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log\n-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls\ndata\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpending-transcriptions\u0000\tscreenpipe.db\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls\n2026-04-09\u0000\u0000\u0000\u0000\u0000\t2026-04-11\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 32288\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T17:08:37.220526Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T17:08:37.222937Z INFO screenpipe: starting UI event capture\n2026-04-11T17:08:37.222392Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T17:08:37.226036Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T17:08:37.229120Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T17:08:37.236636Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T17:08:37.250644Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::ui_recorder: UI recording session started: 0835a866-1525-418d-9b28-4bee2db007a7\n2026-04-11T17:08:37.250727Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 14:08:37.250721 UTC to 2026-04-11 14:08:37.250721 UTC)\n2026-04-11T17:08:37.251401Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T17:08:37.256857Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T17:08:37.262382Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T17:08:37.334531Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 654 frame entries, coverage from 2026-04-10 14:08:37.250721 UTC\n2026-04-11T17:08:37.441736Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T17:08:37.441853Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T17:08:37.441863Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T17:08:37.441870Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T17:08:37.441915Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T17:08:38.177260Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T17:08:38.324389Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1178, dur=66ms\n2026-04-11T17:08:42.255826Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T17:08:42.256358Z INFO screenpipe: local retention auto-enabled (14 days)\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-stop \nscreenpipe stopped\n[1] + terminated npx screenpipe@latest record --disable-audio \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 35889\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:14:49.157319Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:14:49.158771Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:14:49.159009Z INFO screenpipe: starting UI event capture\n2026-04-11T18:14:49.162404Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:14:49.164084Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:14:49.172587Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:14:49.187022Z INFO screenpipe_engine::ui_recorder: UI recording session started: f5ab4a30-2a53-4ae6-8f03-89fe11f27c08\n2026-04-11T18:14:49.187167Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:14:49.187268Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:14:49.187266 UTC to 2026-04-11 15:14:49.187266 UTC)\n2026-04-11T18:14:49.187516Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:14:49.193188Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:14:49.196809Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:14:49.282504Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 657 frame entries, coverage from 2026-04-10 15:14:49.187266 UTC\n2026-04-11T18:14:49.430508Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:14:49.430533Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:14:49.430543Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:14:49.430551Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:14:49.430591Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:14:50.196560Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:14:50.336787Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1181, dur=69ms\n2026-04-11T18:14:54.191574Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:14:54.191989Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:15:49.211986Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 200 eligible frames\n2026-04-11T18:15:55.393078Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 16.9MB → 2.5MB (6.6x), 99 JPEGs deleted\n2026-04-11T18:16:01.163459Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 15.4MB → 3.9MB (4.0x), 100 JPEGs deleted\n2026-04-11T18:17:08.938525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1415082838396203702, trigger=visual_change)\n2026-04-11T18:19:49.185361Z INFO screenpipe_engine::server: api_usage_5min: 1 requests\n2026-04-11T18:20:24.190258Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:20:24.190229+00:00 (14d retention)\n2026-04-11T18:21:01.166967Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-11T18:23:24.262907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8169121800982612035, trigger=click)\n2026-04-11T18:25:02.456168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7778531055320620492, trigger=visual_change)\n2026-04-11T18:25:24.185557Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:25:24.185548+00:00 (14d retention)\n2026-04-11T18:26:01.172115Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 7 eligible frames\n2026-04-11T18:26:01.937461Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 7 frames, 1.5MB → 0.6MB (2.5x), 7 JPEGs deleted\n2026-04-11T18:29:02.442552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=356488991701364076, trigger=click)\n2026-04-11T18:29:08.410627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=150342226082476547, trigger=click)\n2026-04-11T18:29:33.426686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=990305626722697489, trigger=click)\n2026-04-11T18:29:59.165003Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2572081417493247398, trigger=click)\n2026-04-11T18:30:24.182807Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:30:24.182767+00:00 (14d retention)\n2026-04-11T18:31:01.941347Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 52 eligible frames\n2026-04-11T18:31:04.878237Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 9.8MB → 0.9MB (11.1x), 51 JPEGs deleted\n2026-04-11T18:32:26.437337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5036409005623697934, trigger=click)\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ curl http://localhost:3030/health | jq .\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to localhost port 3030 after 0 ms: Couldn't connect to server\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start\n[1] 39664\ndetected hardware tier: Mid\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-11T18:41:58.306070Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-11T18:41:58.833945Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-11T18:41:58.835475Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-11T18:41:58.835479Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-11T18:41:58.835724Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-11T18:41:58.835734Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-11T18:41:58.835787Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-11T18:41:58.835970Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-11T18:41:58.836134Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-11T18:41:58.836328Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-11T18:41:58.836993Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-11T18:41:58.837171Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-11T18:41:58.837343Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-11T18:41:58.838123Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-11T18:41:58.838143Z 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 │ true │\n│ vision disabled │ false │\n│ pause on DRM content │ 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│ │ disabled │\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-11T18:41:58.839571Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-04-11T18:41:58.839799Z INFO screenpipe: starting UI event capture\n2026-04-11T18:41:58.843521Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-04-11T18:41:58.845948Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-11T18:41:58.853264Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-11T18:41:58.867881Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-11T18:41:58.867934Z INFO screenpipe_engine::ui_recorder: UI recording session started: c0a04b39-312a-4bfa-aee5-14c3a5dbd242\n2026-04-11T18:41:58.868035Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-10 15:41:58.867994 UTC to 2026-04-11 15:41:58.867994 UTC)\n2026-04-11T18:41:58.868668Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-11T18:41:58.874766Z INFO screenpipe_engine::server: Server listening on 0.0.0.0:3030\n2026-04-11T18:41:58.878994Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-11T18:41:59.011341Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 838 frame entries, coverage from 2026-04-10 15:41:58.867994 UTC\n2026-04-11T18:41:59.165278Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-11T18:41:59.165302Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.165322Z INFO screenpipe_engine::vision_manager::manager: Skipping monitor 2 (Display 2_2560x1440_-597,-1440) — not in allowed list\n2026-04-11T18:41:59.165338Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (polling every 5 seconds)\n2026-04-11T18:41:59.165390Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-11T18:41:59.953409Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps)\n2026-04-11T18:42:00.086573Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=1362, dur=65ms\n2026-04-11T18:42:03.873046Z INFO screenpipe_engine::retention: retention: initialized with 14d retention\n2026-04-11T18:42:03.873524Z INFO screenpipe: local retention auto-enabled (14 days)\n2026-04-11T18:42:58.898798Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 108 eligible frames\n2026-04-11T18:43:01.495401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=810635838678462500, trigger=clipboard)\n2026-04-11T18:43:05.037916Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 18.9MB → 1.8MB (10.7x), 99 JPEGs deleted\n2026-04-11T18:43:05.791313Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.5MB → 0.4MB (3.7x), 8 JPEGs deleted\n2026-04-11T18:43:05.869321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8059017237112085187, trigger=visual_change)\n2026-04-11T18:44:34.370623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=visual_change)\n2026-04-11T18:44:37.039894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1954793808959611333, trigger=clipboard)\n2026-04-11T18:44:43.637666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6150475841360271668, trigger=visual_change)\n2026-04-11T18:46:22.830023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:24.746425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=click)\n2026-04-11T18:46:26.145427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:29.154628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6692613549932102593, trigger=visual_change)\n2026-04-11T18:46:45.161217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=click)\n2026-04-11T18:46:47.291011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6037013225245471503, trigger=visual_change)\n2026-04-11T18:46:58.867582Z INFO screenpipe_engine::server: api_usage_5min: 3 requests\n2026-04-11T18:47:33.873256Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T15:47:33.873226+00:00 (14d retention)\n2026-04-11T18:48:05.793658Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames\n\n[1] + terminated npx screenpipe@latest record --disable-audio\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.12291667,"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.12291667,"top":0.05888889,"width":0.12291667,"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.12708333,"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.24583334,"top":0.05888889,"width":0.12291667,"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.25,"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.36875,"top":0.05888889,"width":0.12291667,"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.37291667,"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.49166667,"top":0.05888889,"width":0.12291667,"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.49583334,"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.6145833,"top":0.05888889,"width":0.12291667,"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.61875,"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.7375,"top":0.05888889,"width":0.12291667,"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.7416667,"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.86041665,"top":0.05888889,"width":0.12291667,"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.8645833,"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"}]...
|
2963523872015364328
|
3292597621806441849
|
click
|
accessibility
|
NULL
|
Last login: Sat Apr 11 12:38:46 on ttys011
Poetry Last login: Sat Apr 11 12:38:46 on ttys011
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start
[1] 20490
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T14:52:50.886162Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T14:52:51.442353Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T14:52:51.443782Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T14:52:51.443780Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T14:52:51.443941Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T14:52:51.443951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T14:52:51.444116Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T14:52:51.444432Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T14:52:51.444553Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T14:52:51.444773Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T14:52:51.445452Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T14:52:51.445634Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T14:52:51.445793Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T14:52:51.446633Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T14:52:51.446657Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-04-11T14:52:51.448625Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~ $ 2026-04-11T14:53:41.176568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7145100424875438454, trigger=visual_change)
2026-04-11T14:53:44.196346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8924437196598515817, trigger=visual_change)
2026-04-11T14:53:51.491091Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames
2026-04-11T14:53:53.255989Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155058752030339254, trigger=visual_change)
2026-04-11T14:53:56.264554Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 60 frames, 12.8MB → 8.5MB (1.5x), 60 JPEGs deleted
2026-04-11T14:57:11.256385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3715613797207636890, trigger=clipboard)
2026-04-11T14:57:36.317569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3611280572921422139, trigger=click)
2026-04-11T14:57:51.477153Z INFO screenpipe_engine::server: api_usage_5min: 1 requests
2026-04-11T14:58:26.484102Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T11:58:26.484075+00:00 (14d retention)
2026-04-11T14:58:56.266654Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 1 eligible frames
2026-04-11T15:00:33.486284Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=click)
2026-04-11T15:00:35.489067Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:00:38.060832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:00:38.295434Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=clipboard)
2026-04-11T15:02:51.477093Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:03:20.087215Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8792901288695439909, trigger=visual_change)
2026-04-11T15:03:26.483078Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:03:26.483055+00:00 (14d retention)
2026-04-11T15:03:36.679760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:38.215178Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=visual_change)
2026-04-11T15:03:38.695370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6401966732595570582, trigger=click)
2026-04-11T15:03:41.263013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6568947442135654933, trigger=visual_change)
2026-04-11T15:03:56.274203Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-04-11T15:03:57.988896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.8MB → 1.3MB (3.8x), 24 JPEGs deleted
2026-04-11T15:04:40.833804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.063399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:41.343922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=clipboard)
2026-04-11T15:04:51.650601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1366181484518213906, trigger=visual_change)
2026-04-11T15:04:57.731740Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:00.748662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:03.793468Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:06.839941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5209459478567814992, trigger=visual_change)
2026-04-11T15:05:33.935746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-547577931005912570, trigger=click)
2026-04-11T15:06:15.466345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4589231096839639958, trigger=clipboard)
2026-04-11T15:06:51.363267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ 2026-04-11T15:06:56.924057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=click)
2026-04-11T15:06:58.812503Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=581186469891904606, trigger=clipboard)
2026-04-11T15:07:27.981850Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=click)
2026-04-11T15:07:28.855213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:07:30.747378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=clipboard)
2026-04-11T15:07:31.878497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2949593395551601951, trigger=visual_change)
2026-04-11T15:08:26.482996Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:08:26.482982+00:00 (14d retention)
2026-04-11T15:08:28.537647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=click)
2026-04-11T15:08:29.619210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:31.986959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:32.220910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=clipboard)
2026-04-11T15:08:56.701928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5853192385605379516, trigger=visual_change)
2026-04-11T15:08:57.991295Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames
2026-04-11T15:09:01.110425Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 52 frames, 7.8MB → 1.1MB (6.9x), 52 JPEGs deleted
2026-04-11T15:09:39.659472Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4034464612027230115, trigger=visual_change)
2026-04-11T15:09:57.798237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-332181317459790359, trigger=visual_change)
2026-04-11T15:10:00.853194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:02.957219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=click)
2026-04-11T15:10:06.913321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8864343563964157069, trigger=visual_change)
2026-04-11T15:10:37.190961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8552368549857249682, trigger=visual_change)
2026-04-11T15:11:28.570703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:11:30.150570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:30.380213Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:11:47.203026Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=visual_change)
2026-04-11T15:13:26.442200Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:13:26.442182+00:00 (14d retention)
2026-04-11T15:14:01.076698Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-04-11T15:14:03.929360Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.6MB → 1.2MB (7.4x), 47 JPEGs deleted
2026-04-11T15:16:26.114162Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2193639622446553113, trigger=clipboard)
2026-04-11T15:17:16.375594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8664222300600007459, trigger=clipboard)
2026-04-11T15:18:26.439614Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:18:26.439591+00:00 (14d retention)
2026-04-11T15:19:03.933805Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames
2026-04-11T15:19:07.923190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 10.3MB → 3.3MB (3.1x), 68 JPEGs deleted
2026-04-11T15:20:02.648297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6431438662058337885, trigger=visual_change)
2026-04-11T15:20:37.441332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=visual_change)
2026-04-11T15:20:38.458630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:20:38.716873Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8744299132617807326, trigger=clipboard)
2026-04-11T15:22:23.478202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=click)
2026-04-11T15:22:24.015541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=visual_change)
2026-04-11T15:22:26.578068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:22:26.815998Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2155183469395643749, trigger=clipboard)
2026-04-11T15:23:26.436715Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:23:26.436698+00:00 (14d retention)
2026-04-11T15:23:33.641125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:43.204440Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:23:45.679302Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:23:46.270898Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:46.508979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=clipboard)
2026-04-11T15:23:55.286170Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:24:07.927287Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames
2026-04-11T15:24:09.961238Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 4.1MB → 1.3MB (3.1x), 32 JPEGs deleted
2026-04-11T15:26:02.825639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:05.829121Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:08.835629Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:17.897094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:20.900827Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:23.954160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:27.005692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=visual_change)
2026-04-11T15:26:28.232448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1614245617554003222, trigger=click)
2026-04-11T15:26:39.134537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:26:54.258448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:00.336862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:30.527153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2710504821594427847, trigger=visual_change)
2026-04-11T15:27:43.109467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5564327341532259539, trigger=visual_change)
2026-04-11T15:27:51.425755Z INFO screenpipe_engine::server: api_usage_5min: 3 requests
2026-04-11T15:27:52.134799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:27:55.120375Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:04.227314Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:13.314950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2383013018574745247, trigger=visual_change)
2026-04-11T15:28:16.343373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5290834076233419911, trigger=visual_change)
2026-04-11T15:28:25.838550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1228449716849478253, trigger=visual_change)
2026-04-11T15:28:26.432056Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:28:26.432033+00:00 (14d retention)
2026-04-11T15:29:02.447960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:03.526204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:29:05.484796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=visual_change)
2026-04-11T15:29:09.963979Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-04-11T15:29:11.524366Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.5MB → 1.5MB (2.3x), 22 JPEGs deleted
2026-04-11T15:32:51.441443Z INFO screenpipe_engine::server: api_usage_5min: 12 requests
2026-04-11T15:33:26.448896Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:33:26.448868+00:00 (14d retention)
2026-04-11T15:34:11.548370Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-04-11T15:34:15.198715Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 59 frames, 8.7MB → 2.7MB (3.2x), 59 JPEGs deleted
2026-04-11T15:36:55.421711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1056278002134347819, trigger=click)
2026-04-11T15:38:26.445883Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:38:26.445874+00:00 (14d retention)
2026-04-11T15:39:15.203199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 42 eligible frames
2026-04-11T15:39:17.896042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 7.9MB → 3.3MB (2.4x), 41 JPEGs deleted
2026-04-11T15:39:22.628009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5040064046657482078, trigger=click)
2026-04-11T15:40:51.085780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:40:54.090036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7256840241734884045, trigger=visual_change)
2026-04-11T15:41:14.942757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=click)
2026-04-11T15:41:51.925274Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3122514411329033846, trigger=visual_change)
2026-04-11T15:42:06.733148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9134333679151793210, trigger=clipboard)
2026-04-11T15:43:26.444777Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:43:26.444758+00:00 (14d retention)
2026-04-11T15:44:17.901896Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-04-11T15:44:19.819823Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.7MB → 0.6MB (10.4x), 31 JPEGs deleted
2026-04-11T15:44:43.561161Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=visual_change)
2026-04-11T15:44:44.116555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=503569374908914351, trigger=click)
2026-04-11T15:44:46.602387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:46.848485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6036086878475845940, trigger=click)
2026-04-11T15:44:58.298333Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:44:58.831343Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8955148216857723207, trigger=click)
2026-04-11T15:45:15.852305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1943114942963285964, trigger=click)
2026-04-11T15:46:30.230807Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-690409241556429904, trigger=visual_change)
2026-04-11T15:48:11.105141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:16.072342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:16.986426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=click)
2026-04-11T15:48:17.226747Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=visual_change)
2026-04-11T15:48:19.222226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:19.455433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2750168966753561933, trigger=clipboard)
2026-04-11T15:48:26.442297Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:48:26.442286+00:00 (14d retention)
2026-04-11T15:49:05.772543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:07.408013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=clipboard)
2026-04-11T15:49:19.824722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-11T15:49:21.472806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.9MB → 0.3MB (17.1x), 27 JPEGs deleted
2026-04-11T15:49:32.920437Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=visual_change)
2026-04-11T15:49:37.735984Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2267783208743854967, trigger=click)
2026-04-11T15:50:00.068149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3600375799318452972, trigger=visual_change)
2026-04-11T15:50:14.797396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7921159148465848282, trigger=clipboard)
2026-04-11T15:53:18.703240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1683969307061943435, trigger=visual_change)
2026-04-11T15:53:26.451103Z INFO screenpipe_engine::retention: retention: cleaning up data before 2026-03-28T12:53:26.451090+00:00 (14d retention)
2026-04-11T15:53:36.786681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8386364132144698109, trigger=visual_change)
2026-04-11T15:54:17.269264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:20.988571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=click)
2026-04-11T15:54:21.486111Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-04-11T15:54:24.770729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 12.0MB → 3.1MB (3.8x), 55 JPEGs deleted
2026-04-11T15:54:49.610552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4852040557833493511, trigger=visual_change)
2026-04-11T15:55:23.294042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8172723579764904334, trigger=click)
2026-04-11T15:55:29.615394Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-840032284230470516, trigger=visual_change)
2026-04-11T15:55:32.627864Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=visual_change)
2026-04-11T15:55:36.657285Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2790297092733594032, trigger=clipboard)
2026-04-11T15:56:12.334814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:12.814703Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=click)
2026-04-11T15:56:15.221473Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:30.880641Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3958933543995388716, trigger=clipboard)
2026-04-11T15:56:40.189869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8183394029421591510, trigger=visual_change)
2026-04-11T15:56:57.575912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7147084487812223121, trigger=click)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll ~/.screenpipe
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ ll /Volumes
total 96
drwxr-xr-x 6 root wheel 192 11 Apr 16:12 .
drwxr-xr-x 20 root wheel 640 4 Aug 2024 ..
drwx------ 1 lukas staff 16384 13 Jan 12:37 BT
lrwxr-xr-x 1 root wheel 1 11 Apr 11:13 Macintosh HD -> /
drwx------ 1 lukas staff 16384 11 Apr 15:46 Test
drwx------ 1 lukas staff 16384 11 Apr 16:13 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls
config.json db.sqlite db.sqlite-wal screenpipe.2026-04-09.0.log
data db.sqlite-shm pipes screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 228936
drwxr-xr-x 10 lukas staff 320 11 Apr 14:52 .
drwx------+ 89 lukas staff 2848 11 Apr 15:55 ..
-rw-r--r-- 1 lukas staff 270 9 Apr 20:27 config.json
drwxr-xr-x 5 lukas staff 160 11 Apr 15:03 data
-rw-r--r-- 1 lukas staff 97337344 11 Apr 15:54 db.sqlite
-rw-r--r-- 1 lukas staff 32768 11 Apr 14:52 db.sqlite-shm
-rw-r--r-- 1 lukas staff 16484152 11 Apr 15:57 db.sqlite-wal
drwxr-xr-x 8 lukas staff 256 9 Apr 19:53 pipes
-rw-r--r-- 1 lukas staff 132736 9 Apr 21:27 screenpipe.2026-04-09.0.log
-rw-r--r-- 1 lukas staff 37529 11 Apr 15:56 screenpipe.2026-04-11.0.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ ls
data pending-transcriptions screenpipe.db
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data $ cd data
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ ls
2026-04-09 2026-04-11
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 32288
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T17:08:36.719897Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T17:08:37.215460Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T17:08:37.217673Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T17:08:37.217680Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T17:08:37.217858Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T17:08:37.217996Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T17:08:37.218044Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T17:08:37.218389Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T17:08:37.218608Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T17:08:37.218658Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T17:08:37.219291Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T17:08:37.219520Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T17:08:37.219693Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T17:08:37.220505Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T17:08:37.220526Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ no monitors available │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ disabled │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: [URL_WITH_CREDENTIALS] ~/.screenpipe/data/data $ sp-stop
screenpipe stopped
[1] + terminated npx screenpipe@latest record --disable-audio
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data $ sp-start
[1] 35889
detected hardware tier: Mid
checking permissions...
screen recording: ok
accessibility: ok
2026-04-11T18:14:48.637930Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-04-11T18:14:49.152954Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-04-11T18:14:49.154482Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-04-11T18:14:49.154483Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-04-11T18:14:49.154704Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-04-11T18:14:49.154709Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-04-11T18:14:49.154760Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-04-11T18:14:49.155177Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-04-11T18:14:49.155059Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-04-11T18:14:49.155400Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-04-11T18:14:49.156082Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-04-11T18:14:49.156255Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-04-11T18:14:49.156410Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-04-11T18:14:49.157294Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-04-11T18:14:49.157319Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ true │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ Parakeet │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────...
|
NULL
|
|
1619
|
35
|
31
|
2026-04-11T17:44:27.288209+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929467288_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3706728630941710938
|
-1563218222308097149
|
app_switch
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
NULL
|
|
1621
|
35
|
33
|
2026-04-11T17:44:30.365299+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929470365_m1.jpg...
|
Firefox
|
Problem loading page — Work
|
True
|
app.dev.jiminny.com
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Looks like there’s a problem with this site","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Looks like there’s a problem with this site","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox can’t connect to the server at","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app.dev.jiminny.com","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"What can you do about it?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What can you do about it?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Try Again","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Try Again","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3706728630941710938
|
-1563218222308097149
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Looks like there’s a problem with this site
Looks like there’s a problem with this site
Firefox can’t connect to the server at
app.dev.jiminny.com
What can you do about it?
What can you do about it?
Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
Try Again
Try Again...
|
NULL
|
|
1622
|
35
|
34
|
2026-04-11T17:44:34.961800+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929474961_m1.jpg...
|
Firefox
|
Work — Mozilla Firefox
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"22°","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"C","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New York City","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Do you want to see the weather for your location?","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Do you want to see the weather for your location?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Not now","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Not now","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Yes","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Yes","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Mozilla Firefox","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXButton","text":"Search with Google or enter address","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search with Google or enter address","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wikipedia","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wikipedia","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Wikipedia","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"YouTube","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"YouTube","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for YouTube","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Reddit","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reddit","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Reddit","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add-ons for Firefox","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add-ons for Firefox","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open context menu for Add-ons for Firefox","depth":12,"help_text":"Open menu","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Add Shortcut","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add Shortcut","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Customize","depth":8,"help_text":"Customize this page","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Customize","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5147557345252322122
|
-4816443706746453690
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
22°
C
New York City
Open menu
Do you want to see the weather for your location?
Do you want to see the weather for your location?
Not now
Not now
Yes
Yes
Mozilla Firefox
Search with Google or enter address
Search with Google or enter address
Wikipedia
Wikipedia
Open context menu for Wikipedia
YouTube
YouTube
Open context menu for YouTube
Reddit
Reddit
Open context menu for Reddit
Add-ons for Firefox
Add-ons for Firefox
Open context menu for Add-ons for Firefox
Add Shortcut
Add Shortcut
Customize
Customize...
|
1621
|
|
1625
|
35
|
37
|
2026-04-11T17:44:43.199958+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929483199_m1.jpg...
|
Firefox
|
Settings — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check
Spell check
Check your spelling as you type
Check your spelling as you type
Learn more
Learn more
Download dictionaries
Download dictionaries
How to use spell checking
How to use spell checking
Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.
Files and Applications
Files and Applications
Downloads
Downloads
Save files to
Downloads
Choose…
Choose…
Always ask you where to save files
Always ask you where to save files
Delete files downloaded in private browsing when all private windows are closed
Delete files downloaded in private browsing when all private windows are closed
Applications
Applications
Choose how Firefox handles the files you download from the web or the applications you use while browsing.
Search file types or applications
Content Type
Action
AV1 Image File (AVIF)
Open in Firefox
Extensible Markup Language (XML)
Save File
mailto
Use Mail (default)
Portable Document Format (PDF)
Open in Firefox
Scalable Vector Graphics (SVG)
Save File
WebP Image
Open in Firefox
What should Firefox do with other files?
Save files
Ask whether to open or save files
Digital Rights Management (DRM) Content
Digital Rights Management (DRM) Content
Play DRM-controlled content
Play DRM-controlled content
Learn more
Learn more
Firefox Updates
Firefox Updates
Keep Firefox up to date for the best performance, stability, and security.
Version 149.0.2 (64-bit)
What’s new
What’s new
Show Update History…
Firefox is being updated by another instance
Check for updates
Allow Firefox to
Automatically install updates (recommended)
Check for updates but let you choose to install them
Performance...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.0,"top":0.0,"width":0.06666667,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"bounds":{"left":0.075,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"bounds":{"left":0.075,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"bounds":{"left":0.075,"top":0.02,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"bounds":{"left":0.075,"top":0.02,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"bounds":{"left":0.075,"top":0.04777778,"width":0.42430556,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"bounds":{"left":0.075,"top":0.10666667,"width":0.14861111,"height":0.11},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"bounds":{"left":0.125,"top":0.18,"width":0.047916666,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"bounds":{"left":0.2326389,"top":0.10888889,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"bounds":{"left":0.29375,"top":0.18,"width":0.023611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"bounds":{"left":0.3888889,"top":0.10888889,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"bounds":{"left":0.45069444,"top":0.18,"width":0.022222223,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"bounds":{"left":0.07569444,"top":0.23444444,"width":0.45972222,"height":0.054444443},"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"bounds":{"left":0.08611111,"top":0.25111112,"width":0.22777778,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"bounds":{"left":0.075,"top":0.32,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"bounds":{"left":0.075,"top":0.32,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"bounds":{"left":0.075,"top":0.34777778,"width":0.44652778,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"bounds":{"left":0.075,"top":0.40666667,"width":0.07638889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.075,"top":0.4377778,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.09097222,"top":0.43666667,"width":0.15416667,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"bounds":{"left":0.075,"top":0.47555557,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"bounds":{"left":0.09097222,"top":0.47444445,"width":0.015277778,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"bounds":{"left":0.075,"top":0.5133333,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"bounds":{"left":0.09097222,"top":0.51222223,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"bounds":{"left":0.09513889,"top":0.5511111,"width":0.44027779,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"bounds":{"left":0.10555556,"top":0.56777775,"width":0.07986111,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"bounds":{"left":0.075,"top":0.63666666,"width":0.030555556,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"bounds":{"left":0.075,"top":0.63666666,"width":0.030555556,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"bounds":{"left":0.075,"top":0.6766667,"width":0.05625,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":15,"bounds":{"left":0.075,"top":0.75666666,"width":0.02013889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced…","depth":12,"bounds":{"left":0.07569444,"top":0.83666664,"width":0.45972222,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Advanced…","depth":14,"bounds":{"left":0.08611111,"top":0.85333335,"width":0.055555556,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Zoom","depth":10,"bounds":{"left":0.075,"top":0.92333335,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Zoom","depth":11,"bounds":{"left":0.075,"top":0.92333335,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default zoom","depth":15,"bounds":{"left":0.075,"top":0.9633333,"width":0.063194446,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Zoom text only","depth":15,"bounds":{"left":0.075,"top":1.0,"width":0.011111111,"height":-0.04444444},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom text only","depth":15,"bounds":{"left":0.09097222,"top":1.0,"width":0.07152778,"height":-0.043333292},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose the languages used to display menus, messages, and notifications from Firefox.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Set Alternatives…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose your preferred language for displaying pages","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Choose…","depth":8,"help_text":"Choose your preferred language for displaying pages","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.","depth":8,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Translations","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Translations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Set your language and site translation preferences and manage languages downloaded for offline translation.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download languages for offline translation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download all","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Albanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Arabic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Azerbaijani","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bangla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bosnian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bulgarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Catalan","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Simplified)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Traditional)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Croatian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Czech","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Danish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dutch","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Estonian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finnish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"French","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"German","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Greek","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gujarati","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hebrew","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hindi","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hungarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Icelandic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Indonesian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Italian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Japanese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Kannada","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Korean","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latvian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lithuanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malay","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malayalam","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Norwegian Bokmål","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Persian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Polish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Portuguese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Romanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Russian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Serbian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovak","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovenian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spanish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Swedish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tamil","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Telugu","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Thai","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Turkish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ukrainian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vietnamese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Spell check","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Spell check","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Check your spelling as you type","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Check your spelling as you type","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":14,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Download dictionaries","depth":12,"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download dictionaries","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"How to use spell checking","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"How to use spell checking","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Files and Applications","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files and Applications","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Downloads","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save files to","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Downloads","depth":13,"value":"Downloads","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Choose…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always ask you where to save files","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always ask you where to save files","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Delete files downloaded in private browsing when all private windows are closed","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delete files downloaded in private browsing when all private windows are closed","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Applications","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Applications","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose how Firefox handles the files you download from the web or the applications you use while browsing.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search file types or applications","depth":10,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Content Type","depth":9,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXCell","text":"Action","depth":9,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AV1 Image File (AVIF)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Extensible Markup Language (XML)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save File","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"mailto","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use Mail (default)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Portable Document Format (PDF)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scalable Vector Graphics (SVG)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save File","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"WebP Image","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What should Firefox do with other files?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Save files","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Ask whether to open or save files","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Digital Rights Management (DRM) Content","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Digital Rights Management (DRM) Content","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Play DRM-controlled content","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Play DRM-controlled content","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":14,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Firefox Updates","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Updates","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keep Firefox up to date for the best performance, stability, and security.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Version 149.0.2 (64-bit)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"What’s new","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"What’s new","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Show Update History…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox is being updated by another instance","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Check for updates","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Allow Firefox to","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatically install updates (recommended)","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Check for updates but let you choose to install them","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Performance","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"}]...
|
-5841996101605685836
|
8217678752408007321
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check
Spell check
Check your spelling as you type
Check your spelling as you type
Learn more
Learn more
Download dictionaries
Download dictionaries
How to use spell checking
How to use spell checking
Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.
Files and Applications
Files and Applications
Downloads
Downloads
Save files to
Downloads
Choose…
Choose…
Always ask you where to save files
Always ask you where to save files
Delete files downloaded in private browsing when all private windows are closed
Delete files downloaded in private browsing when all private windows are closed
Applications
Applications
Choose how Firefox handles the files you download from the web or the applications you use while browsing.
Search file types or applications
Content Type
Action
AV1 Image File (AVIF)
Open in Firefox
Extensible Markup Language (XML)
Save File
mailto
Use Mail (default)
Portable Document Format (PDF)
Open in Firefox
Scalable Vector Graphics (SVG)
Save File
WebP Image
Open in Firefox
What should Firefox do with other files?
Save files
Ask whether to open or save files
Digital Rights Management (DRM) Content
Digital Rights Management (DRM) Content
Play DRM-controlled content
Play DRM-controlled content
Learn more
Learn more
Firefox Updates
Firefox Updates
Keep Firefox up to date for the best performance, stability, and security.
Version 149.0.2 (64-bit)
What’s new
What’s new
Show Update History…
Firefox is being updated by another instance
Check for updates
Allow Firefox to
Automatically install updates (recommended)
Check for updates but let you choose to install them
Performance...
|
NULL
|
|
1626
|
35
|
38
|
2026-04-11T17:44:48.876552+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775929488876_m1.jpg...
|
Firefox
|
Settings — Work
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check
Spell check
Check your spelling as you type
Check your spelling as you type
Learn more
Learn more
Download dictionaries
Download dictionaries
How to use spell checking
How to use spell checking
Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.
Files and Applications
Files and Applications
Downloads
Downloads
Save files to
Downloads
Choose…
Choose…
Always ask you where to save files
Always ask you where to save files
Delete files downloaded in private browsing when all private windows are closed
Delete files downloaded in private browsing when all private windows are closed
Applications
Applications
Choose how Firefox handles the files you download from the web or the applications you use while browsing.
Search file types or applications
Content Type
Action
AV1 Image File (AVIF)
Open in Firefox
Extensible Markup Language (XML)
Save File
mailto
Use Mail (default)
Portable Document Format (PDF)
Open in Firefox
Scalable Vector Graphics (SVG)
Save File
WebP Image
Open in Firefox
What should Firefox do with other files?
Save files
Ask whether to open or save files
Digital Rights Management (DRM) Content
Digital Rights Management (DRM) Content
Play DRM-controlled content
Play DRM-controlled content
Learn more
Learn more
Firefox Updates
Firefox Updates
Keep Firefox up to date for the best performance, stability, and security.
Version 149.0.2 (64-bit)
What’s new
What’s new...
|
[{"role":"AXCheckBox","text [{"role":"AXCheckBox","text":"Open AI chatbot (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"General","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Home","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Search","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Privacy & Security","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AI Controls","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Labs","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More from Mozilla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Extensions & Themes","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Extensions & Themes","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Firefox Support","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Firefox Support","depth":9,"bounds":{"left":0.0,"top":0.0,"width":0.06666667,"height":0.018888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your browser is being managed by your organization.","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your browser is being managed by your organization.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Find in Settings","depth":9,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXHeading","text":"General","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Default browser","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default browser","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Psst, Firefox isn’t your default.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Make default","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Make default","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Startup","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Startup","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open previous windows and tabs","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always check if Firefox is your default browser","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Import browser data","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import browser data","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Import data","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Import data","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Profiles","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Profiles","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Each profile has separate browsing data and settings, including history, passwords, and more.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Tabs","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opening","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links in tabs instead of new windows","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"When you open a link, image or media in a new tab, switch to it immediately","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open links from apps next to your active tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Interaction","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ctrl+Tab cycles through tabs in recently used order","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show an image preview when you hover on a tab","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use AI to suggest tabs and a name for tab groups","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Closing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before closing multiple tabs","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask before quitting with ⌘Q","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Browser Layout","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Browser Layout","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Horizontal tabs Tabs at the top","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Horizontal tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs at the top","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vertical tabs Tabs on the side, in the sidebar","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vertical tabs","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tabs on the side, in the sidebar","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show sidebar","depth":15,"role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show sidebar","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language and Appearance","depth":7,"bounds":{"left":0.075,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language and Appearance","depth":8,"bounds":{"left":0.075,"top":0.0,"width":0.18680556,"height":0.03},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website appearance","depth":10,"bounds":{"left":0.075,"top":0.02,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website appearance","depth":11,"bounds":{"left":0.075,"top":0.02,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.","depth":11,"bounds":{"left":0.075,"top":0.04777778,"width":0.42430556,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic","depth":15,"bounds":{"left":0.075,"top":0.10666667,"width":0.14861111,"height":0.11},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic","depth":17,"bounds":{"left":0.125,"top":0.18,"width":0.047916666,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Light","depth":15,"bounds":{"left":0.2326389,"top":0.10888889,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Light","depth":17,"bounds":{"left":0.29375,"top":0.18,"width":0.023611112,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dark","depth":15,"bounds":{"left":0.3888889,"top":0.10888889,"width":0.14583333,"height":0.10555556},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dark","depth":17,"bounds":{"left":0.45069444,"top":0.18,"width":0.022222223,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage Firefox themes in Extensions & Themes","depth":12,"bounds":{"left":0.07569444,"top":0.23444444,"width":0.45972222,"height":0.054444443},"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Firefox themes in Extensions & Themes","depth":14,"bounds":{"left":0.08611111,"top":0.25111112,"width":0.22777778,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Website contrast","depth":10,"bounds":{"left":0.075,"top":0.32,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Website contrast","depth":11,"bounds":{"left":0.075,"top":0.32,"width":0.094444446,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.","depth":11,"bounds":{"left":0.075,"top":0.34777778,"width":0.44652778,"height":0.04222222},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Override colors","depth":14,"bounds":{"left":0.075,"top":0.40666667,"width":0.07638889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.075,"top":0.4377778,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Automatic (use system settings)","depth":18,"bounds":{"left":0.09097222,"top":0.43666667,"width":0.15416667,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Off","depth":18,"bounds":{"left":0.075,"top":0.47555557,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Off","depth":18,"bounds":{"left":0.09097222,"top":0.47444445,"width":0.015277778,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom","depth":18,"bounds":{"left":0.075,"top":0.5133333,"width":0.011111111,"height":0.017777778},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom","depth":18,"bounds":{"left":0.09097222,"top":0.51222223,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Manage Colors…","depth":17,"bounds":{"left":0.09513889,"top":0.5511111,"width":0.44027779,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage Colors…","depth":19,"bounds":{"left":0.10555556,"top":0.56777775,"width":0.07986111,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fonts","depth":10,"bounds":{"left":0.075,"top":0.63666666,"width":0.030555556,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fonts","depth":11,"bounds":{"left":0.075,"top":0.63666666,"width":0.030555556,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default font","depth":15,"bounds":{"left":0.075,"top":0.6766667,"width":0.05625,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":15,"bounds":{"left":0.075,"top":0.75666666,"width":0.02013889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Advanced…","depth":12,"bounds":{"left":0.07569444,"top":0.83666664,"width":0.45972222,"height":0.054444443},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Advanced…","depth":14,"bounds":{"left":0.08611111,"top":0.85333335,"width":0.055555556,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Zoom","depth":10,"bounds":{"left":0.075,"top":0.92333335,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Zoom","depth":11,"bounds":{"left":0.075,"top":0.92333335,"width":0.03125,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Default zoom","depth":15,"bounds":{"left":0.075,"top":0.9633333,"width":0.063194446,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Zoom text only","depth":15,"bounds":{"left":0.075,"top":1.0,"width":0.011111111,"height":-0.04444444},"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Zoom text only","depth":15,"bounds":{"left":0.09097222,"top":1.0,"width":0.07152778,"height":-0.043333292},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Language","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Language","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose the languages used to display menus, messages, and notifications from Firefox.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Set Alternatives…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose your preferred language for displaying pages","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Choose…","depth":8,"help_text":"Choose your preferred language for displaying pages","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.","depth":8,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Translations","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Translations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Set your language and site translation preferences and manage languages downloaded for offline translation.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Settings…","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download languages for offline translation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download all","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Albanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Arabic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Azerbaijani","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bangla","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bosnian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Bulgarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Catalan","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Simplified)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Chinese (Traditional)","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Croatian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Czech","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Danish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dutch","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Estonian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Finnish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"French","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"German","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Greek","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gujarati","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hebrew","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hindi","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hungarian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Icelandic","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Indonesian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Italian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Japanese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Kannada","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Korean","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Latvian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lithuanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malay","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Malayalam","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Norwegian Bokmål","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Persian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Polish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Portuguese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Romanian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Russian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Serbian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovak","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Slovenian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Spanish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Swedish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Tamil","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Telugu","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Thai","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Turkish","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ukrainian","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vietnamese","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Download","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Spell check","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Spell check","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Check your spelling as you type","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Check your spelling as you type","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":14,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Download dictionaries","depth":12,"help_text":"Opens in a new tab","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download dictionaries","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"How to use spell checking","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"How to use spell checking","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Files and Applications","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files and Applications","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Downloads","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save files to","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Downloads","depth":13,"value":"Downloads","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Choose…","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Choose…","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Always ask you where to save files","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Always ask you where to save files","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Delete files downloaded in private browsing when all private windows are closed","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Delete files downloaded in private browsing when all private windows are closed","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Applications","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Applications","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose how Firefox handles the files you download from the web or the applications you use while browsing.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search file types or applications","depth":10,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Content Type","depth":9,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXCell","text":"Action","depth":9,"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"AV1 Image File (AVIF)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Extensible Markup Language (XML)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save File","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"mailto","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Use Mail (default)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Portable Document Format (PDF)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scalable Vector Graphics (SVG)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Save File","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"WebP Image","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in Firefox","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"What should Firefox do with other files?","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Save files","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Ask whether to open or save files","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Digital Rights Management (DRM) Content","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Digital Rights Management (DRM) Content","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Play DRM-controlled content","depth":15,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Play DRM-controlled content","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":14,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Firefox Updates","depth":7,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Firefox Updates","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keep Firefox up to date for the best performance, stability, and security.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Version 149.0.2 (64-bit)","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"What’s new","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"What’s new","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
1194084427557517712
|
8505909128559719065
|
click
|
accessibility
|
NULL
|
Open AI chatbot (⌃X)
Tabs from other devices
Open Open AI chatbot (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Customize sidebar
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
General
Home
Search
Privacy & Security
Sync
AI Controls
Firefox Labs
More from Mozilla
Extensions & Themes
Extensions & Themes
Firefox Support
Firefox Support
Your browser is being managed by your organization.
Your browser is being managed by your organization.
Find in Settings
General
General
Default browser
Default browser
Psst, Firefox isn’t your default.
Make default
Make default
Startup
Startup
Open previous windows and tabs
Open previous windows and tabs
Always check if Firefox is your default browser
Always check if Firefox is your default browser
Import browser data
Import browser data
Bring your bookmarks, passwords, history, extensions, and autofill data from another browser.
Import data
Import data
Profiles
Profiles
Each profile has separate browsing data and settings, including history, passwords, and more.
Learn more
Learn more
Settings
Settings
Tabs
Tabs
Opening
Open links in tabs instead of new windows
Open links in tabs instead of new windows
When you open a link, image or media in a new tab, switch to it immediately
When you open a link, image or media in a new tab, switch to it immediately
Open links from apps next to your active tab
Open links from apps next to your active tab
Interaction
Ctrl+Tab cycles through tabs in recently used order
Ctrl+Tab cycles through tabs in recently used order
Show an image preview when you hover on a tab
Show an image preview when you hover on a tab
Use AI to suggest tabs and a name for tab groups
Use AI to suggest tabs and a name for tab groups
Closing
Ask before closing multiple tabs
Ask before closing multiple tabs
Ask before quitting with ⌘Q
Ask before quitting with ⌘Q
Browser Layout
Browser Layout
Horizontal tabs Tabs at the top
Horizontal tabs
Tabs at the top
Vertical tabs Tabs on the side, in the sidebar
Vertical tabs
Tabs on the side, in the sidebar
Show sidebar
Show sidebar
Quickly access bookmarks, tabs from your phone, AI chatbots, and more without leaving your main view.
Language and Appearance
Language and Appearance
Website appearance
Website appearance
Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites.
Automatic
Automatic
Light
Light
Dark
Dark
Manage Firefox themes in Extensions & Themes
Manage Firefox themes in Extensions & Themes
Website contrast
Website contrast
Websites use a variety of foreground and background colors. For consistent contrast, you can use the same colors across websites.
Override colors
Automatic (use system settings)
Automatic (use system settings)
Off
Off
Custom
Custom
Manage Colors…
Manage Colors…
Fonts
Fonts
Default font
Size
Advanced…
Advanced…
Zoom
Zoom
Default zoom
Zoom text only
Zoom text only
Language
Language
Choose the languages used to display menus, messages, and notifications from Firefox.
Set Alternatives…
Choose your preferred language for displaying pages
Choose…
Use your operating system settings for “English (GB)” to format dates, times, numbers, and measurements.
Translations
Translations
Set your language and site translation preferences and manage languages downloaded for offline translation.
Settings…
Download languages for offline translation
Download all
Albanian
Download
Arabic
Download
Azerbaijani
Download
Bangla
Download
Bosnian
Download
Bulgarian
Download
Catalan
Download
Chinese (Simplified)
Download
Chinese (Traditional)
Download
Croatian
Download
Czech
Download
Danish
Download
Dutch
Download
Estonian
Download
Finnish
Download
French
Download
German
Download
Greek
Download
Gujarati
Download
Hebrew
Download
Hindi
Download
Hungarian
Download
Icelandic
Download
Indonesian
Download
Italian
Download
Japanese
Download
Kannada
Download
Korean
Download
Latvian
Download
Lithuanian
Download
Malay
Download
Malayalam
Download
Norwegian Bokmål
Download
Persian
Download
Polish
Download
Portuguese
Download
Romanian
Download
Russian
Download
Serbian
Download
Slovak
Download
Slovenian
Download
Spanish
Download
Swedish
Download
Tamil
Download
Telugu
Download
Thai
Download
Turkish
Download
Ukrainian
Download
Vietnamese
Download
Spell check
Spell check
Check your spelling as you type
Check your spelling as you type
Learn more
Learn more
Download dictionaries
Download dictionaries
How to use spell checking
How to use spell checking
Right-click a text field to turn spell check on or off or to change the language. Not all fields support spell check.
Files and Applications
Files and Applications
Downloads
Downloads
Save files to
Downloads
Choose…
Choose…
Always ask you where to save files
Always ask you where to save files
Delete files downloaded in private browsing when all private windows are closed
Delete files downloaded in private browsing when all private windows are closed
Applications
Applications
Choose how Firefox handles the files you download from the web or the applications you use while browsing.
Search file types or applications
Content Type
Action
AV1 Image File (AVIF)
Open in Firefox
Extensible Markup Language (XML)
Save File
mailto
Use Mail (default)
Portable Document Format (PDF)
Open in Firefox
Scalable Vector Graphics (SVG)
Save File
WebP Image
Open in Firefox
What should Firefox do with other files?
Save files
Ask whether to open or save files
Digital Rights Management (DRM) Content
Digital Rights Management (DRM) Content
Play DRM-controlled content
Play DRM-controlled content
Learn more
Learn more
Firefox Updates
Firefox Updates
Keep Firefox up to date for the best performance, stability, and security.
Version 149.0.2 (64-bit)
What’s new
What’s new...
|
1625
|