Polypus

Harness agêntico que faz qualquer IA escrever e aplicar código — inclusive modelos sem function-calling.

npm i -g @gaberrb/polypus

De onde vem o nome

Polypus é “polvo” em latim — do grego polýpous, “muitos pés”.

A metáfora é o coração do projeto: assim como o polvo tem muitos tentáculos agindo ao mesmo tempo, o Polypus coordena vários agentes de IA em paralelo, cada um numa git worktree isolada, para resolver partes diferentes da mesma tarefa.

🐙

Do prompt ao código

Clique em cada etapa do fluxo para entender o que acontece por baixo.

Selecione uma etapa

As explicações de cada etapa aparecem aqui.

🔬 Tools vs. sem tools — simulação passo a passo

… e em paralelo: o Swarm

🧠Orquestrador 🐙Workers (worktrees) 🔀Merge

O truque: fazer qualquer modelo “codar”

Modelos com function-calling usam tools nativas. Os sem tools recebem um protocolo XML no prompt e o Polypus parseia a saída — então até modelos locais escrevem arquivos.

<polypus:tool name="write_file">
<arg name="path">src/index.ts</arg>
<arg name="content">console.log("olá");</arg>
</polypus:tool>

Se o modelo enrola (“não posso criar arquivos”), o harness reforça: “SIM, você pode — aja agora”. Mas uma simples conversa não dispara isso; e ESC cancela quando quiser.

Você no controle: 3 modos

🧭 plan

Somente leitura: investiga e propõe, sem tocar em arquivos.

✋ review

Confirma cada escrita/comando antes de executar.

⚡ bypass

Aprova tudo automaticamente — para quando você confia.

Em todos os modos, o acesso é restrito por uma allow-list de caminhos (globs).

Demo

Veja o Polypus em ação no terminal.

O que vem na caixa

🔌 Multi-provider

OpenRouter, Ollama e qualquer endpoint OpenAI-compatible + Anthropic nativo.

🧩 Tools p/ todos

Nativo quando há function-calling; protocolo XML emulado quando não há.

🐝 Swarm paralelo

Decompõe a tarefa e roda agentes em git worktrees isoladas.

🌎 Bilíngue

Interface em português (padrão) e inglês.

🔎 Descoberta de modelos

Detecta modelos do Ollama e navega o catálogo do OpenRouter por preço/tools.

🧮 Tokens & ESC

Mostra tokens gastos ao vivo e cancela o “pensando” com ESC.

🔐 Permissões

Modos plan/review/bypass + allow-list de caminhos.

🪄 Wizard

Onboarding interativo de chaves, modelos e permissões.

🩹 Autocorreção

Quando uma tool falha, o erro volta enriquecido com a causa e o contexto — o modelo se conserta sozinho em vez de entrar em loop.

🧭 PRD bot

Rotule uma issue como accepted e um agente gera um PRD estruturado, comentado na própria issue.

🤖 Review bot

Todo PR aberto recebe uma primeira camada de code review automática, com modelo gratuito do OpenRouter.

⚙️ CI/CD robusto

Build/test, PRs vinculados a issue, review automático e publish no npm — tudo no GitHub Actions.

Comece em 1 minuto

1
Instale
npm i -g @gaberrb/polypus
2
Configure
polypus setup
3
Modele o projeto
polypus init
4
Use
polypus run "crie um servidor HTTP em src/server.ts"
export OPENROUTER_API_KEY=sk-or-...
polypus add-agent or --provider openrouter \
  --model "anthropic/claude-3.5-sonnet" --api-key '${OPENROUTER_API_KEY}'
polypus models --tools --max-price 1   # explore modelos por preço/tools

Como contribuir

O fluxo é issue-gated: nada de PR sem uma issue triada.

1
Abra uma issue

Descreva o bug ou a ideia — há templates de bug e feature.

2
Espere o accepted

O mantenedor tria e aplica a label accepted — o sinal verde.

3
Branch + PR

Crie a branch e abra o PR referenciando a issue com Closes #N.

4
CI + review

O CI roda build/test, o require-issue confere a label e o bot comenta um review.

5
Merge

Com tudo verde, o merge entra na main — e a issue fecha sozinha.

📂 Arquivos essenciais (leia antes)

Principalmente se você usa IA para codar: leia o context.md (resumo do projeto, sempre atualizado) e o rules.md (padrões e o que é/não é esperado). Eles são a fonte de verdade — e também alimentam os bots de PRD e de review.

⚙️ Ver o pipeline de CI/CD em detalhe

Changelog

Todas as mudanças relevantes, versão a versão.

Seguimos o formato Keep a Changelog + SemVer. As adições mais recentes (autocorreção, agentes de PRD e review, hardening) estão na seção Unreleased.

📝 Ler o CHANGELOG.md