From d24dca3205d1fd0165ba4c395398449cf71d6f8e Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Mon, 31 Aug 2026 15:49:52 +0000 Subject: [PATCH] fix: scoate gitlink-urile care rup pagina Gitea si muta claude-agent in repo propriu Repo-ul avea 4 intrari de tip submodul (gitlink) fara .gitmodules: gomag-vending, roaauto, space-booking, vending_data_intelligence_report. Gitea 1.24.3 face panic pe listarea radacinii in acest caz (modules/git/commit_info.go:21 -> nil pointer), deci https://gitea.romfast.ro/romfast/workspace raspundea cu 500 Internal Server Error din commit-ul 6d6a5b0 (2026-04-06). Verificat: commit-urile fara gitlink (0854308, b8123b6) se randau cu 200. Toate cele patru directoare sunt repo-uri independente pe disc; raman neatinse, doar nu mai sunt urmarite aici. La fel si claude-agent/, care fusese comis din greseala aici in loc de repo propriu (vezi /workspace/claude-agent, acum repo separat). .gitignore: sectiunea de proiecte rescrisa exhaustiv (toate subdirectoarele din /workspace au propriul .git) si normalizata la LF. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY --- .gitignore | 142 ++++++++++------- claude-agent/.gitignore | 5 - claude-agent/CLAUDE.md | 25 --- claude-agent/README.md | 11 -- claude-agent/docs/discord-bridge-context.md | 40 ----- claude-agent/docs/echo-roa2web.md | 104 ------------- claude-agent/docs/infrastructure.md | 41 ----- .../docs/maria-whatsapp-rag-prototype.md | 146 ------------------ claude-agent/tools/roa2web.sh | 21 --- gomag-vending | 1 - roaauto | 1 - space-booking | 1 - vending_data_intelligence_report | 1 - 13 files changed, 82 insertions(+), 457 deletions(-) delete mode 100644 claude-agent/.gitignore delete mode 100644 claude-agent/CLAUDE.md delete mode 100644 claude-agent/README.md delete mode 100644 claude-agent/docs/discord-bridge-context.md delete mode 100644 claude-agent/docs/echo-roa2web.md delete mode 100644 claude-agent/docs/infrastructure.md delete mode 100644 claude-agent/docs/maria-whatsapp-rag-prototype.md delete mode 100755 claude-agent/tools/roa2web.sh delete mode 160000 gomag-vending delete mode 160000 roaauto delete mode 160000 space-booking delete mode 160000 vending_data_intelligence_report diff --git a/.gitignore b/.gitignore index ea1c2d9..7516d00 100644 --- a/.gitignore +++ b/.gitignore @@ -1,63 +1,85 @@ -# Exclude project directories -romfastsql/ -test/ - -# Claude Code -.claude-logs/ -.claude-work/ -.claude/ - -# Node.js -node_modules/ -package-lock.json -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.npm/ -.yarn/ - -# Python -__pycache__/ -*.py[cod] -*$py.class -.Python -*.egg-info/ -.eggs/ -*.egg -.venv/ -venv/ -ENV/ -.env - -# IDE & Editors -.idea/ -.vscode/ -*.swp -*.swo -*~ -.DS_Store - -# Build outputs -dist/ -build/ -*.o -*.so - -# Logs -*.log -logs/ - -# Temporary files -*.tmp -*.temp -.cache/ -tmp/ - -# Exclude any other project directories that might be added -# Keep only workspace-level files (.sh, .md) +# Exclude project directories + +# Claude Code +.claude-logs/ +.claude-work/ +.claude/ + +# Node.js +node_modules/ +package-lock.json +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.npm/ +.yarn/ + +# Python +__pycache__/ +*.py[cod] +*$py.class +.Python +*.egg-info/ +.eggs/ +*.egg +.venv/ +venv/ +ENV/ +.env + +# IDE & Editors +.idea/ +.vscode/ +*.swp +*.swo +*~ +.DS_Store + +# Build outputs +dist/ +build/ +*.o +*.so + +# Logs +*.log +logs/ + +# Temporary files +*.tmp +*.temp +.cache/ +tmp/ + +# Exclude any other project directories that might be added +# Keep only workspace-level files (.sh, .md) # Project directories (separate repos) -autonomous-coding/ -claude-plugins/ -roa2web/ +# Fiecare are propriul .git; NU se urmaresc aici (nici ca submodul -- +# gitlink fara .gitmodules face pagina repo-ului sa dea 500 pe Gitea). .gstack/ +.worktrees/ +atm/ +autonomous-coding/ +autopass/ +city-discovery/ +claude-agent/ +claude-plugins/ +efactura-generator/ +escape-builder/ +game-library/ +gomag-vending/ +icon-generator/ +paula-escape/ +qr-generator/ +qrpdf/ +roa2web-agent-ai/ +roa2web/ +roaauto/ +romfast-website/ +romfastsql/ +service-auto/ +space-booking/ +test/ +vending_data_intelligence_report/ +vfp_roaauto/ diff --git a/claude-agent/.gitignore b/claude-agent/.gitignore deleted file mode 100644 index 6265214..0000000 --- a/claude-agent/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -__pycache__/ -*.pyc -.venv/ -node_modules/ -.env diff --git a/claude-agent/CLAUDE.md b/claude-agent/CLAUDE.md deleted file mode 100644 index 3121578..0000000 --- a/claude-agent/CLAUDE.md +++ /dev/null @@ -1,25 +0,0 @@ -# CLAUDE.md — claude-agent (spațiul puntii Discord) - -Vezi `README.md` pentru context general. - -## Canal principal - -Utilizatorul comunică cu acest agent în principal prin **Discord**, prin puntea Discord → Claude Code -(cod sursă: `romfastsql/proxmox/lxc171-claude-agent/discord-bridge/`, 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 (imagini, fișiere) trimise pe Discord nu sunt încă citite automat de -punte — doar textul mesajului ajunge la Claude (vezi limitarea cunoscută mai jos, în lucru). - -## Documentație - -| Subiect | Fișier | -|---------|--------| -| Infrastructură Proxmox (noduri, LXC, VM, proiecte) | [docs/infrastructure.md](docs/infrastructure.md) | -| Echo (LXC 110 moltbot) — acces și comenzi pentru roa2web | [docs/echo-roa2web.md](docs/echo-roa2web.md) | -| Maria — punte WhatsApp + RAG (LXC 171, servicii + dashboard comun) | [docs/maria-whatsapp-rag-prototype.md](docs/maria-whatsapp-rag-prototype.md) | - -Detalii complete Proxmox (config, troubleshooting, incidente): `/workspace/romfastsql/proxmox/`. - -## 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ță. diff --git a/claude-agent/README.md b/claude-agent/README.md deleted file mode 100644 index 66c0ced..0000000 --- a/claude-agent/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# claude-agent — spatiul de lucru al puntii Discord - -Directorul implicit (`DEFAULT_CWD`) al firelor din puntea Discord -> Claude Code. -Ce ceri botului in `#claude-agent` ateriza aici, nu direct in `/workspace`. - -Repo propriu, ca lucrurile facute din Discord sa aiba istoric separat de proiectele -reale si sa se poata da inapoi fara sa atinga altceva. - -- Codul puntii NU e aici: e in `romfastsql/proxmox/lxc171-claude-agent/discord-bridge/`. -- Pentru a lucra pe alt proiect dintr-un fir: `!cd /workspace/`. -- Fiecare fir Discord isi tine propriul director; `!status` il arata. diff --git a/claude-agent/docs/discord-bridge-context.md b/claude-agent/docs/discord-bridge-context.md deleted file mode 100644 index 9b1d891..0000000 --- a/claude-agent/docs/discord-bridge-context.md +++ /dev/null @@ -1,40 +0,0 @@ -# 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 --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. diff --git a/claude-agent/docs/echo-roa2web.md b/claude-agent/docs/echo-roa2web.md deleted file mode 100644 index e47bbee..0000000 --- a/claude-agent/docs/echo-roa2web.md +++ /dev/null @@ -1,104 +0,0 @@ -# Echo (LXC 110 moltbot) — acces și comenzi pentru roa2web - -„Echo" nu face parte din codul roa2web — e un bot AI separat (Echo Core, Claude Opus 4.5), -rulat pe LXC 110 (moltbot), care are acces la `/workspace` și deci „știe" despre roa2web ca -orice alt agent Claude cu acces la filesystem (a generat chiar câteva documente -roa2web — vezi bylines „Generated by: Echo" în `roa2web-agent-ai/tasks/prd-roa2web-telegram-bonuri.md` -și `roa2web-agent-ai/backend/scripts/whatsapp_import/README.md`). - -Sursa completă: `/workspace/romfastsql/proxmox/lxc110-moltbot/README.md`. - -## Ce este - -| | | -|---|---| -| Nume proces | `echo-core` (Python), `/home/moltbot/echo-core`, `python3 src/main.py` | -| Container | LXC 110 „moltbot", pve1 | -| IP | `10.0.20.173` (intern) / `100.120.119.70` (Tailscale) | -| Model | Anthropic `claude-opus-4-5`, context 200k | -| Canale | Telegram (ON), WhatsApp (ON, +40723197939), Discord (inclus în descrierea serviciului) | - -⚠️ Stack-ul vechi **clawdbot/OpenClaw** (CLI, comenzi `clawdbot ...`) **nu mai e funcțional** -(verificat 2026-08-30) — folosește comenzile `echo-core` de mai jos, nu pe cele vechi. - -## Servicii systemd (pe container, user `moltbot`) - -```bash -systemctl --user status echo-core -systemctl --user restart echo-core -journalctl --user -u echo-core -f -``` - -Servicii înrudite: `echo-taskboard.service` (dashboard API), `echo-whatsapp-bridge.service` -(punte WhatsApp, Node/Baileys). - -## Acces - -### SSH direct -```bash -ssh moltbot@10.0.20.173 # rețea internă -ssh moltbot@100.120.119.70 # Tailscale, de oriunde -``` - -### Dashboard web -```bash -ssh -L 18789:127.0.0.1:18789 -N moltbot@10.0.20.173 & -# apoi: http://localhost:18789 -``` -Sau prin Tailscale: `https://moltbot.tailf7372d.ts.net/echo/`. - -### Chat (Telegram / WhatsApp / Discord) -Scrii direct botului pe canalul respectiv — nu există un CLI de invocat local pentru asta. - -## Client roa2web al lui Echo (`tools/roa2web_client.py`) - -Pe lângă chat, Echo are un client CLI propriu pentru API-ul financiar roa2web: -`~/echo-core/tools/roa2web_client.py` (pe moltbot). Autentificare: user/parolă Oracle + -2FA email la primul login; după primul login cu `trust_device=True`, token-urile -(access/refresh/trusted-device) stau în keyring-ul local (`service="echo-core"`, -`src/credential_store.py`) — sesiunile următoare nu mai cer OTP. - -Config (`~/echo-core/config.json` → cheia `roa2web`): -```json -{ - "base_url": "https://roa2web.romfast.ro/roa2web/api", - "default_company": "114", - "default_company_name": "ROMFAST SRL" -} -``` - -Comenzi client (rulate pe moltbot, în `~/echo-core`, cu `.venv/bin/python3`): - -| Comandă | Ce face | -|---|---| -| `companies` | Listează toate firmele (`id_firma` + nume) | -| `summary [--company ] [--luna N] [--an N]` | Dashboard financiar: clienți, furnizori, trezorerie (`/reports/dashboard/summary`) | -| `get [--company ...] [--param k=v ...]` | Query generic pe orice endpoint, ex. `/reports/treasury/bank-cash-register`, `/reports/invoices` | -| `verify-2fa ` | Finalizează login-ul cu un cod OTP primit pe email (doar dacă tokenul a expirat și cere reautentificare) | - -Endpoint-uri disponibile sub `/api/reports/...` (din `roa2web-agent-ai/backend/modules/reports/routers/`): -`dashboard/summary`, `dashboard/trends`, `dashboard/cashflow`, `dashboard/maturity`, -`dashboard/treasury-breakdown`, `invoices/`, `invoices/summary`, `invoices/{numar}`, -`treasury/bank-cash-register`, `treasury/bank-cash-accounts`, `trial-balance/`. - -### Integrare în claude-agent — `tools/roa2web.sh` - -Wrapper în acest repo (`/workspace/claude-agent/tools/roa2web.sh`) care rulează clientul de -mai sus pe moltbot prin SSH, **fără să dubleze credențialele** aici — folosește token-ul deja -în keyring-ul lui echo-core: - -```bash -tools/roa2web.sh companies -tools/roa2web.sh summary # firma implicită: ROMFAST SRL (114) -tools/roa2web.sh summary --company 114 --luna 8 --an 2026 -tools/roa2web.sh get /reports/treasury/bank-cash-register --company 114 -``` - -Necesită SSH fără parolă către `moltbot@10.0.20.173` (deja funcțional din acest container). - -## Alt canal: comenzi financiare directe în roa2web (fără Echo) - -Independent de Echo, aplicația roa2web are propriul bot Telegram -(`roa2web-agent-ai/backend/modules/telegram/`, vezi `docs/telegram/README.md` din acel repo) -cu comenzi ca `/dashboard`, `/sold`, `/facturi`, `/trezorerie` — util dacă ai cont Oracle -legat direct la Telegram, fără să treci prin Echo/moltbot. diff --git a/claude-agent/docs/infrastructure.md b/claude-agent/docs/infrastructure.md deleted file mode 100644 index 5b37ce5..0000000 --- a/claude-agent/docs/infrastructure.md +++ /dev/null @@ -1,41 +0,0 @@ -# Infrastructură Proxmox - -Sursă completă: `/workspace/romfastsql/proxmox/README.md` (și subdirectoarele `lxc*/`, `vm*/`, `cluster/`). -Acest fișier e un rezumat rapid — pentru detalii (config, troubleshooting, incidente) mergi la sursă. - -## Noduri Cluster (3 noduri, quorum activ) - -| Nod | IP | Rol | -|-----|-----|-----| -| pve1 | 10.0.20.200 | Nod cluster | -| pvemini | 10.0.20.201 | Nod principal (majoritatea LXC-urilor) | -| pveelite | 10.0.20.202 | Nod cluster | - -## LXC-uri - -| VMID | Nume | Nod | IP | -|------|------|-----|-----| -| 100 | portainer | pvemini | 10.0.20.170 | -| 101 | minecraft | pve1 | - | -| 102 | docker.romfast.ro | pvemini | 10.0.20.113 | -| 103 | dokploy | pvemini | 10.0.20.167 | -| 104 | flowise | pvemini | 10.0.20.161 | -| 106 | gitea | pvemini | 10.0.20.165 | -| 108 | central-oracle | pvemini | 10.0.20.121 | -| 110 | moltbot | pve1 | 10.0.20.173 | -| **171** | **claude-agent (acest container)** | pvemini | 10.0.20.171 | -| 301 | docker-portainer-template | pveelite | - (stopped) | - -## VM-uri (QEMU) - -| VMID | Nume | Nod | IP | -|------|------|-----|-----| -| 109 | oracle-dr-windows | pveelite | 10.0.20.37 (stopped) | -| 201 | roacentral | pvemini | 10.0.20.122 | -| 302 | oracle-test-302 | pvemini | - (stopped) | -| 303 | Win11-Adina | pvemini | DHCP | -| 310 | Win11-Template-Sysprep | pvemini | template | - -## Proiecte în /workspace - -atm, autopass, city-discovery, claude-agent, efactura-generator, escape-builder, game-library, gomag-vending, icon-generator, paula-escape, qr-generator, qrpdf, roa2web, roa2web-agent-ai, roaauto, romfastsql, romfast-website, service-auto, space-booking, vending_data_intelligence_report, vfp_roaauto diff --git a/claude-agent/docs/maria-whatsapp-rag-prototype.md b/claude-agent/docs/maria-whatsapp-rag-prototype.md deleted file mode 100644 index 6fccc68..0000000 --- a/claude-agent/docs/maria-whatsapp-rag-prototype.md +++ /dev/null @@ -1,146 +0,0 @@ -# Maria — punte WhatsApp + RAG (LXC 171), acum serviciu în git - -Sursa: `romfastsql/proxmox/lxc171-claude-agent/maria-whatsapp-bridge/` (repo -`ROMFASTSQL`, commit „Add Maria WhatsApp+RAG bridge as a service (LXC 171)"). - -A pornit ca prototip nefinalizat în `/tmp/maria-bridge/` (fără git, fără -serviciu systemd — vezi istoricul acestei conversații). A fost mutat integral -în git, ca proiect sibling lui `discord-bridge/`, cu servicii `systemctl --user` -proprii și dashboard de control. - -Nu trebuie confundat cu: -- **Maria pe Flowise** (`vfp_roaauto/COMUN/utile/chatbot/`) — chatbot web, - memorie Buffer Window (`k=5`) în Flowise. -- **Echo / `echo-whatsapp-bridge.service`** (LXC 110 moltbot) — bridge WhatsApp - Baileys separat, al lui Echo Core (Claude Opus 4.5). -- **Punte Discord -> Claude Code** (`discord-bridge/`, același container) — - alt scop (comandă Claude Code de pe Discord), vezi - [`discord-bridge-context.md`](discord-bridge-context.md). - -## Arhitectură - -``` -WhatsApp (self-chat implicit) - -> whatsapp/index.js (Baileys, port 8099) - -> rag/consumer.py (polling, RAG STATELESS — fara chat_history) - -> rag/store.py (depozit .txt/.md in ~/.maria-bridge/documents/) - -> rag/indexer.py (chunking + embeddings Ollama -> rag_index.json) - -> rag/sync.py (rclone pull din Google Drive + reindexare conditionata) -dashboard/api.py (stdlib, port 18792) — control total din browser -``` - -## Servicii `systemctl --user` (pe LXC 171, sub `~/.config/systemd/user/`) - -| Unitate | Rol | -|---|---| -| `maria-whatsapp.service` | Puntea Baileys (Node), port 8099 | -| `maria-rag.service` | Consumer RAG (Python venv), răspunde la mesaje | -| `maria-sync.service` + `maria-sync.timer` | Sincronizare Drive + reindexare, la 10 min | - -Instalare: `ops/install.sh` (idempotent, mirror al `discord-bridge/ops/install.sh` -— creează `~/.maria-bridge/`, venv, `npm install`, symlink-uri unit, -`systemctl --user enable`). Bridge-ul **nu pornește automat** — cere scanarea -unui cod QR (pas manual, o singură dată); vezi `README.md` din proiect. - -## Control — dashboard COMUN cu puntea Discord (nu unul separat) - -**Decizie ulterioară** (la cererea explicită a utilizatorului): Maria NU are -dashboard propriu. Controlul se face din **dashboard-ul punții Discord** -(`discord-bridge/dashboard/`, `https://claude-agent.tailf7372d.ts.net/claude`), -secțiunea „Maria — WhatsApp + RAG", adăugată direct în `dashboard/api.py` și -`index.html` ale acelui proiect. Rutele Maria (`/api/maria/*`) rulează în -ACELAȘI proces Python ca puntea Discord, dar comunică cu Maria doar prin -subprocess (`systemctl`, scripturi din `rag/`) și HTTP către bridge — fără -import de module Python din `maria-whatsapp-bridge`, ca să nu coliseze cu -`discord-bridge/config.py` (ambele s-ar numi `config`). - -Ce oferă secțiunea Maria din acel panou: -- start/stop/restart pentru `maria-whatsapp` și `maria-rag` (unități fixe, - aceeași protecție ca la Discord — niciun nume de unit nu vine din request) -- stare conexiune WhatsApp + cod QR de asociere (când nu e conectat) -- listă documente din depozit, adăugare/ștergere text, reindexare manuală -- buton „sincronizează din Drive acum" (`rag/sync.py`, apelat și de timer) -- loguri (tail) pentru `whatsapp.log`/`rag.log` - -Autentificare: aceeași sesiune/cookie ca restul dashboard-ului Discord -(`DASHBOARD_TOKEN` din `~/.claude-discord/env`) — un singur login pentru -ambele punți. - -## Depozit de documente + Google Drive - -Documentele (`.txt`/`.md`) stau în `~/.maria-bridge/documents/` pe container. -Se pot administra manual din dashboard, sau sincroniza automat cu dosarul -Google Drive de pe Windows (`D:\GoogleDrive\romfast\document_store`) prin -**rclone cu un cont de serviciu Google** (nu OAuth interactiv — containerul -e headless). Pași de configurare completi în README-ul proiectului -(`maria-whatsapp-bridge/README.md`, secțiunea „Sincronizare cu Google Drive"). -`DRIVE_REMOTE` gol în env = sincronizare dezactivată, doar upload manual. - -## Context conversațional — neschimbat față de prototip - -`rag/consumer.py` tot NU ține memorie între mesaje — fiecare întrebare e o -interogare RAG independentă (system prompt + top-K chunk-uri din index + -întrebare). Nu există nimic de "golit"; comparativ: -- Maria/Flowise: fereastră fixă de 5 schimburi; -- Discord bridge: context nelimitat (autocompact), golit doar cu `/new`; -- Maria WhatsApp+RAG: zero memorie, fiecare mesaj e independent. - -## Embeddings — Ollama local pe LXC 171 - -Inițial `OLLAMA_URL=http://127.0.0.1:11434` din `env` era un placeholder -nefuncțional (niciun Ollama instalat nicăieri, nici local nici pe alt LXC — -verificat explicit, nu există server Ollama documentat în infrastructură). -**Rezolvat 2026-08-31**: instalat Ollama direct pe acest container -(`curl -fsSL https://ollama.com/install.sh | sh`, plus `zstd` ca dependință), -pornit ca `ollama.service` (systemd la nivel de sistem, nu `--user`), și -tras modelul `nomic-embed-text` (`ollama pull nomic-embed-text`, ~274 MB, -rulează CPU-only, fără GPU pe container). Cu asta `rag/indexer.py` și -`rag/consumer.py` au un backend de embeddings funcțional local, fără nicio -dependință externă de rețea. - -## Sincronizare Google Drive — status real - -`rclone` a fost instalat pe container (`apt-get install rclone`), dar -`DRIVE_REMOTE` rămâne **negol configurat**: pasul care lipsește e crearea -unui cont de serviciu Google (GCP Console → IAM → Service Accounts) și -partajarea folderului `document_store` cu adresa lui de email — acțiuni -care cer acces la consola Google Cloud a utilizatorului, deci nu pot fi -automatizate din container. Vezi README, secțiunea „Sincronizare cu Google -Drive", pentru pașii exacți rămași. - -**Testare imediată a indexării** (fără să aștepte configurarea rclone): -s-au adus manual 6 documente reale din folderul Drive `document_store` -(`romfast_info.md`, `erori_generale_knowledge.md`, `bilant_knowledge.md`, -`import_knowledge.md`, `roafacturare_manual.md`, `spv_semnatura_knowledge.md`) -folosind uneltele MCP Google Drive disponibile agentului (cont -`mmarius28@gmail.com`, folder id `1C4e75zgH1_7ZK-_oBP5ZZBvUPh3iEo1O`), scrise -direct în `~/.maria-bridge/documents/` și indexate cu `rag/indexer.py` — -**25 de chunk-uri, index de ~400 KB, reconstruit cu succes** folosind Ollama-ul -local de mai sus. Asta confirmă că pipeline-ul store → indexer → embeddings -funcționează capăt-la-capăt; rămâne doar conectarea automată la Drive prin -`rclone` (pasul manual al utilizatorului, de mai sus). - -## Stare la momentul scrierii (actualizat 2026-08-31) - -`maria-whatsapp`, `maria-rag` și `maria-sync.timer` sunt `active (running)`/ -`enabled`. Dashboard-ul propriu (`maria-dashboard.service`) a fost **oprit, -dezactivat și eliminat din cod** — controlul e acum consolidat în -dashboard-ul punții Discord (secțiunea „Maria — WhatsApp + RAG", verificată -funcțională prin `curl` direct pe `/api/maria/status`). Bridge-ul a generat -cod QR și așteaptă scanarea din telefon (`connected: false` până atunci). - -Rămâne de făcut manual: -- **scanarea codului QR** din dashboard (cardul „Conectare WhatsApp") — pas fizic, - nu poate fi automatizat; -- **contul de serviciu Google + `DRIVE_REMOTE`** — vezi secțiunea de mai sus; - fără el, sincronizarea automată din Drive rămâne inactivă (dar upload-ul - manual de documente + reindexare funcționează deja, testat); -- **file picker în dashboard** — cerut explicit de utilizator: secțiunea - „Adaugă document" din panoul Maria permite azi doar scrierea manuală de - text într-un textarea; de înlocuit/completat cu un input de tip fișier - care acceptă selecția mai multor fișiere deodată (upload multipart, nu - JSON), pentru administrare mai rapidă a depozitului. **Neimplementat încă.** - -Bug reparat în timpul instalării inițiale (înainte de consolidare): `install.sh` -lega unitatea dashboard-ului propriu la o cale greșită — devenit irelevant -odată cu eliminarea acelui dashboard. diff --git a/claude-agent/tools/roa2web.sh b/claude-agent/tools/roa2web.sh deleted file mode 100755 index 8e06d6d..0000000 --- a/claude-agent/tools/roa2web.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# Wrapper peste clientul roa2web deja autentificat pe moltbot (LXC 110, echo-core). -# Nu duplica credentiale aici: ruleaza tools/roa2web_client.py de pe moltbot prin SSH, -# folosind token-ul din keyring-ul lui echo-core. -# -# Uz: -# tools/roa2web.sh companies -# tools/roa2web.sh summary [--company ] [--luna N] [--an N] -# tools/roa2web.sh get [--company ] [--param k=v ...] -# -# Firma implicita (daca omiti --company): ROMFAST SRL (114), din config.json de pe moltbot. -set -euo pipefail - -HOST="moltbot@10.0.20.173" -REMOTE_CMD="cd ~/echo-core && .venv/bin/python3 tools/roa2web_client.py" - -for arg in "$@"; do - REMOTE_CMD+=" $(printf '%q' "$arg")" -done - -exec ssh -o BatchMode=yes -o ConnectTimeout=10 "$HOST" "$REMOTE_CMD" diff --git a/gomag-vending b/gomag-vending deleted file mode 160000 index 5191014..0000000 --- a/gomag-vending +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 51910148ef642b274883aa9d970bb41c348cc3c4 diff --git a/roaauto b/roaauto deleted file mode 160000 index d93a7b2..0000000 --- a/roaauto +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d93a7b29039d8be4a6a1daa446ad447ae1083631 diff --git a/space-booking b/space-booking deleted file mode 160000 index 953f312..0000000 --- a/space-booking +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 953f3121cf02522bc34aa771d6e3d8f46b65e24e diff --git a/vending_data_intelligence_report b/vending_data_intelligence_report deleted file mode 160000 index 3f410c3..0000000 --- a/vending_data_intelligence_report +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3f410c3fb8b7d9dc075d62986c47a4697356df82