Monte squads de agentes de IA que colaboram automaticamente para cumprir uma tarefa — coordenados por um orquestrador que decide, passo a passo, quem age em seguida.
Não há pipeline fixo. Você monta um "escritório" com agentes (cada um com seu papel, prompt e modelo), senta eles em cadeiras, e um agente coordenador decide dinamicamente qual deles trabalha a cada passo até a tarefa terminar.
⚠️ Projeto em desenvolvimento ativo. APIs, esquema e telas ainda mudam. Veja Segurança antes de rodar com execução real habilitada.
📋 Plano atual: abra aqui o plano consolidado de arquivos, Instagram, autenticações e runs paralelos.
- Orquestração dinâmica, não workflow fixo. O coordenador escolhe o próximo agente a cada passo com base no que já rodou — não um DAG desenhado à mão.
- Roda com as CLIs locais que você já autenticou. Em vez de exigir API keys, o runner pode usar o
claude,codexougptjá logados na sua máquina (também suporta Anthropic API, OpenAI e endpoints OpenAI-compat). - App desktop (Electron) para execução real. Agentes podem usar ferramentas de verdade (Bash/Read/Write/Edit) numa pasta de trabalho escopada, além de scripts e servidores MCP.
- Checkpoints e perguntas no meio do run. Um agente pode pausar pedindo aprovação humana ou fazer uma pergunta antes de continuar.
- Caminho para virar plataforma de comunidade — compartilhar e importar squads, skills e knowledge bases (veja
docs/community-platform-plan.md).
apps/
web/ # Cliente React + Vite + Electron
api/ # API Kotlin + Spring BootCada app mantém sua própria toolchain. A raiz do repositório serve para orquestração, CI, documentação e contratos compartilhados futuros.
apps/web— SPA React e app desktop Electron. Comece por aqui — o README dele explica o domínio (squads, agentes, cadeiras, scripts, runtime) em detalhe.apps/api— API REST (auth, usuários, storage, embeddings).
- Node.js 20+ e npm
- Java 21 (para o backend)
- PostgreSQL (para o backend)
- Para execução real de agentes via CLI local:
claude,codexougptinstalados e autenticados no seu PATH
git clone https://github.com/fariaotavio12/workestrator.git
cd workestrator
# Frontend
cp apps/web/.env.example apps/web/.env
npm run dev:web # http://localhost:5173
# Backend (em outro terminal)
cp apps/api/.env.example apps/api/.env # preencha DB e as variáveis necessárias
npm run dev:api # http://localhost:8080 (Swagger em /swagger-ui.html)Para rodar o app desktop com execução real de agentes:
cd apps/web
npm run electron:devnpm run dev:web # Vite dev server
npm run dev:api # Spring Boot API
npm run build # build web + API
npm run test # testes web + API
npm run verify # lint/build web + build APIComandos por app continuam funcionando de dentro de apps/web e apps/api.
- Você escreve um briefing e dispara o run de um squad.
- O coordenador recebe o briefing + as cadeiras ocupadas + o histórico do run e responde qual agente age em seguida (ou
done). - O agente escolhido é chamado no provider configurado; a saída vira o "handoff" para o próximo passo.
- Repete até o coordenador dizer
doneou atingir omaxSteps. Checkpoints e perguntas podem pausar o run pedindo interação humana.
O detalhamento completo (motor de execução, streaming SSE, runtime efêmero em Zustand, server state em TanStack Query) está no README do apps/web.
Direções que quero desenvolver — contribuições nesses temas são muito bem-vindas. Veja também o plano completo em docs/community-platform-plan.md.
- Assistente como plataforma — levar a experiência do app desktop para um assistente-workspace completo (command palette, contexto de skill/squad/knowledge, histórico de runs). Base na Fase 9 do plano de comunidade.
- Auto-conhecimento (opt-in) — cada recurso criado (squad, skill, script) carregar uma descrição opcional do que faz e por quê, para o assistente e a comunidade entenderem o propósito sem precisar ler o código.
- 🚧 Squads com sprints — design de squad orientado a sprints bem definidas (em andamento).
- Páginas públicas de melhorias e conhecimento — roadmap/changelog público e base de conhecimento navegável.
- Polimento de design e padrões — refino visual e correção de inconsistências no design system.
Contribuições são bem-vindas! Leia o CONTRIBUTING.md para o setup local e o fluxo de branches (dev → main). Antes de mexer no código, veja também AGENTS.md e CLAUDE.md na raiz.
O runner do Workestrator executa binários e scripts locais (com auto-aceite de permissões quando canExecute está ligado). Trate squads e scripts importados como código não confiável. Nunca commite segredos — use os arquivos .env (gitignored) a partir dos .env.example.
Para reportar uma vulnerabilidade, veja SECURITY.md. Não abra issue pública para falhas de segurança.
Apache License 2.0 © 2026 Otávio Faria.
