Linha de comando
Tudo o que o aplicativo faz é executado pelo motor, ultragx-engine, que também pode ser usado diretamente em um terminal: para automatizar a documentação de várias KBs, agendá-la em um servidor ou integrá-la a um processo de integração contínua. Ele usa a mesma licença do aplicativo.
Onde está o motor
| Sistema | Caminho |
|---|---|
| Windows (instalador) | %LOCALAPPDATA%\Programs\UltraGX\ultragx-engine.exe |
| Linux (deb / rpm) | /opt/ultragx/ultragx-engine |
| Linux (AppImage) | ./UltraGX-<versão>-x86_64.AppImage engine <comando> … |
| macOS | /Applications/UltraGX.app/Contents/MacOS/ultragx-engine |
Nos exemplos é usado ultragx-engine; substitua pelo caminho correspondente ou adicione a pasta ao PATH.
Comandos
version e machine-id
ultragx-engine version # versão do motor
ultragx-engine machine-id # id da máquina, para pedir uma licença vinculada a ela
license
ultragx-engine license # status da licença, em JSON
ultragx-engine license activate --code ULGX-XXXX-XXXX # ativa uma licença com um código
A demo também pode ser pedida sem o aplicativo, em duas etapas:
ultragx-engine license register --first-name Ana --last-name Souza --company "Minha Empresa Ltda." \
--email ana.souza@minhaempresa.com.br --gx-version 18 --kb-size 3000 --lang pt-BR
ultragx-engine license confirm --email ana.souza@minhaempresa.com.br --code 123456
pipeline
Documenta uma KB a partir de um export.
ultragx-engine pipeline --source xpz --input C:/exports/MinhaKB.xpz --out D:/ultragx/MinhaKB --lang pt-BR
ultragx-engine pipeline --source gxtext --input D:/exports/MinhaKB_texto --out D:/ultragx/MinhaKB --lang pt-BR --no-ref
| Opção | Descrição |
|---|---|
--source | xpz (arquivo .xpz ou .xml) ou gxtext (pasta com src/ e ref/) |
--input | arquivo ou pasta de entrada |
--out | pasta do projeto (é criada se não existir) |
--lang | idioma dos documentos: en, es ou pt-BR |
--no-ref | com gxtext, ignora os objetos de módulos referenciados |
--no-viewer | não gera o visualizador (mais rápido; pode ser gerado depois) |
O progresso é escrito na saída de erro e, ao terminar, o resumo da execução sai em JSON na saída padrão.
export
Abre uma KB com o GeneXus instalado (somente Windows, com o conector), a exporta para texto e executa o pipeline.
ultragx-engine export --kb-path "C:/Models/MinhaKB" --kb MinhaKB --out D:/ultragx/MinhaKB --lang pt-BR
| Opção | Descrição |
|---|---|
--kb-path | pasta da KB (a que contém o .gxw) |
--kb | nome curto da KB |
--out | pasta do projeto |
--gx-version | força uma instalação do GeneXus (18, 17, XEv3…); por padrão é deduzida da KB |
--names | exporta só alguns objetos: nomes ou seletores como type:Transaction |
--no-reference | ignora os módulos referenciados |
--skip-pipeline | só exporta, sem documentar |
--timeout | tempo máximo da exportação em segundos (3600 por padrão) |
--lang, --no-viewer | igual a pipeline |
viewer
Regenera o visualizador de um projeto sem analisar a KB de novo.
ultragx-engine viewer --out D:/ultragx/MinhaKB --lang pt-BR
narrative
Executa a narrativa com IA sobre um projeto já documentado. Na linha de comando, as credenciais são obtidas de variáveis de ambiente: ANTHROPIC_API_KEY para a Anthropic, OPENAI_API_KEY (e OPENAI_BASE_URL para outro servidor) para os provedores compatíveis com OpenAI, incluindo Gemini, OpenRouter e os modelos locais.
export OPENAI_API_KEY=... # no PowerShell: $env:OPENAI_API_KEY = "..."
ultragx-engine narrative run --out D:/ultragx/MinhaKB --provider openai \
--base-url https://generativelanguage.googleapis.com/v1beta/openai/ --model gemini-3.8-flash \
--lang pt-BR --concurrency 8
| Opção | Descrição |
|---|---|
--provider | anthropic, openai (qualquer servidor compatível) ou mock |
--model, --base-url | modelo e URL do servidor |
--lang | idioma da prosa |
--concurrency | objetos em paralelo (4 por padrão) |
--types | só estes tipos, separados por vírgula |
--all-types | inclui também as declarações (atributos, domínios, SDTs…) |
--only | só estes objetos, por <Tipo>.<Nome> separados por vírgula |
--limit | quantidade máxima de objetos |
--no-resume | processa novamente objetos já narrados |
--max-doc-chars | caracteres do documento enviados (60.000 por padrão; 16.000 com um servidor local se não for indicado) |
--no-source | não envia o código GeneXus original ao modelo |
--timeout | segundos de espera por resposta (300 por padrão) |
--viewer-every | segundos entre regenerações do visualizador durante a execução (600 por padrão; 0 = só no final) |
notes
Adiciona ou exclui notas do usuário sem o aplicativo.
ultragx-engine notes add --out D:/ultragx/MinhaKB --json nota.json
ultragx-engine notes delete --out D:/ultragx/MinhaKB --stem Procedure.CalcularDescuento --id n171234567890000
ultragx-engine notes apply --out D:/ultragx/MinhaKB
nota.json tem o formato {"stems": ["Procedure.CalcularDescuento"], "text": "…", "author": "Ana"}. apply reincorpora todas as notas aos documentos.
Códigos de saída
| Código | Significado |
|---|---|
| 0 | terminou bem |
| 1 | a narrativa terminou com objetos em error |
| 2 | uso incorreto (comando ou opções inválidos) ou, em export, não foi possível abrir a KB |
| 3 | licença ausente, inválida, vencida ou revogada |
Exemplo: documentar todas as KBs de uma pasta
$engine = "$env:LOCALAPPDATA\Programs\UltraGX\ultragx-engine.exe"
Get-ChildItem D:\exports\*.xpz | ForEach-Object {
& $engine pipeline --source xpz --input $_.FullName --out "D:\ultragx\$($_.BaseName)" --lang pt-BR
if ($LASTEXITCODE -ne 0) { Write-Warning "$($_.Name) terminou com código $LASTEXITCODE" }
}