Doua functionalitati noi in maria-whatsapp-bridge/discord-bridge (cod in romfastsql, commits 610638a si 32ff462): profil de client per firma, asociat cu mai multe numere de telefon, injectat in promptul RAG; si o sectiune in dashboard pentru resetarea firelor de discutie active. Precizare adaugata in CLAUDE.md — profilurile de client sunt permise in granita Mariei, dar fara date tehnice. Co-Authored-By: Claude Agent <noreply@anthropic.com>
7.1 KiB
CLAUDE.md — claude-agent (spațiul punții Discord)
Vezi README.md pentru context general.
Cum lucrezi (OBLIGATORIU pentru orice cerere de dezvoltare)
- Citește
TODO.md— registrul viu al funcționalităților. Poate lucrul e deja început, blocat sau abandonat deliberat. - Planifică pe Opus, delegând unui subagent:
Agent(subagent_type: "Plan", model: "opus", ...). Firul rulează pe Sonnet; nu schimba modelul firului. Pasul ăsta nu se sare pentru că sarcina pare mică. Un singur fișier nou, un script de 20 de linii, o schimbare „evidentă" — tot trec prin subagentul Opus. Mărimea nu e criteriu; singurul criteriu e dacă schimbi ceva (vezi lista de excepții din documentul de flux). - Postează planul în fir, apoi execută tu, pe Sonnet.
- Actualizează
TODO.mdla final — mută intrarea, scrie data absolută, adaugă o linie înJurnal. Dacă rămâne ceva neterminat, scrie explicit următorul pas: firul următor nu va ști nimic din conversația asta.
Pașii, excepțiile (întrebări și diagnostice nu au nevoie de plan) și motivele sunt în docs/flux-dezvoltare.md — citește-l înainte de prima cerere de dezvoltare din fir.
Unde ești
Rulezi pe LXC 171 (claude-agent, 10.0.20.171, nod pvemini), în ecosistemul Romfast:
un cluster Proxmox de 3 noduri, Oracle XE 21c, ERP-ul ROA, plus punțile de chat
(Discord, WhatsApp). Directorul acesta e doar spațiul de lucru al punții Discord —
nu e tot ce știi.
Documentația reală a infrastructurii e în /workspace/romfastsql/, un repo separat
(git@gitea.romfast.ro:romfast/ROMFASTSQL.git). Citește de acolo înainte să cauți cu
find/grep prin tot discul:
| Ai nevoie de… | Citește |
|---|---|
| Regulile proiectului + indexul complet de documentație | /workspace/romfastsql/CLAUDE.md |
| Infrastructură Proxmox (noduri, LXC, VM, rețea, incidente) | /workspace/romfastsql/proxmox/README.md |
| Codul punții Discord (acest bot) | /workspace/romfastsql/proxmox/lxc171-claude-agent/discord-bridge/ |
| Codul Mariei (WhatsApp + RAG) | /workspace/romfastsql/proxmox/lxc171-claude-agent/maria-whatsapp-bridge/ |
| Oracle (XE 21c/18c, migrări, cazuri clienți) | /workspace/romfastsql/proxmox/lxc108-oracle/ |
| Reguli SQL de migrare (obligatoriu înainte de a scrie SQL) | /workspace/romfastsql/system_instructions/system_prompt.md |
Rezumat rapid, dacă nu vrei să deschizi nimic: docs/infrastructure.md.
Memorie
Memoriile acestui director sunt comune cu cele ale proiectului romfastsql
(~/.claude/projects/-workspace-claude-agent/memory e un symlink către
~/.claude/projects/-workspace-romfastsql/memory). Deci ce s-a învățat lucrând pe
infrastructură e disponibil și în firele de pe Discord, și invers — scrie memorii
acolo, nu în fișiere ad-hoc. Copia veche, dinainte de unificare:
~/.claude/projects/-workspace-claude-agent/memory.bak-2026-08-31.
Sesiunile Discord sunt totuși per fir: un fir nou pornește o sesiune Claude nouă, care are memoriile de mai sus dar nu conversația din alt fir. Ce trebuie să supraviețuiască între fire se scrie în memorie sau în documentație, nu se presupune.
Canal principal
Utilizatorul comunică cu acest agent în principal prin Discord, prin puntea
Discord → Claude Code (vezi și docs/echo-roa2web.md pentru diferența față de
Echo/MoltBot). Botul care răspunde pe Discord este acest agent (claude-agent,
LXC 171), nu Echo. Atașamentele trimise pe Discord ajung la tine din 2026-08-31:
imaginile (png/jpeg/gif/webp, max 4) le vezi direct, fișierele text intră în prompt,
restul sunt doar numite. Mesajele vocale, nu — vezi TODO.md.
Documentație locală
| Subiect | Fișier |
|---|---|
| Progresul funcționalităților (de citit și actualizat la fiecare cerere) | TODO.md |
| Fluxul de lucru: plan pe Opus → execuție pe Sonnet → TODO.md | docs/flux-dezvoltare.md |
| Infrastructură Proxmox — rezumat (noduri, LXC, VM, proiecte) | docs/infrastructure.md |
| Echo (LXC 110 moltbot) — acces și comenzi pentru roa2web | docs/echo-roa2web.md |
| Punte Discord → Claude Code — context | docs/discord-bridge-context.md |
| Care chatbot e care (trei „Maria", doi boți de Discord, două punți WhatsApp) | /workspace/romfastsql/docs/chatboti-si-punti.md |
| Maria — punte WhatsApp + RAG | docs/maria-whatsapp-rag-prototype.md |
Maria (RAG) — GRANIȚĂ OBLIGATORIE
Maria e chatbot de suport tehnic pentru clienții ERP ROA. Nu are voie să vadă nimic din infrastructura Romfast.
Maria răspunde exclusiv din depozitul ei de documente
(~/.maria-bridge/documents/, sincronizat din D:\GoogleDrive\romfast\document_store);
prin construcție nu are shell, nici acces la fișiere în afara acelui depozit. Granița se
poate rupe doar dacă tu pui acolo ce nu trebuie. Deci:
- NU copia niciodată în
~/.maria-bridge/documents/(sau în dosarul Drivedocument_store) fișiere din/workspace/romfastsql/proxmox/,docs/de aici,docs/infrastructure.md, README-uri de infrastructură, runbook-uri, proceduri DR sau de failover. - NU pune acolo IP-uri interne, nume de noduri/containere, porturi, chei SSH, parole, token-uri, string-uri de conexiune Oracle, adrese de clienți sau orice altceva operațional.
- În depozit intră doar material orientat spre client final: cum se folosește ROA, proceduri din aplicație, întrebări frecvente, mesaje de eroare din interfață.
- Când utilizatorul cere „adaugă documentul X la Maria", verifică întâi conținutul cu acest filtru. Dacă e material de infrastructură, refuză și spune de ce.
- Nu extinde
DOCS_DIR, nu adăuga surse noi de indexare și nu adăuga unelte de fișiere/shell consumerului Mariei (rag/consumer.py) fără cerere explicită. - Profilurile de client (
rag/client.py,~/.maria-bridge/clients.json) sunt permise și separate de depozitul de documente: conțin doar ce ar spune clientul despre firma lui (nume, domeniu, program ROA folosit, particularități). NU sunt o portiță spre infrastructură — nu pune acolo date tehnice de instalare (server, utilizator de bază de date, parole, IP-uri). Același filtru ca mai sus.
Pentru contrast: tu (punte Discord) ai voie la toată infrastructura, inclusiv SSH
și pct exec — vezi memoriile. Maria, nu.
Convenții de lucru
- Pentru sarcini care se pot repeta (ex: extragere transcript video, procesare de
fișiere), scrie un script reutilizabil (bash/python) în
tools/în loc de comenzi ad-hoc de unică folosință. - Acest director e repo propriu (
git@gitea.romfast.ro:romfast/claude-agent.git). Nu comite aici modificări la codul punții sau la documentația de infrastructură — alea aparțin repo-uluiromfastsql./workspacee la rândul lui alt repo (romfast/workspace) și ignoră acest director.