Files
claude-agent/docs/discord-bridge-context.md
Claude Agent 6d0bfe156f Initial commit: spatiul de lucru al puntii Discord
Continut mutat din repo-ul romfast/workspace, unde fusese comis din greseala
(commit-urile 0558bae si 47d9fb2 de acolo). Acolo e acum ignorat.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY
2026-08-31 15:50:03 +00:00

1.9 KiB

Puntea Discord — cum se acumulează și se golește contextul

Sursă: romfastsql/proxmox/lxc171-claude-agent/discord-bridge/ (bot.py, runner.py, session_store.py).

Model

Fiecare fir de Discord (thread) e mapat pe o sesiune Claude Code reală, nu pe o fereastră de memorie proprie (spre deosebire de chatbot-ul Maria/Flowise, care folosește Buffer Window Memory cu k=5).

  • session_store.py ține în state.json câte o înregistrare per thread_id, cu câmpul sid = session id-ul Claude Code.
  • La fiecare tur nou pe același fir, runner.py pornește procesul cu claude --resume <sid> --autocompact auto — deci contextul se acumulează la nesfârșit în sesiunea Claude Code, cu compactare automată (--autocompact auto) gestionată de Claude Code însuși când se apropie de limita de context (nu e o ștergere, e un sumar intern).
  • Dacă procesul moare/repornește, se reia cu --resume pe același sid — contextul supraviețuiește restart-urilor botului.

Când se golește efectiv

Nu există curățare automată pe timp (nu e un TTL/cron). Contextul unui fir se resetează DOAR manual, din Discord:

  • /new — pornește o sesiune nouă (sid = None), fir „curat".
  • /new fork:True — sesiune nouă, dar pornită dintr-un fork al contextului curent (păstrează istoricul până la acel punct, apoi ramifică).

bot.py:645 apelează runner.reset(tid, fork=...), care în runner.py:333 oprește procesul curent și șterge proc.sid (la fork, marchează following --resume cu fork în loc de resume simplu).

De reținut

  • Nu confunda acest mecanism cu Maria (Flowise): acolo fereastra e fixă (ultimele 5 schimburi, per sessionId), aici fereastra e "tot" + auto-compact intern Claude Code, golit doar la /new.
  • Comanda /cleanup (cleanup.py) NU are legătură cu contextul conversației — curăță procese orfane rămase în urma firelor (memorie RAM), nu istoricul de chat.