Pular para o conteúdo
miblo

SDK

Instalar o SDK do Miblo (TypeScript e Python) e o token

Instale @miblo/status ou miblo-status, pegue o token com miblo sdk token, rode o primeiro programa e deixe o Miblo rodá-lo para você com miblo apps add.

Antes de começar

  • O Miblo instalado no computador (pelo app ou pela linha de comando), com o comando miblo no terminal. Confira com miblo sdk status.

  • Node.js 20+ para o pacote TypeScript, ou Python 3.9+ para o pacote Python.

  • Um Miblo na mesa é opcional. Sem aparelho pareado, tudo funciona e as ações respondem delivered: 0, que não é erro: as sessões continuam aparecendo no app Miblo e no celular.

Instalar o pacote

Os pacotes saem só do miblo.ai, versão 1.1.0. Não estão no npm nem no PyPI: instale direto do endereço.

TypeScript / Node.js

@miblo/status: ESM, com tipos (index.d.ts), sem dependências.

Terminal
npm install https://miblo.ai/dl/sdk/miblo-status-1.1.0.tgz

Python

miblo-status: só a biblioteca padrão.

Terminal
pip install https://miblo.ai/dl/sdk/miblo_status-1.1.0-py3-none-any.whl

Conferir o download

Cada arquivo tem a sua assinatura Ed25519 ao lado (o mesmo nome com .sig), feita com a chave das atualizações do Miblo, e o SHA256SUMS assinado lista todas as versões.

Terminal
curl -fLO https://miblo.ai/dl/sdk/miblo-status-1.1.0.tgz
curl -fsSL https://miblo.ai/dl/sdk/SHA256SUMS | shasum -a 256 -c --ignore-missing

O token

A Status API fica desligada até você criar o token. No seu terminal:

Terminal
miblo sdk token            # liga a API e mostra o token (miblo_sdk_ + 64 caracteres)
export MIBLO_TOKEN=$(miblo sdk token)

Prefere sem terminal? No app Miblo → Programas (SDK) você liga a API, copia o token e troca por um novo.

  • Os pacotes leem o token de MIBLO_TOKEN (ou recebem como parâmetro: new MibloStatus({ token }), MibloStatus(token=...)). Entregue o token ao programa de propósito; o programa não deve procurar arquivos do Miblo.

  • miblo sdk token --rotate troca o token: quem tinha o antigo passa a ser recusado (not_authorised), e as ferramentas de IA, o CLI e o celular não são afetados.

  • miblo sdk off apaga o token e desliga a API (sdk_off). miblo sdk status mostra se está ligada e onde fica o arquivo.

  • A ponte precisa estar rodando. As ferramentas de IA a iniciam, e miblo sdk start também.

Primeiro programa

Dez linhas: o programa aparece como uma sessão, trabalha, avisa que precisa de você e termina.

// MIBLO_TOKEN=$(miblo sdk token) node first.mjs
import { MibloStatus } from '@miblo/status';

const miblo = new MibloStatus();                          // lê MIBLO_TOKEN
const job = await miblo.session({ tool: 'first.mjs', title: 'Deploy', detail: 'building' });
await new Promise((r) => setTimeout(r, 5000));            // ...o seu trabalho...
await job.needsYou('confirme o deploy');                  // o Miblo avisa
await new Promise((r) => setTimeout(r, 10000));
await job.done('publicado');

O que acontece:

  1. session() registra a sessão Deploy no aparelho, no app Miblo e no celular, com a linha first.mjs · building.

  2. needsYou() muda o estado para precisa de você: o aparelho dá o aviso de pergunta e o contador "precisa de você" sobe. No celular, a sessão aparece como Outra ferramenta: first.mjs.

  3. done() mostra como concluída, com o aviso de fim. Quando o processo termina, a sessão sai sozinha (o pacote manda o pid do próprio processo).

Deixar o Miblo rodar o programa

Para um programa que fica sempre ligado (um app de tela, um vigia), deixe o supervisor do Miblo cuidar dele. No seu próprio terminal (uma IA não pode fazer isso por você):

Terminal
miblo apps add "node steps.mjs" --cwd ~/code/steps --id steps
miblo apps enable steps        # liga agora e a cada vez que o Miblo iniciar
miblo apps logs steps          # o que o programa escreveu
  • O Miblo inicia o programa com MIBLO_TOKEN, MIBLO_PORT e MIBLO_APP_ID (o id do app), mais MIBLO_LANG (pt ou en) e o básico do sistema (PATH, HOME, idioma, fuso, proxy). Nada mais do seu ambiente vai junto: chaves que estão no seu shell não chegam ao programa.

  • Sem --id, o id vem do nome do arquivo (steps.mjs → steps). Use o mesmo id que o programa declara em app.declare(). Sem --cwd, ele roda na pasta de onde você o adicionou.

  • Se o programa terminar, o Miblo o inicia de novo depois de 2 s, 10 s, 30 s, 2 min e 10 min. Enquanto um app está ligado, a ponte fica no ar.

  • miblo apps show <id> mostra o estado e quantas vezes reiniciou; miblo apps disable <id> desliga; miblo apps remove <id> desliga, tira a tela e esquece o programa e as configurações dele.

  • miblo apps list mostra todos (os oficiais, os seus e os da comunidade). No app Miblo, a aba Apps faz o mesmo com um botão por app.

Quando algo dá errado

Todo erro é um MibloError com um code estável. Os que aparecem na instalação:

codeO que quer dizerO que fazer
no_tokenNão há token em MIBLO_TOKEN nem no parâmetroexport MIBLO_TOKEN=$(miblo sdk token)
sdk_offA API está desligada neste computadormiblo sdk token
bridge_unavailableNada responde na porta do Miblomiblo sdk start (ou abra uma ferramenta de IA)
not_authorisedToken errado ou trocado (--rotate), ou um Miblo antigo demaisPegue o token de novo; atualize o Miblo
unverified_answerA resposta não veio assinada pelo MibloAlgo ocupou a porta do Miblo: reinicie a ponte
timeoutA ponte não respondeu a tempoTente de novo; veja miblo status

Os outros códigos estão em Sessões e status e em A tela App.