|
|
NULL
|
NULL
|
NULL
|
|
&
|
NULL
|
NULL
|
NULL
|
|
app_
|
NULL
|
NULL
|
NULL
|
|
name
|
NULL
|
NULL
|
NULL
|
|
=
|
NULL
|
NULL
|
NULL
|
|
Firefox
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/activity-summary?start_time=2026-04-12T00:00:00Z&end_time=2026-04-12T23:59:59Z&app_name=Firefox" | python3 -m json.tool
{
"apps": [
{
"first_seen": "2026-04-12T11:41:48.660134+03:00",
"frame_count": 69,
"last_seen": "2026-04-12T12:43:36.945953+03:00",
"minutes": 27.2,
"name": "Firefox"
}
],
"audio_summary": {
"segment_count": 0,
"speakers": [],
"top_transcriptions": []
},
"key_texts": [
{
"app_name": "Firefox",
"text": "Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.",
"timestamp": "2026-04-12T12:31:31.435241+03:00",
"window_name": "Add-ons for Firefox (en-US) \u2014 Personal"
},
{
"app_n......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/activity-summary?start_time=2026-04-12T00:00:00Z&end_time=2026-04-12T23:59:59Z&app_name=Firefox" | python3 -m json.tool
{
"apps": [
{
"first_seen": "2026-04-12T11:41:48.660134+03:00",
"frame_count": 69,
"last_seen": "2026-04-12T12:43:36.945953+03:00",
"minutes": 27.2,
"name": "Firefox"
}
],
"audio_summary": {
"segment_count": 0,
"speakers": [],
"top_transcriptions": []
},
"key_texts": [
{
"app_name": "Firefox",
"text": "Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.",
"timestamp": "2026-04-12T12:31:31.435241+03:00",
"window_name": "Add-ons for Firefox (en-US) \u2014 Personal"
},
{
"app_n......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/activity-summary?start_time=2026-04-12T00:00:00Z&end_time=2026-04-12T23:59:59Z&app_name=Firefox" | python3 -m json.tool
{
"apps": [
{
"first_seen": "2026-04-12T11:41:48.660134+03:00",
"frame_count": 69,
"last_seen": "2026-04-12T12:43:36.945953+03:00",
"minutes": 27.2,
"name": "Firefox"
}
],
"audio_summary": {
"segment_count": 0,
"speakers": [],
"top_transcriptions": []
},
"key_texts": [
{
"app_name": "Firefox",
"text": "Yes, you can switch between Firefox profiles using your keyboard, though Firefox doesn't have a single, dedicated built-in shortcut for this like some other browsers do.",
"timestamp": "2026-04-12T12:31:31.435241+03:00",
"window_name": "Add-ons for Firefox (en-US) \u2014 Personal"
},
{
"app_n......
|
NULL
|
NULL
|
NULL
|
|
clear
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
curl -s "http://localhost:3030/elements?limit= curl -s "http://localhost:3030/elements?limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/elements?limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"bounds": null,
"confidence": null,
"depth": 4,
"frame_id": 2430,
"id": 152567,
"parent_id": null,
"role": "AXTextArea",
"sort_order": 0,
"source": "accessibility",
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n \"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefo......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/elements?limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"bounds": null,
"confidence": null,
"depth": 4,
"frame_id": 2430,
"id": 152567,
"parent_id": null,
"role": "AXTextArea",
"sort_order": 0,
"source": "accessibility",
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n \"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefo......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/elements?limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"bounds": null,
"confidence": null,
"depth": 4,
"frame_id": 2430,
"id": 152567,
"parent_id": null,
"role": "AXTextArea",
"sort_order": 0,
"source": "accessibility",
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n \"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefo......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/elements?limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"bounds": null,
"confidence": null,
"depth": 4,
"frame_id": 2430,
"id": 152567,
"parent_id": null,
"role": "AXTextArea",
"sort_order": 0,
"source": "accessibility",
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n \"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefo......
|
NULL
|
NULL
|
NULL
|
|
curl -s "http://localhost:3030/search?content_ curl -s "http://localhost:3030/search?content_type=accessibility&limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/search?content_type=accessibility&limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"content": {
"app_name": "iTerm2",
"browser_url": null,
"file_path": "",
"frame_name": "/Users/lukas/.screenpipe/data/data/2026-04-12/1775987641377_m1.jpg",
"id": 2437,
"initial_traversal_at": null,
"offset_index": 0,
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n ......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/search?content_type=accessibility&limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"content": {
"app_name": "iTerm2",
"browser_url": null,
"file_path": "",
"frame_name": "/Users/lukas/.screenpipe/data/data/2026-04-12/1775987641377_m1.jpg",
"id": 2437,
"initial_traversal_at": null,
"offset_index": 0,
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n ......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/search?content_type=accessibility&limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"content": {
"app_name": "iTerm2",
"browser_url": null,
"file_path": "",
"frame_name": "/Users/lukas/.screenpipe/data/data/2026-04-12/1775987641377_m1.jpg",
"id": 2437,
"initial_traversal_at": null,
"offset_index": 0,
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n ......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "http://localhost:3030/search?content_type=accessibility&limit=2&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool
{
"data": [
{
"content": {
"app_name": "iTerm2",
"browser_url": null,
"file_path": "",
"frame_name": "/Users/lukas/.screenpipe/data/data/2026-04-12/1775987641377_m1.jpg",
"id": 2437,
"initial_traversal_at": null,
"offset_index": 0,
"text": "\"app_name\": \"Firefox\",\n \"browser_url\": \"addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search\",\n \"frame_count\": 1,\n \"minutes\": 0.0,\n \"window_name\": \"Proxy Switcher and Manager \\u2013 Get this Extension for \\ud83e\\udd8a Firefox (en-US) \\u2014 Personal\"\n },\n {\n ......
|
NULL
|
NULL
|
NULL
|
|
curl -s "http://localhost:3030/search?content_ curl -s "http://localhost:3030/search?content_type=audio&limit=3&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
# Get a real frame_id from a recent search result
# Get a real frame_id from a recent search result
curl -s "http://localhost:3030/search?content_type=vision&app_name=Firefox&limit=1&start_time=2026-04-12T00:00:00Z" | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
curl -s "http://localhost:3030/frames/REAL_FRA curl -s "http://localhost:3030/frames/REAL_FRAME_ID/data" --output /tmp/frame.jpg && open /tmp/frame.jpg...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
curl -s -X POST http://localhost:3030/raw_sql \
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "SELECT name FROM sqlite_master WHERE type=\"table\" ORDER BY name LIMIT 100"}' | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
curl -s -X POST http://localhost:3030/raw_sql \
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(frames) LIMIT 100"}' | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "[URL_WITH_CREDENTIALS] ~ $ # Get a real frame_id from a recent search result
curl -s "[URL_WITH_CREDENTIALS] ~ $ curl -s "[URL_WITH_CREDENTIALS] ~ $ curl -s "[URL_WITH_CREDENTIALS] ~ $ cu......
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ curl -s "[URL_WITH_CREDENTIALS] ~ $ # Get a real frame_id from a recent search result
curl -s "[URL_WITH_CREDENTIALS] ~ $ curl -s "[URL_WITH_CREDENTIALS] ~ $ curl -s "[URL_WITH_CREDENTIALS] ~ $ cu......
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
clear
|
NULL
|
NULL
|
NULL
|
|
# All confirmed params:
curl "http://localhost # All confirmed params:
curl "http://localhost:3030/elements?\
app_name=Firefox&\
start_time=2026-04-12T00:00:00Z&\
end_time=2026-04-12T23:59:59Z&\
source=accessibility&\ # or: ocr
role=AXTextField&\ # AXButton, AXStaticText, AXLink, AXTextArea, AXRadioButton...
q=screenpipe&\ # text search within elements
frame_id=2430&\ # all elements from one specific frame
limit=50&\
offset=0"...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
# Schema of every important table
curl -s -X POST # Schema of every important table
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(frames)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(elements)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(ui_events)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(memories)"}' | python3 -m json.tool...
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # All lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # All confirmed params:
curl "[URL_WITH_CREDENTIALS] ~ $ # Schema of every important table
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(frames)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(elements)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/ra......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # All lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # All confirmed params:
curl "[URL_WITH_CREDENTIALS] ~ $ # Schema of every important table
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(frames)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(elements)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/ra......
|
NULL
|
NULL
|
NULL
|
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # All lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ # All confirmed params:
curl "[URL_WITH_CREDENTIALS] ~ $ # Schema of every important table
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(frames)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/raw_sql \
-H "Content-Type: application/json" \
-d '{"query": "PRAGMA table_info(elements)"}' | python3 -m json.tool
curl -s -X POST http://localhost:3030/ra......
|
NULL
|
NULL
|
NULL
|
|
cleqr
|
NULL
|
NULL
|
NULL
|
|
ar
|
NULL
|
NULL
|
NULL
|
|
|
NULL
|
NULL
|
NULL
|