Sobre o projeto

Dispatch é uma camada auto-hospedada de Kanban e despacho de trabalho para agentes de IA que atuam em Issues e pull requests do GitHub. É independente de harness, ou seja, não monta arquivos de configuração de harness de agentes nem exige acesso a um workspace local de agentes. O GitHub permanece como fonte autoritativa dos dados de issues e PRs, enquanto o banco de dados PostgreSQL do Dispatch armazena metadados de issues em cache, metadados locais do projeto, execuções de agentes e logs de auditoria. As principais capacidades incluem: - Filas de trabalho reivindicáveis orientadas por labels do GitHub, como status/ready, status/in-progress, status/in-review, status/blocked e status/done. - Lanes de execução configuráveis que controlam o comportamento da fila de agentes e a reivindicabilidade, com suporte a IDs de lane personalizados, aliases de migração e roteamento de classificação baseado em papéis. - Rastreamento de execuções de agentes e uma página de atividades mostrando o histórico de trabalho dos agentes. - Registro de auditoria para transições de status e outras mutações. - Groomer LLM hospedado opcional que pode fazer triagem de issues chamando um endpoint compatível com OpenAI, com modo dry-run, validação de saída estruturada e contexto limitado do repositório GitHub. - Autenticação opcional via GitHub App para que as mutações apareçam sob a identidade de um bot, em vez de um token de acesso pessoal compartilhado. - Modos de autenticação, incluindo HTTP Basic Auth, OIDC/SSO via NextAuth, bearer tokens de agentes e um modo desabilitado apenas para desenvolvimento local. - Manipuladores de webhooks de entrada para acompanhamento de PRs e eventos de labels de issues, com verificação de assinatura HMAC-SHA256. - Um agendador para jobs automatizados de sincronização, grooming, acompanhamento de PRs e limpeza de issues fechadas. O projeto é construído com Next.js 16 (App Router), React 19, Prisma 7, TypeScript e Tailwind CSS 4. Foi projetado para ser executado como um serviço containerizado com migrações automáticas de banco de dados na inicialização.