Sobre o projeto

Poindexter é um pipeline de conteúdo de código aberto (Apache 2.0, Glad Labs LLC) destinado a ser executado na própria máquina de um único operador. De acordo com o README, é o sistema de produção por trás do gladlabs.io, com mais de 200 posts ativos e mais de 2.000 execuções de pipeline registradas, e é explicitamente posicionado para operadores solo e editores independentes, em vez de equipes de marketing que buscam um aplicativo hospedado de um clique. O que o pipeline faz: descobre tópicos candidatos no HackerNews, Dev.to e feeds de nicho configuráveis; pesquisa cada tópico com busca na web e verificação de fontes; escreve rascunhos de formato longo usando modelos locais Ollama; revisa cada rascunho com QA adversarial multi-modelo; executa validação anti-alucinação sobre pessoas, estatísticas e citações; e publica o trabalho finalizado como JSON estático, RSS e JSON Feed 1.1 em qualquer armazenamento compatível com S3. Estágios opcionais e opt-in adicionam imagens de IA, áudio de podcast e clipes curtos de texto para vídeo. O sistema também se monitora por meio de dashboards do Grafana e um daemon watchdog, com alertas via Telegram ou Discord. O conjunto de modelos padrão consiste em quatro modelos Ollama: gemma3:27b como escritor e fallback, phi4:14b como crítico de QA adversarial, qwen3:8b para tarefas rápidas como SEO e roteamento, e nomic-embed-text para embeddings no pgvector. O README observa que o crítico vem deliberadamente de uma família de modelos diferente da do escritor. O roteamento de modelos (escritor, crítico, pesquisa, sumarizador, embedder) é armazenado no banco de dados e pode ser alterado em tempo de execução; modelos adicionais de visão e voz são baixados apenas para as funcionalidades que os necessitam. Provedores de nuvem (Anthropic, OpenAI, Groq, OpenRouter e outros) estão disponíveis através de um plugin LiteLLM opcional controlado por um guarda de custos. O controle de qualidade é a ênfase declarada do projeto. O README descreve 15 trilhos de QA que combinam críticos LLM cross-model, avaliações DeepEval e Ragas, validadores anti-alucinação determinísticos, verificação de citações contra o corpus de pesquisa e QA de visão em imagens geradas. Cada trilho é configurável no banco de dados como consultivo ou bloqueador, os limiares são ajustáveis em tempo de execução e rascunhos quase aprovados recebem uma passagem de revisão limitada antes da rejeição. Arquiteturalmente, é um kernel mais módulos mais plugins de capacidade. Os componentes não importam uns aos outros; o PostgreSQL com pgvector atua como o barramento compartilhado. O pipeline de conteúdo é um DAG LangGraph declarativo armazenado no banco de dados (cerca de 47 nós) com checkpointing do Postgres para execuções retomáveis, despachado via Prefect. Um daemon watchdog independente verifica os serviços em um ciclo de 5 minutos e reinicia falhas quando possível. A configuração reside em uma tabela app_settings (mais de 1.700 configurações) em vez de variáveis de ambiente, editável por CLI, SQL ou REST, e a autenticação usa credenciais de cliente OAuth 2.1 com JWTs com escopo por consumidor. Os pontos de extensão são organizados em 18 grupos de pontos de entrada de plugins — Taps, TopicSources, provedores de LLM/imagem/TTS/vídeo/áudio/legenda, PublishAdapters, Probes, Jobs, Stages, Reviewers e Módulos completos. Os plugins são pacotes pip comuns que registram pontos de entrada do setuptools, e o README afirma que o primeiro plugin de produção é o provedor LiteLLM. A configuração requer Docker, Ollama, Python 3.13+ e uma GPU NVIDIA com 8 GB+ de VRAM (CPU é suportado, mas lento); cmd/PowerShell nativo do Windows não é suportado, sendo necessário Git Bash ou WSL2. Os perfis do Docker Compose variam de 4 containers para uma instalação básica a 45 para a stack completa do operador. O README é sincero sobre o status: o projeto está em alpha, não há hospedagem gerenciada ou receita multi-tenant, o esquema do banco de dados ainda não é estável entre versões, o ecossistema de plugins de terceiros é nascente e o texto-para-vídeo permanece em alpha com aproximadamente 28 GB de folga de VRAM. Relata mais de 17.000 testes unitários no CI, juntamente com testes de fumaça de migração e verificações de link-rot, e cada push executa varredura de segredos, varredura de CVE e geração de SBOM. O projeto é licenciado sob Apache 2.0, relicenciado de AGPL-3.0.