Skip to content

CLI ​

A CLI da SIPPulse AI gerencia agentes, modelos, implantações de canal, threads e fala para texto pelo seu terminal. O pacote npm é @sippulseai/cli e o binário instalado é spai. Requer Node.js 22.14 ou superior; Bun não é necessário.

Esta página cobre o contrato público de instalação e autenticação e as famílias de comandos. Para usar a SIPPulse AI de dentro de um cliente MCP, veja MCP remoto.

Requisitos e instalação ​

Este é o primeiro release candidate. Instale explicitamente com a tag next:

sh
npm install -g @sippulseai/cli@next
spai --version
spai --help

Ou execute sem instalação global:

sh
npx @sippulseai/cli@next --help

Todo comando aceita spai <comando> --help. Comandos e saída podem mudar antes da versão 1.0.

Autenticação ​

As credenciais vêm de uma sessão OAuth criada por spai auth login, ou da variável de ambiente SIPPULSE_AI_API_KEY, ou do arquivo de configuração protegido. Rode spai whoami primeiro para conferir qual identidade e projeto estão ativos.

Nunca coloque uma chave API em um argumento de comando, em um arquivo commitado ou em um prompt enviado a um servidor MCP.

sh
spai auth login            # OAuth pelo navegador
spai auth login --device   # fluxo de autorização por dispositivo
spai auth login --read-only

Um login normal pede todos os escopos da API. --read-only pede apenas todos os escopos de leitura aplicáveis, então a sessão não altera nada. --device usa o fluxo de autorização por dispositivo para ambientes sem navegador. Uma sessão anterior a um escopo necessário precisa ser autorizada de novo; a renovação nunca amplia os escopos silenciosamente. A descoberta de modelos exige spai:models:read.

Chave API para CI ​

Para uso não interativo, forneça uma chave API pelo ambiente ou pela entrada de configuração protegida:

sh
export SIPPULSE_AI_API_KEY="sua_chave_api"
spai whoami

Como alternativa, armazene-a de forma interativa, sem expô-la ao histórico do shell:

sh
spai config set apiKey

A chave do ambiente tem precedência sobre as credenciais armazenadas, e uma chave API vinculada a um projeto sempre vence. Nunca passe a chave como argumento de comando. Crie e escope chaves em Chaves API.

Logout e status da sessão ​

sh
spai whoami
spai auth logout

spai auth logout informa se o servidor de autorização revogou o token armazenado antes de removê-lo localmente. Revogar uma autorização OAuth na plataforma é imediato; veja Acessos OAuth.

Ambientes e projetos ​

A API padrão é https://api.sippulse.ai. Use --url para selecionar outro ambiente e --project para selecionar um contexto de projeto.

sh
spai whoami --json
spai agents list --limit 10
spai models list --limit 10
spai deploy sip list
spai threads list
spai stt models

Famílias de comandos ​

FamíliaComandos
Identidadewhoami
Agentesagents list|show|validate|create|update|delete|export|apply|edit
Modelosmodels list|show
Secretssecrets list|create|update|delete|clone
Implantações SIPdeploy sip list|show|apply
Implantações WhatsAppdeploy whatsapp list|show|create|update|activate|deactivate|delete
Implantações Telegramdeploy telegram list|show|create|update|activate|deactivate|delete
Threadsthreads list|show|create|run|stream|close|delete
Fala para textostt models|transcribe|status
Configuraçãoconfig list|get|set|unset
Autenticaçãoauth login|logout
Agent skillinstall-skill

threads run executa um turno real e é cobrado como uma execução normal do agente. threads stream existe apenas na CLI. stt transcribe [FILE] aceita --async e nunca faz polling oculto.

Manifestos ​

Agentes e implantações usam manifestos YAML ou JSON estritos. Mantenha os manifestos de implantação separados dos manifestos de agente.

yaml
version: 1
kind: Agent
metadata:
  name: support
spec: {}

Use agents export, edite uma cópia sanitizada e depois agents apply --file agent.yaml. Apenas referências ${ENV_VAR} completas são expandidas. Referências ao cofre da SIPPulse AI usam e devem permanecer como referências.

agents validate --file agent.yaml valida a configuração de modelo sem gravar um agente, sem sondar um provedor e sem garantir inferência paga. Ele imprime os errors e warnings acionáveis do servidor; valid: false sai com código diferente de zero.

Para mudanças pequenas, prefira flags curadas a um manifesto:

sh
spai agents create --name NAME --llm-model MODEL --tts-model MODEL \
  --tts-voice VOICE --language LANG
spai agents update ID --description TEXT

Secrets ​

Secrets são somente escrita. Passe o valor por uma variável de ambiente ou por stdin, nunca como argumento literal:

sh
spai secrets create --name NAME --env ENV_VAR
spai secrets create --name NAME --stdin
spai secrets list
spai secrets update ID --env ENV_VAR
spai secrets clone ID --from-project SRC --to-project DST

secrets list retorna metadados sem valores. Clone apenas com projeto de origem e destino explícitos. Referências a secrets do projeto usam .

Saída e códigos de saída ​

Use --json para saída legível por máquina e --fields id,name para projetar campos. Defina o modo padrão com config set output --value json|text; as flags de uma invocação têm precedência.

Erros são JSON no stderr com códigos de saída estáveis:

CódigoSignificado
2Erro de uso
3Não encontrado
4Autenticação
5Conflito ou confirmação ausente

Comandos destrutivos (agents delete, exclusões de implantação, threads delete) exigem confirmação explícita. Scripts devem passar --yes.

Instalando o Agent Skill ​

sh
spai install-skill

A instalação padrão grava as instruções empacotadas para agentes de código no projeto atual em .agents/skills/sippulse-ai-cli/ e .claude/skills/sippulse-ai-cli/. Use --target agents|claude|both para selecionar os alvos e --global para instalar no escopo do usuário em vez do projeto.

CLI e MCP remoto ​

O pacote npm contém a CLI e sua skill, não o servidor MCP. O endpoint do MCP remoto é https://api.sippulse.ai/mcp e serve apenas clientes MCP; ele não é a URL base da API REST. Veja MCP remoto para o fluxo de consentimento OAuth e as ferramentas disponíveis.

Solução de problemas ​

SintomaO que significa e o que fazer
401A sessão expirou ou foi revogada. Rode spai auth login de novo, ou corrija SIPPULSE_AI_API_KEY.
403 insufficient_scopeA autorização não tem a permissão pedida. Faça login de novo incluindo esse escopo, ou use uma chave com o RBAC correto.
Ambiente erradoVocê está apontando para outra API. Confira --url e confirme que https://api.sippulse.ai é o ambiente desejado.
Sessão revogada ou expiradaFaça login de novo com spai auth login. Se um acesso foi revogado na plataforma, autorize de novo.
Comando destrutivo bloqueadoEle precisa de confirmação explícita. Confirme interativamente ou passe --yes em um script.
Upgrade de um release candidate anteriorUma sessão que armazenou uma URL /mcp ou /v1 falha com erro de URL em todo comando. Repare com spai auth logout, depois spai config unset url, depois spai auth login.

A audience do API resource de acesso da CLI e da API REST está migrando de /v1 para a raiz da API. Quando essa mudança chegar a um ambiente, as concessões OAuth existentes da CLI e da API são forçadas a reautenticar; concessões criadas para o endpoint MCP (/mcp) não são afetadas.

Escopo do release candidate ​

Este é um release candidate ainda em preparação para promoção. Operações de escrita ao vivo, inferência paga, transcrição e OAuth interativo exigem validação completa de ponta a ponta antes da promoção do release.