Floom

Implante funções Python como aplicativos web. Dicas de tipo se tornam UI, API e links compartilháveis. 32 ferramentas MCP para implantar, executar, armazenar, gerenciar segredos, agendar, versionar e compartilhar.

Documentação

Floom

A plataforma de engenharia de loops. Trabalhadores de IA que rodam em loop.

Agende-os, acione-os, exija aprovações e mantenha cada execução registrada.
Um trabalhador é uma pasta: worker.yml + SKILL.md ou run.py. Implante-o a partir do Claude Code, Codex ou da CLI. Execute-o pela interface, REST ou MCP.

Comece agora · Crie um trabalhador · Experimente a versão hospedada · Leia a documentação

CI Stars License Sandboxed by default Linux, macOS, Windows

Floom: the loop engineering harness for AI workers


A maior parte da "automação com IA" é uma janela de chat que você precisa monitorar, ou um gráfico no-code que cobra por tarefa e não pode ser auditado. Floom é a plataforma de engenharia de loops: um runtime real onde um trabalhador é um pacote legível, ele roda em loop sem que você precise ficar assistindo, e cada execução deixa logs, saídas, chamadas de ferramentas, aprovações e uma reprodução confiável. Usado nativamente a partir do Claude Code e Codex via MCP ou CLI.

Implante um Script Python Como App, API REST e Ferramenta MCP

O Floom permite que um agente ou desenvolvedor transforme um script Python em um trabalhador que não-desenvolvedores podem executar pela interface, outros sistemas podem chamar via REST, e agentes de IA podem operar via MCP.

Comece com três arquivos:

workers/my-worker/
  worker.yml
  run.py
  requirements.txt

Depois valide, implante e execute:

floom workers validate ./workers/my-worker
floom workers push ./workers/my-worker
floom run my-worker --input key=value

Leia BUILDING.md para o contrato completo de trabalhador copiar-e-colar.

O Que é o Floom: Runtime de Trabalhadores para Trabalhadores de IA em Segundo Plano

O Floom transforma automações repetíveis de trabalho do conhecimento em trabalhadores de IA em segundo plano. Um trabalhador pode rodar manualmente, em um agendamento, a partir de um webhook ou de um evento de aplicativo. O runtime mantém a definição do trabalhador, o esquema de entrada, o esquema de saída, logs, chamadas de ferramentas, aprovações e o histórico de execuções inspecionáveis.

Use o Floom quando quiser que um agente de IA faça trabalho recorrente sem transformar esse trabalho em uma thread de chat opaca, um gráfico de automação difícil de versionar ou um script isolado sem supervisão.

Crie e Implante um Trabalhador de IA a Partir de uma Pasta

Agentes de IA e desenvolvedores podem criar um trabalhador Floom a partir de uma pasta:

workers/<worker-id>/
  worker.yml        # manifest: inputs, outputs, trigger, runtime, secrets
  run.py            # script entrypoint, or SKILL.md for agent mode
  requirements.txt  # optional Python dependencies

Implante o trabalhador com:

floom workers validate ./workers/<worker-id>
floom workers push ./workers/<worker-id>
floom run <worker-id> --input key=value

Após a implantação, o Floom expõe o trabalhador na interface, por endpoints REST e pelo servidor MCP do Floom para clientes de IA. Para o contrato completo de construção copiar-e-colar, leia BUILDING.md.

Como é um Trabalhador

Um trabalhador é uma definição de trabalho baseada em pasta. Descreva o trabalho em inglês simples (SKILL.md) ou entregue um script (run.py), declare suas ferramentas, gatilho, memória e segredos em worker.yml, e o Floom o executa.

# workers/github-digest/worker.yml  (abbreviated)
name: github-digest
description: "Every morning at 9am, send a digest of unread GitHub PRs and open issues."
exec:
  entry: SKILL.md          # plain-English agent; or run.py for a script
trigger:
  type: schedule
  cron: "0 9 * * *"        # also: manual, webhook, Composio event
connections:
  - app: github            # the only tools this agent is allowed to call
    allowed_tools: [GITHUB_FIND_PULL_REQUESTS, GITHUB_LIST_ASSIGNED_ISSUES]
<!-- workers/github-digest/SKILL.md -->
You are a GitHub assistant generating a daily PR + issues digest.
Fetch the user's open PRs and assigned issues, compile a markdown digest
with Action items, and finish_with_outputs({ "digest": "<markdown>" }).

Ele roda às 9h, chama apenas as duas ferramentas do GitHub que declarou e escreve digest.md em uma execução que você pode abrir, reproduzir ou reverter:

run 7f3a · github-digest · finished 09:00:04 · 2 tool calls · output: digest.md
  ✓ GITHUB_FIND_PULL_REQUESTS    q="is:open is:pr author:@me"   → 4 PRs
  ✓ GITHUB_LIST_ASSIGNED_ISSUES  state=open                     → 2 issues
  → out/digest.md (text/markdown)   [open · replay · rollback]

O manifesto completo adiciona schema_version, title, version e outputs declarados. Veja workers/ para exemplos executáveis, BUILDING.md para um trabalhador mínimo implantável e o livro de receitas do agente.

Dois tipos de agente

roda emisolamento de hostferramentasefeitos colaterais
Script (run.py / .sh / .js / .ts)microVM de sandbox E2Bsistema de arquivos, ambiente e processo isolados; segredos da plataforma retidossandbox + conexões declaradasporta de aprovação quando declarado
Agente (SKILL.md)AgentDriver no processo da API (apenas bundles confiáveis)não isolado por microVM por políticaconexões declaradas, lista de permissõesporta de aprovação quando declarado

Sandboxes permitem egresso de rede público por padrão e bloqueiam intervalos privados/internos; uma lista de permissões mais restrita é opcional. Modelo de confiança completo: ARCHITECTURE.md.

Runtime do Trabalhador em Resumo

O que éRuntime auto-hospedado para criar, executar e supervisionar agentes de IA em segundo plano
Melhor paraTrabalho recorrente de agentes: triagem de caixa de entrada, resumos, rascunho de divulgação, enriquecimento, monitoramento
Tipos de agenteScript (run.py/.sh/.js/.ts) e agente em inglês simples (SKILL.md)
IsolamentoTrabalhadores de script rodam em microVMs de sandbox E2B - sistema de arquivos, ambiente e processo do host isolados; segredos da plataforma retidos
GatilhosManual, agendamento (cron), webhook, evento Composio
SegurançaAprovações humano-no-loop para agentes com efeitos colaterais; ferramentas com lista de permissões por agente
No registroCada execução registra logs, saídas, chamadas de ferramentas, estado de aprovação, reprodução + reversão
Modelo de custoFloom adiciona nenhuma taxa por tarefa - você paga o runtime do sandbox E2B (por segundo) mais o uso do seu provedor de modelo/API
StackNext.js + Tailwind UI · FastAPI + SQLite API · servidor MCP + CLI
Roda emLinux, macOS, Windows (Python 3.11+, Node 20+)
LicençaMIT · versão hospedada

Para Quem é o Floom

  • Fundadores e operadores que transformam trabalho recorrente (resumos, triagem, divulgação) em agentes que rodam sozinhos.
  • Engenheiros que querem um runtime real - manifestos, sandboxes, limites, aprovações - não um arquivo de prompt e um cron job.
  • Equipes que precisam que cada ação seja permitida, aprovada e reproduzível para auditoria.
  • Qualquer pessoa queimada por agentes que executaram um comando destrutivo, vazaram um segredo ou alegaram sucesso sem nada no registro.

Floom Comparado: Scripts Brutos vs Zapier vs MCP Feito à Mão

scripts brutosZapier / Makeservidor MCP feito à mãoFloom
Definição do trabalhadorprompt ou código ad-hocgráfico visual, difícil de versionarcódigo de servidor de ferramenta personalizadouma pasta: worker.yml + SKILL.md ou run.py
Runtimecron, shell ou processo localruntime de automação do fornecedoro que o desenvolvedor construirruntime de agente com gatilhos, execuções, logs, saídas, aprovações, reprodução e reversão
Isolamentoroda no seu hostnuvem do fornecedor, opacadepende da implementaçãomicroVM de sandbox E2B para trabalhadores de script
Acesso a ferramentaso que o script alcançarpor conectorapenas ferramentas MCPdeclarado e com lista de permissões por trabalhador
Efeitos colateraisdisparam imediatamentedependente do fluxo de trabalhológica de aprovação personalizadaporta de aprovação humana quando declarado
Observabilidadehistórico de rolagem, se houverlogs por etapalogs personalizadoslogs, chamadas de ferramentas, saídas, artefatos, estado de aprovação, reprodução e reversão
Acesso do agentewrapper personalizado necessárionão é um alvo de build nativo de agenteagente pode chamar ferramentas, mas o runtime do app é separadoferramentas MCP permitem que agentes criem, executem, observem e inspecionem trabalhadores
Modelo de custotokens de modelo e infraestruturataxas por tarefa ou por execuçãotokens de modelo e infraestruturanenhuma taxa por tarefa; você paga runtime e uso do provedor
Hospedagemseu hostapenas fornecedorseu hostauto-hospedado, ou hospedado

Início Rápido: Execute o Floom Localmente

Linux / macOS

git clone https://github.com/floomhq/floom.git
cd floom
./scripts/setup.sh
# edit apps/api/.env: add a model provider key and E2B_API_KEY
./scripts/dev.sh

Windows PowerShell

git clone https://github.com/floomhq/floom.git; cd floom
.\scripts\setup.ps1
# edit apps\api\.env: add a model provider key and E2B_API_KEY
.\scripts\dev.ps1

Requer Python 3.11+, Node.js 20+, Git, uma chave de provedor de modelo e uma chave E2B de e2b.dev. Abra http://localhost:3000 e faça login - sem segredo de autenticação para desenvolvimento local, e os agentes de exemplo são semeados no primeiro boot.

Configuração completa, provedores de modelo, integrações opcionais e a lista de verificação segura de auto-hospedagem: docs/GETTING-STARTED.md. Problemas comuns: docs/TROUBLESHOOTING.md.

Não está pronto para auto-hospedar? floom.dev é a versão hospedada - contrate agentes de IA sem configuração. Usuários hospedados podem começar de um cliente MCP com:

npx -y @floomhq/floom mcp install --target claude

As chaves .env, de provedor de modelo e E2B acima são para executar seu próprio runtime local ou auto-hospedado, não para usar o Floom Cloud.

Como uma execução funciona

Floom worker runtime flow from trigger to worker, runner, sandbox or agent driver, side-effect approval, and run record

Conceitos principais

  • Agentes - pastas sob workers/<name>/ com worker.yml mais um entrypoint de script (run.py) ou um prompt de agente (SKILL.md).
  • Execuções - cada execução registra logs, saídas, chamadas de ferramentas, estado de aprovação e contexto de reprodução/reversão.
  • Contextos - bundles de arquivos reutilizáveis anexados a agentes como material de referência; sensíveis por padrão.
  • Aprovações - agentes com efeitos colaterais pausam para uma decisão humana antes que qualquer coisa saia.
  • Histórico do workspace - agentes, contextos e configurações versionados em um workspace com suporte a git para reversão.

Escreva seu primeiro agente em docs/GETTING-STARTED.md, depois docs/AUTHORING.md para o contrato completo de manifesto e runtime.

Como os trabalhadores executam

Trabalhadores de script (.py/.sh/.js/.ts) rodam em uma microVM de sandbox E2B por padrão: dependências isoladas, sem acesso ao processo do host, recursos contidos. Trabalhadores TypeScript usam o runtime Node com tsx (npx --yes tsx run.ts) e o mesmo contrato inputs.json/result.json que trabalhadores Python. Um bundle que despeja os.environ dentro do sandbox vê apenas metadados do sandbox - FLOOM_SECRET, chaves de provedor e E2B_API_KEY estão todos ausentes. Trabalhadores de agente (SKILL.md) rodam pelo loop de ferramentas AgentDriver hospedado na API e são governados por suas conexões declaradas e pela porta de aprovação; a política atual de locatário único permite apenas bundles de agente confiáveis nesse caminho. Não há runner de script local em processo. Modelo de confiança completo: ARCHITECTURE.md.

Manuseio de dados, salvaguardas de contas conectadas, limites de retenção e superfícies legais do Cloud hospedado são resumidos em docs/DATA-RETENTION.md.

Arquitetura

apps/web      Next.js + TypeScript + Tailwind + shadcn/ui
apps/api      FastAPI + SQLite + Pydantic
apps/mcp      MCP server + CLI
workers/      Worker folders (worker.yml + run.py or SKILL.md)
data/         SQLite DB + run artifacts

FAQ: Agentes de IA, MCP e Implantação de Scripts Python

O que é o Floom em uma frase?

Floom é um runtime de código aberto para trabalhadores de IA em segundo plano que rodam a partir de pastas de trabalhador versionadas com entradas, saídas, gatilhos, ferramentas, aprovações, logs, acesso à API REST, acesso à interface e acesso MCP declarados.

O Floom é um servidor MCP?

O Floom inclui um servidor MCP, mas é mais do que um servidor MCP. O endpoint MCP permite que clientes de agente criem, executem, observem, inspecionem e gerenciem trabalhadores Floom. O runtime Floom é a parte que executa esses trabalhadores, registra execuções, gerencia aprovações e expõe a interface e a API REST.

Um agente de codificação de IA pode criar um trabalhador Floom a partir deste repositório?

Sim. Leia BUILDING.md primeiro. O contrato de construção é uma pasta workers/<id>/ com worker.yml, run.py ou SKILL.md, e requirements.txt opcional, depois floom workers validate e floom workers push.

Posso implantar um script Python como um app, API REST e trabalhador acessível via MCP?

Sim. Coloque o script em workers/<id>/run.py, declare suas entradas e saídas em worker.yml, implante com floom workers push, e o Floom o torna executável pela interface, API REST e ferramentas MCP.

Qual é a diferença entre modo script e modo agente?

O modo script executa código determinístico como Python, shell ou Node no sandbox. O modo agente executa um prompt SKILL.md pelo loop de agente com ferramentas declaradas e escritores de saída.

O Floom substitui o Zapier ou o Make?

O Floom é para equipes que querem pastas de trabalhador versionadas, execução em sandbox, portas de aprovação, logs, saídas, reprodução, reversão, acesso à API REST e acesso MCP. Zapier e Make são produtos de automação visual com seus próprios runtimes de fornecedor.

O Floom substitui ferramentas MCP escritas à mão?

Floom pode expor trabalho por meio de MCP sem que você precise construir manualmente todo o runtime do aplicativo. Um servidor MCP escrito à mão dá ferramentas a um agente; o Floom dá ao worker um runtime, UI, API, gatilhos, saídas, logs, aprovações e ferramentas MCP.

Documentação

Contribuindo

Contribuições são bem-vindas. Consulte CONTRIBUTING.md para configuração local, o mapa de primeira contribuição e as diretrizes de PR. Verificações locais rápidas a partir da raiz do repositório:

npm run test:api
npm run lint:web
npm run test:web
npm run test:mcp

Segurança

Para relatar uma vulnerabilidade, siga SECURITY.md e relate-a de forma privada, em vez de abrir uma issue pública.

Licença

Licença MIT (c) 2026 contribuidores do Floom. Você pode usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e vender cópias do Floom, sujeito ao aviso de licença MIT e à isenção de garantia.