Skip to content
Conduit

mcp server

OmniCraft

OmniCraft — meta-harness open-source para todos os seus agentes de IA (pt-BR). Chat · Code · Craftwork.

Omni-Craft/OmniCraftcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "omnicraft": {
      "command": "uvx",
      "args": [
        "omnicraft"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 21, 2026

OmniCraft

Converse. Codifique. Automatize. Um só lugar para todos os seus agentes de IA.

O OmniCraft é um ambiente de trabalho completo para agentes: um Chat seguro para pensar (sem acesso aos seus arquivos), um Code para executar (Claude Code, Codex, Cursor, OpenCode, Hermes, Pi e times de agentes em YAML), e um Craftwork para automatizar — agende tarefas, dispare por webhook e receba o resultado como notificação. Do terminal, do navegador, do celular ou do app desktop nativo.

Licença: Apache 2.0 Status: alpha Idioma: pt--BR Agentes na galeria

Sobre este fork. Fork em português do Brasil do projeto Omnigent, com identidade própria (marca OmniCraft, tema turquesa 🐟) e um conjunto grande de funcionalidades novas — as três superfícies Início/Code/Craftwork, agendamento com entrega por push, gestão de servidores MCP, galeria com times de agentes, memória local, diagnóstico e mais. Veja o que este fork adiciona.


Índice


🗂️ As três superfícies

O OmniCraft organiza o trabalho com agentes no mesmo modelo do Claude Desktop — e vai além:

💬 Chat🛠️ Craftwork</> Code
Para quêPensar: planejar, escrever specs, discutir arquitetura, revisar textosAutomatizar: tarefas agênticas numa pasta, agora ou agendadasExecutar: sessões de código com filesystem, worktrees e terminal
Acesso a arquivosNenhum — garantido por arquitetura, não por promessaSim, na pasta escolhidaSim, completo
MemóriaLongo prazo, local, por projeto——
ExtraPainel de Artifacts com "→ Code"Frequência Manual/Diário/Semanal vira job realDashboard pessoal + "Discutir no Chat"

💬 Chat — pense sem risco

A aba Início é a conversa geral do OmniCraft. O agente de Chat não recebe nenhuma ferramenta de filesystem (o servidor rejeita qualquer bundle "chat" que tente declarar uma) — então cole specs, discuta arquitetura e refine ideias sabendo que nada toca seus arquivos.

  • 🧠 Memória local de longo prazo — o Chat lembra fatos entre conversas, em arquivo local, sem chave de API nem serviço externo, com bancos separados por projeto.
  • 📦 Painel de Artifacts — os blocos de código e documentos que o assistente gera ficam colecionados num painel lateral, com copiar, baixar e "→ Code": um clique leva o plano pronto para o composer de execução.
  • 🐟 E sim, o mascote nada de verdade enquanto você pensa.

🛠️ Craftwork — automatize no mesmo composer

O toggle Chat / Craftwork transforma o composer no lugar (sem trocar de tela, idêntico ao Cowork): escolha a pasta, o agente, e uma frequência — Manual executa agora; Diário / Dias úteis / Semanal cria um job real no agendador com um clique, no seu fuso horário.

</> Code — execute com contexto

A aba Code é o composer clássico de sessões com filesystem — máquina, pasta de trabalho, worktree git — mais um dashboard pessoal: sessões, tokens, dias ativos, sequência (streak), horário de pico, modelo favorito e um heatmap de atividade estilo GitHub. Ao terminar, "Discutir no Chat" leva o resultado de volta para a mesa de planejamento.


🚀 Início rápido

# 1. Instale o CLI (comandos `omnicraft` e o atalho `omni`)
uv tool install --python 3.12 git+https://github.com/editzffaleta/OmniCraft.git

# 2. Configure um provedor de modelo (Anthropic, assinatura Claude, gateway…)
omnicraft setup

# 3. Suba o servidor local + web UI, e registre sua máquina como host
omnicraft server start
omnicraft host        # em outro terminal

Abra a web UI, escolha Início para conversar ou Code para executar — ou rode um agente direto no terminal:

omnicraft run examples/fucho/     # orquestradora multi-agente de código
omnicraft claude                  # Claude Code embrulhado com sessões/políticas
  • git (obrigatório) e Python 3.12 (o uv resolve para você).
  • Node.js 22 LTS+ com npm, para os harnesses instalados via npm (Claude, Codex, OpenCode, Pi) e para servidores MCP via npx.
  • tmux, exigido pelos wrappers nativos de terminal (omnicraft claude|codex|cursor|hermes|kiro|pi) — brew install tmux / apt install tmux.
# Modo editável (para desenvolver no fork)
git clone https://github.com/editzffaleta/OmniCraft.git
cd OmniCraft
uv tool install --force --editable .
  • Databricks (opcional): instale com o extra databricks para usar um workspace como provedor de modelo.

🤖 Galeria de agentes: times prontos

11 agentes instaláveis com um clique — de assistentes simples a times que dividem o trabalho entre sub-agentes de fornecedores diferentes, somando 21 sub-agentes e 21 skills.

A galeria filtra por tipo (orquestradores, conversa), tem busca por ⌘K e um painel de detalhes com a lista completa de sub-agentes e skills de cada um:

AgenteO que éSub-agentesSkills
fuchoOrquestradora multi-agente de código (Claude Code · Codex · Gemini · Cursor · OpenCode · Hermes · Pi) com revisão de outro fornecedor74
geminiO Gemini CLI do Google como agente, via ACP — usa o login do próprio CLI——
maestroTestes/QA: escreve testes, delega execução, revisa o design da suíte23
atlasPlanejamento/arquitetura: produz planos, nunca escreve código23
polyglotLocalização/i18n com revisão de fluência cross-vendor23
sculptorRefatoração segura: mapeia o raio de impacto antes, verifica depois23
scribeDocumentação: release notes, READMEs, guias de migração23
sentinelAuditoria de segurança — só reporta, nunca corrige sozinho21
liloDebate entre dois modelos de fornecedores diferentes21
remyAssistente com memória de longo prazo (Hindsight)——
chatA conversa geral sem filesystem que alimenta a aba Início——

Nos orquestradores, a revisão é sempre de um fornecedor diferente do implementador — o PR de um Claude é julgado por um Codex/Cursor/Pi, e vice-versa. Digite / no composer para navegar pelas skills do agente selecionado.


⏰ Automação: agende, dispare, receba

Um job agendado liga um agente + prompt + pasta a um gatilho:

  • 🕒 Intervalo ou horário exato — "a cada 6 horas" ou cron de 5 campos (0 9 * * 1-5) no seu fuso IANA, com templates de um clique (☕ Resumo diário, 📋 Revisão semanal) e proteção contra disparo duplo no horário de verão.
  • 🔗 Webhook público por token — o GitHub/Linear/Stripe chama a URL e o corpo do POST é interpolado no prompt via {{issue.title}}; comparação de token em tempo constante e resposta opaca.
  • 📬 O resultado volta para você — ao terminar, a resposta final do agente chega como notificação push clicável; se o job falhar 3 vezes seguidas, você também fica sabendo.
  • 🧯 À prova de acidentes — sem sobreposição de execuções, retry curto quando a máquina está offline, validação estrita (cron impossível, intervalo inválido e fuso errado retornam 400, não um loop infinito), e escrita atômica do estado.

🔌 Servidores MCP

Conecte ferramentas externas (Model Context Protocol) a qualquer agente da galeria — stdio ou HTTP — com um catálogo de um clique (Memory graph, Fetch, Filesystem, Playwright, Sequential Thinking) e um botão Testar que disca o servidor de verdade e lista as tools que ele expõe:

Segredos (env/headers) ficam apenas no bundle do agente — a API nunca os aceita nem os devolve.


📊 Observabilidade e diagnóstico

  • Custos ao vivo — gasto por dia, por modelo e por sessão, com alerta de orçamento.
  • Avaliações/regressão — suites de testes para agentes com comparação entre execuções.
  • Diagnóstico — seis verificações do ambiente com dicas acionáveis: máquina conectada, agente de Chat, GitHub, CLIs de código no PATH, integridade dos agendamentos e inscrição de push. Nunca mais depurar "não funciona" às cegas:

🏝️ A ilha e os painéis flutuantes

Acompanhar agentes só funciona se você não precisar manter a janela aberta — eles trabalham por minutos, às vezes por horas. Daí dois apps nativos (macOS 14+) que sobem e descem junto com o OmniCraft e nunca roubam foco.

A ilha ocupa a área da notch do MacBook. Fechada é um pill com a contagem; tocada, abre com as sessões, as janelas de limite do provedor e — o que importa — o pedido de aprovação em primeiro plano, com o comando que o agente quer rodar e os botões para decidir sem sair do que você está fazendo. Ela desenha acima da barra de menus, onde uma janela comum não alcança:

Os painéis flutuantes são janelas independentes para olhar uma sessão de perto: o Board com as colunas Ativas / Atenção / Concluídas derivadas do estado (nada de arrastar à mão), Uso com gasto e tokens, além de transcript, ferramentas, subagentes e tarefas:

Os dois ligam em Configurações ▸ HUD flutuante, junto com o mascote, o ritmo da animação e quais painéis abrir. O HUD é um só: a ilha e a janela flutuante mostram o mesmo e no mesmo lugar da tela, então você escolhe onde ele aparece e nunca fica com os dois empilhados.

Uma honestidade sobre o estado atual: o feed descreve sessões, então o Board, o Uso e o seletor de sessão são reais; o interior da sessão (transcript, ferramentas, subagentes, tarefas) ainda não é buscado, e esses painéis dizem isso em vez de mostrar exemplo como se fosse dado seu.


🛡️ Governança: políticas e sandbox

Cada agente roda sob políticas declarativas (23 no catálogo, em pt-BR): raio de explosão de comandos git, limites de custo, aprovação de pushes, guarda de propósito de sub-agentes, escopo de diretório e mais — com editor visual e simulação contra sessões reais antes de aplicar.

policies:
  approve_shell:
    type: function
    handler: omnicraft.policies.builtins.safety.ask_on_os_tools   # perguntar antes de shell / escrita
  budget:
    type: function
    handler: omnicraft.policies.builtins.cost.cost_budget
    factory_params:
      max_cost_usd: 5.00           # teto rígido de gasto...
      ask_thresholds_usd: [3.00]   # ...com um aviso leve no caminho

As políticas se empilham em três níveis — servidor (admin), agente (dev) e sessão (você) — sempre vencendo a mais estrita. Agentes que revisam código não confiável rodam sandboxados por padrão (bwrap/seatbelt), e o nome chat é reservado no servidor para specs sem filesystem: um bundle impostor com os_env é rejeitado com 400.


🧬 Arquitetura em um diagrama

flowchart LR
    subgraph Voce["Você"]
        UI["🖥️ Desktop / Web / 📱 Celular"]
        CLI["⌨️ CLI · omnicraft"]
    end

    subgraph Servidor["Servidor OmniCraft"]
        API["API + Web UI"]
        SCHED["⏰ Agendador<br/>cron · webhook · push"]
        GAL["🤖 Galeria<br/>16 agentes"]
        MCPP["🔌 Pool MCP"]
        POL["🛡️ Políticas"]
    end

    subgraph Host["Sua máquina (host)"]
        RUN["Runner"]
        H1["Claude Code"]
        H2["Codex · Cursor · OpenCode"]
        H3["Hermes · Pi · agentes YAML"]
        FS[("📁 Filesystem<br/>+ worktrees git")]
    end

    UI --> API
    CLI --> API
    SCHED --> API
    API <--> RUN
    GAL --> RUN
    MCPP <--> RUN
    POL --> RUN
    RUN --> H1 & H2 & H3
    H1 & H2 & H3 --> FS

O servidor orquestra; o runner executa na sua máquina (ou num sandbox gerenciado). A aba Chat conversa com um agente sem a ponta FS — por construção, não por configuração.


🌐 Servidor próprio, celular e colaboração 📱

Rode o OmniCraft num servidor com URL estável e as sessões acompanham você — a web UI é feita para mobile, com o mesmo chat, sub-agentes, terminais e arquivos em sincronia com o notebook.

omnicraft login https://seu-host    # login uma vez; run / attach / host reusam o token
omnicraft host                      # registra o notebook como host do servidor
  • Compartilhe uma sessão ao vivo — clique em Compartilhar e envie o link; colegas veem o agente trabalhando e conversam com ele em tempo real.
  • Co-dirija — omnicraft attach <session_id> co-anexa um colega à sua sessão; as mensagens dele executam na sua máquina.
  • Bifurque — omnicraft run --fork <session_id> clona a conversa para outra máquina e segue de forma independente.
  • SSO — Google, GitHub, Okta e Microsoft via OMNICRAFT_OIDC_ISSUER.

📲 Notificação no celular, com o app fechado

Abra a web UI no Safari do iPhone e use Compartilhar ▸ Adicionar à Tela de Início: instalada assim, ela recebe Web Push de verdade (iOS 16.4+) — o agente pedindo aprovação, o agendado que terminou, o agendado que falhou três vezes seguidas. Nada de conta paga de desenvolvedor.

Exige que o servidor esteja em https (um endereço Tailscale resolve isso de graça e ainda dá acesso de fora) e que o servidor confie nessa origem, via OMNICRAFT_WS_ALLOWED_ORIGINS. A tela de Configurações mostra o estado do push e, quando ele não está ativo, diz o motivo.

docker compose up sobe em qualquer VPS; Render e Railway implantam com um clique; Fly.io, Hugging Face Spaces, Modal, Cloudflare e Databricks Apps também são cobertos — e um quick tunnel do Cloudflare ou Tailscale alcança um servidor no seu próprio notebook sem deploy. Guia completo em deploy/README.md.


✍️ Escreva seu próprio agente

Um agente é uma pasta com um config.yaml — prompt, harness, ferramentas, sub-agentes, skills, políticas e MCPs:

spec_version: 1
name: meu-agente
description: >-
  Um revisor de PRs que lê o diff e comenta em pt-BR.
executor:
  harness: claude-sdk
os_env:
  type: caller_process
  cwd: .
guardrails:
  policies:
    blast_radius:
      type: function
      on: [tool_call]
      function:
        path: omnicraft.inner.nessie.policies.blast_radius
prompt: |
  Você é um revisor de PRs criterioso...
omnicraft run meu-agente/

Os 11 agentes de examples/ são o melhor material de estudo — do chat minimalista à fucho (orquestradora completa com guardrails, spawn e revisão cross-vendor). Especificação completa em docs/AGENT_YAML_SPEC.md.


🍴 O que este fork adiciona

Além da tradução completa (UI, CLI, políticas e docs em pt-BR) e da identidade OmniCraft, este fork traz um conjunto grande de funcionalidades que não existem no upstream:

ÁreaNovidades
SuperfíciesAbas Início/Code com históricos separados; Chat sem filesystem (garantia no servidor); Craftwork in-place estilo Cowork com frequência
ChatMemória local por projeto (sem chave), painel de Artifacts com "→ Code", "Discutir no Chat" no caminho inverso, mascote nadando 🐟
AutomaçãoAgendador com cron+fuso+templates, webhooks com templating {{...}}, resultado por push, alerta de falhas, no-overlap, escopo por dono
AgentesGaleria instalável com 11 agentes: a orquestradora fucho (7 workers), maestro/atlas/polyglot/sculptor/scribe/sentinel, o lilo (debate cross-vendor), o remy (memória) e o chat
FornecedoresTrês misturáveis num run: Claude, Codex e Google — Gemini CLI (via ACP) e Antigravity somados aos harnesses do upstream. Skill de roteamento com tabela tarefa→(worker, modelo) e a regra que importa: quem julga nunca é quem construiu
Assets locaisComfyUI ligado aos agentes: imagens de site (RealVisXL em 1024px + upscale 2x por IA) e 3D texto→GLB (Hunyuan3D) — sem nuvem, sem chave
DesktopAbrir o app sobe o stack local sozinho (servidor + host); instaladores Windows (.exe) e macOS (.dmg); navegador embutido dirigível pelo agente (browser_*)
Ilha e painéisDois apps nativos que sobem com o OmniCraft e nunca roubam foco: a ilha fundida com a notch (acima da barra de menus, onde uma janela não alcança), com aprovação decidível ali mesmo, e os painéis flutuantes (Board, Uso, transcript, ferramentas, subagentes, tarefas). Um HUD só: você escolhe onde ele aparece, e mascote, ritmo e painéis se configuram na mesma tela
MCPPágina de gestão para agentes template, catálogo de um clique, teste de conexão real
CockpitDashboard pessoal do Code (streaks, heatmap, modelo favorito), custos ao vivo, avaliações/regressão, Diagnóstico
IntegraçõesGitHub (issues/PRs → sessão semeada), menu / de skills, onboarding de primeiro uso
CelularPush de verdade no iPhone sem conta paga da Apple — a web UI instala na Tela de Início e recebe notificação com o app fechado (Web Push, iOS 16.4+). O aviso de aprovação diz o que está sendo aprovado, não só que algo está. App iOS nativo (SwiftUI/WKWebView) como alternativa
iOS/macOSPainel do Simulador iOS com vídeo H.264 ao vivo — captura o buffer da janela (ScreenCaptureKit), então continua correto com a janela coberta ou movida — e clique-para-tocar no device, que voltou a funcionar depois que o idb foi descontinuado
ConfiabilidadeRunners sobrevivem ao reinício do host (registro + readoção), watchdog para sub-agente que morre calado, aprovação automática por sessão (alternável em pleno voo), PATH do shell de login no daemon, verificação de saúde da instalação em uso (scripts/health-check.sh: abre sessão, pergunta e espera a resposta), e uma auditoria de 26 correções (scheduler, escrita atômica, locks, DST)

✅ Qualidade

  • Todas as funcionalidades novas foram verificadas ao vivo (E2E no navegador e via API) além de cobertas por testes unitários — incluindo casos como o disparo duplo de cron na transição real de horário de verão de 2026-11-01 em America/New_York.
  • Uma auditoria multi-agente em 4 frentes (backend, frontend, integração E2E, bundles) encontrou e corrigiu 26 problemas antes de você lê-los aqui.
  • pre-commit (ruff, prettier, ktlint, swift-format) e a CI espelham as mesmas verificações.
# testes do servidor
uv run --with pytest --with pytest-asyncio python -m pytest tests/server -q

# frontend
cd web && npx tsc -b && npx vitest run

Contribuindo

Issues e PRs são bem-vindos. Leia o CONTRIBUTING.md para o fluxo completo (pre-commit, template de PR com demo em vídeo/imagem para mudanças de UI) e o CLAUDE.md se você for um agente de IA trabalhando neste repositório — sim, este fork foi construído em parceria com um. 🤝

Licença

Apache 2.0. Este projeto é um fork do Omnigent — todo o crédito da fundação (runtime, harnesses, políticas, deploy) vai para o projeto original; as funcionalidades listadas acima são deste fork.


Feito com 🐟 em português do Brasil.

Se o mascote estiver nadando de costas, abra uma issue.

↑↓ navigate openesc close