zas-agent expõe, numa página só.
Comandos
Ferramentas
channel aceita o nome ou o id de um canal. Um nome precisa bater com exatamente um canal liberado. Com uma liberação só, todas as ferramentas que aceitam channel podem omitir, menos zas_list_items e zas_get_item, que sempre nomeiam o canal delas.
zas_status
Diz se a máquina está pareada e lista os canais para onde o agente pode mandar ou que ele pode ler. Também imprime a versão do pacote, o perfil e o estado da telemetria. Sem argumentos.
zas_pair
Pareia esta máquina com uma conta do Zas. A primeira chamada devolve uma URL para você abrir; uma chamada seguinte diz se você aprovou. Num perfil já pareado, a aprovação substitui o agente anterior.
zas_send_file
Manda um arquivo da máquina para um canal liberado. Devolve o id do item, ou um id de trabalho quando a subida passa de um minuto.
Um canal em modo Direto recusa esta ferramenta com
direct_mode. Ali vai zas_send_direct.
zas_send_note
Manda uma nota: texto simples, ou um trecho de código com a linguagem.
expires_in_days
As duas ferramentas de envio aceitam, e ele só encurta a vida de um item. Um pedido mais longo do que o plano dá é respondido com o número do plano em vez de recusado, então pedir 100 dias dá cinco. O piso é um dia inteiro, porque o anel conta dias inteiros.
Vale a pena para saída que amanhã já está velha: um log de build, uma rodada de testes, o print de uma correção.
zas_send_direct
Manda um arquivo pelo Direto: uma transferência ao vivo, de aparelho para aparelho, para um canal liberado que está em modo Direto. Nada é guardado. Alguém precisa apertar Receber em outro aparelho dentro de dez minutos. A chamada espera um minuto e depois devolve um id de trabalho para consultar com zas_jobs.
Um canal que não está em modo Direto recusa esta ferramenta com
not_direct_mode.
zas_receive_direct
Recebe nesta máquina um arquivo mandado pelo Direto. Espera a oferta, pega e escreve o arquivo em disco. Só num canal em modo Direto, e só com uma liberação que inclua leitura, porque escreve na máquina.
Nunca sobrescreve um arquivo existente. Esperar uma oferta pode levar dez minutos, então a chamada devolve um id de trabalho depois de um minuto.
zas_send_direct_fallback
Quando um trabalho de zas_send_direct falhou em voo, entrega o mesmo arquivo pela via confiável. O Zas cifra o arquivo nesta máquina e guarda só essa cópia cifrada por até 24 horas; ela não usa nada do seu espaço, e o aparelho que já pegou a oferta pode baixar depois.
Isso deixa de ser Direto: os bytes cifrados passam pelo armazenamento. A descrição da ferramenta manda o modelo perguntar antes, porque a decisão é sua.
zas_receive_direct_fallback
Quando um trabalho de zas_receive_direct falhou em voo, baixa a cópia cifrada que quem mandou escolheu guardar. Só funciona se essa pessoa escolheu a via confiável para aquela transferência. O arquivo é decifrado nesta máquina e escrito no mesmo destino.
zas_list_items
Lista os itens mais recentes de um canal. Precisa de uma liberação com leitura.
zas_get_item
Traz um item. Uma nota volta como texto; um arquivo é escrito em disco.
Nunca sobrescreve um arquivo existente. Um nome ocupado ganha um sufixo, e o caminho que volta é o que foi realmente escrito.
zas_jobs
Lista os envios e as transferências pelo Direto que este servidor começou, do mais novo para o mais velho, com a fase que cada um alcançou e como terminou. Um job_id de um envio longo é resgatado aqui, e um trabalho terminado guarda o resultado.
Códigos de erro
O agente responde com um conjunto fechado. Qualquer coisa vinda de uma rota que não esteja nesse conjunto viraupload_failed ou network, então um texto cru do servidor, ou um stack trace, nunca chega a um terminal.
Pareamento e identidade
Canais e liberações
Mandar e ler
Direto
O resto
Arquivos em disco
Um diretório por perfil, então uma máquina pode ter um agente do Claude Code e um do Codex sem que nenhum leia as chaves do outro.
Um arquivo vive um nível acima, em
~/.zas/agent/, porque é uma decisão sobre a máquina e não sobre uma identidade:
Cada arquivo é escrito num temporário e renomeado, então uma queda no meio da escrita não deixa meio arquivo.
No macOS e no Linux o diretório é criado
0700 e cada arquivo 0600. No Windows esses bits não fazem nada: os arquivos ficam com as permissões do perfil de usuário onde vivem, e o pacote não define outras.
Apagar o diretório faz a máquina esquecer o agente. Não revoga. Isso é em Configurações → Agentes → Revogar.
Telemetria
O agente reporta o funil de pareamento e um eventoagent.tool_call por chamada, para o Zas ver quais ferramentas funcionam e quais falham. Vem ligada e imprime um aviso na primeira vez.
O que ela nunca manda: nomes de arquivo, títulos, corpos de notas, nomes de canal, caminhos nem conteúdo.
Três formas de desligar, na ordem em que são lidas:
zas-agent telemetry sem valor imprime o estado atual e qual dos três decidiu. zas_status imprime a mesma linha.
Ajustes
Só
--profile, ZAS_AGENT_HOME e os interruptores de telemetria valem a pena na mão. O resto existe para apontar o pacote a um ambiente de teste.
Números
Por onde seguir
Conectar um agente
Pareamento, comandos do harness e o que fazer quando falha.
Limites
Cada limite que o Zas aplica, agentes incluídos.
FAQ
Respostas curtas para as perguntas de sempre.
Recomendações
Bons hábitos, e o aviso sobre segredos.