CLI
diagnos-cli
diagnos-cli: o cofre diagnos zero-knowledge no seu terminal, construído sobre o SDK, com saída JSON e códigos de saída estáveis.
Nesta página
English · Português (Brasil)
A linha de comando diagnos — o cofre diagnos zero-knowledge, do seu terminal, construída sobre o SDK
diagnos. Todo byte de
criptografia, assinatura e lógica de retentativa mora no SDK; este pacote só interpreta argumentos e renderiza o que o
SDK devolve — tabelas para pessoas, JSON para scripts, códigos de saída estáveis para os dois.
Nota
Ainda não está no PyPI. O pipx install diagnos-cli abaixo é o comando de instalação pretendido e permanente —
mas, até o primeiro release, instale do código-fonte (construir o SDK exige um toolchain Rust;
a cli depende do SDK diagnos, ainda não publicado, então os dois vêm do git num comando só):
pipx install "diagnos-cli @ git+https://github.com/diagnos-tech/integration@develop#subdirectory=apps/cli" \
--preinstall "diagnos @ git+https://github.com/diagnos-tech/integration@develop#subdirectory=apps/sdk"
Vindo do imgexam-cli? As versões recomeçam em 0.1.0 sob o nome novo — leia o
MIGRATING.pt-BR.md antes de atualizar.
Instalação#
pipx install diagnos-cli
pipx install "diagnos-cli[openbao]" # com auto-unseal via OpenBao, para cron e servidores
export DIAGNOS_API_TOKEN="apikey-…" # emitido por um admin do workspace
--token em qualquer comando sobrescreve o ambiente naquela invocação, e nunca é ecoado — nem no --help, nem na
saída, nem no --json.
Uma primeira execução#
diagnos login # imprime um link e um código; um admin aprova
diagnos patients list --group sg_oncology --summary
diagnos files upload --group sg_oncology --exam EXAM_ID scans/*.dcm
diagnos --json exams get EXAM_ID | jq .record.report_html
Cada invocação é um processo próprio, e a CLI nunca grava uma sessão em disco: sem OpenBao, o comando seguinte faz enrollment de novo, com link e código novos. É de propósito — um script que roda sem ninguém olhando configura o auto-unseal com OpenBao, como o guia da CLI mostra.
Guias#
| Guia da CLI | todo comando com exemplos reais, saída JSON, scripts e cron |
| Referência da CLI | todo comando e opção, gerados a partir do código — também diagnos <comando> --help |
| Autenticação | o token, o painel de enrollment, a aprovação |
| Sessões | o auto-unseal com OpenBao, e o que ele troca |
| Erros | o código de saída de toda falha |
| Configuração | toda variável de ambiente |
Limites conhecidos e as questões ainda em aberto do lado do cofre: Compatibilidade com o cofre.
Desenvolvimento#
make sync
uv run --package diagnos-cli pytest apps/cli/tests -q
uv run ruff check apps/cli && uv run ruff format --check apps/cli
uv run mypy apps/cli/src
Os exemplos de um comando moram ao lado dele, no epilog (diagnos_cli.examples): aparecem no fim do --help e na
referência gerada, e o make docs-check falha se os dois divergirem. Veja o
CONTRIBUTING.pt-BR.md para a regra de
docstring bilíngue e a fronteira "a cli só importa diagnos".