Sobre o projeto
# Claude Code Session Reset Scheduler
## Visão Geral
Esta é uma ferramenta de automação baseada em GitHub Actions que gerencia resets de sessões do Claude Code de forma agendada. O sistema dispara resets de sessão automatizados em horários estrategicamente escolhidos para se alinharem com períodos típicos de trabalho, garantindo que os usuários tenham uma janela de uso de 5 horas renovada quando necessário.
## Principais Capacidades
### Gerenciamento Automatizado de Sessão
- Dispara quatro resets de sessão diários alinhados com períodos de trabalho comuns
- Utiliza um sistema de contagem regressiva de 5 horas entre os eventos de disparo e reset
- Cronograma personalizável via expressões cron
### Monitoramento de Integridade
- Verificações integradas de validação de Q&A (ex: "1+1=?") para confirmar a funcionalidade do Claude Code
- Registra os resultados da verificação de integridade com carimbos de data/hora
- Verifica se o sistema está operacional antes de marcar os resets como concluídos
### Suporte Multi-Token
- Configuração de tokens OAuth primários e de backup para confiabilidade
- Rastreamento de atividade por token nos logs
- Redundância caso um token falhe
### Registro de Atividade
- Arquivos de log CSV mensais armazenados em `logs/YYYYMM-session-log.csv`
- Os registros incluem carimbo de data/hora, tipo de evento, ID do token e hora do reset
- Commits automáticos no Git preservam o histórico de logs
### Proteção contra Timeout
- Timeout ao nível de job: 5 minutos
- Timeout ao nível de step: 2 minutos por ação
- Evita execuções descontroladas que consomem recursos
## Cronograma Padrão (UTC+8)
| Hora do Disparo | Hora do Reset | Cobertura |
|------------|-----------|----------|
| 05:23 | 10:00 AM | Período de trabalho matutino |
| 10:23 | 3:00 PM | Período de trabalho vespertino |
| 17:23 | 10:00 PM | Período de trabalho noturno |
| 22:23 | 3:00 AM (dia seguinte) | Cobertura de madrugada |
Cada disparo ocorre 5 horas antes do horário de reset desejado. O sistema utiliza o minuto `:23` para evitar congestionamento na execução do GitHub Actions.
## Instruções de Configuração
1. **Gerar Token OAuth**: Execute `claude setup-token` e copie o token gerado
2. **Adicionar Secrets**: Configure `CLAUDE_CODE_OAUTH_TOKEN_1` e opcionalmente `CLAUDE_CODE_OAUTH_TOKEN_2` nas configurações do repositório GitHub
3. **Habilitar Actions**: Certifique-se de que o repositório tenha a permissão `id-token: write` para o GitHub Actions
4. **Ativar**: Faça o push do arquivo de workflow para acionar o agendador
## Customização
Edite `.github/workflows/auto-checkin.yml` para modificar os cronogramas cron. A fórmula de tempo é:
```
Hora do Disparo + 5 horas = Hora do Reset da Sessão
```
Exemplos:
- Reset diário único às 9:00 AM: use cron `23 20 * * *` (Disparo às 4:23 AM UTC para reset às 9:00 AM UTC+8)
- Duas vezes ao dia às 10:00 AM e 4:00 PM: use cron `23 21,3 * * *`
## Testes
- **GitHub Actions**: Navegue até a aba Actions e execute o workflow manualmente
- **Teste Local**: `uv run --python 3.13 python src/log_qa_check.py --token TOKEN_1`
## Estrutura de Arquivos
```
.github/workflows/auto-checkin.yml # Configuração do agendador
src/log_qa_check.py # Script de Q&A e logging
logs/YYYYMM-session-log.csv # Registros de atividade mensais
```
## Resolução de Problemas
- **Erros de OAuth**: Regenere o token com `claude setup-token` e verifique se os nomes dos secrets coincidem exatamente
- **Timeouts de Workflow**: Certifique-se de que a versão mais recente com proteções de timeout esteja implantada
- **Horários Incorretos**: Verifique as conversões de UTC e lembre-se que o GitHub Actions pode ter pequenos atrasos de execução
- **Sem Logs**: Verifique o status de autenticação do Claude e teste localmente antes de confiar na automação
## Segurança
- Nunca coloque tokens diretamente no código-fonte
- Use GitHub Secrets para todos os valores sensíveis
- Rotacione os tokens OAuth periodicamente
- Limite o acesso ao repositório a colaboradores confiáveis
O projeto inclui Architecture Decision Records (ADRs) documentando escolhas de design em torno de otimização de agendamento, configuração de timeout e implementação de verificação de integridade.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.