LXC 171 a fost asociat la WhatsApp (+40723197939, dispozitiv nou al aceluiasi cont), iar pe 104 `maria-whatsapp-bridge` si `maria-whatsapp-consumer` au fost oprite si dezactivate ca sa nu raspunda amandoua la acelasi mesaj. `llama-qwen35.service` ramane pornit acolo: el e LLM-ul de raspuns, folosit acum de 171 prin retea. docs/chatboti-si-punti.md a fost scris cu cateva ore inainte de mutare si spunea ca instanta vie e cea de pe 104 — actualizat peste tot (tabel, sectiuni, porturi, comenzi de verificare), plus un avertisment sa nu se reporneasca prototipul ca "reparatie": ar raspunde in paralel, pe acelasi numar, cu un index de 24 de chunk-uri. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY
165 lines
7.7 KiB
Markdown
165 lines
7.7 KiB
Markdown
# Chatboții și punțile de mesagerie — care e care
|
|
|
|
Există **trei lucruri numite „Maria"**, **doi boți pe Discord** și **două punți WhatsApp
|
|
legate la același număr de telefon**. Documentul ăsta spune care e care, unde rulează și
|
|
cum verifici, în 30 de secunde, cu care vorbești de fapt.
|
|
|
|
> **De ce există documentul:** pe 2026-08-31 s-a pierdut aproape o oră de diagnostic
|
|
> fiindcă Maria de pe WhatsApp răspundea, dar toate verificările se făceau pe containerul
|
|
> greșit. Pe LXC 171 totul părea rupt (niciun LLM, WhatsApp neasociat, log fără
|
|
> activitate) — răspunsurile veneau de pe LXC 104.
|
|
|
|
**Verificat live pe 2026-08-31.** Stările (`connected`, ce serviciu rulează) se schimbă;
|
|
topologia, nu.
|
|
|
|
---
|
|
|
|
## Tabelul scurt
|
|
|
|
| Cine | Unde rulează | Canal | Model | Sursa de cunoștințe |
|
|
|---|---|---|---|---|
|
|
| **Maria pe Flowise** | LXC 104, `flowise.service`, port 3000 | web (prin ngrok) | configurat în chatflow | chatflow Flowise + docstore propriu |
|
|
| **Maria WhatsApp** ← instanța vie | LXC 171, `maria-*.service` | WhatsApp, nr. 40723197939 | `llama-qwen35` de pe 104, prin rețea | depozit sincronizat din Google Drive |
|
|
| **Maria WhatsApp — prototipul** | LXC 104, `maria-whatsapp-*.service` | — (**oprit** 2026-08-31) | — | `rag_index.json` propriu, mic |
|
|
| **Echo (MoltBot)** | LXC 110, `echo-core.service` | Telegram + WhatsApp + Discord | Claude Opus 4.5 (API) | proiectele lui, roa2web |
|
|
| **Puntea Discord → Claude Code** | LXC 171, `claude-discord.service` | Discord (guild privat) | Sonnet/Opus, per fir | tot `/workspace`, acces SSH la cluster |
|
|
|
|
Cele două Marii de WhatsApp rulează **același cod**, din surse diferite. Vezi mai jos.
|
|
|
|
---
|
|
|
|
## Cele trei Marii
|
|
|
|
### 1. Maria pe Flowise — chatbot web
|
|
|
|
LXC 104 (`10.0.20.161`), `flowise.service` pe portul 3000, expus public prin
|
|
`ngrok.service` la `https://mutual-special-koala.ngrok-free.app`.
|
|
|
|
Chatflow-ul e definit în interfața Flowise; memoria e Buffer Window (ultimele 5 schimburi).
|
|
Sursa versionată a chatflow-ului: `vfp_roaauto/COMUN/utile/chatbot/`.
|
|
|
|
Detalii: [`proxmox/lxc104-flowise/README.md`](../proxmox/lxc104-flowise/README.md).
|
|
|
|
### 2. Maria WhatsApp + RAG — prototipul, OPRIT din 2026-08-31
|
|
|
|
**LXC 104**, `/root/maria-whatsapp-bridge/` — **în afara git-ului**. Serviciile
|
|
`maria-whatsapp-bridge` și `maria-whatsapp-consumer` sunt **oprite și dezactivate** din
|
|
2026-08-31, când rolul a trecut pe versiunea din git de pe LXC 171. Codul a rămas pe disc
|
|
ca plasă de siguranță; `llama-qwen35.service` și `flowise.service` rulează mai departe și
|
|
sunt folosite de restul sistemului.
|
|
|
|
Ce era cât timp a fost activ:
|
|
|
|
| Serviciu | Ce face |
|
|
|---|---|
|
|
| `maria-whatsapp-bridge.service` | punte Baileys (Node), port 8099 |
|
|
| `maria-whatsapp-consumer.service` | `consumer.py` — citește mesaje, caută în RAG, întreabă LLM-ul |
|
|
| `llama-qwen35.service` | `llama.cpp` cu `Qwen3.5-2B-Q4_K_M`, API compatibil OpenAI pe **8091** |
|
|
| `ollama.service` | embeddings, port 11434 |
|
|
|
|
Era legată la **+40723197939**, în self-chat. **De ce a fost înlocuită:** indexul ei avea
|
|
24 de chunk-uri dintr-un singur fișier (`knowledge/roaauto_instructiuni.txt`), deci orice
|
|
întrebare din afara subiectului roaauto primea un răspuns inventat — retrieval-ul n-avea
|
|
ce să găsească.
|
|
|
|
### 3. Maria WhatsApp + RAG — versiunea din git, cea care răspunde acum
|
|
|
|
**LXC 171**, cod în `proxmox/lxc171-claude-agent/maria-whatsapp-bridge/`, stare în
|
|
`~/.maria-bridge/`. Aceleași servicii, sub `systemctl --user`.
|
|
|
|
Are tot ce s-a construit peste prototip: depozit sincronizat din Google Drive prin rclone
|
|
(11 documente, 173 de chunk-uri), suport `.xml` preferat peste `.md`, lacăt între
|
|
reindexări, dashboard de control. Foloseste LLM-ul de pe 104 prin rețea
|
|
(`LLM_URL=http://10.0.20.161:8091`) — pe 171 nu există niciun model de chat, doar
|
|
embeddings.
|
|
|
|
**Asociată la +40723197939 pe 2026-08-31**, ca dispozitiv nou al aceluiași cont; sesiunea
|
|
stă în `~/.maria-bridge/whatsapp-auth/`. Din acel moment e singura Maria care răspunde pe
|
|
WhatsApp.
|
|
|
|
Detalii: [`maria-whatsapp-bridge/README.md`](../proxmox/lxc171-claude-agent/maria-whatsapp-bridge/README.md).
|
|
|
|
---
|
|
|
|
## Cei doi boți de Discord
|
|
|
|
### Puntea Discord → Claude Code (LXC 171)
|
|
|
|
`claude-discord.service`. Un fir de Discord = o sesiune Claude Code care rulează **pe
|
|
container, cu drepturile utilizatorului `claude`**: acces la `/workspace`, chei SSH,
|
|
`pct exec` pe tot clusterul. Comenzi `/new`, `/cd`, `/model`, `/status`, `/stop`,
|
|
`/cleanup`, `/permisiuni`.
|
|
|
|
Dashboard de control: `claude-discord-dashboard.service`, port 18790, expus prin Tailscale
|
|
la `https://claude-agent.tailf7372d.ts.net/claude`. Tot de acolo se comandă și Maria.
|
|
|
|
Detalii: [`discord-bridge/README.md`](../proxmox/lxc171-claude-agent/discord-bridge/README.md).
|
|
|
|
### Echo Core (LXC 110)
|
|
|
|
`echo-core.service` — bot pe Telegram, WhatsApp **și** Discord, cu Claude Opus 4.5 prin
|
|
API. Alt bot, alt scop, alt container. Dacă un mesaj de pe Discord primește un răspuns
|
|
care nu seamănă cu Claude Code, verifică dacă nu cumva a răspuns Echo.
|
|
|
|
Detalii: [`proxmox/lxc110-moltbot/README.md`](../proxmox/lxc110-moltbot/README.md).
|
|
|
|
---
|
|
|
|
## Porturi
|
|
|
|
| Port | Container | Serviciu |
|
|
|---|---|---|
|
|
| 3000 | LXC 104 | Flowise (web, prin ngrok) |
|
|
| 4040 | LXC 104 | ngrok, interfață locală |
|
|
| 8091 | LXC 104 | `llama.cpp` / Qwen3.5-2B — **LLM-ul de răspuns al Mariei**, folosit de 171 |
|
|
| 8099 | LXC 104 | punte WhatsApp Maria — prototip, oprit |
|
|
| 11434 | LXC 104 | Ollama (embeddings) |
|
|
| 8098 | LXC 110 | punte WhatsApp Echo |
|
|
| 18789 | LXC 110 | gateway clawdbot |
|
|
| 7788 / 7789 | LXC 110 | supertonic-tts / pocket-tts |
|
|
| 8099 | LXC 171 | punte WhatsApp Maria — **instanța vie** |
|
|
| 11434 | LXC 171 | Ollama (doar embeddings, fără model de chat) |
|
|
| 18790 | LXC 171 | dashboard punte Discord + Maria |
|
|
|
|
`8099` și `11434` există pe **ambele** containere, cu conținut diferit. De aici jumătate
|
|
din confuzie — verifică întotdeauna pe ce container ești.
|
|
|
|
---
|
|
|
|
## Cum afli cu cine vorbești
|
|
|
|
```bash
|
|
# Care punte WhatsApp e conectata, si pe ce numar
|
|
ssh root@10.0.20.171 "curl -s http://127.0.0.1:8099/status" # Maria (vie)
|
|
ssh root@10.0.20.201 "pct exec 104 -- curl -s http://127.0.0.1:8099/status" # prototip (oprit)
|
|
ssh root@10.0.20.200 "pct exec 110 -- curl -s http://127.0.0.1:8098/status" # Echo
|
|
|
|
# Ce a procesat consumer-ul Mariei din git (daca e gol, nu ea a raspuns)
|
|
tail -20 ~/.maria-bridge/logs/rag.log
|
|
|
|
# LLM-ul de raspuns
|
|
curl -s http://10.0.20.161:8091/v1/models
|
|
```
|
|
|
|
**Regula:** WhatsApp-ul lui Echo (LXC 110) și cel al Mariei (LXC 104) sunt legate la
|
|
**același număr**, `+40723197939`, ca dispozitive diferite ale aceluiași cont. Un mesaj
|
|
poate ajunge la ambele. Dacă primești două răspunsuri, două punți sunt active simultan.
|
|
|
|
---
|
|
|
|
## Capcane
|
|
|
|
- **„Maria" nu e un singur lucru.** Întreabă întâi: web (Flowise), WhatsApp de pe 104,
|
|
sau WhatsApp de pe 171?
|
|
- **Prototipul de pe 104 nu e în git** și e oprit din 2026-08-31. Nu-l reporni ca să
|
|
„repari" Maria: ar răspunde în paralel cu cea din git, pe același număr, cu un index de
|
|
24 de chunk-uri. Codul versionat e cel de pe 171.
|
|
- **Depozitul Mariei din git e oglindă a Google Drive.** `rclone sync` șterge local ce nu
|
|
mai există în Drive; un document adăugat manual din dashboard dispare la următoarea
|
|
sincronizare.
|
|
- **Reindexarea durează ~21 de minute** pentru 173 de chunk-uri (embedding CPU-only,
|
|
~7,3 s per chunk pe LXC 171). Nu pare blocată — chiar durează.
|
|
- **Maria nu are voie la infrastructură.** E chatbot pentru clienții ERP ROA; nimic din
|
|
`proxmox/`, niciun IP, port sau credențial nu intră în depozitul ei de documente.
|
|
Puntea Discord, în schimb, are acces la tot. Vezi `claude-agent/CLAUDE.md`.
|