mcp server
OmniCraft
OmniCraft — meta-harness open-source para todos os seus agentes de IA (pt-BR). Chat · Code · Craftwork.
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`)
{
"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, 2026OmniCraft
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.
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
- Início rápido
- Galeria de agentes: times prontos
- Automação: agende, dispare, receba
- Servidores MCP
- Observabilidade e diagnóstico
- Governança: políticas e sandbox
- Arquitetura em um diagrama
- Servidor próprio, celular e colaboração
- Escreva seu próprio agente
- O que este fork adiciona
- Qualidade
- Contribuindo · Licença
🗂️ 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 textos | Automatizar: tarefas agênticas numa pasta, agora ou agendadas | Executar: sessões de código com filesystem, worktrees e terminal |
| Acesso a arquivos | Nenhum — garantido por arquitetura, não por promessa | Sim, na pasta escolhida | Sim, completo |
| Memória | Longo prazo, local, por projeto | — | — |
| Extra | Painel de Artifacts com "→ Code" | Frequência Manual/Diário/Semanal vira job real | Dashboard 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 (ouvresolve para você).- Node.js 22 LTS+ com
npm, para os harnesses instalados via npm (Claude, Codex, OpenCode, Pi) e para servidores MCP vianpx. 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
databrickspara 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:
| Agente | O que é | Sub-agentes | Skills |
|---|---|---|---|
| fucho | Orquestradora multi-agente de código (Claude Code · Codex · Gemini · Cursor · OpenCode · Hermes · Pi) com revisão de outro fornecedor | 7 | 4 |
| gemini | O Gemini CLI do Google como agente, via ACP — usa o login do próprio CLI | — | — |
| maestro | Testes/QA: escreve testes, delega execução, revisa o design da suíte | 2 | 3 |
| atlas | Planejamento/arquitetura: produz planos, nunca escreve código | 2 | 3 |
| polyglot | Localização/i18n com revisão de fluência cross-vendor | 2 | 3 |
| sculptor | Refatoração segura: mapeia o raio de impacto antes, verifica depois | 2 | 3 |
| scribe | Documentação: release notes, READMEs, guias de migração | 2 | 3 |
| sentinel | Auditoria de segurança — só reporta, nunca corrige sozinho | 2 | 1 |
| lilo | Debate entre dois modelos de fornecedores diferentes | 2 | 1 |
| remy | Assistente com memória de longo prazo (Hindsight) | — | — |
| chat | A 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:
| Área | Novidades |
|---|---|
| Superfícies | Abas Início/Code com históricos separados; Chat sem filesystem (garantia no servidor); Craftwork in-place estilo Cowork com frequência |
| Chat | Memória local por projeto (sem chave), painel de Artifacts com "→ Code", "Discutir no Chat" no caminho inverso, mascote nadando 🐟 |
| Automação | Agendador com cron+fuso+templates, webhooks com templating {{...}}, resultado por push, alerta de falhas, no-overlap, escopo por dono |
| Agentes | Galeria 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 |
| Fornecedores | Trê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 locais | ComfyUI ligado aos agentes: imagens de site (RealVisXL em 1024px + upscale 2x por IA) e 3D texto→GLB (Hunyuan3D) — sem nuvem, sem chave |
| Desktop | Abrir 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éis | Dois 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 |
| MCP | Página de gestão para agentes template, catálogo de um clique, teste de conexão real |
| Cockpit | Dashboard pessoal do Code (streaks, heatmap, modelo favorito), custos ao vivo, avaliações/regressão, Diagnóstico |
| Integrações | GitHub (issues/PRs → sessão semeada), menu / de skills, onboarding de primeiro uso |
| Celular | Push 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/macOS | Painel 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 |
| Confiabilidade | Runners 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.