Sessões, contexto e continuidade
O chat não é um blob JSON reescrito a cada mensagem. O gateway usa sessões em duas camadas: metadados pequenos, gravados atomicamente, e transcript append-only em á…
Store + transcript
| arquivo | função |
|---|---|
| .okami/sessions/sessions.json | mapa pequeno chat_id -> metadata: último nó, contadores, yolo, overlay, uso e timestamps |
| .okami/sessions/<chat>.jsonl | transcript append-only: uma linha por turno, com id e parentId |
| .okami/groups/<chat>.jsonl | mesmo formato para conversas de grupo multi-agente |
Compaction por nó SUMMARY
Quando o contexto cresce, o sistema não apaga a conversa. Ele adiciona um nó SUMMARY; o rebuild do histórico usa o resumo como substituto do prefixo antigo, mas o transcript completo continua no disco.
Arquivar, retomar e exportar
/newarquiva o transcript atual como <chat>.<ts>.reset.jsonl e começa limpo/sessionslista sessões arquivadas daquele chat/resume <n>retoma uma sessão arquivada e arquiva a atual antes de trocar/export [arquivo]exporta a conversa ativa em Markdown/title <nome>nomeia a conversa atual para navegação humanaUso, custo e cache
A sessão acumula usage canônico por turno: tokens de entrada, saída, cache read e modelo que serviu. O custo é derivado quando exibido, para não congelar preço antigo no transcript. Veja /usage e okami status.
Retenção
retention: no okami.yaml controla poda de sessões arquivadas, checkpoints, tool outputs, processos e áudio. Em produção, okami policy check --strict exige retenção declarada; operacionalize com okami clean --deep no cron/systemd.

