02. Contexto, snapshots, warming e rede¶
🎯 Objetivo¶
Controlar o ciclo de vida do contexto (compaction, snapshots), o estado do provider (warming) e a rede (proxy).
🧠 Compaction (contexto)¶
Compactação automática de contexto; também há compactação nativa por provider/modelo.
{
"compaction": {
"auto": true,
"keep": { "tokens": 15000 },
"buffer": 20000
}
}
keep.tokensretém uma cauda de contexto recente- Um modelo pode sobrescrever o provider:
providers.openai.models."gpt-4.1".settings.compaction.type = "summary"
↩️ Snapshots (undo/redo de arquivos + conversa)¶
Habilitados por padrão. Cada passo do modelo captura snapshots antes e depois, permitindo /undo//redo restaurarem arquivos.
{ "snapshots": false }
- Cobrem arquivos rastreados e untracked (≤ 2 MiB) no diretório ativo, dentro de um worktree Git
- Não revertem efeitos de shell (processos, redes, commits, arquivos ignorados)
- São conveniência, não backup: faça commit de trabalho importante antes de
/undo
🌡️ Warming (manter caches quentes)¶
Envia requisições periódicas para preservar caches do provider entre prompts. Desabilitado por padrão.
{
"warming": {
"prompt": "Não faça trabalho. Responda exatamente: OK",
"interval": "5 minutes",
"duration": "1 hour"
}
}
- Requisições de warming são reais: consomem tokens, custam e contam no rate limit
- Use só quando o benefício do cache compensar
🌐 Rede e proxy¶
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1,::1
opencode
NO_PROXYcom loopback é obrigatório: o CLI fala com o serviço local via HTTP- Persista para o serviço de fundo:
opencode service set env HTTPS_PROXY ... - CA privado:
NODE_EXTRA_CA_CERTS=/etc/company/ca.pem - Verifique:
opencode api get /api/info
🧹 Outros controles de saída¶
{
"tool_output": { "max_lines": 2000, "max_bytes": 51200 },
"media": { "image": { "auto_resize": true, "max_width": 2000 } }
}
❓ Desafio prático¶
- Ative
compactione rode uma sessão longa; depois use/undo - Desligue
snapshotse confirme que/undonão restaura arquivos - Configure
warmingcom intervalo curto e observeopencode stats --cost - Configure um proxy com
NO_PROXYde loopback e valide o health check
📚 Fonte oficial¶
- Compaction · Snapshots · Warming · Network
Próximo passo: Aula 03 — Custo e estatísticas · Voltar ao módulo