Résumé d'Utilisation de l'Ordinateur
Aperçu
Utilisez d'abord les données locales d'ActivityWatch. Cette compétence prend en charge macOS, Windows et Linux partout où l'API locale ActivityWatch et Python 3.9+ sont disponibles. La configuration équilibrée en matière de confidentialité prévue enregistre uniquement les applications au premier plan, les titres de fenêtres nettoyés et l'état AFK. N'installez pas d'extensions de navigateur, n'activez pas aw-sync, ne configurez pas de stockage cloud et n'exposez pas l'API locale.
Les temps d'application et AFK historiques précis n'existent qu'à partir du moment où ActivityWatch commence l'enregistrement. Ne les déduisez pas à partir de la durée de fonctionnement des processus, des journaux système macOS, de l'historique du navigateur ou de bases de données non documentées.
Configuration et Vérification
Utilisez cette section uniquement lorsqu'ActivityWatch est manquant, arrêté ou a besoin de réparation.
- Inspectez l'application ActivityWatch locale, son paramètre de démarrage, les processus locaux et le répertoire de données ActivityWatch de l'utilisateur actuel. Ne remplacez pas une installation fonctionnelle.
- Laissez l'utilisateur choisir une source d'installation officielle. Avant de la lancer ou d'activer le démarrage automatique, vérifiez l'éditeur et le statut de sécurité du système d'exploitation. Sur macOS, utilisez
codesign --verify --deep --strictetspctl --assess --type execute. Arrêtez-vous si la validation échoue, sauf si l'utilisateur en décide explicitement autrement. - Activez uniquement les observateurs de fenêtre et AFK. Laissez macOS demander l'autorisation d'accessibilité via son interface normale ; ne contournez ou ne modifiez jamais les autorisations de confidentialité par programmation.
- Sous Windows, exécutez
python -m pip install tzdataune fois pour que Python puisse résoudre les fuseaux horaires IANA commeAsia/Singaporede manière cohérente. - Confirmez que le serveur local
http://127.0.0.1:5600a des compartimentscurrentwindowetafkstatuscontenant des événements. Le seuil AFK par défaut est de 180 secondes.
Solution de Rechange Sans ActivityWatch
Lorsque l'application, l'API locale, les compartiments ou les événements de la plage demandée sont indisponibles :
- Marquez le temps actif, le temps AFK, les sessions et les nombres de lancements comme
indisponible, pas zéro. - Un instantané de l'application au premier plan ou en cours d'exécution ne prouve que le présent, pas la plage demandée.
- Utilisez Screen Time uniquement lorsque l'utilisateur rend ses totaux visibles disponibles ; étiquetez-le
Screen Time signaléet ne lisez pas les bases de données privées. - Inspectez l'historique du navigateur uniquement pour une demande explicite au niveau du site Web. Inspectez les documents récents ou l'historique du terminal uniquement après une autorisation explicite et spécifique à la source. Traitez tous ces résultats comme des indices de métadonnées, pas des durées.
Flux de Travail
- Établissez la plage de dates locale et le fuseau horaire.
- Exécutez
scripts/activitywatch_summary.py --date today, utilisez--period weekou--period monthautour d'une date de référence, ou utilisez les dates inclusives--start YYYY-MM-DD --end YYYY-MM-DD. Ajoutez--timezone Area/Citypour des horodatages locaux reproductibles. Gardez--api-urlsur l'interface de bouclage. - Utilisez
active_secondsetafk_secondsuniquement lorsqu'ActivityWatch les confirme. Décrivezforeground_sessionscomme des intervalles de premier plan observés, pas des lancements de processus. - Utilisez les noms d'applications et les titres de fenêtres nettoyés pour reconstruire la chronologie. Un titre est
confirméuniquement lorsqu'il soutient directement l'activité décrite. - Lorsque l'utilisateur a besoin de rapports de projet/client ou facturables, proposez un fichier
--rulesJSON local optionnel. Faites correspondre uniquement les titres nettoyés. Expliquez que la première règle correspondante gagne et ne créez ou ne téléchargez jamais de règles sans consentement. - Pour la sortie tableur, exécutez un tableau par commande :
--format markdown --table appspour le chat.--format tsv --table appspour copier directement dans un logiciel de tableur.--format tsv --table timelinepour des lignes chronologiques.--format csv --table apps --csv-bom --output report.csvpour un fichier compatible Excel, uniquement lorsque l'utilisateur demande à en enregistrer un.--report client-timesheetpour les lignes facturables projet/client.--report weekly-reviewpour un tableau de révision compact.--report app-trendpour les lignes de tendance quotidienne locales.
- Lorsqu'ActivityWatch est indisponible, retournez sa raison structurée. Les sorties Markdown, TSV et CSV fournissent les colonnes
status,reasonetsource.
Règles de Confidentialité
- Traitez les titres de fenêtres comme sensibles. Supprimez les URL, tronquez les titres longs et n'incluez jamais d'URL de navigateur complètes.
- Conservez les titres nettoyés par défaut pour une chronologie utile ; utilisez
--hide-titlessi l'utilisateur souhaite un export sans titres. - Utilisez la plus petite quantité utile de contexte de titre ; les tableaux d'application et de résumé n'ont pas besoin de titres.
- Échappez les cellules de tableur qui pourraient être interprétées comme des formules.
- Gardez les rapports locaux à la conversation en cours. N'exportez, ne téléchargez et ne partagez pas les données d'activité sans l'approbation explicite de l'utilisateur.