|
1351
|
30
|
5
|
2026-04-11T15:33:51.341668+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921631341_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO ₴86=>= writingimagesha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:33:50T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
-5427169335983673647
|
NULL
|
click
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO ₴86=>= writingimagesha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:33:50T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
1350
|
|
1352
|
30
|
6
|
2026-04-11T15:34:14.206414+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921654206_m1.jpg...
|
Firefox
|
Vimium Options — Personal
|
True
|
moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11 moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11bb/pages/options.html...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering
In link-hint mode, this option lets you select a link by typing its text.
Don't let pages steal the focus on load
Don't let pages steal the focus on load
Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).
Hide the Heads Up Display (HUD) in insert mode
Hide the Heads Up Display (HUD) in insert mode
When enabled, the HUD will not be displayed in insert mode.
Hide update notifications
Hide update notifications
When enabled, "Vimium has been updated" notifications will not be shown.
Treat find queries as JavaScript regular expressions
Treat find queries as JavaScript regular expressions
Switch back to plain find mode by using the
\R
escape sequence.
Ignore keyboard layout
Ignore keyboard layout
This forces the use of
en-US
QWERTY layout and can be helpful for non-Latin keyboards.
Previous patterns
Previous patterns
prev,previous,back,older,<,‹,←,«,≪,<<
Reset
Reset
The "navigate to previous page" command uses these patterns to find the link to follow.
Next patterns
Next patterns
next,more,newer,>,›,→,»,≫,>>
Reset
Reset
The "navigate to next page" command uses these patterns to find the link to follow.
CSS for Vimium UI
CSS for Vimium UI
div > .vimiumHintMarker {
/* linkhint boxes */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),
color-stop(100%,#FFC542));
border: 1px solid #E3BE23;
}
div > .vimiumHintMarker span {
/* linkhint text */
color: black;
font-weight: bold;
font-size: 12px;
}
div > .vimiumHintMarker > .matchingCharacter {
}
Reset
Reset
These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.
By default, this CSS is used to style the characters next to each link hint.
These styles are used in addition to and take precedence over Vimium's default styles.
[SEED_PHRASE].
Restore
Restore
Browse… No file selected.
Browse…
No file selected.
Choose a backup file to restore.
Type
?
to show the help dialog.
Type
Cmd-Enter
to save all options.
No changes...
|
[{"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 (1) - 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":"Edit profile","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit profile","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to Get Through the Product Management Bottleneck","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to Get Through the Product Management Bottleneck","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Časť 2 • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Časť 2 • 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":"Maďarské voľby – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Maďarské voľby – 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":true},{"role":"AXStaticText","text":"Vimium Options","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":"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":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","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":"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":"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":"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":"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":"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":"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":"AXStaticText","text":"Vimium Options","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Excluded URLs and keys","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Excluded URLs and keys","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Add rule","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Disable Vimium on URLs.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Patterns\" are URL regular expressions.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"*","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"will match zero or more characters.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Keys\": Vimium will exclude these keys and pass them through to the page.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom key mappings","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom key mappings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"# Insert your preferred key mappings here.","depth":8,"value":"# Insert your preferred key mappings here.","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Example syntax:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"map j scrollDown\nmap z2 setZoom level=2\nunmap j\nunmapAll\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"See all available commands","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"See all available commands","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom search engines","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom search engines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","depth":8,"value":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add search-engine shortcuts to the Vomnibar. Format:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"a: http://a.com/?q=%s\nb: http://b.com/?q=%s description\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"%s is replaced with the search terms.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"For search completion, see","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"New tab URL","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New tab URL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium blank new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium blank new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open the Vomnibar when the page loads","depth":10,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open the Vomnibar when the page loads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser's default new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser's default new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom URL","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom URL","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The page to open when using Vimium's \"create new tab\" command. To have Vimium commands work on","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"all","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Advanced Options","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Scroll step size","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scroll step size","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"60","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"px","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The size for basic movements (usually j/k/h/l).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Characters used for link hints","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Characters used for link hints","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"sadfjklewcmpgh","depth":10,"value":"sadfjklewcmpgh","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The characters placed next to each link after typing \"f\" to enter link-hint mode.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In link-hint mode, this option lets you select a link by typing its text.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Don't let pages steal the focus on load","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Don't let pages steal the focus on load","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide the Heads Up Display (HUD) in insert mode","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide the Heads Up Display (HUD) in insert mode","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"When enabled, the HUD will not be displayed in insert mode.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide update notifications","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide update notifications","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"When enabled, \"Vimium has been updated\" notifications will not be shown.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Treat find queries as JavaScript regular expressions","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Treat find queries as JavaScript regular expressions","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Switch back to plain find mode by using the","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\\R","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"escape sequence.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ignore keyboard layout","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ignore keyboard layout","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This forces the use of","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"en-US","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QWERTY layout and can be helpful for non-Latin keyboards.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Previous patterns","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Previous patterns","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"prev,previous,back,older,<,‹,←,«,≪,<<","depth":9,"value":"prev,previous,back,older,<,‹,←,«,≪,<<","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20347223,"top":0.0,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20347223,"top":0.0,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The \"navigate to previous page\" command uses these patterns to find the link to follow.","depth":9,"bounds":{"left":0.23888889,"top":0.0,"width":0.19930555,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Next patterns","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Next patterns","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"next,more,newer,>,›,→,»,≫,>>","depth":9,"value":"next,more,newer,>,›,→,»,≫,>>","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20347223,"top":0.06555556,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20347223,"top":0.06555556,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The \"navigate to next page\" command uses these patterns to find the link to follow.","depth":9,"bounds":{"left":0.23888889,"top":0.037777778,"width":0.18402778,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"CSS for Vimium UI","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS for Vimium UI","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"div > .vimiumHintMarker {\n/* linkhint boxes */\nbackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),\n color-stop(100%,#FFC542));\nborder: 1px solid #E3BE23;\n}\n\ndiv > .vimiumHintMarker span {\n/* linkhint text */\ncolor: black;\nfont-weight: bold;\nfont-size: 12px;\n}\n\ndiv > .vimiumHintMarker > .matchingCharacter {\n}","depth":9,"value":"div > .vimiumHintMarker {\n/* linkhint boxes */\nbackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),\n color-stop(100%,#FFC542));\nborder: 1px solid #E3BE23;\n}\n\ndiv > .vimiumHintMarker span {\n/* linkhint text */\ncolor: black;\nfont-weight: bold;\nfont-size: 12px;\n}\n\ndiv > .vimiumHintMarker > .matchingCharacter {\n}","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20347223,"top":0.2888889,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20347223,"top":0.2888889,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.","depth":9,"bounds":{"left":0.23888889,"top":0.13111112,"width":0.20347223,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, this CSS is used to style the characters next to each link hint.","depth":9,"bounds":{"left":0.23888889,"top":0.16666667,"width":0.2048611,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"These styles are used in addition to and take precedence over Vimium's default styles.","depth":9,"bounds":{"left":0.23888889,"top":0.22,"width":0.16527778,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Backup and Restore","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Backup","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Backup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Download backup","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download backup","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Download a backup of your settings.","depth":9,"bounds":{"left":0.23888889,"top":0.4188889,"width":0.13402778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Restore","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Restore","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Browse… No file selected.","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browse…","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No file selected.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose a backup file to restore.","depth":9,"bounds":{"left":0.23888889,"top":0.48555556,"width":0.11736111,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"?","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to show the help dialog.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cmd-Enter","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to save all options.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"No changes","depth":10,"bounds":{"left":0.41458333,"top":0.0,"width":0.06736111,"height":0.025555555},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false}]...
|
-1283028783894413616
|
2697377210287229636
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering
In link-hint mode, this option lets you select a link by typing its text.
Don't let pages steal the focus on load
Don't let pages steal the focus on load
Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).
Hide the Heads Up Display (HUD) in insert mode
Hide the Heads Up Display (HUD) in insert mode
When enabled, the HUD will not be displayed in insert mode.
Hide update notifications
Hide update notifications
When enabled, "Vimium has been updated" notifications will not be shown.
Treat find queries as JavaScript regular expressions
Treat find queries as JavaScript regular expressions
Switch back to plain find mode by using the
\R
escape sequence.
Ignore keyboard layout
Ignore keyboard layout
This forces the use of
en-US
QWERTY layout and can be helpful for non-Latin keyboards.
Previous patterns
Previous patterns
prev,previous,back,older,<,‹,←,«,≪,<<
Reset
Reset
The "navigate to previous page" command uses these patterns to find the link to follow.
Next patterns
Next patterns
next,more,newer,>,›,→,»,≫,>>
Reset
Reset
The "navigate to next page" command uses these patterns to find the link to follow.
CSS for Vimium UI
CSS for Vimium UI
div > .vimiumHintMarker {
/* linkhint boxes */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),
color-stop(100%,#FFC542));
border: 1px solid #E3BE23;
}
div > .vimiumHintMarker span {
/* linkhint text */
color: black;
font-weight: bold;
font-size: 12px;
}
div > .vimiumHintMarker > .matchingCharacter {
}
Reset
Reset
These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.
By default, this CSS is used to style the characters next to each link hint.
These styles are used in addition to and take precedence over Vimium's default styles.
[SEED_PHRASE].
Restore
Restore
Browse… No file selected.
Browse…
No file selected.
Choose a backup file to restore.
Type
?
to show the help dialog.
Type
Cmd-Enter
to save all options.
No changes...
|
NULL
|
|
1353
|
30
|
7
|
2026-04-11T15:34:19.938617+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921659938_m1.jpg...
|
Firefox
|
Vimium Options — Personal
|
True
|
moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11 moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11bb/pages/options.html...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering...
|
[{"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 (1) - 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":"Edit profile","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit profile","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to Get Through the Product Management Bottleneck","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to Get Through the Product Management Bottleneck","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Časť 2 • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Časť 2 • 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":"Maďarské voľby – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Maďarské voľby – 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":true},{"role":"AXStaticText","text":"Vimium Options","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":"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":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","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":"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":"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":"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":"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":"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":"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":"AXStaticText","text":"Vimium Options","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Excluded URLs and keys","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Excluded URLs and keys","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Add rule","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Disable Vimium on URLs.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Patterns\" are URL regular expressions.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"*","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"will match zero or more characters.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Keys\": Vimium will exclude these keys and pass them through to the page.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom key mappings","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom key mappings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"# Insert your preferred key mappings here.","depth":8,"value":"# Insert your preferred key mappings here.","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Example syntax:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"map j scrollDown\nmap z2 setZoom level=2\nunmap j\nunmapAll\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"See all available commands","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"See all available commands","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom search engines","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom search engines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","depth":8,"value":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add search-engine shortcuts to the Vomnibar. Format:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"a: http://a.com/?q=%s\nb: http://b.com/?q=%s description\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"%s is replaced with the search terms.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"For search completion, see","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"New tab URL","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New tab URL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium blank new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium blank new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open the Vomnibar when the page loads","depth":10,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open the Vomnibar when the page loads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser's default new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser's default new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom URL","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom URL","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The page to open when using Vimium's \"create new tab\" command. To have Vimium commands work on","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"all","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Advanced Options","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Scroll step size","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scroll step size","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"60","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"px","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The size for basic movements (usually j/k/h/l).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Characters used for link hints","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Characters used for link hints","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"sadfjklewcmpgh","depth":10,"value":"sadfjklewcmpgh","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The characters placed next to each link after typing \"f\" to enter link-hint mode.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
188198251522572350
|
4425634116888988406
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering...
|
1352
|
|
1354
|
30
|
8
|
2026-04-11T15:34:21.430532+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921661430_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO ₴86=>= writingimagesha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:34:21T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.050.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
-2043172729347839329
|
NULL
|
click
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO ₴86=>= writingimagesha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:34:21T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.050.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
|
1355
|
30
|
9
|
2026-04-11T15:34:25.437106+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921665437_m1.jpg...
|
Firefox
|
Vimium Options — Personal
|
True
|
moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11 moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11bb/pages/options.html...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Gemini
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
Help me learn, button, tap to use tool
Help me learn
Create a video, button, tap to use tool
Create a video
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Summarize page
Summarize page
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering
In link-hint mode, this option lets you select a link by typing its text.
Don't let pages steal the focus on load
Don't let pages steal the focus on load
Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).
Hide the Heads Up Display (HUD) in insert mode
Hide the Heads Up Display (HUD) in insert mode
When enabled, the HUD will not be displayed in insert mode.
Hide update notifications
Hide update notifications
When enabled, "Vimium has been updated" notifications will not be shown.
Treat find queries as JavaScript regular expressions
Treat find queries as JavaScript regular expressions
Switch back to plain find mode by using the
\R
escape sequence.
Ignore keyboard layout
Ignore keyboard layout
This forces the use of
en-US
QWERTY layout and can be helpful for non-Latin keyboards.
Previous patterns
Previous patterns
prev,previous,back,older,<,‹,←,«,≪,<<
Reset
Reset
The "navigate to previous page" command uses these patterns to find the link to follow.
Next patterns
Next patterns
next,more,newer,>,›,→,»,≫,>>
Reset
Reset
The "navigate to next page" command uses these patterns to find the link to follow.
CSS for Vimium UI
CSS for Vimium UI
div > .vimiumHintMarker {
/* linkhint boxes */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),
color-stop(100%,#FFC542));
border: 1px solid #E3BE23;
}
div > .vimiumHintMarker span {
/* linkhint text */
color: black;
font-weight: bold;
font-size: 12px;
}
div > .vimiumHintMarker > .matchingCharacter {
}
Reset
Reset
These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.
By default, this CSS is used to style the characters next to each link hint.
These styles are used in addition to and take precedence over Vimium's default styles.
[SEED_PHRASE].
Restore
Restore
Browse… No file selected.
Browse…
No file selected.
Choose a backup file to restore.
Type
?
to show the help dialog.
Type
Cmd-Enter
to save all options.
No changes...
|
[{"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 (1) - 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":"Edit profile","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit profile","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to Get Through the Product Management Bottleneck","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to Get Through the Product Management Bottleneck","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Časť 2 • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Časť 2 • 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":"Maďarské voľby – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Maďarské voľby – 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":true},{"role":"AXStaticText","text":"Vimium Options","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":"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":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","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":"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":"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":"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":"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":"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":"Close 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":"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":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Temporary chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"PLUS","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PLUS","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hi Lukáš","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Where should we start?","depth":22,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Where should we start?","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🖼️ Create image, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🖼️ Create image","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"🎸 Create music, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"🎸 Create music","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Write anything, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Write anything","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Boost my day, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Boost my day","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Help me learn, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Help me learn","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create a video, button, tap to use tool","depth":22,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create a video","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium Options","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Excluded URLs and keys","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Excluded URLs and keys","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Add rule","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Disable Vimium on URLs.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Patterns\" are URL regular expressions.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"*","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"will match zero or more characters.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Keys\": Vimium will exclude these keys and pass them through to the page.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom key mappings","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom key mappings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"# Insert your preferred key mappings here.","depth":8,"value":"# Insert your preferred key mappings here.","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Example syntax:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"map j scrollDown\nmap z2 setZoom level=2\nunmap j\nunmapAll\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"See all available commands","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"See all available commands","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom search engines","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom search engines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","depth":8,"value":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add search-engine shortcuts to the Vomnibar. Format:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"a: http://a.com/?q=%s\nb: http://b.com/?q=%s description\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"%s is replaced with the search terms.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"For search completion, see","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"New tab URL","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New tab URL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium blank new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium blank new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open the Vomnibar when the page loads","depth":10,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open the Vomnibar when the page loads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser's default new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser's default new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom URL","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom URL","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The page to open when using Vimium's \"create new tab\" command. To have Vimium commands work on","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"all","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Advanced Options","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Scroll step size","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scroll step size","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"60","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"px","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The size for basic movements (usually j/k/h/l).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Characters used for link hints","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Characters used for link hints","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"sadfjklewcmpgh","depth":10,"value":"sadfjklewcmpgh","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The characters placed next to each link after typing \"f\" to enter link-hint mode.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In link-hint mode, this option lets you select a link by typing its text.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Don't let pages steal the focus on load","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Don't let pages steal the focus on load","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide the Heads Up Display (HUD) in insert mode","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide the Heads Up Display (HUD) in insert mode","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"When enabled, the HUD will not be displayed in insert mode.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide update notifications","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide update notifications","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"When enabled, \"Vimium has been updated\" notifications will not be shown.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Treat find queries as JavaScript regular expressions","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Treat find queries as JavaScript regular expressions","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Switch back to plain find mode by using the","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\\R","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"escape sequence.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ignore keyboard layout","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ignore keyboard layout","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This forces the use of","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"en-US","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QWERTY layout and can be helpful for non-Latin keyboards.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Previous patterns","depth":8,"bounds":{"left":0.05277778,"top":0.0,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Previous patterns","depth":9,"bounds":{"left":0.05277778,"top":0.0,"width":0.08680555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"prev,previous,back,older,<,‹,←,«,≪,<<","depth":9,"bounds":{"left":0.05277778,"top":0.0,"width":0.17152777,"height":0.026666667},"value":"prev,previous,back,older,<,‹,←,«,≪,<<","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20277777,"top":0.0,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20277777,"top":0.0,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The \"navigate to previous page\" command uses these patterns to find the link to follow.","depth":9,"bounds":{"left":0.23819445,"top":0.0,"width":0.19930555,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Next patterns","depth":8,"bounds":{"left":0.05277778,"top":0.022222223,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Next patterns","depth":9,"bounds":{"left":0.05277778,"top":0.022222223,"width":0.065972224,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"next,more,newer,>,›,→,»,≫,>>","depth":9,"bounds":{"left":0.05277778,"top":0.057777777,"width":0.17152777,"height":0.026666667},"value":"next,more,newer,>,›,→,»,≫,>>","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20277777,"top":0.08555555,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20277777,"top":0.08555555,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The \"navigate to next page\" command uses these patterns to find the link to follow.","depth":9,"bounds":{"left":0.23819445,"top":0.05888889,"width":0.18402778,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"CSS for Vimium UI","depth":8,"bounds":{"left":0.05277778,"top":0.115555555,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS for Vimium UI","depth":9,"bounds":{"left":0.05277778,"top":0.115555555,"width":0.093055554,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"div > .vimiumHintMarker {\n/* linkhint boxes */\nbackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),\n color-stop(100%,#FFC542));\nborder: 1px solid #E3BE23;\n}\n\ndiv > .vimiumHintMarker span {\n/* linkhint text */\ncolor: black;\nfont-weight: bold;\nfont-size: 12px;\n}\n\ndiv > .vimiumHintMarker > .matchingCharacter {\n}","depth":9,"bounds":{"left":0.05277778,"top":0.15222222,"width":0.17152777,"height":0.15555556},"value":"div > .vimiumHintMarker {\n/* linkhint boxes */\nbackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),\n color-stop(100%,#FFC542));\nborder: 1px solid #E3BE23;\n}\n\ndiv > .vimiumHintMarker span {\n/* linkhint text */\ncolor: black;\nfont-weight: bold;\nfont-size: 12px;\n}\n\ndiv > .vimiumHintMarker > .matchingCharacter {\n}","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20277777,"top":0.31,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20277777,"top":0.31,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.","depth":9,"bounds":{"left":0.23819445,"top":0.15222222,"width":0.20347223,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, this CSS is used to style the characters next to each link hint.","depth":9,"bounds":{"left":0.23819445,"top":0.18777777,"width":0.2048611,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"These styles are used in addition to and take precedence over Vimium's default styles.","depth":9,"bounds":{"left":0.23819445,"top":0.24111111,"width":0.16527778,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Backup and Restore","depth":9,"bounds":{"left":0.05277778,"top":0.34888887,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Backup","depth":8,"bounds":{"left":0.05277778,"top":0.40333334,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Backup","depth":9,"bounds":{"left":0.05277778,"top":0.40444446,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Download backup","depth":8,"bounds":{"left":0.05277778,"top":0.43888888,"width":0.17152777,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download backup","depth":9,"bounds":{"left":0.05277778,"top":0.43888888,"width":0.077083334,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Download a backup of your settings.","depth":9,"bounds":{"left":0.23819445,"top":0.44,"width":0.13402778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Restore","depth":8,"bounds":{"left":0.05277778,"top":0.47,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Restore","depth":9,"bounds":{"left":0.05277778,"top":0.47111112,"width":0.03888889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Browse… No file selected.","depth":8,"bounds":{"left":0.05277778,"top":0.50555557,"width":0.17152777,"height":0.024444444},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browse…","depth":9,"bounds":{"left":0.056944445,"top":0.5088889,"width":0.03888889,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No file selected.","depth":9,"bounds":{"left":0.103472225,"top":0.5088889,"width":0.07013889,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose a backup file to restore.","depth":9,"bounds":{"left":0.23819445,"top":0.50666666,"width":0.11736111,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":10,"bounds":{"left":0.05277778,"top":0.0,"width":0.02013889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"?","depth":11,"bounds":{"left":0.072916664,"top":0.0,"width":0.0055555557,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to show the help dialog.","depth":10,"bounds":{"left":0.07847222,"top":0.0,"width":0.08958333,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":10,"bounds":{"left":0.05277778,"top":0.0,"width":0.02013889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cmd-Enter","depth":11,"bounds":{"left":0.072916664,"top":0.0,"width":0.043055557,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to save all options.","depth":10,"bounds":{"left":0.11597222,"top":0.0,"width":0.07083333,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"No changes","depth":10,"bounds":{"left":0.4138889,"top":0.0,"width":0.06736111,"height":0.025555555},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false}]...
|
-8719792657818783715
|
4462788281262115522
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Gemini
Temporary chat
PLUS
PLUS
Conversation with Gemini
Conversation with Gemini
Hi Lukáš
Where should we start?
Where should we start?
🖼️ Create image, button, tap to use tool
🖼️ Create image
🎸 Create music, button, tap to use tool
🎸 Create music
Write anything, button, tap to use tool
Write anything
Boost my day, button, tap to use tool
Boost my day
Help me learn, button, tap to use tool
Help me learn
Create a video, button, tap to use tool
Create a video
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Summarize page
Summarize page
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering
In link-hint mode, this option lets you select a link by typing its text.
Don't let pages steal the focus on load
Don't let pages steal the focus on load
Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).
Hide the Heads Up Display (HUD) in insert mode
Hide the Heads Up Display (HUD) in insert mode
When enabled, the HUD will not be displayed in insert mode.
Hide update notifications
Hide update notifications
When enabled, "Vimium has been updated" notifications will not be shown.
Treat find queries as JavaScript regular expressions
Treat find queries as JavaScript regular expressions
Switch back to plain find mode by using the
\R
escape sequence.
Ignore keyboard layout
Ignore keyboard layout
This forces the use of
en-US
QWERTY layout and can be helpful for non-Latin keyboards.
Previous patterns
Previous patterns
prev,previous,back,older,<,‹,←,«,≪,<<
Reset
Reset
The "navigate to previous page" command uses these patterns to find the link to follow.
Next patterns
Next patterns
next,more,newer,>,›,→,»,≫,>>
Reset
Reset
The "navigate to next page" command uses these patterns to find the link to follow.
CSS for Vimium UI
CSS for Vimium UI
div > .vimiumHintMarker {
/* linkhint boxes */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),
color-stop(100%,#FFC542));
border: 1px solid #E3BE23;
}
div > .vimiumHintMarker span {
/* linkhint text */
color: black;
font-weight: bold;
font-size: 12px;
}
div > .vimiumHintMarker > .matchingCharacter {
}
Reset
Reset
These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.
By default, this CSS is used to style the characters next to each link hint.
These styles are used in addition to and take precedence over Vimium's default styles.
[SEED_PHRASE].
Restore
Restore
Browse… No file selected.
Browse…
No file selected.
Choose a backup file to restore.
Type
?
to show the help dialog.
Type
Cmd-Enter
to save all options.
No changes...
|
1354
|
|
1356
|
30
|
10
|
2026-04-11T15:34:49.431339+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921689431_m1.jpg...
|
Alfred
|
Alfred
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Alfred Search Field
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":"Alfred Search Field","depth":1,"bounds":{"left":0.26180556,"top":0.16777778,"width":0.4763889,"height":0.05888889},"help_text":"Alfred Search","role_description":"text field","is_enabled":true,"is_focused":true}]...
|
7926243118367575
|
7570943109877468232
|
app_switch
|
hybrid
|
NULL
|
Alfred Search Field
FirefoxFileEditViewHistoryBook Alfred Search Field
FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp(ahlsshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO 886=>= writingimagesha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+]Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/ar[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build def'=>=> transferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>=> transferring context:2B=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR|/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app4/5] RUN pip install--no-cache-dir -r requirements.txt[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U-zsh100% C787Sat 11 Apr 18:34:49T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
|
1357
|
30
|
11
|
2026-04-11T15:34:52.475611+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921692475_m1.jpg...
|
Firefox
|
Vimium Options — Personal
|
True
|
moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11 moz-extension://f5e9c63e-b25b-4f15-8ba2-4813105e11bb/pages/options.html...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said how to use vimium in firefox
You said
how to use vimium in firefox
Show more options
Show thinking
Gemini said
Gemini said
Vimium (specifically
Vimium-FF
for Firefox) is a fantastic extension that lets you navigate the web entirely from your keyboard,
using standard Vim shortcuts.
Here is a guide on how to get started and the essential commands you need to know.
1. Installation
1. Installation
If you haven't already,
go to the Firefox Add-ons page,
search for
Vimium-FF
,
and click
Add to Firefox
.
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Stop response
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering
In link-hint mode, this option lets you select a link by typing its text.
Don't let pages steal the focus on load
Don't let pages steal the focus on load
Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).
Hide the Heads Up Display (HUD) in insert mode
Hide the Heads Up Display (HUD) in insert mode
When enabled, the HUD will not be displayed in insert mode.
Hide update notifications
Hide update notifications
When enabled, "Vimium has been updated" notifications will not be shown.
Treat find queries as JavaScript regular expressions
Treat find queries as JavaScript regular expressions
Switch back to plain find mode by using the
\R
escape sequence.
Ignore keyboard layout
Ignore keyboard layout
This forces the use of
en-US
QWERTY layout and can be helpful for non-Latin keyboards.
Previous patterns
Previous patterns
prev,previous,back,older,<,‹,←,«,≪,<<
Reset
Reset
The "navigate to previous page" command uses these patterns to find the link to follow.
Next patterns
Next patterns
next,more,newer,>,›,→,»,≫,>>
Reset
Reset
The "navigate to next page" command uses these patterns to find the link to follow.
CSS for Vimium UI
CSS for Vimium UI
div > .vimiumHintMarker {
/* linkhint boxes */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),
color-stop(100%,#FFC542));
border: 1px solid #E3BE23;
}
div > .vimiumHintMarker span {
/* linkhint text */
color: black;
font-weight: bold;
font-size: 12px;
}
div > .vimiumHintMarker > .matchingCharacter {
}
Reset
Reset
These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.
By default, this CSS is used to style the characters next to each link hint.
These styles are used in addition to and take precedence over Vimium's default styles.
[SEED_PHRASE].
Restore
Restore
Browse… No file selected.
Browse…
No file selected.
Choose a backup file to restore.
Type
?
to show the help dialog.
Type
Cmd-Enter
to save all options.
No changes...
|
[{"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 (1) - 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":"Edit profile","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit profile","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to Get Through the Product Management Bottleneck","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to Get Through the Product Management Bottleneck","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Časť 2 • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Časť 2 • 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":"Maďarské voľby – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Maďarské voľby – 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":true},{"role":"AXStaticText","text":"Vimium Options","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":"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":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","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":"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":"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":"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":"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":"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":"Close 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":"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":"AXButton","text":"AI Chat settings","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Google Account: Lukáš Koválik (kovaliklukas@gmail.com)","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said how to use vimium in firefox","depth":21,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"how to use vimium in firefox","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Show more options","depth":23,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":29,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":23,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":24,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium (specifically","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium-FF","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"for Firefox) is a fantastic extension that lets you navigate the web entirely from your keyboard,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"using standard Vim shortcuts.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here is a guide on how to get started and the essential commands you need to know.","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. Installation","depth":26,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. Installation","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"If you haven't already,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"go to the Firefox Add-ons page,","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"search for","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium-FF","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and click","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Add to Firefox","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":27,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Ask Gemini","depth":20,"value":"Ask Gemini","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Ask Gemini","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Stop response","depth":19,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini is AI and can make mistakes, including about people.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy and Gemini Opens in a new window","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy and Gemini","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vimium Options","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Excluded URLs and keys","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Excluded URLs and keys","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Patterns","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"https?://mail.google.com/*","depth":12,"value":"https?://mail.google.com/*","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Keys to exclude","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"All","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"✖","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Add rule","depth":8,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Disable Vimium on URLs.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Patterns\" are URL regular expressions.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"*","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"will match zero or more characters.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\"Keys\": Vimium will exclude these keys and pass them through to the page.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom key mappings","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom key mappings","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"# Insert your preferred key mappings here.","depth":8,"value":"# Insert your preferred key mappings here.","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Example syntax:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"map j scrollDown\nmap z2 setZoom level=2\nunmap j\nunmapAll\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"See all available commands","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"See all available commands","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Custom search engines","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Custom search engines","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","depth":8,"value":"w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia\n\n# More examples.\n#\n# (Vimium supports search completion Wikipedia, as\n# above, and for these.)\n#\n# g: https://www.google.com/search?q=%s Google\n# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...\n# y: https://www.youtube.com/results?search_query=%s Youtube\n# gm: https://www.google.com/maps?q=%s Google maps\n# b: https://www.bing.com/search?q=%s Bing\n# d: https://duckduckgo.com/?q=%s DuckDuckGo\n# az: https://www.amazon.com/s/?field-keywords=%s\n# qw: https://www.qwant.com/?q=%s Qwant","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add search-engine shortcuts to the Vomnibar. Format:","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"a: http://a.com/?q=%s\nb: http://b.com/?q=%s description\n\" this is a comment\n# this is also a comment","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"%s is replaced with the search terms.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"For search completion, see","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"New tab URL","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"New tab URL","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Vimium blank new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vimium blank new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Open the Vomnibar when the page loads","depth":10,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Open the Vomnibar when the page loads","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Browser's default new tab page","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browser's default new tab page","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Custom URL","depth":9,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Custom URL","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The page to open when using Vimium's \"create new tab\" command. To have Vimium commands work on","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"all","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"here","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"here","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Advanced Options","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Scroll step size","depth":8,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Scroll step size","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"60","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"px","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The size for basic movements (usually j/k/h/l).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Characters used for link hints","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Characters used for link hints","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"sadfjklewcmpgh","depth":10,"value":"sadfjklewcmpgh","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The characters placed next to each link after typing \"f\" to enter link-hint mode.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use smooth scrolling","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use the link's name and characters for link-hint filtering","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"In link-hint mode, this option lets you select a link by typing its text.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Don't let pages steal the focus on load","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Don't let pages steal the focus on load","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide the Heads Up Display (HUD) in insert mode","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide the Heads Up Display (HUD) in insert mode","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"When enabled, the HUD will not be displayed in insert mode.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Hide update notifications","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hide update notifications","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"When enabled, \"Vimium has been updated\" notifications will not be shown.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Treat find queries as JavaScript regular expressions","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Treat find queries as JavaScript regular expressions","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Switch back to plain find mode by using the","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"\\R","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"escape sequence.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Ignore keyboard layout","depth":9,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ignore keyboard layout","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This forces the use of","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"en-US","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"QWERTY layout and can be helpful for non-Latin keyboards.","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Previous patterns","depth":8,"bounds":{"left":0.05277778,"top":0.0,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Previous patterns","depth":9,"bounds":{"left":0.05277778,"top":0.0,"width":0.08680555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"prev,previous,back,older,<,‹,←,«,≪,<<","depth":9,"bounds":{"left":0.05277778,"top":0.0,"width":0.17152777,"height":0.026666667},"value":"prev,previous,back,older,<,‹,←,«,≪,<<","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20277777,"top":0.0,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20277777,"top":0.0,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The \"navigate to previous page\" command uses these patterns to find the link to follow.","depth":9,"bounds":{"left":0.23819445,"top":0.0,"width":0.19930555,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Next patterns","depth":8,"bounds":{"left":0.05277778,"top":0.022222223,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Next patterns","depth":9,"bounds":{"left":0.05277778,"top":0.022222223,"width":0.065972224,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"next,more,newer,>,›,→,»,≫,>>","depth":9,"bounds":{"left":0.05277778,"top":0.057777777,"width":0.17152777,"height":0.026666667},"value":"next,more,newer,>,›,→,»,≫,>>","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20277777,"top":0.08555555,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20277777,"top":0.08555555,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The \"navigate to next page\" command uses these patterns to find the link to follow.","depth":9,"bounds":{"left":0.23819445,"top":0.05888889,"width":0.18402778,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"CSS for Vimium UI","depth":8,"bounds":{"left":0.05277778,"top":0.115555555,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CSS for Vimium UI","depth":9,"bounds":{"left":0.05277778,"top":0.115555555,"width":0.093055554,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"div > .vimiumHintMarker {\n/* linkhint boxes */\nbackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),\n color-stop(100%,#FFC542));\nborder: 1px solid #E3BE23;\n}\n\ndiv > .vimiumHintMarker span {\n/* linkhint text */\ncolor: black;\nfont-weight: bold;\nfont-size: 12px;\n}\n\ndiv > .vimiumHintMarker > .matchingCharacter {\n}","depth":9,"bounds":{"left":0.05277778,"top":0.15222222,"width":0.17152777,"height":0.15555556},"value":"div > .vimiumHintMarker {\n/* linkhint boxes */\nbackground: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),\n color-stop(100%,#FFC542));\nborder: 1px solid #E3BE23;\n}\n\ndiv > .vimiumHintMarker span {\n/* linkhint text */\ncolor: black;\nfont-weight: bold;\nfont-size: 12px;\n}\n\ndiv > .vimiumHintMarker > .matchingCharacter {\n}","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Reset","depth":10,"bounds":{"left":0.20277777,"top":0.31,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Reset","depth":11,"bounds":{"left":0.20277777,"top":0.31,"width":0.021527778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.","depth":9,"bounds":{"left":0.23819445,"top":0.15222222,"width":0.20347223,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"By default, this CSS is used to style the characters next to each link hint.","depth":9,"bounds":{"left":0.23819445,"top":0.18777777,"width":0.2048611,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"These styles are used in addition to and take precedence over Vimium's default styles.","depth":9,"bounds":{"left":0.23819445,"top":0.24111111,"width":0.16527778,"height":0.033333335},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Backup and Restore","depth":9,"bounds":{"left":0.05277778,"top":0.34888887,"width":0.11319444,"height":0.023333333},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Backup","depth":8,"bounds":{"left":0.05277778,"top":0.40333334,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Backup","depth":9,"bounds":{"left":0.05277778,"top":0.40444446,"width":0.036805555,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Download backup","depth":8,"bounds":{"left":0.05277778,"top":0.43888888,"width":0.17152777,"height":0.017777778},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Download backup","depth":9,"bounds":{"left":0.05277778,"top":0.43888888,"width":0.077083334,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Download a backup of your settings.","depth":9,"bounds":{"left":0.23819445,"top":0.44,"width":0.13402778,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Restore","depth":8,"bounds":{"left":0.05277778,"top":0.47,"width":0.39375,"height":0.022222223},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Restore","depth":9,"bounds":{"left":0.05277778,"top":0.47111112,"width":0.03888889,"height":0.02111111},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Browse… No file selected.","depth":8,"bounds":{"left":0.05277778,"top":0.50555557,"width":0.17152777,"height":0.024444444},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Browse…","depth":9,"bounds":{"left":0.056944445,"top":0.5088889,"width":0.03888889,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"No file selected.","depth":9,"bounds":{"left":0.103472225,"top":0.5088889,"width":0.07013889,"height":0.017777778},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Choose a backup file to restore.","depth":9,"bounds":{"left":0.23819445,"top":0.50666666,"width":0.11736111,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":10,"bounds":{"left":0.05277778,"top":0.0,"width":0.02013889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"?","depth":11,"bounds":{"left":0.072916664,"top":0.0,"width":0.0055555557,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to show the help dialog.","depth":10,"bounds":{"left":0.07847222,"top":0.0,"width":0.08958333,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":10,"bounds":{"left":0.05277778,"top":0.0,"width":0.02013889,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cmd-Enter","depth":11,"bounds":{"left":0.072916664,"top":0.0,"width":0.043055557,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to save all options.","depth":10,"bounds":{"left":0.11597222,"top":0.0,"width":0.07083333,"height":0.015555556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"No changes","depth":10,"bounds":{"left":0.4138889,"top":0.0,"width":0.06736111,"height":0.025555555},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false}]...
|
-2730673543363518224
|
3307685878295759494
|
app_switch
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – Denník N
Vimium Options
Vimium Options
Close tab
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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
Google Account: Lukáš Koválik ([EMAIL])
Main menu
New chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said how to use vimium in firefox
You said
how to use vimium in firefox
Show more options
Show thinking
Gemini said
Gemini said
Vimium (specifically
Vimium-FF
for Firefox) is a fantastic extension that lets you navigate the web entirely from your keyboard,
using standard Vim shortcuts.
Here is a guide on how to get started and the essential commands you need to know.
1. Installation
1. Installation
If you haven't already,
go to the Firefox Add-ons page,
search for
Vimium-FF
,
and click
Add to Firefox
.
Ask Gemini
Ask Gemini
Open upload file menu
Tools
Open mode picker
Pro
Stop response
Gemini is AI and can make mistakes, including about people.
Your privacy and Gemini Opens in a new window
Your privacy and Gemini
Opens in a new window
Summarize page
Summarize page
Vimium Options
Excluded URLs and keys
Excluded URLs and keys
Patterns
Keys to exclude
https?://mail.google.com/*
All
✖
Patterns
https?://mail.google.com/*
Keys to exclude
All
✖
Add rule
Disable Vimium on URLs.
"Patterns" are URL regular expressions.
*
will match zero or more characters.
"Keys": Vimium will exclude these keys and pass them through to the page.
Custom key mappings
Custom key mappings
# Insert your preferred key mappings here.
Example syntax:
map j scrollDown
map z2 setZoom level=2
unmap j
unmapAll
" this is a comment
# this is also a comment
See all available commands
See all available commands
.
Custom search engines
Custom search engines
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
# More examples.
#
# (Vimium supports search completion Wikipedia, as
# above, and for these.)
#
# g: https://www.google.com/search?q=%s Google
# l: https://www.google.com/search?q=%s&btnI I'm feeling lucky...
# y: https://www.youtube.com/results?search_query=%s Youtube
# gm: https://www.google.com/maps?q=%s Google maps
# b: https://www.bing.com/search?q=%s Bing
# d: https://duckduckgo.com/?q=%s DuckDuckGo
# az: https://www.amazon.com/s/?field-keywords=%s
# qw: https://www.qwant.com/?q=%s Qwant
Add search-engine shortcuts to the Vomnibar. Format:
a: http://a.com/?q=%s
b: http://b.com/?q=%s description
" this is a comment
# this is also a comment
%s is replaced with the search terms.
For search completion, see
here
here
.
New tab URL
New tab URL
Vimium blank new tab page
Vimium blank new tab page
Open the Vomnibar when the page loads
Open the Vomnibar when the page loads
Browser's default new tab page
Browser's default new tab page
Custom URL
Custom URL
The page to open when using Vimium's "create new tab" command. To have Vimium commands work on
all
new tab pages opened by the browser, a separate Vimium new tab extension is required. See the full details
here
here
.
Advanced Options
Scroll step size
Scroll step size
60
px
The size for basic movements (usually j/k/h/l).
Characters used for link hints
Characters used for link hints
sadfjklewcmpgh
Reset
Reset
The characters placed next to each link after typing "f" to enter link-hint mode.
Use smooth scrolling
Use smooth scrolling
Use the link's name and characters for link-hint filtering
Use the link's name and characters for link-hint filtering
In link-hint mode, this option lets you select a link by typing its text.
Don't let pages steal the focus on load
Don't let pages steal the focus on load
Prevent pages from focusing an input on load (e.g. Google, Bing, etc.).
Hide the Heads Up Display (HUD) in insert mode
Hide the Heads Up Display (HUD) in insert mode
When enabled, the HUD will not be displayed in insert mode.
Hide update notifications
Hide update notifications
When enabled, "Vimium has been updated" notifications will not be shown.
Treat find queries as JavaScript regular expressions
Treat find queries as JavaScript regular expressions
Switch back to plain find mode by using the
\R
escape sequence.
Ignore keyboard layout
Ignore keyboard layout
This forces the use of
en-US
QWERTY layout and can be helpful for non-Latin keyboards.
Previous patterns
Previous patterns
prev,previous,back,older,<,‹,←,«,≪,<<
Reset
Reset
The "navigate to previous page" command uses these patterns to find the link to follow.
Next patterns
Next patterns
next,more,newer,>,›,→,»,≫,>>
Reset
Reset
The "navigate to next page" command uses these patterns to find the link to follow.
CSS for Vimium UI
CSS for Vimium UI
div > .vimiumHintMarker {
/* linkhint boxes */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785),
color-stop(100%,#FFC542));
border: 1px solid #E3BE23;
}
div > .vimiumHintMarker span {
/* linkhint text */
color: black;
font-weight: bold;
font-size: 12px;
}
div > .vimiumHintMarker > .matchingCharacter {
}
Reset
Reset
These styles are applied to link hints, the Vomnibar, the help dialog, the exclusions pop-up and the HUD.
By default, this CSS is used to style the characters next to each link hint.
These styles are used in addition to and take precedence over Vimium's default styles.
[SEED_PHRASE].
Restore
Restore
Browse… No file selected.
Browse…
No file selected.
Choose a backup file to restore.
Type
?
to show the help dialog.
Type
Cmd-Enter
to save all options.
No changes...
|
NULL
|
|
1358
|
30
|
12
|
2026-04-11T15:34:53.964408+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921693964_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO 886=>= writingimage sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:2B=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:34:53T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
3778159448158473162
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO 886=>= writingimage sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:2B=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:34:53T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
1357
|
|
1359
|
30
|
13
|
2026-04-11T15:34:57.004148+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921697004_m1.jpg...
|
Alfred
|
Alfred
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
>
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":">","depth":1,"bounds":{"left":0.26180556,"top":0.16777778,"width":0.4763889,"height":0.05888889},"value":">","help_text":"Alfred Search","role_description":"text field","is_enabled":true,"is_focused":true}]...
|
-2074190356682038592
|
-2074190356682038592
|
visual_change
|
hybrid
|
NULL
|
>
FirefoxFileEditViewHistoryBookmarksProfilesTo >
FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0(ahlsshDOCKER981DEV (-zsh)О ₴2APP (-zsh)• *3-zsh• *4-zsh-zshO 386=>= writingimagesha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+]Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/af[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build def'=>= transferring dockerfile: 266B=>[screenpipe-app internal] loadmetadataRun command in Terminal[screenpipe-app internal] load•dockerigr=> transferringcontext:2B[screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext=>= transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5]WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app4/5] RUN pip install--no-cache-dir -r requirements.txt[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:34:56T81ssh+0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.250.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
|
1360
|
30
|
14
|
2026-04-11T15:35:02.797578+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921702797_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Sat Apr 11 15:55:23 on ttys013
sp-stop Last login: Sat Apr 11 15:55:23 on ttys013
sp-stop
DOCKER
Close Tab
DEV (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Sat Apr 11 15:55:23 on ttys013\nsp-stop","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":0.9895833,"height":0.9122222},"value":"Last login: Sat Apr 11 15:55:23 on ttys013\nsp-stop","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.109375,"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.109375,"top":0.05888889,"width":0.109375,"height":0.026666667},"role_description":"radio button","is_focused":false,"is_selected":false,"is_expanded":false}]...
|
4002333871090605046
|
3072080568334697144
|
app_switch
|
hybrid
|
NULL
|
Last login: Sat Apr 11 15:55:23 on ttys013
sp-stop Last login: Sat Apr 11 15:55:23 on ttys013
sp-stop
DOCKER
Close Tab
DEV (-zsh)
FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp$0• 0sshDOCKER981DEV (-zsh)0 82APP (-zsh)• *3-zsh• *4-zsh-zshO 886=>= writingimage sha256:1cc7249e9796b8284c46f3dc76d83af56a9b1903a27d24f170ef37e32d4250d1namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d --build[+]Building 1.4s (10/10) FINISHED=> [screenpipe-app internal] load build definition from Dockerfiletransferring dockerfile: 266B=> [screenpipe-app internal] load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] load .dockerignore=>= transferring context:2B=> [screenpipe-app 1/5]FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal]load buildcontext= => transferringcontext: 38.85kB=> CACHED [screenpipe-app 2/5] WORKDIR/app=> CACHED [screenpipe-app3/5JCOPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=> [screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= => exporting layers= => writingimage sha256:419c50efa06cbdea99ee696ab64e21b0c1be3e80c7c0c907cfa4397d3c8922fe=> => namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ sudo docker compose up -d--build[+]Building 1.6s (10/10) FINISHED[screenpipe-app internal] load build definition from Dockerfile= transferring dockerfile: 266B=> [screenpipe-app internal]load metadata fordocker.io/library/python:3.12-slim= [screenpipe-app internal] loaddockerignore= transferringcontext: 2B=> [screenpipe-app 1/5] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286=> [screenpipe-app internal] load build context= = transferring context: 47.13kB=> CACHED [screenpipe-app 2/5] WORKDIR /app=> CACHED [screenpipe-app 3/5] COPY requirements.txt=> CACHED [screenpipe-app 4/5] RUN pip install--no-cache-dir -r requirements.txt=>[screenpipe-app 5/5]COPY=> [screenpipe-app] exporting to image= exporting layers= writing image sha256:573a54bded4817332baee83c3f0af51cabcb12859f06ebcf0f7ad428c1553e42namingto docker.io/library/app-screenpipe-app[+] Running 1/1• Container screenpipe-appStartedAdm1n@DXP4800PLUS-B5F8:/volume1/screenpipe/app$ U100% C-zshSat 11 Apr 18:35:02T81ssh0.0s0.0s0.85docker:default0.150.0s0.650.0s0.0s0.0s0.0s0.050.050.0s0.0s0.250.2s0.150.0s0.0s0.85docker:default0.150.050.850.050.050.0s0.150.0s0.050.0s0.[IP_ADDRESS].0s0.0s0.85...
|
NULL
|
|
1361
|
30
|
15
|
2026-04-11T15:35:03.975946+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775921703975_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER₴81DEV (-zsh)O $82Last login: Sat Apr 11 15:55:23 on ttys013sp-stopAPP (-zsh)• *3-zshPoetry could not find a pyproject.toml file in /Users/lukas or its parents• 84Python"-zsh*5-zsh40lhlO 86-zsh-*7100% C4*ssh88Sat 11 Apr 18:35:03T81-zsh...
|
NULL
|
-657149007532135068
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER₴81DEV (-zsh)O $82Last login: Sat Apr 11 15:55:23 on ttys013sp-stopAPP (-zsh)• *3-zshPoetry could not find a pyproject.toml file in /Users/lukas or its parents• 84Python"-zsh*5-zsh40lhlO 86-zsh-*7100% C4*ssh88Sat 11 Apr 18:35:03T81-zsh...
|
1360
|
|
1362
|
30
|
16
|
2026-04-11T15:41:59.667175+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922119667_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)","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)","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":"ssh","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
|
manual
|
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
|
|
1363
|
30
|
17
|
2026-04-11T15:42:01.486113+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922121486_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 http://localhost:3030/health | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 .","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 .","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":"ssh","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"}]...
|
-101960863956034134
|
4451267659801064546
|
clipboard
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 http://localhost:3030/health | jq .
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1362
|
|
1364
|
30
|
18
|
2026-04-11T15:42:05.220917+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922125220_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","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":"ssh","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"}]...
|
810635838678462500
|
3008989881299924582
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
1365
|
30
|
19
|
2026-04-11T15:42:35.343990+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922155343_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","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":"ssh","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"}]...
|
810635838678462500
|
3008989881299924582
|
idle
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1364
|
|
1366
|
30
|
20
|
2026-04-11T15:42:42.114347+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922162114_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
••iTerm2ShellDOCKEREditViewSessionScripts₴81DEV (- ••iTerm2ShellDOCKEREditViewSessionScripts₴81DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ |ProfilesWindowHelp-zsh-zsh<40-zshlhlO ₴6-zsh100% C87Sat 11 Apr 18:42:42sshT&1*8882UploadAPP (-zsh)Total0----*--*3SpentLeft-.-=-=-zshSpeed920k...
|
NULL
|
6000020707483861461
|
NULL
|
click
|
ocr
|
NULL
|
••iTerm2ShellDOCKEREditViewSessionScripts₴81DEV (- ••iTerm2ShellDOCKEREditViewSessionScripts₴81DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ |ProfilesWindowHelp-zsh-zsh<40-zshlhlO ₴6-zsh100% C87Sat 11 Apr 18:42:42sshT&1*8882UploadAPP (-zsh)Total0----*--*3SpentLeft-.-=-=-zshSpeed920k...
|
1364
|
|
1367
|
30
|
21
|
2026-04-11T15:42:44.738933+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922164738_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zshO 386-zsh100% <4787Sat 11 Apr18:42:44ssh181*8...
|
NULL
|
8288492106219247667
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zshO 386-zsh100% <4787Sat 11 Apr18:42:44ssh181*8...
|
NULL
|
|
1368
|
30
|
22
|
2026-04-11T15:42:49.987377+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922169987_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zshO 386-zsh100% <4787Sat 11 Apr18:42:49sshT81*8...
|
NULL
|
5768674744005222679
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zshO 386-zsh100% <4787Sat 11 Apr18:42:49sshT81*8...
|
1367
|
|
1369
|
30
|
23
|
2026-04-11T15:42:57.167589+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922177167_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zshO 886-zsh100% <4787Sat 11 Apr18:42:57sshT81*8...
|
NULL
|
-2318511323211008566
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zshO 886-zsh100% <4787Sat 11 Apr18:42:57sshT81*8...
|
NULL
|
|
1370
|
30
|
24
|
2026-04-11T15:43:00.477990+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922180477_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zsh₴86-zsh100% <4787Sat 11 Apr18:43:00sshT81*8...
|
NULL
|
8893085575016096383
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zshDOCKER981DEV (-zsh)100{9431009430Dload574k"audio_db_write_stalled": false,"audio_status": "disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname":"Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp":null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00","message": "all systemsare functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ l282UploadAPP (-zsh)Total0----*--*3SpentLeft--:--:---zshSpeed920k₴4-zsh85$0(ahl-zsh₴86-zsh100% <4787Sat 11 Apr18:43:00sshT81*8...
|
1369
|
|
1371
|
30
|
25
|
2026-04-11T15:43:00.947930+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922180947_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","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":"ssh","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"}]...
|
810635838678462500
|
3008989881299924582
|
click
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
1372
|
30
|
26
|
2026-04-11T15:43:02.851305+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922182851_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $ echo "alias spstatus='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
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $ echo \"alias spstatus='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","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $ echo \"alias spstatus='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","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":"ssh","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"}]...
|
8059017237112085187
|
3008989881299924582
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $ echo "alias spstatus='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
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1371
|
|
1373
|
30
|
27
|
2026-04-11T15:43:15.096525+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922195096_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2••DOCKER943ShellEditViewSessionScriptsProfil iTerm2••DOCKER943ShellEditViewSessionScriptsProfilesWindowHelp40lhl100% CSat 11 Apr 18:43:14-zshT81100{100₴81943DEV (-zsh)882APP (-zsh)*30574k-zsh920k-zsh-zshO 386-zsh87ssh*8"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok""hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\c...
|
NULL
|
336832501896723288
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2••DOCKER943ShellEditViewSessionScriptsProfil iTerm2••DOCKER943ShellEditViewSessionScriptsProfilesWindowHelp40lhl100% CSat 11 Apr 18:43:14-zshT81100{100₴81943DEV (-zsh)882APP (-zsh)*30574k-zsh920k-zsh-zshO 386-zsh87ssh*8"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok""hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\c...
|
NULL
|
|
1374
|
30
|
28
|
2026-04-11T15:43:17.085915+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922197085_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahl100% <4787Sat 11 Apr18:43:16sshT₴1*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k₴4-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
NULL
|
2683040321270900880
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahl100% <4787Sat 11 Apr18:43:16sshT₴1*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k₴4-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
1373
|
|
1375
|
30
|
29
|
2026-04-11T15:43:18.710518+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922198710_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahl100% <4787Sat 11 Apr18:43:18sshT₴1*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k₴4-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
NULL
|
3728618278464199212
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahl100% <4787Sat 11 Apr18:43:18sshT₴1*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k₴4-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
NULL
|
|
1376
|
30
|
30
|
2026-04-11T15:43:19.322905+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922199322_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahl100% <4787Sat 11 Apr18:43:19sshT₴1*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k₴4-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
NULL
|
-3924605865894597814
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahl100% <4787Sat 11 Apr18:43:19sshT₴1*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k₴4-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
1375
|
|
1377
|
30
|
31
|
2026-04-11T15:43:22.124653+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922202124_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh24k5$0-zsh(ahl100% <4787Sat 11 Apr18:43:22sshT81*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
NULL
|
5391689068397070650
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh24k5$0-zsh(ahl100% <4787Sat 11 Apr18:43:22sshT81*8DOCKER943100{100981943DEV (-zsh)882APP (-zsh)*30574k-zsh920k-zsh85O 886-zsh"audio_db_write_stalled": false,"audio_status":"disabled","device_status_details": null,"drm_content_paused": false,"frame_status":"ok","hostname": "Lukas-Kovaliks-MacBook-Pro-Jiminny","last_audio_timestamp": null,"last_frame_timestamp": "2026-04-11T18:42:01+03:00" ,"message": "all systems are functioning normally.","monitors": ["Display 1 (1440x900)"."Display 2 (2560x1440)"],"pipeline": {"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 0},"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ echo "alias spstatus='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}\g...
|
NULL
|
|
1378
|
30
|
32
|
2026-04-11T15:43:23.999667+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922203999_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","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":"ssh","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"}]...
|
810635838678462500
|
3008989881299924582
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1377
|
|
1379
|
30
|
33
|
2026-04-11T15:43:44.150957+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922224150_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfiles..DOCKE iTerm2ShellEditViewSessionScriptsProfiles..DOCKER₴81DEV (-zsh)882APP (-zsh)"message":"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": falseWindowHelp<40lhl-zsh*3-zsh-zsh-zshO ₴6-zsh}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ l100% C87Sat 11 Apr 18:43:43sshT&1*8.last_frame_timestamp, uptime:...
|
NULL
|
6062578455161372326
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfiles..DOCKE iTerm2ShellEditViewSessionScriptsProfiles..DOCKER₴81DEV (-zsh)882APP (-zsh)"message":"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": falseWindowHelp<40lhl-zsh*3-zsh-zsh-zshO ₴6-zsh}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ l100% C87Sat 11 Apr 18:43:43sshT&1*8.last_frame_timestamp, uptime:...
|
NULL
|
|
1380
|
30
|
34
|
2026-04-11T15:43:45.109184+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922225109_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O 886-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr18:43:44sshT₴1*8.last_frame_timestamp, uptime:...
|
NULL
|
5163825927091759172
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O 886-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr18:43:44sshT₴1*8.last_frame_timestamp, uptime:...
|
1379
|
|
1381
|
30
|
35
|
2026-04-11T15:43:46.026998+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922226026_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O 886-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr18:43:45sshT₴1*8.last_frame_timestamp, uptime:...
|
NULL
|
4780748595128328506
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O 886-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr18:43:45sshT₴1*8.last_frame_timestamp, uptime:...
|
NULL
|
|
1382
|
30
|
36
|
2026-04-11T15:43:50.430591+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922230430_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O 886-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr18:43:50sshT₴1*8.last_frame_timestamp, uptime:...
|
NULL
|
4190297941499825552
|
NULL
|
clipboard
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O 886-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr18:43:50sshT₴1*8.last_frame_timestamp, uptime:...
|
1381
|
|
1383
|
30
|
37
|
2026-04-11T15:44:20.717268+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922260717_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O ₴6-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr 18:44:20ssh181*8.last_frame_timestamp, uptime:...
|
NULL
|
8215581508446091488
|
NULL
|
idle
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowH iTerm2ShellEditViewSessionScriptsProfilesWindowHelp-zsh$0-zsh(ahlDOCKER981DEV (-zsh)282APP (-zsh)*3-zsh₴4-zsh85O ₴6-zsh"message" :"allsystemsare functioning normally.","monitors": [*Display 2 (2560x)00):J,"pipeline":{"avg_db_latency_ms": 56.5,"avg_ocr_latency_ms": 0.0,"capture_fps_actual": 0.[CREDIT_CARD],"frame_drop_rate": 0.0,"frames_captured": 2,"frames_db_written": 2,"frames_dropped": 0,"ocr_cache_hit_rate": 0.0,"ocr_queue_depth": 0,"pipeline_stall_count": 0,"time_to_first_frame_ms": 1250.985,"uptime_secs": 3.497168708,"video_queue_depth": 03,"pool_stats": {"read_pool_idle": 3,"read_pool_size": 3,"write_pool_idle": 2,"write_pool_size": 23,"schedule_paused": false,"status": "healthy","status_code": 200,"verbose_instructions": null,"version": "0.3.278","vision_db_write_stalled": false}lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny Volumes $ curl -s [URL_WITH_CREDENTIALS] /Volumes $ 0100% <4787Sat 11 Apr 18:44:20ssh181*8.last_frame_timestamp, uptime:...
|
NULL
|
|
1384
|
30
|
38
|
2026-04-11T15:44:34.018525+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922274018_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","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":"ssh","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"}]...
|
1954793808959611333
|
4161911385906771558
|
click
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1383
|
|
1385
|
30
|
39
|
2026-04-11T15:44:40.378165+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922280378_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 spstatus='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
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 spstatus='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","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 spstatus='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","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":"ssh","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"}]...
|
-6150475841360271668
|
3008989881299924582
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 spstatus='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
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
1386
|
30
|
40
|
2026-04-11T15:45:13.641781+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922313641_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \"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 $","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":"ssh","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"}]...
|
2624574563273396137
|
3008989898479777382
|
idle
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1385
|
|
1387
|
30
|
41
|
2026-04-11T15:45:19.614630+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922319614_m1.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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] record --disable-audio &"
alias rmbc="rm -rf bootstrap/cache/*.php"
alias addssh="ssh-add ~/.ssh/*"
alias install_nano="apt-get update & apt-get install nano"
#alias prod_virt="ssh -t -A lukas@jiminny-prod-bastion ssh ubuntu@[IP_ADDRESS]"
#alias stage_virt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@[IP_ADDRESS]"
#alias stgvirt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@"
alias co="git checkout"
alias gs="git status"
alias gcb="git branch --show-current | pbcopy"
alias gbr="git branch --sort=-committerdate"
alias csfix="make cs-fix"
alias cov="./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage"
alias work="cd ~/jiminny/infrastructure/dev/docker && docker compose up"
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 UW PICO 5.09 File: /Users/lukas/.zprofile \n\neval \"$(/opt/homebrew/bin/brew shellenv)\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n\nexport GITHUB_PACKAGES_REGISTRY_READ_PAT=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\nexport FONTAWESOME_NPM_AUTH_TOKEN=3ED3A214-C92A-4C04-880B-9615784E2493\n\nalias ll=\"ls -la --color=tty\"\n\nalias kar=\"cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku\"\nalias app=\"cd ~/jiminny/app\"\nalias ext=\"nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview\"\nalias zp=\"nano ~/.zprofile\"\nalias hhh=\"history\"\nalias hhs=\"history 0 | grep \"\n\nalias sp-stop=\"pkill -f screenpipe && echo 'screenpipe stopped'\"\nalias sp-start=\"npx screenpipe@latest record --disable-audio &\"\n\nalias rmbc=\"rm -rf bootstrap/cache/*.php\"\n\nalias addssh=\"ssh-add ~/.ssh/*\"\n\nalias install_nano=\"apt-get update & apt-get install nano\"\n\n#alias prod_virt=\"ssh -t -A lukas@jiminny-prod-bastion ssh ubuntu@10.30.80.238\"\n#alias stage_virt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@10.30.142.112\"\n#alias stgvirt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@\"\n\nalias co=\"git checkout\"\nalias gs=\"git status\"\nalias gcb=\"git branch --show-current | pbcopy\"\nalias gbr=\"git branch --sort=-committerdate\"\n\nalias csfix=\"make cs-fix\"\nalias cov=\"./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage\"\n\nalias work=\"cd ~/jiminny/infrastructure/dev/docker && docker compose up\"\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 UW PICO 5.09 File: /Users/lukas/.zprofile \n\neval \"$(/opt/homebrew/bin/brew shellenv)\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n\nexport GITHUB_PACKAGES_REGISTRY_READ_PAT=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\nexport FONTAWESOME_NPM_AUTH_TOKEN=3ED3A214-C92A-4C04-880B-9615784E2493\n\nalias ll=\"ls -la --color=tty\"\n\nalias kar=\"cp -f ~/DEV/settings/goku-karabiner-settings/karabiner.edn ~/.config/karabiner.edn && goku\"\nalias app=\"cd ~/jiminny/app\"\nalias ext=\"nvm use 20 && cd ~/jiminny/extension-app && yarn build:dev && yarn preview\"\nalias zp=\"nano ~/.zprofile\"\nalias hhh=\"history\"\nalias hhs=\"history 0 | grep \"\n\nalias sp-stop=\"pkill -f screenpipe && echo 'screenpipe stopped'\"\nalias sp-start=\"npx screenpipe@latest record --disable-audio &\"\n\nalias rmbc=\"rm -rf bootstrap/cache/*.php\"\n\nalias addssh=\"ssh-add ~/.ssh/*\"\n\nalias install_nano=\"apt-get update & apt-get install nano\"\n\n#alias prod_virt=\"ssh -t -A lukas@jiminny-prod-bastion ssh ubuntu@10.30.80.238\"\n#alias stage_virt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@10.30.142.112\"\n#alias stgvirt=\"ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@\"\n\nalias co=\"git checkout\"\nalias gs=\"git status\"\nalias gcb=\"git branch --show-current | pbcopy\"\nalias gbr=\"git branch --sort=-committerdate\"\n\nalias csfix=\"make cs-fix\"\nalias cov=\"./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage\"\n\nalias work=\"cd ~/jiminny/infrastructure/dev/docker && docker compose up\"\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.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":"nano","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":"ssh","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":"nano","depth":1,"bounds":{"left":0.4875,"top":0.033333335,"width":0.025,"height":0.017777778},"role_description":"text"}]...
|
-8583968705719012387
|
3009130618771494502
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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] record --disable-audio &"
alias rmbc="rm -rf bootstrap/cache/*.php"
alias addssh="ssh-add ~/.ssh/*"
alias install_nano="apt-get update & apt-get install nano"
#alias prod_virt="ssh -t -A lukas@jiminny-prod-bastion ssh ubuntu@[IP_ADDRESS]"
#alias stage_virt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@[IP_ADDRESS]"
#alias stgvirt="ssh -t -A lukas@jiminny-stage-bastion ssh ubuntu@"
alias co="git checkout"
alias gs="git status"
alias gcb="git branch --show-current | pbcopy"
alias gbr="git branch --sort=-committerdate"
alias csfix="make cs-fix"
alias cov="./vendor/bin/phpunit tests/Unit --coverage-html=build/coverage"
alias work="cd ~/jiminny/infrastructure/dev/docker && docker compose up"
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
NULL
|
|
1388
|
30
|
42
|
2026-04-11T15:45:31.676559+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922331676_m1.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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] -p22"
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
# Load version control information
autoload -Uz vcs_info
precmd() { vcs_info }
# Format the vcs_info_msg_0_ variable
zstyle ':vcs_info:git:*' formats ' (%b)'
# Set up the prompt (with git branch name)
setopt PROMPT_SUBST
PROMPT='%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~%{$reset_color%}% %{$fg[green]%}% ${vcs_info_msg_0_}%{$reset_color%}% $ '
# Setting PATH for Python 3.11
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}"
export PATH
function cursor {
if [[ $# = 0 ]]; then
open -a "Cursor"
else
local argPath="$1"
[[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
open -a "Cursor" "$argPath"
fi
}
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 UW PICO 5.09 File: /Users/lukas/.zprofile \n\nalias prophetup=\"aws-vault exec staging -- bash -c \\\"env | grep AWS_ > aws-creds.env && docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build\\\"\"\nalias prophetdown=\"aws-vault exec staging -- bash -c \\\"env | grep AWS_ > aws-creds.env && docker compose -f docker-compose.yml -f docker-compose.dev.yml down\\\"\"\nalias poetryshell=\"eval \\\"$(poetry env activate)\\\"\"\n\nalias nas=\"ssh Adm1n@192.168.0.242 -p22\"\n\nautoload -U colors && colors\nPS1=\"%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% \"\n\n# Load version control information\nautoload -Uz vcs_info\nprecmd() { vcs_info }\n\n# Format the vcs_info_msg_0_ variable\nzstyle ':vcs_info:git:*' formats ' (%b)'\n\n# Set up the prompt (with git branch name)\nsetopt PROMPT_SUBST\nPROMPT='%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~%{$reset_color%}% %{$fg[green]%}% ${vcs_info_msg_0_}%{$reset_color%}% $ '\n\n# Setting PATH for Python 3.11\n# The original version is saved in .zprofile.pysave\nPATH=\"/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}\"\nexport PATH\n\nfunction cursor {\n if [[ $# = 0 ]]; then \n open -a \"Cursor\"\n\u0000\u0000\u0000\u0000else\n local argPath=\"$1\"\n [[ $1 = /* ]] && argPath=\"$1\" || argPath=\"$PWD/${1#./}\"\n open -a \"Cursor\" \"$argPath\"\n\u0000\u0000\u0000\u0000fi\n}\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 UW PICO 5.09 File: /Users/lukas/.zprofile \n\nalias prophetup=\"aws-vault exec staging -- bash -c \\\"env | grep AWS_ > aws-creds.env && docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build\\\"\"\nalias prophetdown=\"aws-vault exec staging -- bash -c \\\"env | grep AWS_ > aws-creds.env && docker compose -f docker-compose.yml -f docker-compose.dev.yml down\\\"\"\nalias poetryshell=\"eval \\\"$(poetry env activate)\\\"\"\n\nalias nas=\"ssh Adm1n@192.168.0.242 -p22\"\n\nautoload -U colors && colors\nPS1=\"%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% \"\n\n# Load version control information\nautoload -Uz vcs_info\nprecmd() { vcs_info }\n\n# Format the vcs_info_msg_0_ variable\nzstyle ':vcs_info:git:*' formats ' (%b)'\n\n# Set up the prompt (with git branch name)\nsetopt PROMPT_SUBST\nPROMPT='%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~%{$reset_color%}% %{$fg[green]%}% ${vcs_info_msg_0_}%{$reset_color%}% $ '\n\n# Setting PATH for Python 3.11\n# The original version is saved in .zprofile.pysave\nPATH=\"/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}\"\nexport PATH\n\nfunction cursor {\n if [[ $# = 0 ]]; then \n open -a \"Cursor\"\n\u0000\u0000\u0000\u0000else\n local argPath=\"$1\"\n [[ $1 = /* ]] && argPath=\"$1\" || argPath=\"$PWD/${1#./}\"\n open -a \"Cursor\" \"$argPath\"\n\u0000\u0000\u0000\u0000fi\n}\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.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":"nano","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":"ssh","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":"nano","depth":1,"bounds":{"left":0.4875,"top":0.033333335,"width":0.025,"height":0.017777778},"role_description":"text"}]...
|
1153558738826457959
|
2937073162189296738
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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] -p22"
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
# Load version control information
autoload -Uz vcs_info
precmd() { vcs_info }
# Format the vcs_info_msg_0_ variable
zstyle ':vcs_info:git:*' formats ' (%b)'
# Set up the prompt (with git branch name)
setopt PROMPT_SUBST
PROMPT='%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~%{$reset_color%}% %{$fg[green]%}% ${vcs_info_msg_0_}%{$reset_color%}% $ '
# Setting PATH for Python 3.11
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}"
export PATH
function cursor {
if [[ $# = 0 ]]; then
open -a "Cursor"
else
local argPath="$1"
[[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
open -a "Cursor" "$argPath"
fi
}
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
1387
|
|
1389
|
30
|
43
|
2026-04-11T15:45:40.763304+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922340763_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 $","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":"ssh","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"}]...
|
3024570959584171357
|
3009130618788279906
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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 $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
1390
|
30
|
44
|
2026-04-11T15:45:52.873105+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922352873_m1.jpg...
|
iTerm2
|
ls
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
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
-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 ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ls
Close Tab
ssh
Close Tab
⌥⌘1
ls...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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\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-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 ~ $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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\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-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 ~ $","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":"ls","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":"ssh","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":"ls","depth":1,"bounds":{"left":0.49444443,"top":0.033333335,"width":0.011111111,"height":0.017777778},"role_description":"text"}]...
|
-7308130696015354492
|
2973105120308395616
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
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
-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 ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ls
Close Tab
ssh
Close Tab
⌥⌘1
ls...
|
1389
|
|
1391
|
30
|
45
|
2026-04-11T15:46:17.063567+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922377063_m1.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
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: .pipeli$
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\nalias sp-status='curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeli$\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\nalias sp-status='curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeli$\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.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":"nano","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":"ssh","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":"nano","depth":1,"bounds":{"left":0.4875,"top":0.033333335,"width":0.025,"height":0.017777778},"role_description":"text"}]...
|
-6692613549932102593
|
2973105120304191074
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
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: .pipeli$
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
NULL
|
|
1392
|
30
|
46
|
2026-04-11T15:46:35.157384+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922395157_m1.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}"'
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.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":"nano","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":"ssh","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":"nano","depth":1,"bounds":{"left":0.4875,"top":0.033333335,"width":0.025,"height":0.017777778},"role_description":"text"}]...
|
-1572275844958480503
|
2973105120304191074
|
visual_change
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}"'
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
1391
|
|
1393
|
30
|
47
|
2026-04-11T15:46:38.894015+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922398894_m1.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}"'
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.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":"nano","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":"ssh","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":"nano","depth":1,"bounds":{"left":0.4875,"top":0.033333335,"width":0.025,"height":0.017777778},"role_description":"text"}]...
|
-2134425604097212861
|
2973105120304191074
|
click
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}"'
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
NULL
|
|
1394
|
30
|
48
|
2026-04-11T15:46:43.816017+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922403816_m1.jpg...
|
iTerm2
|
nano
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}"'
[ Unknown Command: ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Unknown Command: ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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 \n UW PICO 5.09 File: .zshrc \n\n. ~/.zprofile\n\nsource /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop\n\n# Added by Windsurf\nexport PATH=\"/Users/lukas/.codeium/windsurf/bin:$PATH\"\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [ Unknown Command: ] \n^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos \n^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.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":"nano","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":"ssh","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":"nano","depth":1,"bounds":{"left":0.4875,"top":0.033333335,"width":0.025,"height":0.017777778},"role_description":"text"}]...
|
-6037013225245471503
|
2973105120304191074
|
click
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
UW PICO 5.09 File: .zshrc
. ~/.zprofile
source /Users/lukas/.docker/init-zsh.sh || true # Added by Docker Desktop
# Added by Windsurf
export PATH="/Users/lukas/.codeium/windsurf/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ipeline.capture_fps_actual, frames: .pipeline.frames_captured}"'
[ Unknown Command: ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
nano
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
nano...
|
1393
|
|
1395
|
30
|
49
|
2026-04-11T15:47:17.295441+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922437295_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
-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 ~ $ cd
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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-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 ~ $ cd","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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-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 ~ $ cd","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":"ssh","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"}]...
|
4837579268199159703
|
2973105120308395616
|
idle
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
-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 ~ $ cd
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
1396
|
30
|
50
|
2026-04-11T15:47:47.405103+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922467405_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
-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 ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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-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 ~ $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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-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 ~ $","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":"ssh","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"}]...
|
302391323801480675
|
2973105120308395616
|
idle
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
-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 ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
1395
|
|
1397
|
30
|
51
|
2026-04-11T15:47:55.621764+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922475621_m1.jpg...
|
Firefox
|
Screenpipe Dashboard — Personal
|
True
|
http://100.73.206.126:8766
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – 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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
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 (1) - 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":"Edit profile","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Edit profile","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"How to Get Through the Product Management Bottleneck","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"How to Get Through the Product Management Bottleneck","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Časť 2 • HBO Max","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Časť 2 • 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":"Maďarské voľby – Denník N","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Maďarské voľby – 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":"Problem loading page","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Problem loading page","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":"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":"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":"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":"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":"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":"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":"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"}]...
|
9194064562910267055
|
-5392777572757647826
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit DXP4800PLUS-B5F8
Inbox (1) - [EMAIL] - Gmail
Edit profile
Edit profile
How to Get Through the Product Management Bottleneck
How to Get Through the Product Management Bottleneck
Časť 2 • HBO Max
Časť 2 • 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)
Maďarské voľby – Denník N
Maďarské voľby – 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
Problem loading page
Problem loading page
Machines - Tailscale
Machines - Tailscale
New Tab
New Tab
Screenpipe Dashboard
Screenpipe Dashboard
Close tab
New Tab
New Tab
New Tab
New Tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
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
|
|
1398
|
30
|
52
|
2026-04-11T15:47:56.852499+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922476852_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScripts|ProfilesWindowHe iTerm2ShellEditViewSessionScripts|ProfilesWindowHelp-zsh$0(ahl-zsh886100% <7O 87Sat 11 Apr18:47:56sshT81*8DOCKER981DEV (-zsh)882APP (-zsh)*3-zsh₴4-zsh-zsh-rw-r--r--@1 lukasstaff290015 Mar2023ahweerreelukasstaff173129Jun2022•zprofile.pysavestaff.zprofile.save-rw-r--r--1lukas15698 Apr-rw--1lukasstaff2022zprofilees2881211 Apr 18:38.zsh_historydrwx-9lukasstaff2886May2025zsh_sessions-rw-r-•-@1lukasstaff59711Apr18:44.zshrcdrwx----@9lukasstaff2889 Apr20:08Applicationsdrwxr-xr-x@2lukasstaff6422 Oct09:35CascadeProjectsdrwxr-xr-xlukasstaffdrwx--@10 lukasstaff12827 Oct09:24DEV32011Apr18:31Desktop|drwx--@7 lukasstaff22426Mar14:40Documentsdrwx--@41lukasstaff13128Apr20:46Downloadsdrwxr-xr-x@4lukasstaff12817Mar20:27Keychron_Screendrwx--@112 lukasstaff35842 Dec09:19Librarydrwx7 lukasstaff22412Feb2024Moviesdrwx5lukasstaff16025drwx-9lukasstaffSep2023Music28825Sep2023Picturesdrwx-lukasstaff968 Nov2021Postmandrwx--4 lukasstaff-rw-r-r--@1 lukasstaff12828 Oct2021 Public395015 Dec09:16 Untitled 4.spfdrwx-4 lukasstaff1282Jul2023Usersdrwx-3 lukasstaffdrwx-16 lukasstaff9630Sep2022iCloud Drive (Archive)5123 Nov11:35jiminnydrwxr-xr-x3 lukasstaff9620 Mar18:47node_modulesdrwxr-xr-x4 lukasstaff128 21 Oct18:15raycast-rw-r--r--1 lukasstaff01 Mar 14:26 response.bin-rwxr-xr-x1 lukasstaff3824 11 Apr 15:16 screenpipe-day.sh-rw-r--r--1 lukasstaff86 20 Mar 18:47 yarn. locklukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano.zshrclukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo"alias sp-status='curl-s [URL_WITH_CREDENTIALS] ~ $ source ~/zprofilePoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sp-status"Sratesst tusa thy""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 ~ $ D...
|
NULL
|
3817794927086530951
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScripts|ProfilesWindowHe iTerm2ShellEditViewSessionScripts|ProfilesWindowHelp-zsh$0(ahl-zsh886100% <7O 87Sat 11 Apr18:47:56sshT81*8DOCKER981DEV (-zsh)882APP (-zsh)*3-zsh₴4-zsh-zsh-rw-r--r--@1 lukasstaff290015 Mar2023ahweerreelukasstaff173129Jun2022•zprofile.pysavestaff.zprofile.save-rw-r--r--1lukas15698 Apr-rw--1lukasstaff2022zprofilees2881211 Apr 18:38.zsh_historydrwx-9lukasstaff2886May2025zsh_sessions-rw-r-•-@1lukasstaff59711Apr18:44.zshrcdrwx----@9lukasstaff2889 Apr20:08Applicationsdrwxr-xr-x@2lukasstaff6422 Oct09:35CascadeProjectsdrwxr-xr-xlukasstaffdrwx--@10 lukasstaff12827 Oct09:24DEV32011Apr18:31Desktop|drwx--@7 lukasstaff22426Mar14:40Documentsdrwx--@41lukasstaff13128Apr20:46Downloadsdrwxr-xr-x@4lukasstaff12817Mar20:27Keychron_Screendrwx--@112 lukasstaff35842 Dec09:19Librarydrwx7 lukasstaff22412Feb2024Moviesdrwx5lukasstaff16025drwx-9lukasstaffSep2023Music28825Sep2023Picturesdrwx-lukasstaff968 Nov2021Postmandrwx--4 lukasstaff-rw-r-r--@1 lukasstaff12828 Oct2021 Public395015 Dec09:16 Untitled 4.spfdrwx-4 lukasstaff1282Jul2023Usersdrwx-3 lukasstaffdrwx-16 lukasstaff9630Sep2022iCloud Drive (Archive)5123 Nov11:35jiminnydrwxr-xr-x3 lukasstaff9620 Mar18:47node_modulesdrwxr-xr-x4 lukasstaff128 21 Oct18:15raycast-rw-r--r--1 lukasstaff01 Mar 14:26 response.bin-rwxr-xr-x1 lukasstaff3824 11 Apr 15:16 screenpipe-day.sh-rw-r--r--1 lukasstaff86 20 Mar 18:47 yarn. locklukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano.zshrclukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo"alias sp-status='curl-s [URL_WITH_CREDENTIALS] ~ $ source ~/zprofilePoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sp-status"Sratesst tusa thy""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 ~ $ D...
|
NULL
|
|
1399
|
30
|
53
|
2026-04-11T15:47:58.584334+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922478584_m1.jpg...
|
NULL
|
NULL
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScripts|ProfilesWindowHe iTerm2ShellEditViewSessionScripts|ProfilesWindowHelp-zsh$0(ahl-zsh886100% <7O 87Sat 11 Apr18:47:58sshT81*8DOCKER981DEV (-zsh)882APP (-zsh)*3-zsh₴4-zsh-zsh-rw-r--r--@1 lukasstaff290015 Mar2023ahweerreelukasstaff173129Jun2022•zprofile.pysavestaff.zprofile.save-rw-r--r--1lukas15698 Apr-rw--1lukasstaff2022zprofilees2881211 Apr 18:38.zsh_historydrwx-9lukasstaff2886May2025zsh_sessions-rw-r-•-@1lukasstaff59711Apr18:44.zshrcdrwx----@9lukasstaff2889 Apr20:08Applicationsdrwxr-xr-x@2lukasstaff6422 Oct09:35CascadeProjectsdrwxr-xr-xlukasstaffdrwx--@10 lukasstaff12827 Oct09:24DEV32011Apr18:31Desktop|drwx--@7 lukasstaff22426Mar14:40Documentsdrwx--@41lukasstaff13128Apr20:46Downloadsdrwxr-xr-x@4lukasstaff12817Mar20:27Keychron_Screendrwx--@112 lukasstaff35842 Dec09:19Librarydrwx7 lukasstaff22412Feb2024Moviesdrwx5lukasstaff16025drwx-9lukasstaffSep2023Music28825Sep2023Picturesdrwx-lukasstaff968 Nov2021Postmandrwx--4 lukasstaff-rw-r-r--@1 lukasstaff12828 Oct2021 Public395015 Dec09:16 Untitled 4.spfdrwx-4 lukasstaff1282Jul2023Usersdrwx-3 lukasstaffdrwx-16 lukasstaff9630Sep2022iCloud Drive (Archive)5123 Nov11:35jiminnydrwxr-xr-x3 lukasstaff9620 Mar18:47node_modulesdrwxr-xr-x4 lukasstaff128 21 Oct18:15raycast-rw-r--r--1 lukasstaff01 Mar 14:26 response.bin-rwxr-xr-x1 lukasstaff3824 11 Apr 15:16 screenpipe-day.sh-rw-r--r--1 lukasstaff86 20 Mar 18:47 yarn. locklukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano.zshrclukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo"alias sp-status='curl-s [URL_WITH_CREDENTIALS] ~ $ source ~/zprofilePoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sp-status"Sratesst tusa thy""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 ~ $ D...
|
NULL
|
-6182152733006951616
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScripts|ProfilesWindowHe iTerm2ShellEditViewSessionScripts|ProfilesWindowHelp-zsh$0(ahl-zsh886100% <7O 87Sat 11 Apr18:47:58sshT81*8DOCKER981DEV (-zsh)882APP (-zsh)*3-zsh₴4-zsh-zsh-rw-r--r--@1 lukasstaff290015 Mar2023ahweerreelukasstaff173129Jun2022•zprofile.pysavestaff.zprofile.save-rw-r--r--1lukas15698 Apr-rw--1lukasstaff2022zprofilees2881211 Apr 18:38.zsh_historydrwx-9lukasstaff2886May2025zsh_sessions-rw-r-•-@1lukasstaff59711Apr18:44.zshrcdrwx----@9lukasstaff2889 Apr20:08Applicationsdrwxr-xr-x@2lukasstaff6422 Oct09:35CascadeProjectsdrwxr-xr-xlukasstaffdrwx--@10 lukasstaff12827 Oct09:24DEV32011Apr18:31Desktop|drwx--@7 lukasstaff22426Mar14:40Documentsdrwx--@41lukasstaff13128Apr20:46Downloadsdrwxr-xr-x@4lukasstaff12817Mar20:27Keychron_Screendrwx--@112 lukasstaff35842 Dec09:19Librarydrwx7 lukasstaff22412Feb2024Moviesdrwx5lukasstaff16025drwx-9lukasstaffSep2023Music28825Sep2023Picturesdrwx-lukasstaff968 Nov2021Postmandrwx--4 lukasstaff-rw-r-r--@1 lukasstaff12828 Oct2021 Public395015 Dec09:16 Untitled 4.spfdrwx-4 lukasstaff1282Jul2023Usersdrwx-3 lukasstaffdrwx-16 lukasstaff9630Sep2022iCloud Drive (Archive)5123 Nov11:35jiminnydrwxr-xr-x3 lukasstaff9620 Mar18:47node_modulesdrwxr-xr-x4 lukasstaff128 21 Oct18:15raycast-rw-r--r--1 lukasstaff01 Mar 14:26 response.bin-rwxr-xr-x1 lukasstaff3824 11 Apr 15:16 screenpipe-day.sh-rw-r--r--1 lukasstaff86 20 Mar 18:47 yarn. locklukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nano.zshrclukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ echo"alias sp-status='curl-s [URL_WITH_CREDENTIALS] ~ $ source ~/zprofilePoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S sp-status"Sratesst tusa thy""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 ~ $ D...
|
1398
|
|
1400
|
30
|
54
|
2026-04-11T15:48:01.530489+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-11/1775 /Users/lukas/.screenpipe/data/data/2026-04-11/1775922481530_m1.jpg...
|
iTerm2
|
-zsh
|
True
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
-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 ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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-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 ~ $","depth":4,"value":"drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe\numount: unmount(/Volumes/screenpipe): Operation not permitted\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt\ntouch: /Volumes/screenpipe/test.txt: Operation not permitted\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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@100.73.206.126:/volume1/screenpipe/\nscp: dest open \"/volume1/screenpipe/\": No such file or directory\nscp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/screenpipe/\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 $clear\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: bad pattern: unmount(/Volumes/screenpipe):\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: touch:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: cp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: scp:\nzsh: command not found: scp:\nzsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny\nzsh: command not found: total\nzsh: command not found: drwxr-xr-x\nzsh: command not found: drwxr-xr-x\nzsh: 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-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 ~ $","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":"ssh","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"}]...
|
302391323801480675
|
2973105120308395616
|
click
|
accessibility
|
NULL
|
drwx------ 1 lukas staff 16384 11 Apr 16:34 sc drwx------ 1 lukas staff 16384 11 Apr 16:34 screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ umount /Volumes/screenpipe
umount: unmount(/Volumes/screenpipe): Operation not permitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny /Volumes $ touch /Volumes/screenpipe/test.txt
touch: /Volumes/screenpipe/test.txt: Operation not permitted
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 $ 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 $ scp ~/.screenpipe/db.sqlite Adm1n@[IP_ADDRESS]:/volume1/screenpipe/
scp: dest open "/volume1/screenpipe/": No such file or directory
scp: failed to upload file /Users/lukas/.screenpipe/db.sqlite to /volume1/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 $clear
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: bad pattern: unmount(/Volumes/screenpipe):
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: touch:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: cp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: scp:
zsh: command not found: scp:
zsh: command not found: lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny
zsh: command not found: total
zsh: command not found: drwxr-xr-x
zsh: command not found: drwxr-xr-x
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
-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 ~ $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
-zsh
Close Tab
ssh
Close Tab
⌥⌘1
-zsh...
|
NULL
|