Exportformat
Der Export, Teil von Deskami Plus, schreibt dieselbe Aufzeichnung Minute für Minute, die Deskami auf deinem Mac führt. Nichts wird hinzugefügt, geschätzt oder aufgefüllt. Diese Seite beschreibt, was in der Datei steht.
Konventionen
- Eine leere Zelle in CSV oder
nullin JSON bedeutet nicht gemessen. Eine0bedeutet gemessen, und es war null. - Die Spaltennamen sind in jeder Sprache englisch und fest; sie ändern sich nur zusammen mit einer neuen
export_version. - Die Dateien sind UTF-8. CSV ist kommagetrennt und hat eine Kopfzeile.
- Zeiten sind UTC im Format ISO 8601, etwa
2026-09-28T07:41:00Z. Datumsangaben sindYYYY-MM-DD: der Kalendertag, unter dem die Minute aufgezeichnet wurde. - Dezimalzahlen stehen mit Punkt, nie mit Tausendertrennzeichen. Wahrheitswerte sind
trueundfalse. - Es gibt eine Zeile für jede Minute, in der Deskami etwas aufgezeichnet hat, und keine für Minuten, in denen es nichts aufgezeichnet hat.
Minutenspalten
Die CSV hat diese Spalten in dieser Reihenfolge; in JSON bilden dieselben Felder jede Minute. Der Name in Klammern ist die Spalte in der rohen Datenbankdatei.
minute_utc– Zeitpunkt. Der Beginn der Minute, in UTC. (minute_utc, in Unix-Sekunden)local_day– Datum. Der Kalendertag, zu dem diese Minute gehört, in der Zeitzone, in der sich der Mac damals befand. Er wird beim Schreiben festgelegt; ein späterer Wechsel der Zeitzone verschiebt ihn nicht. (day_key)setup_id– Ganzzahl. Die genutzte Aufstellung: eine Kamera plus eine Bildschirmanordnung. In JSON sind die Aufstellungen untersetupsaufgeführt. (profile_id)seconds_at_desk– 0 bis 60. Sekunden, in denen die Kamera dich in dieser Minute gesehen hat. Istcamera_offfalse, bedeutet 0, dass die Kamera an war und dich nicht gesehen hat. (present_s)posture_deviation– Zahl, 0 oder mehr. Wie weit dein Kopf und deine Schultern unter deiner eigenen Referenz lagen, gemittelt über die Minute, als Vielfaches der damals geltenden Warnschwelle: 0 bei der Referenz, 1 an der Schwelle. Leer, wenn die Haltung nicht gemessen wurde. (posture_dev)posture_peak– Zahl, 0 oder mehr. Der größte Wert desselben Maßes innerhalb der Minute. (posture_peak)distance_deviation– Zahl, 0 oder mehr. Wie viel näher dein Gesicht dem Bildschirm war als bei deiner Referenz, auf derselben Skala, abgelesen am Abstand deiner Augen im Bild. (distance_dev)blinks– Ganzzahl. Lidschläge, gezählt, solange sich die Augen messen ließen. Leer, wenn sie sich nicht messen ließen. (blinks)incomplete_blinks– Ganzzahl. Lidschläge, bei denen sich die Augen auch im engsten Moment nicht weit genug schlossen. Leer, wenn kein Urteil möglich war. (incomplete_blinks)head_pitch_degrees– Zahl. Durchschnittliche Kopfneigung in Grad, wie die Kamera sie meldet: bezogen auf die Kamera, nicht auf deine Referenz. (head_pitch)confidence– 0 bis 1. Durchschnittliche Sicherheit, mit der das Gesicht gefunden wurde. (confidence)light– 0 bis 1. Durchschnittliche Helligkeit des Gesichtsbereichs, von 0 dunkel bis 1 hell. Nicht die des Raums. (light)eyes_measured– Wahrheitswert. Die Augen ließen sich in dieser Minute mindestens einmal messen. Bei false sindblinks,incomplete_blinksundeye_observed_secondsleer. (eye_valid)eye_observed_seconds– 0 bis 60. Sekunden, in denen die Augen tatsächlich beobachtet wurden. Lidschläge pro Minute sindblinks× 60 ÷eye_observed_seconds. (eye_observed_s)look_aways– Ganzzahl. Abgeschlossene Blicke in die Ferne, die 20-20-20-Gewohnheit. Leer, wenn das Wegschauen nicht gemessen wurde. (gaze_breaks)camera_off– Wahrheitswert. Die Kamera war in dieser Minute aus: Du hast sie ausgeschaltet, eine andere App hat sie belegt, oder die Berechtigung wurde entzogen. Die Kameraspalten sind dann leer; die App- und Aktivitätsspalten können trotzdem gefüllt sein. (camera_off)declared_break– Wahrheitswert. Du hast Deskami gesagt, dass du Pause machst. Die Minute zählt als nicht am Schreibtisch, egal, was die Kamera gesehen hat. (declared_break)front_app– Text. Die Bundle-ID der App, die den größten Teil der Minute im Vordergrund war, etwacom.apple.Safari. Leer, wenn diese Messung ausgeschaltet war, der Bildschirm gesperrt war oder nichts im Vordergrund war. Nie ein Fenstertitel. (app_id)app_switches– Ganzzahl. Wie oft die App im Vordergrund in dieser Minute gewechselt hat. (app_switches)active_seconds– 0 bis 60. Sekunden, in denen Tastatur oder Maus innerhalb der letzten 15 Sekunden berührt worden waren. Gelesen wird nur die Zeit seit dem letzten Ereignis, nie die Tasten. Leer, wenn diese Messung ausgeschaltet war. (active_s)call_seconds– 0 bis 60. Sekunden, in denen eine Gesprächs-App im Vordergrund war oder eine App Mikrofon und Lautsprecher gleichzeitig offen hatte. Leer, wenn nicht gemessen, auch in jeder Minute, die aufgezeichnet wurde, bevor Deskami das zu messen begann. (meeting_s)
JSON
Die JSON-Datei ist ein einziges Objekt. Sie beginnt mit einem Kopf: export_version, app_version, exported_at, time_zone (zum Zeitpunkt des Exports), database_schema_version, range (kind, from, to) und setups (id, camera_name, created_at).
Dann folgt days, ein Objekt für jeden aufgezeichneten Tag im Zeitraum. Jeder Tag enthält seine eigene Übersicht, seine Minuten und seine Warnungen:
local_dayundminutes_at_desk, die Summe vonseconds_at_deskgeteilt durch 60.breaks: Abschnitte von 5 Minuten oder mehr und unter 2 Stunden weg vom Schreibtisch, zwischen zwei Abschnitten am Schreibtisch. Zeit mit ausgeschalteter Kamera zählt weder für das eine noch für das andere.posture_fine_minutes(posture_deviationunter 1) undposture_attention_minutes(1 oder darüber).blink_rate: Lidschläge pro Minute über die Zeit, in der die Augen beobachtet wurden;nullbei weniger als einer Minute Beobachtung.incomplete_blink_ratio:null, wenn sich zu wenige Lidschläge beurteilen ließen.reminders_by_signal: gezeigte Warnungen, gezählt nach Signal.minutes: die Minutenspalten oben, ein Objekt pro Minute.reminders: ein Objekt pro Warnung, mittime_utc,local_day,setup_id,signal(posture,distance,blink,incompleteBlinkodergaze),build_up_seconds(Zeit über der Schwelle vor der Warnung),recover_seconds(Zeit, bis der Wert wieder darunter lag;null, wenn die Messung vorher aufhörte),asked(ob die Frage zu deiner Referenz gezeigt wurde) undanswer(null, wenn nicht gefragt wurde, sonsttrueoderfalse).
Das PDF ist keine Tabelle: Es ist die Übersicht selbst – die Tagesübersicht, die Woche oder der Monat –, auf eine Seite gedruckt, genau so, wie sie auf dem Bildschirm aussieht. Jede Zahl darin ist die Zahl auf dem Bildschirm.
Die Rohdatei
Einstellungen › Allgemein › Daten › Im Finder zeigen führt dich zu history.sqlite, das neben history.sqlite-wal und history.sqlite-shm liegt. Während Deskami läuft, können die neuesten Minuten noch in der -wal-Datei stehen; kopiere alle drei Dateien oder beende Deskami vorher. Löschst du sie, während Deskami läuft, beginnt es innerhalb weniger Sekunden eine neue, leere Aufzeichnung. Der Export schreibt immer einen vollständigen Stand. Was die Datenbank enthält, steht auf der Datenschutzseite.