Files
claude-agent/docs/echo-roa2web.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

4.4 KiB

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)

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

ssh moltbot@10.0.20.173          # rețea internă
ssh moltbot@100.120.119.70       # Tailscale, de oriunde

Dashboard web

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):

{
  "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 <cod|nume>] [--luna N] [--an N] Dashboard financiar: clienți, furnizori, trezorerie (/reports/dashboard/summary)
get <path> [--company ...] [--param k=v ...] Query generic pe orice endpoint, ex. /reports/treasury/bank-cash-register, /reports/invoices
verify-2fa <cod> <email> 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:

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.