cadencia-workers — guia para agentes¶
Python FastAPI backend. Gera carrossel, dossier, identidade visual, ideias de conteúdo.
Deploy¶
- Atual: Coolify (VPS Master) — projeto
cadencia, appcadencia-workers(id 10), branchmaster, build Dockerfile, domínioworkers.cadencia.ia.br. Worker no ar e healthy. - Cutover concluído (confirmação Felipe 2026-07-14): a Vercel (
WORKERS_API_URL) aponta pro Coolify. Railway está DESLIGADO — não existe serviço Cadencia rodando na Railway. Menções a Railway em docs são histórico (ADR-0012). - Auto-deploy on-push está OFF (deploy key sem webhook) → deploy manual via Coolify UI/API até CAD-678. Ver
docs/adr/0012-workers-railway-para-coolify.md+docs/infra-cli-access.md.
Estrutura¶
cadencia-workers/
main.py # entrypoint FastAPI
src/
api/
routes/
chat.py # /api/v1/chat — chat "Tenho uma Ideia"
cron.py # /api/v1/cron — triggers periódicos
documents.py # /api/v1/documents — geração documentos
health.py # /health
ideas.py # /api/v1/ideas — geração de ideias
onboarding.py # /api/v1/onboarding — dossier, identidade visual, editoriais
pipeline.py # /api/v1/pipeline — geração carrossel/reels
theme.py # /api/v1/theme — identidade visual
middleware/
auth.py # JWT Supabase auth
rate_limit.py
integrations/
pexels.py # banco de fotos
supabase.py
models/
*.yaml # 29 templates de formato (carrossel, lista, tutorial...)
Orquestrador de onboarding (7 steps)¶
/api/v1/onboarding/ executa em sequência: 1. Perfil (Big5 + DPR Signaling) 2. Dossier de marca 3. Identidade visual (sub-preset + Gemini cover) 4. Editoriais (3 por tenant) 5. Ideias iniciais (5 ideias) 6. Validação 7. Conclusão
Como acessar o código¶
gh api "repos/felipeluissalgueiro/cadencia-app/contents/cadencia-workers/<path>?ref=master" \
| python -c "import json,sys,base64; d=json.load(sys.stdin); print(base64.b64decode(d['content']).decode())"
Variáveis de ambiente críticas¶
Ver cadencia-workers/.env.example. Principais: - SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY - OPENAI_API_KEY (via OpenRouter)