Seu agente. Sua máquina. Suas regras. — local por lei.
🌐 Site · ⚡ Instalar · 🖥️ Veja por dentro · 🔏 Verifique você mesmo · 🧭 Guia do iniciante · 📚 Docs
NOMOS é um agente pessoal de IA que roda 100% no seu computador. Cérebro, memória, chaves e registros ficam na sua máquina. A nuvem é opcional e só funciona se você "plugar" de propósito. Leve, sem exigir super-PC, e feito para iniciantes.
E quando o NOMOS chega até você, chega provado: cada release publica hash, proveniência criptográfica (SLSA/Sigstore) e inventário de dependências — e o mesmo commit produz bytes idênticos em Linux, macOS e Windows, em Python 3.10, 3.12 ou 3.14. Você não precisa confiar; pode verificar.
███╗ ██╗ ██████╗ ███╗ ███╗ ██████╗ ███████╗
████╗ ██║██╔═══██╗████╗ ████║██╔═══██╗██╔════╝
██╔██╗ ██║██║ ██║██╔████╔██║██║ ██║███████╗
██║╚██╗██║██║ ██║██║╚██╔╝██║██║ ██║╚════██║
██║ ╚████║╚██████╔╝██║ ╚═╝ ██║╚██████╔╝███████║
╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
- 🔒 Local por lei — por padrão, nada sai da sua máquina. A própria política bloqueia qualquer saída para a internet até você permitir.
- 🧠 Cérebro leve embutido — não precisa de Ollama nem GPU. Baixa um modelo pequeno (a partir de ~400 MB) que roda em qualquer laptop, uma vez só.
- ✋ Pede licença — toda ação sensível passa por uma aprovação sua; em scripts/CI a resposta é sempre "não" (fail-closed, sem flag de bypass).
- 🎯 Nunca finge — sem cérebro conectado, avisa; jamais inventa resposta.
- 🧩 Skills governadas — habilidades instaláveis que só fazem o que declaram, com risco visível e aprovação humana.
- 🚦 Roteador automático — escolhe o melhor motor para cada tarefa, local primeiro, sem você precisar entender de modelos.
- 🔗 Cadeia de suprimentos provada — wheel e sdist bit-a-bit reproduzíveis, assinados via Sigstore, com SBOM amarrado por SHA-256 ao artefato exato.
- 🎨 Do seu jeito — nome do agente, personalidade e cores personalizáveis.
| Capacidade | O que faz | Como |
|---|---|---|
| Local por lei | Por padrão nada sai da máquina; a política bloqueia egress até você permitir. | — |
| Pede licença (A0–A6) | Toda ação sensível é aprovada por você; em scripts/CI a resposta é sempre não. | — |
| Nunca finge | Sem cérebro pronto, avisa; jamais inventa resposta ou dado. | — |
| Cérebro leve embutido | Modelo pequeno (a partir de ~400 MB) que roda sem GPU nem Ollama. | nomos cerebro |
| Roteador automático | Escolhe o melhor motor por tarefa — local primeiro. | nomos motores |
| Memória local | SQLite na sua máquina com busca full-text; você revisa o que vira permanente. | nomos memoria |
| Memória que atravessa sessões | Motor auditável: dry-run por padrão, hash de integridade, recusa segredos e PII. | python -m nomos.memory.cli |
| Mosaic — telas ao vivo no painel | Várias telas isoladas em mosaico dentro do painel, vistoriadas pelo agente. | python -m nomos.mosaic.cli |
| Conversas com retenção | Abra, busque, fixe, exporte e esqueça conversas — retenção sob seu controle. | nomos conversas |
| Missões que fazem | Plano legível → uma aprovação → execução passo a passo → evidência; um comando desfaz. | nomos missao |
| Fila de aprovações | Ação sensível passa por fila com token de uso único; no terminal ou no painel. | nomos approvals |
| Motor Council | Vários motores respondem, revisam às cegas e um árbitro converge — fail-closed. | nomos conselho |
| Cofre e backup | Chaves com senha-mestra; seu NOMOS inteiro num arquivo cifrado. | nomos chaves |
| Skills governadas | Habilidades instaláveis e assinadas que só fazem o que declaram. | nomos skills |
| Agentes com escopo | Agentes oficiais e próprios, com ferramentas, motores e risco máximo definidos. | nomos agentes |
| Auditoria com âncora | Trilha com âncora HMAC — evidência que não muda em silêncio. | nomos logs |
| Painel web local + chat | Status, motores, evidências, política viva e chat local — só 127.0.0.1. | nomos painel |
| Conectores MCP oficiais | Telegram, WhatsApp, e-mail (SMTP/IMAP), Slack, Signal e calendário .ics — governados (A3/A0). | nomos mcp |
| Rotinas e briefing 2.0 | Resumo do dia + o que chegou, entregue no seu canal, sempre com seu OK. | nomos rotinas |
| Atualização com licença | Checa versão nova e propõe — nunca atualiza sozinho. | nomos atualizar |
| Evidências verificáveis | Cada missão gera pacote com relatório, manifesto e SHA-256, auditável offline. | nomos evidencia |
| Botão de pânico | Um comando corta tudo: revoga consentimentos e tranca. | nomos panic |
| Doutor | Check-up honesto do que está pronto e o próximo passo. | nomos doutor |
O painel roda só em 127.0.0.1, com URL secreta e zero assets externos — nada sai da sua máquina nem para desenhar a página.
Requer Python 3.10+. Instalação a partir do código:
git clone https://github.com/Voltolini-SPACE/NOMOS
cd NOMOS
pip install .
nomos # 1ª vez: assistente guiado; depois: menu principalOu pelos instaladores de 1 clique anexados a cada release do GitHub
(install.sh para Mac/Linux, install.ps1 para Windows) — com verificação de
integridade, backup automático e rollback. Detalhes: docs/INSTALL.md.
Todo release do NOMOS publica três camadas independentes de garantia — e qualquer pessoa pode conferir as três em menos de um minuto:
# 1. Integridade: os bytes que você baixou são os bytes publicados
shasum -a 256 -c SHA256SUMS
# 2. Proveniência: o pacote saiu DESTE repositório, DESTE workflow, DESTA tag
# (assinatura Sigstore/Fulcio + transparência Rekor)
gh attestation verify nomos-*.whl -R Voltolini-SPACE/NOMOS
# 3. Reprodutibilidade: reconstrua do fonte e obtenha o MESMO hash
git checkout <tag> && python tools/repro_check.pyO inventário de dependências (sbom.cdx.json, CycloneDX 1.5) referencia o
wheel e o sdist pelo SHA-256 exato — o SBOM descreve aquele arquivo, não
"uma versão parecida". Contrato completo: docs/SUPPLY_CHAIN.md.
| Comando | O que faz |
|---|---|
nomos |
menu principal amigável (ou onboarding, na 1ª vez) |
nomos doutor |
check-up: STATUS GERAL + o próximo passo recomendado |
nomos cerebro baixar |
baixa o cérebro leve (uma vez; pede sua aprovação) |
nomos skills |
menu de habilidades: instalar, ver permissões, diagnóstico |
nomos motores listar |
motores por modalidade: custo, privacidade, status |
nomos motores recomendar texto |
o que o roteador usaria, e por quê |
nomos motores auto on |
roteamento automático local-first (padrão: ligado) |
nomos local status |
o cadeado que mantém tudo local |
nomos chaves |
guarda chaves com segurança, sem digitar no chat |
nomos arquivo <caminho> |
lê e resume um arquivo seu, tudo local (PDF com extra opcional) |
nomos backup criar <arquivo> |
seu NOMOS inteiro num arquivo cifrado (memórias, chaves, tudo) |
nomos painel |
cockpit web local (status, aprovações, chat) + NOMOS Dash ao vivo |
nomos mcp exemplos |
conectores que acompanham o NOMOS (Telegram, WhatsApp, e-mail, Signal, Slack, calendário) e como ligar |
nomos mcp buscar <termo> |
acha um conector embarcado por nome ou descrição (ex.: nomos mcp buscar agenda) — sem acento/caso |
nomos mcp assinatura <conector> |
verifica a assinatura opcional de autor (ed25519) — camada acima do SHA-256; recusa no confiar se estiver inválida |
nomos mcp doutor |
check-up dos conectores: confiança, credenciais no ambiente (só presença) e interpretador — só-leitura |
nomos entrada telegram / email / calendario |
lê o que chegou (mensagens) ou a sua agenda por um conector confiado — só leitura, governado (A3; o calendário local é A0) |
nomos entrada <canal> --dia |
briefing 2.0: junta "o que chegou"/"sua agenda" + "o seu dia" numa visão só |
nomos conselho status / modos / simular |
Motor Council: estado e modos (informativo) + simulação segura em dry-run |
nomos rotinas criar "Briefing" 08:00 briefing-telegram:<chat> |
briefing diário entregue no seu canal — telegram/whatsapp/email/slack (com seu OK, A3) |
nomos doutor --consertar |
aplica correções seguras com a sua confirmação |
nomos atualizar |
checa se há versão nova (com sua aprovação; nunca atualiza sozinho) |
Dentro da conversa: /ajuda, /cerebro, /chaves, /motores, /tema,
/local, /doutor, /contexto (transparência do que vai ao motor), /sair.
Sair para a internet; usar motor de nuvem; usar chave do cofre; criar/alterar arquivo; executar código; instalar skill; acessar microfone/câmera/tela. Ações destrutivas são negadas por padrão. Detalhes e mecanismos: docs/PRIVACIDADE.md.
- Guia do iniciante — sem jargão
- Modelo de ameaças — cada garantia com o teste que a prova
- Instalação · Privacidade
- Motores · Roteador automático
- Conectores sociais — Telegram, WhatsApp, e-mail (o mapa honesto)
- Skills · Changelog
O NOMOS tem um kernel de governança (política fail-closed A0–A6, gate de
aprovação, cofre Argon2id, auditoria com cadeia de hash, cadeado de
localidade) e uma camada de cognição (cérebro embutido via llama.cpp,
memória local SQLite, catálogo de motores por modalidade, roteador automático
local-first e pipelines com política em cada etapa). Skills passam por
manifesto validado, checksum, assinatura ed25519 e trust store. Tudo em
Python puro, multiplataforma.
O Motor Council — um pipeline de múltiplos motores que revisa, julga e
arbitra respostas antes de entregá-las — está disponível em modo dry-run.
A capacidade estreou na tag v1.3.0rc4-motor-council-dry-run e segue presente,
sem retrocesso, na versão atual (1.3.0rc20). Ainda não é produção e
não executa motor de verdade.
Superfícies disponíveis hoje (nenhuma executa motor real):
nomos conselho ajuda # mapa dos comandos do Council
nomos conselho status # estado + travas (informativo)
nomos conselho modos [--avancado] # os 4 modos (aceita --json)
nomos conselho diagnostico [--json] # lê a trava REAL do harness, ao vivo
nomos conselho simular "seu texto" # simulação segura (dry-run)
/conselho status # os mesmos, dentro do chat
/conselho modos
/conselho simular seu textoGarantias atuais (todas verificadas por teste, não por convenção):
- Execução de motor real: desligada — trava literal
REAL_LOCAL_ENGINE_EXECUTION_ENABLED = False, sem API para ativar. - CLI e chat:
statusemodossão informativos puros (só imprimem fatos estáticos — nada de motor, prompt, rede ou disco);simularroda em dry-run; eperguntar,revisar,explicar,diagnostico— que exigiriam execução real — seguem desabilitados/fail-closed nas duas superfícies. - Policy/Audit/Vault reais: não são chamados (o gate e o audit são só
dry-run; A0–A6 simulado,
would_write_audit=false). - Nuvem / rede / subprocess: não usados por nenhum módulo do Council.
- Persistência: desligada no fluxo do Council.
- Prompt / conteúdo bruto: nunca aparece nas saídas (redação; só campos
escalares seguros, inclusive no
--json). - Modo privado / paranoico: força
persist_allowed=false.
Detalhes técnicos e o mapa completo das fases MC0–MC18:
docs/architecture/MOTOR_COUNCIL_INDEX_v1.md— índice técnicodocs/architecture/MOTOR_COUNCIL_UX_SPEC_v1.md— UX de CLI/chatdocs/architecture/MOTOR_COUNCIL_CHAT_DRY_RUN_SPEC_v1.md— spec do chat dry-run
Release candidate (v1.3.0rc20, pre-release). Suíte com mais de 1.800 testes cobrindo
segurança (fail-closed, não-vazamento de segredo, opt-in de nuvem) e UX,
verde em 3 sistemas × 4 versões de Python. A cadeia de publicação tem
proveniência SLSA verificada, SBOM com amarração por hash e builds
bit-a-bit reproduzíveis com gate próprio no CI. O
Motor Council está em dry-run (ver seção acima): o subcomando simular
roda na CLI e no chat, mas sem execução de motor real, sem nuvem e sem
persistência. API interna pode mudar; os comandos da tabela acima são
estáveis.
pip install -e .
python -m pytest -q # suíte completa
ruff check src tests # lintMIT © Se7enpay



