Computer Usage Summary
Übersicht
Lokale ActivityWatch-Daten zuerst verwenden. Dieser Skill unterstützt macOS, Windows und Linux, wo die lokale ActivityWatch-API und Python 3.9+ verfügbar sind. Die vorgesehene datenschutzausgewogene Einrichtung zeichnet nur Vordergrund-Apps, bereinigte Fenstertitel und den AFK-Status auf. Installieren Sie keine Browsererweiterungen, aktivieren Sie kein aw-sync, konfigurieren Sie keinen Cloud-Speicher und legen Sie die lokale API nicht offen.
Genaue historische App-Zeit und AFK-Zeit existieren nur ab dem Zeitpunkt, zu dem ActivityWatch mit der Aufzeichnung beginnt. Leiten Sie diese nicht aus der Prozesslaufzeit, macOS-Systemprotokollen, dem Browserverlauf oder undokumentierten Datenbanken ab.
Einrichtung und Überprüfung
Verwenden Sie diesen Abschnitt nur, wenn ActivityWatch fehlt, gestoppt ist oder repariert werden muss.
- Überprüfen Sie die lokale ActivityWatch-Anwendung, ihre Starteinstellung, lokale Prozesse und das ActivityWatch-Datenverzeichnis des aktuellen Benutzers. Ersetzen Sie keine funktionierende Installation.
- Lassen Sie den Benutzer eine offizielle Installationsquelle auswählen. Überprüfen Sie vor dem Starten oder Aktivieren des automatischen Starts den Herausgeber und den Sicherheitsstatus des Betriebssystems. Verwenden Sie unter macOS
codesign --verify --deep --strictundspctl --assess --type execute. Stoppen Sie, wenn die Validierung fehlschlägt, es sei denn, der Benutzer entscheidet sich ausdrücklich dagegen. - Aktivieren Sie nur die Fenster- und AFK-Überwacher. Lassen Sie macOS über seine normale Schnittstelle die Zugänglichkeitsberechtigung anfordern; umgehen oder ändern Sie Datenschutzberechtigungen niemals programmatisch.
- Führen Sie unter Windows einmalig
python -m pip install tzdataaus, damit Python IANA-Zeitzonen wieAsia/Singaporekonsistent auflösen kann. - Bestätigen Sie, dass der lokale Server
http://127.0.0.1:5600die Bucketscurrentwindowundafkstatusmit Ereignissen enthält. Der Standard-AFK-Schwellenwert beträgt 180 Sekunden.
Fallback ohne ActivityWatch
Wenn die App, die lokale API, die Buckets oder die Ereignisse im angeforderten Bereich nicht verfügbar sind:
- Markieren Sie aktive Zeit, AFK-Zeit, Sitzungen und Startanzahlen als
nicht verfügbar, nicht als null. - Eine aktuelle Momentaufnahme der vordersten oder laufenden App ist nur ein Beleg für die Gegenwart, nicht für den angeforderten Bereich.
- Verwenden Sie die Bildschirmzeit nur, wenn der Benutzer ihre sichtbaren Summen verfügbar macht; kennzeichnen Sie sie als
Bildschirmzeit gemeldetund lesen Sie keine privaten Datenbanken aus. - Durchsuchen Sie den Browserverlauf nur bei einer expliziten Anfrage auf Website-Ebene. Durchsuchen Sie aktuelle Dokumente oder den Terminalverlauf nur nach expliziter, quellspezifischer Genehmigung. Behandeln Sie alle derartigen Ergebnisse als Metadaten-Hinweise, nicht als Dauern.
Arbeitsablauf
- Legen Sie den lokalen Datumsbereich und die Zeitzone fest.
- Führen Sie
scripts/activitywatch_summary.py --date todayaus, verwenden Sie--period weekoder--period monthum ein Ankerdatum herum oder verwenden Sie inklusive Datumsangaben--start YYYY-MM-DD --end YYYY-MM-DD. Fügen Sie--timezone Area/Cityfür reproduzierbare lokale Zeitstempel hinzu. Belassen Sie--api-urlauf der Loopback-Schnittstelle. - Verwenden Sie
active_secondsundafk_secondsnur, wenn ActivityWatch sie bestätigt. Beschreiben Sieforeground_sessionsals beobachtete Vordergrundintervalle, nicht als Prozessstarts. - Verwenden Sie bereinigte App-Namen und Fenstertitel, um die Zeitleiste zu rekonstruieren. Ein Titel ist nur dann
bestätigt, wenn er die beschriebene Aktivität direkt unterstützt. - Wenn der Benutzer eine Projekt-/Kunden- oder abrechenbare Berichterstattung benötigt, bieten Sie eine optionale lokale JSON-Datei
--rulesan. Gleichen Sie nur bereinigte Titel ab. Erklären Sie, dass die erste übereinstimmende Regel gewinnt, und erstellen oder laden Sie niemals Regeln ohne Zustimmung hoch. - Für die Tabellenkalkulationsausgabe führen Sie einen Befehl pro Tabelle aus:
--format markdown --table appsfür den Chat.--format tsv --table appszum direkten Kopieren in Tabellenkalkulationssoftware.--format tsv --table timelinefür chronologische Zeilen.--format csv --table apps --csv-bom --output report.csvfür eine Excel-kompatible Datei, nur wenn der Benutzer darum bittet, eine zu speichern.--report client-timesheetfür abrechenbare Projekt-/Kundenzeilen.--report weekly-reviewfür eine kompakte Übersichtstabelle.--report app-trendfür lokale tägliche Trendzeilen.
- Wenn ActivityWatch nicht verfügbar ist, geben Sie den strukturierten Grund zurück. Markdown-, TSV- und CSV-Ausgaben enthalten die Spalten
status,reasonundsource.
Datenschutzregeln
- Behandeln Sie Fenstertitel als sensibel. Entfernen Sie URLs, kürzen Sie lange Titel und fügen Sie niemals vollständige Browser-URLs ein.
- Behalten Sie standardmäßig bereinigte Titel für eine nützliche Zeitleiste bei; verwenden Sie
--hide-titles, wenn der Benutzer einen titelfreien Export wünscht. - Verwenden Sie die geringste Menge an nutzbarem Titelkontext; Anwendungs- und Übersichtstabellen benötigen keine Titel.
- Maskieren Sie Tabellenkalkulationszellen, die als Formeln interpretiert werden könnten.
- Halten Sie Berichte lokal für die aktuelle Unterhaltung. Exportieren, hochladen oder teilen Sie Aktivitätsdaten nicht ohne ausdrückliche Zustimmung des Benutzers.