pagent
Visão Geral
Encontre um agente paseo e leia sua conversa, sem precisar redescobrir onde o paseo mantém as coisas toda vez. pagent apenas lê: nunca inicia, para, redireciona ou revive um agente, e nunca pede ao daemon para recarregar um agente fechado.
Invocação
SKILL=<diretório base desta skill>/pagent.py # o harness imprime o diretório base acima
python3 $SKILL 11111111-1111-4111-8111-111111111111 # cabeçalho: status, cwd, model, caminho da transcrição
python3 $SKILL 11111111 --task # + todas as instruções dadas pelo usuário
python3 $SKILL 11111111 -t -n 20 # + as últimas 20 trocas
python3 $SKILL 11111111 -t --full # trocas sem truncamento
python3 $SKILL "invoice export" # busca por título
python3 $SKILL # todos os agentes, do mais recente ao mais antigo
Uma consulta é um ID, um prefixo de ID ou uma substring insensível a maiúsculas/minúsculas do título. Várias correspondências exibem uma
lista; exatamente uma exibe a visualização detalhada. python3 $SKILL --help exibe o uso.
Passos
- Resolva o agente. Execute a consulta sem flags: o cabeçalho mostra status, diretório de trabalho, modelo e o caminho da transcrição. Uma lista significa que a consulta foi ambígua; restrinja com um ID ou um fragmento de título mais longo.
- Leia o que foi perguntado.
--taskimprime todas as instruções dadas pelo usuário, não apenas a primeira. A linha inicial nomeia o assunto; as correções duas mensagens depois carregam as decisões ("use a opção B, mas mantenha o limite de tentativas em três"). Ambas são impressas; o preâmbulo do harness e os corpos de skills injetados não são. Isso é mais importante ao assumir o trabalho de um agente — veja a skillptakeover. - Leia até onde ele chegou.
-t -n <turns>imprime o final da conversa; adicione--fullquando uma troca foi cortada. A leitura é segura enquanto o agente está em execução, pois a transcrição é somente de acréscimo. - Verifique os vizinhos. Um agente cujo
cwdcorresponde ao seu pode estar editando os mesmos arquivos. Executegit statusantes de assumir que um diff inesperado é seu.
Com -t ou --task, uma transcrição ausente sai com código diferente de zero. Um silencioso 0 seria lido como "o agente não disse
nada", que é a conclusão errada para dar a alguém reconstruindo uma atribuição.
Onde os dados residem
- Metadados do agente:
~/.paseo/agents/<workspace>/<id>.json— título,lastStatus(running/idle/ …),cwd, modelo,requiresAttention, timestamps. - Conversa: não está nesse arquivo. Reside com o harness que a escreveu, indexada por
persistence.sessionId:- Claude Code —
<config>/projects/<escaped-cwd>/<sessionId>.jsonl. claude-rotate mantém um diretório de config por conta, então pode estar em~/.claudeou em qualquer~/.config/claude-rotate/configs/*/— o script percorre todos eles em vez de adivinhar o caminho escapado. - Codex —
~/.codex/sessions/<y>/<m>/<d>/rollout-<stamp>-<sessionId>.jsonl, uma forma de registro diferente (payload.type) que o parser trata junto com a do Claude. Arquivar um agente move o rollout para o~/.codex/archived_sessions/. - Antigravity —
sessionIdé um wrapperplugin:{…"conversationId":…}; o histórico é~/.gemini/antigravity-cli/brain/<conversationId>/.system_generated/logs/transcript_full.jsonl(registros indexados porstep_index). Não éconversations/<id>.db, esse é protobuf. Agentes do provedor mais antigoantigravity-acpnunca escreveram esse log, então não têm histórico legível.
- Claude Code —
Falando com um agente, esperando por um
Esta skill apenas lê. Para o restante:
- Falar:
paseo send <id> "<text>" --behavior steer --no-wait. CLI com escopo de agente e chamadassend_agent_promptusam "steer" como padrão; um comportamento explícito também funciona fora de um agente. "Steer" pode cair em interrupção quando o provedor não pode aceitá-lo (por exemplo, durante compactação).--no-waitretorna após o despacho; não enfileira a mensagem atrás da troca. - Não reviver nada por acidente:
paseo sendrevive um agente arquivado, então verifiqueArchivedAtempaseo inspect <id> --jsonprimeiro. Nunca reviva um agente arquivado apenas para entregar um relatório; deixe a informação com seu trabalho (um TODO, protocolo ou commit), ou avise o usuário. - Esperar:
paseo-notify <id>, então encerre sua vez — uma mensagem chega quando ele parar. Fora do paseo:paseo wait <id> --json, em segundo plano; leiastatus(idle,permission,error,timeout) do JSON — o código de saída é 0 para todos eles. Nunca espere comsleep, Monitor,/loopou uma sondagem depaseo ls/logs/inspect.
Erros comuns
| Erro | Correção |
|---|---|
| Assumir o controle apenas com a solicitação inicial | --task também imprime todas as correções posteriores; elas carregam as decisões |
paseo logs para ler um agente fechado ou arquivado | Isso faz o daemon recarregar a sessão do agente apenas para lê-la; use esta skill, que apenas lê arquivos |
| Ler uma saída silenciosa como "o agente não disse nada" | Uma transcrição ausente sai com código diferente de zero; verifique o código de saída e o caminho da transcrição no cabeçalho |
| Enviar um relatório para um agente arquivado | paseo send o revive; verifique ArchivedAt primeiro e deixe o relatório com seu trabalho em vez disso |
Esperar em um agente com sleep, Monitor, /loop ou paseo ls/logs/inspect repetidos | paseo-notify <id> e encerre sua vez |
Tratar um diff inesperado como seu quando o agente compartilha seu cwd | Verifique git status; o agente pode estar editando os mesmos arquivos |