Resumen de uso del ordenador
Información general
Usa primero los datos locales de ActivityWatch. Esta habilidad es compatible con macOS, Windows y
Linux donde la API local de ActivityWatch y Python 3.9+ estén disponibles. La configuración
recomendada para equilibrar la privacidad registra solo aplicaciones en primer plano, títulos de
ventana sanitizados y el estado AFK. No instales extensiones de navegador, habilites aw-sync,
configure almacenamiento en la nube o expongas la API local.
El tiempo histórico preciso de aplicaciones y tiempo AFK solo existe desde el momento en que ActivityWatch comienza a grabar. No los infieras a partir del tiempo de actividad del proceso, registros del sistema de macOS, historial del navegador o bases de datos no documentadas.
Configuración y verificación
Usa esta sección solo cuando ActivityWatch falte, esté detenido o necesite reparación.
- Inspecciona la aplicación local de ActivityWatch, su configuración de inicio, los procesos locales y el directorio de datos de ActivityWatch del usuario actual. No reemplaces una instalación que funcione.
- Deja que el usuario elija una fuente de instalación oficial. Antes de iniciarla o habilitar el
inicio automático, verifica el editor y el estado de seguridad del sistema operativo. En macOS,
usa
codesign --verify --deep --strictyspctl --assess --type execute. Detente si la validación falla a menos que el usuario decida explícitamente lo contrario. - Habilita solo los observadores de ventana y AFK. Deja que macOS solicite el permiso de Accesibilidad a través de su interfaz normal; nunca omitas ni cambies los permisos de privacidad mediante programación.
- En Windows, ejecuta
python -m pip install tzdatauna vez para que Python pueda resolver zonas horarias IANA comoAsia/Singaporede manera consistente. - Confirma que el servidor local
http://127.0.0.1:5600tenga buckets decurrentwindowyafkstatusque contengan eventos. El umbral AFK predeterminado es de 180 segundos.
Respaldo sin ActivityWatch
Cuando la aplicación, la API local, los buckets o los eventos del rango solicitado no estén disponibles:
- Marca el tiempo activo, tiempo AFK, sesiones y recuentos de inicio como
no disponible, no como cero. - Una instantánea de la aplicación actual en primer plano o en ejecución solo es evidencia del presente, no del rango solicitado.
- Usa Screen Time solo cuando el usuario ponga a disposición sus totales visibles; etiquétalo como
Screen Time reportadoy no leas bases de datos privadas. - Inspecciona el historial del navegador solo para una solicitud explícita a nivel de sitio web. Inspecciona documentos recientes o el historial de terminal solo después de un permiso explícito y específico de la fuente. Trata todos estos resultados como pistas de metadatos, no como duraciones.
Flujo de trabajo
- Establece el rango de fecha local y la zona horaria.
- Ejecuta
scripts/activitywatch_summary.py --date today, usa--period weeko--period monthalrededor de una fecha de referencia, o usa fechas inclusivas--start YYYY-MM-DD --end YYYY-MM-DD. Añade--timezone Area/Citypara marcas de tiempo locales reproducibles. Mantén--api-urlen la interfaz de bucle local. - Usa
active_secondsyafk_secondssolo cuando ActivityWatch los confirme. Describeforeground_sessionscomo intervalos observados en primer plano, no como inicios de procesos. - Usa nombres de aplicaciones y títulos de ventana sanitizados para reconstruir la línea de tiempo.
Un título es
confirmadosolo cuando respalda directamente la actividad descrita. - Cuando el usuario necesite informes por proyecto/cliente o facturables, ofrece un archivo JSON
--ruleslocal opcional. Coincide solo con títulos sanitizados. Explica que la primera regla que coincida gana y nunca crees ni subas reglas sin consentimiento. - Para la salida en hoja de cálculo, ejecuta una tabla por comando:
--format markdown --table appspara el chat.--format tsv --table appspara copiar directamente en un software de hoja de cálculo.--format tsv --table timelinepara filas cronológicas.--format csv --table apps --csv-bom --output report.csvpara un archivo compatible con Excel, solo cuando el usuario pida guardarlo.--report client-timesheetpara filas facturables de proyecto/cliente.--report weekly-reviewpara una tabla de revisión compacta.--report app-trendpara filas de tendencia diaria local.
- Cuando ActivityWatch no esté disponible, devuelve su motivo estructurado. Las salidas Markdown,
TSV y CSV proporcionan columnas de
status,reasonysource.
Reglas de privacidad
- Trata los títulos de ventana como información sensible. Elimina URLs, trunca títulos largos y nunca incluyas URLs completas del navegador.
- Mantén los títulos sanitizados predeterminados para una línea de tiempo útil; usa
--hide-titlessi el usuario desea una exportación sin títulos. - Usa la menor cantidad útil de contexto de título; las tablas de aplicaciones y resúmenes no necesitan títulos.
- Escapa las celdas de la hoja de cálculo que podrían interpretarse como fórmulas.
- Mantén los informes locales en la conversación actual. No exportes, subas ni compartas datos de actividad sin la aprobación explícita del usuario.