Uma camada operacional local-first para implantar, executar e observar IA em dispositivos Edge.
Começar · Mirai Pilot · Parear · v0.13 · Arquitetura · CLI · Roadmap
O que é o MiraiOS?
O MiraiOS é um projeto open-source do Projeto Hikari que transforma um modelo ONNX em um artefato distribuível e um serviço de inferência operável em Linux:
assinar → verificar → deploy → medir → aceitar → evidência assinada
A CLI permanece no computador do desenvolvedor. O Mirai Agent roda no destino, mantém sua própria identidade, verifica o modelo e executa a inferência. O primeiro destino pode ser o próprio computador ou um container; o protocolo é independente de fabricante e não exige uma Raspberry Pi para começar.
Do modelo ao dispositivo físico em um único fluxo verificável, com critérios e rollback.
O marco da v0.13
A v0.13 conecta as garantias das versões anteriores em um ciclo operacional:
gerar variante → aprovar → planejar → canário → observar → ancorar
| Pilar | Entrega |
|---|---|
| Fleet Control | Tags, seletores, canário, lotes, gate cumulativo e rollback global. |
| External Audit | Checkpoint fora do Agent e prova criptográfica de extensão da cadeia conhecida. |
| Observability | JSON, Prometheus, erro, P95 e sinais heurísticos de drift sem persistir entradas ou saídas brutas. |
| Mirai Fit v1 | Dynamic INT8, comparação numérica, benchmark, gates, staging transacional e assinatura opcional. |
O rollout é uma simulação por padrão e exige --apply para alterar Agents. O
Fit publica um pacote novo somente quando os gates passam; ele nunca otimiza
silenciosamente dentro do dispositivo. Veja os contratos e limites em
Projeto Hikari v0.13.
A base de segurança da v0.12
A v0.12 introduz o Mirai Shield, uma fronteira de admissão e integridade entre um artefato recebido e o runtime. O objetivo não é declarar que um modelo desconhecido é seguro; é eliminar ambiguidades, limitar trabalho, registrar decisões e impedir que um pacote não autorizado chegue silenciosamente à inferência.
| Etapa | O que acontece |
|---|---|
| Admita | O modo signed aceita somente .mirai com DSSE/Ed25519 válido por uma chave confiável. |
| Coloque em quarentena | ONNX é carregado sem dados externos e recebe limites de grafo, rank, tensores e inicializadores antes do runtime. |
| Fixe a identidade | Pacote e modelo são instalados por conteúdo, somente leitura, e verificados novamente antes de ativar ou inferir. |
| Registre | Cada evento entra em uma cadeia SHA-256 com sequência, hash anterior e checkpoint durável. |
| Limite | Timeout, fila, concorrência de requisições e operações pesadas reduzem abuso de recursos. |
| Teste | 1.371 testes, incluindo um corpus determinístico com 1.024 casos hostis e 132 cenários próprios da v0.13. |
O desenho e as decisões estão em Projeto Hikari v0.12, o modelo de ameaças em docs/threat-model.md e a pesquisa que orientou a implementação em Mirai Shield: referências e decisões.
Por que este projeto existe
- Local-first: a inferência acontece onde o dado é produzido.
- Sem hardware obrigatório: Linux local e Docker validam o protocolo antes da compra de uma placa.
- Canal verificável: HTTPS, fingerprint fixado e token por cliente evitam confiar silenciosamente no primeiro servidor encontrado.
- Artefato reproduzível: modelo, contrato e pré-processamento possuem uma identidade única verificável por SHA-256.
- Lifecycle explícito: receber um arquivo não significa ativá-lo; cada transição é intencional e observável.
- Aceite reproduzível: resultado, P95 e vazão podem virar critérios executáveis, não apenas promessas.
- Falha recuperável: um piloto reprovado não substitui silenciosamente o deployment que já funcionava.
- Evidência portátil: relatórios JSON e Markdown podem acompanhar a entrega técnica de um piloto.
- Formato aberto: ONNX reduz o acoplamento a um framework de treinamento.
- Base pequena e auditável: CLI, cliente, Agent, segurança e runtime são módulos Python independentes, sem framework web obrigatório.
Status atual
| Capacidade | v0.13 |
|---|---|
Validação estrutural com onnx.checker |
Pronto |
Pacote .mirai determinístico com manifesto estrito |
Pronto |
| Verificação de hash e contrato contra o ONNX real | Pronto |
| Pré-processamento declarativo de imagens | Pronto localmente |
| Inferência local numérica, JSON e imagens | Pronto |
| Benchmark com warm-up, mediana, P95 e IPS | Pronto |
Deploy verificado e lifecycle ready / active |
Pronto |
| Inferência remota, eventos e métricas | Pronto |
| Identidade TLS persistente e fingerprint SHA-256 | Pronto |
| Pareamento de uso único e autenticação por cliente | Pronto |
| Diagnóstico e revogação pela CLI | Pronto |
| Launch completo em um comando | Pronto |
| Piloto declarativo com critérios de aceite | Pronto |
| Benchmark remoto e relatórios JSON/Markdown | Pronto |
| Rollback automático após reprovação | Pronto |
| Assinatura Ed25519/DSSE destacada | Pronto |
| Admissão obrigatória por assinatura e trust store local | Pronto; opt-in com --admission signed |
| Quarentena estrutural ONNX e rejeição de dados externos | Pronto |
| JSON estrito com limites e nomes únicos | Pronto |
| Instalação atômica, content-addressed e revalidação em uso | Pronto |
| Auditoria encadeada com checkpoint e endpoint de verificação | Pronto |
| Limites de fila, sockets, requisições e trabalho pesado | Pronto |
| Histórico e retenção segura | Pronto |
| RBAC, rate limit e rotação de identidade | Pronto |
| PNG/JPEG/BMP/WebP/JSON/NPY em inferência remota | Pronto |
| Visão de frota e descoberta mDNS opcional | Pronto; mDNS não autentica |
| Tags e seletores determinísticos de frota | Pronto |
| Rollout em canário/lotes com gate e rollback | Pronto; simulação por padrão |
| Ancoragem externa local e prova de extensão | Pronto; não é transparência pública |
| Métricas JSON/Prometheus e sinais de drift | Pronto; drift é heurístico |
| Mirai Fit Dynamic INT8 com gates | Pronto; benchmark no control plane |
| Perfis CPU/CUDA/DirectML | Seleção pronta; CPU validado |
| ARM64 Linux / ONNX Runtime CPU | Job nativo no CI |
| Plugins de runtime e RISC-V | Experimental, não validado |
O projeto está em estágio alpha. A v0.13 foi desenhada para laboratório, localhost e redes privadas controladas; ela ainda não é um gateway para exposição direta à internet.
Arquitetura
flowchart TD
CLI["Mirai CLI"]
PILOT["Mirai Pilot<br/>critérios + pipeline"]
REG["Registro local protegido"]
LINK["Hikari Link<br/>TLS + pinning + token"]
TRUST["Trust<br/>Ed25519 + DSSE + RBAC"]
SHIELD["Mirai Shield<br/>admissão + quarentena + integridade"]
API["Mirai Agent API v1"]
PKG["Mirai Package<br/>manifesto + ONNX + SHA-256"]
LIFE["Lifecycle persistente"]
ORT["ONNX Runtime"]
REPORT["Evidências<br/>JSON + Markdown"]
INPUT["Secure Inputs<br/>imagem + JSON + NPY"]
FLEET["Fleet<br/>inventário + retenção"]
ROLLOUT["Fleet Control<br/>tags + canário + rollback"]
OBS["Observability<br/>Prometheus + drift"]
ANCHOR["External Anchor<br/>prova de extensão"]
FIT["Mirai Fit<br/>INT8 + gates"]
EDGE["Linux x86-64 · ARM64 · Docker"]
CLI --> PILOT
CLI --> FIT
FIT --> PKG
PILOT --> REG
CLI --> PKG
PKG --> LINK
TRUST --> PKG
PKG --> SHIELD
SHIELD --> API
PILOT --> LINK
LINK --> SHIELD
INPUT --> API
API --> LIFE
FLEET --> API
ROLLOUT --> API
API --> OBS
API --> ANCHOR
LIFE --> ORT
ORT --> EDGE
PILOT --> REPORT
O Agent usa armazenamento simples e inspecionável:
| Item | Função |
|---|---|
identity.json + agent-*.pem |
Identidade e certificado persistentes. |
clients.json |
Clientes pareados; contém somente hashes dos tokens. |
packages/ |
Pacotes .mirai originais identificados pelo hash. |
models/ |
Modelos ONNX validados e identificados pelo hash. |
deployments.json |
Deployments, estados e seleção ativa. |
audit.jsonl + audit.jsonl.head |
Cadeia verificável de eventos e checkpoint do head. |
observability.json |
Contadores e amostras numéricas limitadas, sem entradas ou saídas brutas. |
events.jsonl |
Histórico legado, preservado durante a migração. |
Controle, observabilidade, ancoragem e Fit estão especificados em Projeto Hikari v0.13, admissão e integridade em Projeto Hikari v0.12, confiança, anexos e frota em Projeto Hikari v0.11, o piloto em Projeto Hikari v0.10, o formato em Projeto Hikari v0.9 e o modelo de confiança da rede em Projeto Hikari v0.8.
Comece em 3 minutos
1. Instale a versão do repositório
O MiraiOS requer Python 3.10 ou superior:
git clone https://github.com/start6202783-dotcom/MiraiOS.git
cd MiraiOS
python -m venv .venv
Ative o ambiente no Linux ou macOS:
source .venv/bin/activate
python -m pip install --editable ".[dev]"
No Windows PowerShell:
.venv\Scripts\Activate.ps1
python -m pip install --editable ".[dev]"
Também é possível instalar a versão publicada:
python -m pip install --upgrade miraios
2. Inicie um Agent local
No primeiro terminal:
mirai agent start
O endereço padrão é http://127.0.0.1:8080. Esse modo deliberadamente
dispensa pareamento porque só aceita conexões da própria máquina.
3. Empacote e faça o primeiro launch
No segundo terminal:
python scripts/create_dummy_model.py
mirai pack examples/dummy_model.onnx \
--name dummy \
--package-version 1.0.0
mirai device add local --url http://127.0.0.1:8080
mirai launch dummy-1.0.0.mirai --device local --input 5.0
O modelo de exemplo soma 1 à entrada, portanto o resultado esperado é
6.0. O launch valida o pacote e o dispositivo, faz deploy, ativa e testa o
modelo. Se o teste final falhar, ele restaura a ativação anterior.
Exija artefatos assinados
Crie uma chave de release na máquina do operador, assine o pacote e configure no Agent somente a chave pública:
mirai key generate release
mirai sign dummy-1.0.0.mirai --key ~/.mirai/keys/release.key
mirai agent start \
--admission signed \
--trust-key ~/.mirai/keys/release.pub
No outro terminal, envie o pacote e o envelope destacado:
mirai deploy dummy-1.0.0.mirai \
--device local \
--signature dummy-1.0.0.mirai.sig
Nesse modo, ONNX avulso, assinatura ausente, chave desconhecida, digest alterado e nome de artefato divergente são recusados antes da instalação. Distribua a chave pública por um canal já confiável e mantenha a chave privada fora do dispositivo Edge.
Mirai Pilot
Quando você precisa provar que uma entrega funciona e atende a uma meta, crie um projeto de piloto:
mirai pilot init
O arquivo mirai-pilot.json já nasce com o exemplo local. Depois de revisar os
valores, execute:
mirai pilot run
O Pilot executa validação, diagnóstico, deploy, ativação, health check, benchmark remoto e critérios de aceite. No fim, ele grava:
.mirai/reports/
├── dummy-local-DATA-ID.json # evidência estruturada para automação
├── dummy-local-DATA-ID.json.sig # assinatura DSSE opcional
└── dummy-local-DATA-ID.md # relatório legível para a entrega
Se qualquer etapa ou critério falhar, o relatório registra o motivo e o deployment anterior é restaurado. Veja todos os campos, limites e garantias em Projeto Hikari v0.10.
Consulte ou aplique retenção sem scripts próprios:
mirai pilot history --limit 20
mirai pilot prune --keep 20 # simulação
mirai pilot prune --keep 20 --apply
Para assinatura automática, informe report.signing_key no projeto. A chave
privada permanece apenas na máquina que executa o Pilot.
Operação de frota na v0.13
Organize dispositivos com tags não secretas e selecione grupos sem manter listas manuais:
mirai device tag edge-01 --set env=prod --set region=br
mirai device tag edge-02 --set env=prod --set region=br
mirai fleet status --selector env=prod,region=br
Planeje uma entrega progressiva. Sem --apply, nenhum Agent é alterado:
mirai fleet rollout app-2.0.0.mirai \
--selector env=prod,region=br \
--canary 10 \
--batch-size 5 \
--max-failure-rate 0
Depois de revisar a evidência em .mirai/rollouts/, execute conscientemente:
mirai fleet rollout app-2.0.0.mirai \
--selector env=prod,region=br \
--canary 10 \
--batch-size 5 \
--max-failure-rate 0 \
--apply
Observe e ancore a mesma seleção:
mirai fleet observe --selector env=prod,region=br
mirai fleet anchor --selector env=prod,region=br
Para gerar uma candidata INT8 antes do rollout:
mirai fit modelo.onnx \
--name app-int8 \
--package-version 1.0.0 \
--output app-int8-1.0.0.mirai \
--max-absolute-error 0.05 \
--min-speedup 1.0
O Fit grava .fit.json mesmo quando rejeita a candidata, mas só publica o
.mirai quando qualidade e desempenho passam. O benchmark acontece no host
do control plane; valide novamente no hardware de destino. Detalhes completos
em Projeto Hikari v0.13.
Conecte um dispositivo na rede
No dispositivo de destino, inicie o Agent em um endereço de rede:
mirai agent start --host 0.0.0.0 --pairing-role operator
Fora de localhost, o Agent ativa HTTPS e autenticação automaticamente. Ele exibe um código de uso único e um fingerprint SHA-256. Confira esses dois valores diretamente no terminal do dispositivo e, no computador com a CLI, execute:
mirai device pair edge \
--url https://192.168.1.40:8080 \
--code CODIGO-EXIBIDO \
--fingerprint SHA256-EXIBIDO
mirai doctor --device edge
Substitua o IP e os valores pelos exibidos pelo Agent. O fingerprint é verificado antes que o código seja transmitido. Depois do pareamento, os comandos existentes usam o canal autenticado sem receber segredos na linha de comando.
Para encerrar o acesso dessa CLI:
mirai device revoke edge
O papel é escolhido por código emitido: viewer consulta, operator opera
modelos e admin também gerencia clientes. Para descoberta link-local
opcional, instale miraios[discovery], inicie com --discoverable e use
mirai device discover; o candidato encontrado ainda precisa do mesmo
pareamento com fingerprint.
Comandos
| Comando | Descrição |
|---|---|
mirai pack modelo.onnx --name app --package-version 1.0.0 |
Cria app-1.0.0.mirai. |
mirai validate ARQUIVO |
Valida integralmente um ONNX ou .mirai. |
mirai info ARQUIVO |
Exibe contrato, hashes, tipos, shapes e nós. |
mirai run ARQUIVO --input 5 |
Executa inferência local. |
mirai benchmark ARQUIVO |
Mede latência, P95 e vazão local. |
mirai fit MODELO --name app-int8 --package-version 1.0.0 --output app.mirai |
Gera, testa e aprova uma variante Dynamic INT8. |
mirai launch ARQUIVO --device edge --input 5 |
Faz o fluxo rápido até a inferência. |
mirai pilot init |
Cria um projeto declarativo de piloto. |
mirai pilot run [ARQUIVO] |
Executa critérios, relatório e rollback. |
mirai pilot history/prune |
Consulta evidências e aplica retenção confirmada. |
mirai key generate release |
Cria um par Ed25519 local. |
mirai sign/verify ARQUIVO ... |
Assina ou verifica pacote/relatório com DSSE. |
mirai agent start |
Inicia o Agent local. |
mirai agent start --host 0.0.0.0 |
Inicia um Agent HTTPS pareável. |
mirai agent start --admission signed --trust-key release.pub |
Exige pacote assinado por chave confiável. |
mirai device add/list/info/remove |
Gerencia destinos locais. |
mirai device pair edge ... |
Verifica e pareia um Agent HTTPS. |
mirai device revoke edge |
Revoga o token e remove o cadastro. |
mirai device clients/role edge ... |
Administra papéis dos clientes pareados. |
mirai device tag edge --set env=prod |
Define/remove tags não secretas de seleção. |
mirai device discover |
Encontra candidatos mDNS sem confiar neles. |
mirai doctor --device edge |
Diagnostica canal, versões e runtime. |
mirai deploy ARQUIVO --device edge --signature ARQUIVO.sig |
Envia artefato e assinatura destacada. |
mirai cleanup --device edge --keep 5 |
Simula/aplica retenção de deployments. |
mirai fleet status --selector env=prod |
Consulta uma seleção, preservando hosts offline. |
mirai fleet rollout ARQUIVO ... |
Planeja canário/lotes; --apply executa com gate e rollback. |
mirai fleet observe |
Coleta métricas e sinais heurísticos de drift. |
mirai fleet anchor |
Ancora heads no ledger externo local. |
mirai audit anchor --device edge |
Ancora e verifica a extensão de um Agent. |
mirai runtime list |
Lista ONNX e plugins experimentais descobertos. |
mirai status --device edge |
Lista deployments e o modelo ativo. |
mirai activate ID --device edge |
Ativa um deployment pronto. |
mirai run --device edge --input 5 |
Executa no deployment ativo. |
mirai logs --device edge |
Consulta eventos recentes. |
Execute mirai COMANDO --help para ver todas as opções.
Entradas e inferência
Local
Escalares e arrays JSON são convertidos para o dtype e o shape esperados:
mirai run modelo.onnx --input 5.0
mirai run modelo.onnx --input "[[1, 2, 3]]"
Modelos com múltiplas entradas aceitam nome ou ordem:
mirai run soma.onnx --input x=5 --input y=7
mirai run soma.onnx --input 5 --input 7
Imagens NCHW e NHWC são suportadas localmente:
mirai run visao.onnx --input foto.jpg --layout auto
Um pacote pode fixar layout e normalização para impedir que esses parâmetros se percam entre máquinas:
mirai pack visao.onnx \
--name visao \
--package-version 1.0.0 \
--image-input images \
--layout nchw \
--scale 0.00392156862745098 \
--mean "[0.485, 0.456, 0.406]" \
--std "[0.229, 0.224, 0.225]"
mirai run visao-1.0.0.mirai --input foto.jpg
O formato v1 usa resize stretch, canais L/RGB/RGBA e a transformação
(pixel × scale - mean) / std. Letterbox, BGR, tokenização e arquivos
auxiliares ainda não fazem parte do contrato.
No Agent
A inferência remota aceita escalares, arrays, entradas nomeadas e arquivos:
mirai run --device edge --input 5
mirai run --device edge --input x=5 --input y=7
mirai run --device edge --input image=foto.png --layout nchw
mirai run --device edge --input tensor.npy
mirai run --device edge --input dados.json
PNG, JPEG, BMP, WebP, JSON e NPY são enviados com tamanho e SHA-256, validados contra extensão, tipo e conteúdo real, materializados com nome gerado e eliminados depois da inferência. O limite é 8 MB por arquivo e 10 MB por requisição; NPY recusa pickle e objetos Python.
Benchmark local
mirai benchmark modelo-1.0.0.mirai --runs 100 --warmup 5
O carregamento do modelo não entra na medição. O relatório inclui tempo total, latência média, mediana, percentil 95 e inferências por segundo.
No Mirai Pilot, as medições acontecem no Agent e podem ser comparadas a
max_p95_ms e min_ips. O tempo de rede não entra na latência do modelo.
Docker: dispositivo sem placa física
O repositório inclui um Agent HTTPS isolado em container:
docker compose up --build -d
docker compose logs mirai-agent
Copie dos logs o código e o fingerprint e faça o pareamento:
mirai device pair docker \
--url https://127.0.0.1:8080 \
--code CODIGO-EXIBIDO \
--fingerprint SHA256-EXIBIDO
mirai doctor --device docker
O volume mirai-agent-data preserva identidade, clientes, pacotes, modelos,
lifecycle e eventos. Para encerrar:
docker compose down
Segurança
O Hikari Link estabelece uma fronteira clara entre desenvolvimento local e acesso pela rede:
- HTTP sem autenticação é aceito somente em endereços de loopback;
- qualquer escuta fora de loopback ativa HTTPS automaticamente;
- o Agent gera certificado e chave RSA persistentes e exige TLS 1.2 ou mais;
- a CLI fixa o fingerprint SHA-256 antes de enviar qualquer segredo;
- o código de pareamento tem 12 caracteres, expira em dez minutos, fica apenas em memória e só pode ser usado uma vez;
- cada cliente recebe um token aleatório próprio e revogável;
- cada cliente recebe
viewer,operatorouadmin, e toda operação exige o papel mínimo correspondente; - cinco falhas recentes de pareamento por origem acionam bloqueio temporário;
- o Agent persiste somente o SHA-256 do token; o registro da CLI usa permissão
0600em sistemas compatíveis; - somente
/v1/healthe/v1/pairsão públicos no modo seguro; - respostas da API usam
Cache-Control: no-store; - pacotes recusam arquivos extras, duplicados, links, compressão e manifesto fora do schema;
- a política
signedliga nome, tamanho e SHA-256 do.miraia um envelope DSSE/Ed25519 e recusa assinatura não solicitada inválida; - ONNX é aberto com
load_external_data=False; qualquer tensor com dados externos, grafo profundo, rank extremo ou orçamento estrutural excedido é recusado antes de criar uma sessão; - JSON de rede, assinatura, registro e auditoria recusa UTF-8 inválido,
chaves duplicadas,
NaN,Infinity, profundidade e volume excessivos; - arquivos de estado usam troca atômica,
fsync, temporários exclusivos e verificação contra alteração durante a leitura; - pacote e modelo instalados são identificados pelo conteúdo, marcados como somente leitura e revalidados antes de ativação e inferência;
- o log de auditoria encadeia cada evento ao anterior e mantém um checkpoint durável para detectar edição, reordenação, divergência e truncamento;
- o control plane pode ancorar esse checkpoint fora do Agent e exige uma prova contínua de extensão antes de aceitar um head novo;
- rollout é somente plano por padrão, usa gates cumulativos e registra qualquer falha ao restaurar ativações anteriores;
- observabilidade persiste apenas contadores, latência e resumo numérico limitado; entradas e resultados brutos não entram no arquivo de métricas;
- variantes INT8 são criadas em staging, comparadas e publicadas transacionalmente somente depois dos gates;
- o servidor limita sockets lentos, fila, requisições simultâneas e trabalhos pesados, retornando erro em vez de criar trabalho ilimitado;
- o hash interno protege o ONNX e o contrato declarado é comparado ao runtime;
- Ed25519 e DSSE assinam digests tipados de pacotes e relatórios;
- uploads remotos têm allowlist, hash, limites, validação de conteúdo e vida somente temporária;
- a identidade pode ser rotacionada offline, invalidando clientes e sem arquivar a chave privada antiga;
- um Pilot reprovado restaura a ativação anterior ou desativa o primeiro candidato;
- relatórios não recebem token, código de pareamento ou chave privada e, por padrão, ocultam as entradas de inferência.
Limites honestos da fronteira
- O Agent usa
http.server, que a documentação do Python não recomenda para produção. Use somente localhost ou rede privada com firewall. - A quarentena estrutural reduz risco, mas não é sandbox de processo, cgroup, seccomp, antivírus nem prova de que um ONNX desconhecido é benigno.
- A âncora padrão detecta divergência entre Agent e control plane. Ela continua local: um invasor que controle administrativamente os dois sistemas pode reescrever ambos; esse cenário exige transparência ou custódia independente.
- Drift compara janelas de médias. Ele não mede acurácia nem comprova mudança conceitual nos dados.
- O Fit v1 mede a candidata no control plane. Aprovação não substitui um conjunto representativo nem benchmark no hardware de destino.
- DSSE prova posse da chave configurada, não a identidade humana por trás dela. Distribuição, revogação e guarda das chaves continuam sendo tarefas do operador.
- Ainda não há mTLS, autoridade certificadora, transparência pública, isolamento por processo ou cofre de chaves.
Leia o modelo de ameaças completo. Não exponha o Agent diretamente à internet.
Roadmap
Entregue
- v0.5.1 — Runtime: validação real, inferência, imagens, benchmark, testes e CI.
- v0.6 — Deploy: Agent, registro de dispositivos, upload verificado, logs e Docker.
- v0.7 — Operação: lifecycle persistente, ativação, inferência remota e métricas.
- v0.8 — Confiança: identidade TLS, pinning, pareamento, autenticação, diagnóstico e revogação.
- v0.9 — Distribuição: pacote
.miraireproduzível, manifesto estrito, contrato verificável, pré-processamento e deploy compatível. - v0.10 — Aceite: launch unificado, projeto declarativo, health check, benchmark remoto, critérios, evidências e rollback automático.
- v0.11 — Confiança e frota: Ed25519/DSSE, RBAC, rotação, rate limit, anexos seguros, retenção, frota, providers explícitos e CI ARM64.
- v0.12 — Mirai Shield: admissão assinada, quarentena ONNX, JSON estrito, instalação atômica, revalidação em uso, auditoria encadeada, limites de recursos e gates de qualidade.
- v0.13 — Operação verificável: tags e seletores, rollout progressivo, ancoragem externa local, Prometheus/drift e Mirai Fit Dynamic INT8.
Próximo
- mTLS e rotação automatizada, com recuperação documentada.
- Serviço de transparência independente para âncoras e política distribuída de revogação de chaves.
- Isolamento do runtime em processo dedicado com limites do sistema operacional e reinício supervisionado.
- Dashboard web local sobre a API de frota.
- Testes físicos publicados para NVIDIA CUDA e Windows DirectML/WinML.
- Assinatura e distribuição de plugins de runtime.
- Compatibilidade RISC-V somente após runner e runtime reais.
O roadmap prioriza um protocolo seguro e útil antes de ampliar a quantidade de hardwares suportados.
Desenvolvimento
Instale as dependências de desenvolvimento e execute a suíte:
python -m pip install --editable ".[dev]"
python -m compileall -q src tests scripts
python -m ruff check src tests
python -m mypy src/mirai
python -m bandit -q -r src/mirai
python -m pip_audit --requirement requirements.txt
python -m coverage run -m pytest
python -m coverage report
O CI executa 1.371 testes em Python 3.10, 3.11, 3.12 e 3.13 no Linux x86-64, repete a suíte em Linux ARM64 nativo e exige no mínimo 75% de cobertura de branches. Actions de terceiros são fixadas por SHA completo e o Dependabot acompanha dependências Python e workflows. Consulte CONTRIBUTING.md antes de enviar mudanças.
Os ativos visuais do README são reproduzíveis:
python scripts/render_readme_assets.py
Projeto Hikari
Hikari é a primeira fase do MiraiOS: construir uma camada pequena, portátil e verificável entre modelos de IA e hardware local. O nome Mirai significa “futuro”; Hikari, “luz”.
Documentação dos marcos:
- v0.6 — Mirai Agent
- v0.7 — lifecycle e inferência remota
- v0.8 — Hikari Link
- v0.9 — Mirai Package
- v0.10 — Mirai Pilot
- v0.11 — Trust, Fleet e Secure Inputs
- v0.12 — Mirai Shield
- v0.13 — Operação verificável em escala
- Modelo de ameaças
- Pesquisa e decisões do Mirai Shield
- Changelog completo
- Política de segurança
Licença
Distribuído sob a licença MIT.
The Future Runs Local
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file miraios-0.13.0.tar.gz.
File metadata
- Download URL: miraios-0.13.0.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1ab71318689351c86953064958e7f0291e901e19799a3e227ab82c08a088cd3
|
|
| MD5 |
e9ee66d085b0d34d5cd1415a13abe792
|
|
| BLAKE2b-256 |
08f731cde23dc05e7fc5a532fa656ca525b0fce2e4a1244ebabe9d8968d79407
|
File details
Details for the file miraios-0.13.0-py3-none-any.whl.
File metadata
- Download URL: miraios-0.13.0-py3-none-any.whl
- Upload date:
- Size: 113.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00a3d371a6299ee6d5f3d4f978457740b2717d8c327958e2b9ad2c44d65ee8a1
|
|
| MD5 |
288e8f2ee69116960fce9e5bff378a06
|
|
| BLAKE2b-256 |
ee335a6ea8010f33d13e76c90ebe4e0e01d83464493d0b93787a4c9a47dd4f46
|