--- type: Entity layer: wiki tags: [stack, dashdescomplicar, infra, systemd, timers, observabilidade] title: "Systemd-Timers" --- # Systemd-Timers Timers systemd (user) que executam scripts de observabilidade do DashDescomplicar no desktop local (`dev`). Gerem indexação de sessões, import de worklogs e detecção de padrões. ## Responsabilidades - **Indexação contínua**: Watcher incremental de ficheiros JSONL (Claude Code) - **Import worklogs**: Import diário de worklogs Desk CRM (discussions #31/#32/#33) - **Detecção padrões**: Análise semanal de padrões de uso (tools, skills, erros) - **Publicação**: Resultados publicados para consulta pela API ## Serviços e Timers | Ficheiro | Tipo | Schedule | Função | |---|---|---|---| | `observabilidade-indexer.service` | simple (always-on) | — | Watcher incremental ficheiros JSONL | | `observabilidade-worklog-import.service` | oneshot | — | Import worklogs Desk | | `observabilidade-worklog-import.timer` | timer | Diário 03:00 | Dispara import worklogs | | `observabilidade-patterns.service` | oneshot | — | Detecção de padrões | | `observabilidade-patterns.timer` | timer | Dom 23:00 | Dispara detecção semanal | | `observabilidade-patterns.env.example` | env | — | Template variáveis ambiente | ## Stack - **Runtime**: Node.js 22.22.2 via `npx tsx` - **Working Directory**: `/media/ealmeida/Dados/Dev/DashDescomplicar` - **DB Path**: `~/.claude-work/sessions.db` - **Logs**: `~/.claude-work/observabilidade-*.log` ## Comandos Executados ``` # Indexer (always-on) npx tsx api/scripts/sessions-indexer.ts --watch # Worklog Import (daily 03:00) npx tsx api/scripts/sessions-worklog-import.ts --discussion all --since-days 7 # Patterns (weekly Sun 23:00) npx tsx api/scripts/sessions-patterns.ts --publish ``` ## Localizações - **Systemd files**: `Dev/DashDescomplicar/systemd/` (5 ficheiros) - **Scripts**: `Dev/DashDescomplicar/api/scripts/sessions-*.ts` - **Logs**: `~/.claude-work/observabilidade-*.log` - **DB**: `~/.claude-work/sessions.db` - **Env file**: `~/.claude-work/observabilidade-patterns.env` ## Dependências - **Node.js 22**: `/home/ealmeida/.nvm/versions/node/v22.22.2/bin/` - **Observabilidade-Sessions**: Scripts e lógica de indexação - **Gemini-Telemetry**: Dados de telemetria Gemini no mesmo DB - **Sistema de Ficheiros**: `~/.claude/projects/`, `~/.hermes/`, `~/.local/share/opencode/` ## Fornece a - **Observabilidade-Sessions**: Execução agendada dos scripts - **Painel-Sessoes**: Dados actualizados para consulta - **Express-API**: Sessões indexadas disponíveis via `/api/sessions`