Manual de utilizare AI RADAR Diagnostic 4.1
Ghid pentru administrator, consultant și respondent. Versiunea aplicației: 4.1.0. Chestionar: 4.0.0. Metodologie: 4.0-expert-rules-1. Ghidaj contextual: 4.1-guidance-1. Document finalizat la 9 septembrie 2026.
Aplicația transformă o autoevaluare de 60 de întrebări într-un profil al practicilor declarate, constatări de verificat și un plan de decizii. Acest manual urmărește întregul parcurs: instalare, acordarea accesului, completare, salvare, analiză, consultarea istoricului, export și administrare. Utilizatorul trebuie să poată reveni la datele și rapoartele salvate fără a genera din nou text AI.
Cele trei schimbări principale sunt ghidajul pentru fiecare întrebare, administrarea vizuală a tokenurilor și rapoartele AI cu structură fixă. Evaluările, versiunile ciornelor și rapoartele sunt păstrate în SQLite. Tokenurile și jurnalul administrării accesului rămân în fișierul compatibil cu versiunea precedentă.
1. Ce primește fiecare utilizator
Administratorul deschide /admin. Poate genera tokenuri, modifica drepturi, revoca sau reactiva accesul, vedea ciornele și toate evaluările, consulta configurația AI și schimba propriul token. Din butonul „Evaluări și rapoarte” intră în interfața de consultare a rezultatelor.
Respondentul deschide linkul primit de la administrator sau introduce tokenul pe prima pagină. Poate completa o evaluare, folosi exemplele, salva și relua ciorna, trimite răspunsurile și consulta propriul istoric, în limitele accesului acordat. Un respondent nu poate vedea evaluarea altui token.
În modul orb, respondentul primește confirmarea înregistrării, fără scoruri sau raport. Administratorul poate vedea rezultatul. Modificarea ulterioară a tokenului nu rescrie faptul că evaluarea a fost colectată în mod orb.
Un token de acces este o cheie privată pentru aplicație. Tokenurile facturate de furnizorul AI sunt unități de text procesat; cele două noțiuni nu au legătură funcțională.
2. Instalarea și prima pornire
Instalează Python 3.12 și deschide un terminal în directorul aplicației. Arhiva nu conține chei API, tokenuri reale sau baza de date a unui client. Păstrează configurația existentă separat atunci când faci o actualizare.
python3 -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt cp .env.example .env python token_manager.py set-admin python app.py
Pe Windows, activează mediul cu .venv\Scripts\activate și copiază .env.example în .env din Explorer sau cu copy. Comanda python poate înlocui python3. Pentru utilizare cu clienți, distribuția Linux sau Docker este recomandată. Pe Windows, oprește serviciul înainte de a modifica tokenurile din CLI; blocarea între procese folosește fcntl pe platformele care îl oferă.
Salvează privat tokenul administrator afișat de comanda set-admin. Deschide http://localhost:5000/admin și conectează-te cu el. Pagina principală se află la http://localhost:5000/. AI-ul poate rămâne neconfigurat pentru prima probă.
În .env, păstrează PERSIST_RESULTS=true, ALLOW_OPEN_ACCESS=false și un director STATE_DIR care poate fi scris și inclus în backup. Versiunea 4.1 refuză evaluările noi când persistența este oprită, deoarece salvarea este obligatorie.
Pentru Docker, configurează .env, creează directorul state cu drepturi pentru utilizatorul containerului, apoi pornește serviciul. Comenzile CLI rulate în container folosesc aceeași configurație și același volum.
mkdir -p state sudo chown 10001:10001 state docker compose up -d --build docker compose exec app python token_manager.py set-admin
Expunerea inclusă în Compose este pe interfața locală a serverului. Accesul public necesită un reverse proxy HTTPS și configurarea domeniului de către administratorul infrastructurii. Rulează un singur worker al aplicației. Baza SQLite nu transformă automat în distribuit mecanismul de limitare și coordonare a apelurilor AI.
3. Pregătirea unei evaluări
Consultantul și sponsorul stabilesc organizația, perimetrul, participanții, destinatarii rezultatelor și termenul de păstrare. Perimetrul poate fi compania, o unitate de business sau o operațiune clară. Folosește aceeași definiție pentru participanții pe care îi vei compara.
Perioada de referință este practica din ultimele 90 de zile. Nu cere răspunsuri despre ambiții, foi de parcurs sau situația ideală. Absența informației este utilă și trebuie declarată, nu înlocuită cu o presupunere.
Pentru cohorte, alege un nume distinct pentru fiecare val, de exemplu client-t0 și client-t1. Atribuie un ID stabil aceleiași persoane la fiecare val, de exemplu p01. Rolul, precum CEO sau CFO, nu este un identificator unic de persoană.
Decide separat nivelul evaluării, modul orb și contribuția AI maximă. Pentru un respondent care poate dori ulterior AI pe aceleași răspunsuri, folosește nivelul 1 sau mai mare și lasă modul inițial „Fără AI”. Nivelul 0 interzice apelurile AI și pentru generări ulterioare pe evaluarea respectivă.
4. Generarea și distribuirea tokenurilor
În /admin, deschide „Tokenuri”, apoi „Generează tokenuri”. Completează eticheta clientului, rolul, cohorta și eventual ID-ul stabil. Setează nivelul, vizibilitatea, modul AI maxim și dreptul de a pregăti alte rapoarte.
| Câmp | Efect |
|---|---|
| Etichetă sau client | Ajută la căutare și organizare; nu este trimis modelului AI. |
| Rol și cohortă | Identifică perspectiva și valul evaluării. |
| ID participant stabil | Permite asocierea aceleiași persoane între valuri. |
| Nivel 0 | Fără apeluri AI, indiferent de selecția trimisă de client. |
| Nivel 1 | Evaluare individuală, cu mod AI opțional în limita drepturilor. |
| Nivel 2 | Evaluare destinată unei cohorte facilitate. |
| Nivel 3 | Evaluare destinată unei reevaluări comparabile. |
| Mod orb | Ascunde constatările și rapoartele de respondent. |
| Contribuție AI maximă | Niciun AI, doar validare sau validare și raport. |
| Generare permisă | Clientul poate cere alt tip de raport pe aceeași evaluare. |
| Termen de completare | După această dată, un token neutilizat nu mai poate completa. |
| Termen de consultare | După această dată, tokenul utilizat nu mai poate consulta. |
Datele și orele din formular folosesc fusul orar al browserului și sunt trimise serverului cu fus orar explicit. Termenele lăsate goale nu produc expirare automată. Un termen de consultare ar trebui să fie ulterior termenului de completare.
Poți genera între 1 și 100 de tokenuri într-un lot. Dacă introduci un ID participant stabil, lotul trebuie să conțină un singur token. Pentru roluri diferite, generează tokenuri separate. Aplicația nu poate determina dacă două etichete reprezintă aceeași persoană; administratorul verifică unicitatea participanților din cohortă.
După generare, o fereastră afișează tokenurile și linkurile. Poți copia textul sau descărca CSV-ul. Distribuie fiecărei persoane numai propriul link. Linkul folosește fragmentul #token=...; interfața elimină tokenul din adresa vizibilă după deschidere. Nu publica un CSV cu tokenuri și nu trimite tokenul administrator unui client.
5. Administrarea accesului existent
Caută după etichetă, rol, cohortă, ID sau tokenul mascat. Filtrează după stare. Lista are pagini de 50 de înregistrări. Exportul paginii conține metadate și tokenuri mascate; nu este un export al tuturor paginilor.
„Editează” schimbă metadatele și drepturile. După trimiterea unei evaluări, rolul, cohorta, ID-ul participantului, nivelul și modul orb nu se mai modifică. Astfel, o analiză ulterioară nu atribuie retrospectiv alte condiții evaluării. Pentru o evaluare nouă, creează alt token.
„Revocă” oprește imediat accesul de completare și consultare. Datele deja salvate rămân disponibile administratorului. „Reactivează” înlătură revocarea, dar păstrează consumul și termenele. Un token utilizat nu redevine un token de completare nouă. Pentru consultare expirată, modifică termenul de consultare sau elimină-l, apoi reactivează tokenul dacă este revocat.
„Afișează linkul” dezvăluie tokenul și înregistrează operațiunea în jurnal. Revocarea și reactivarea se pot aplica și selecției din pagina curentă. Operațiunile din lot sunt individuale: dacă unele eșuează, mesajul indică succesele și erorile, fără să pretindă că întregul lot a reușit.
Editările folosesc un număr de revizie. Dacă un alt administrator a modificat tokenul între timp, salvarea este respinsă cu un conflict. Reîncarcă lista, verifică datele și aplică din nou modificarea dorită.
6. Completarea chestionarului
Respondentul deschide linkul și selectează RO sau EN. Completează perimetrul obligatoriu; numele organizației și decizia AI aflată în discuție sunt opționale. Citește și acceptă informarea despre date înainte de începere și de salvarea ciornei pe server.
Dacă nivelul și drepturile permit, selectează „Fără AI”, „AI Validare” sau „AI Raport”. Pentru un mod AI este necesar acordul separat de transmitere a datelor standardizate către furnizorul configurat. Alegerea AI nu schimbă întrebările sau formula scorului.
Pentru fiecare întrebare, citește practica descrisă și exemplul de dovadă. Linkul „Exemple pentru fiecare răspuns și greșeli frecvente” deschide o fereastră cu o situație concretă, explicația fiecărei valori și două capcane de interpretare. Fereastra poate fi închisă din buton; dialogul nativ permite și Escape în browserele compatibile.
| Răspuns | Interpretare |
|---|---|
| 0 | Practica lipsește; absența este cunoscută. |
| 1 | Intenție sau discuție informală. |
| 2 | Practică documentată, fără aplicare încă demonstrată. |
| 3 | Cel puțin un exemplu concret de aplicare în perimetru. |
| 4 | Aplicare consecventă în cazurile relevante. |
| 5 | Rezultate și excepții revizuite regulat. |
| 6 | Practica a fost ajustată pe baza rezultatelor măsurate. |
| Nu știu | Informații insuficiente; răspunsul rămâne fără scor. |
| În afara perimetrului | Excludere justificată; răspunsul rămâne fără scor. |
Nu există un răspuns „bun” pe care utilizatorul trebuie să îl urmărească. Exemplele sunt ilustrative și nu constituie condiții universale de industrie. Lipsa practicii nu justifică alegerea „În afara perimetrului”. Această opțiune cere o explicație de minimum 8 caractere.
Referința este opțională pentru celelalte răspunsuri. Introdu un identificator de document, o dată sau o explicație scurtă, nu conținut confidențial. O referință declarată nu este verificată automat de aplicație. Poți marca „Revin aici”, naviga între cele 12 secțiuni și revizui toate cele 60 de răspunsuri înainte de trimitere.
7. Salvarea și reluarea ciornei
Ciorna se salvează în fila browserului. După acordul privind datele, modificările eligibile sunt trimise automat serverului, cu o scurtă întârziere de aproximativ 0,7 secunde pentru gruparea editărilor. Urmărește mesajul „Ciornă salvată pe server”. Textul tastat chiar înainte de închiderea paginii poate exista numai în copia locală dacă serverul nu l-a confirmat.
Fiecare versiune primită de server este păstrată în istoricul ciornei, cu revizie și dată. „Istoric ciorne” permite respondentului descărcarea versiunilor proprii. Administratorul folosește fila „Ciorne” pentru a vedea completitudinea, contextul, răspunsurile și istoricul fiecărui respondent.
La reconectare, aplicația încarcă ciorna de pe server. Dacă răspunsurile din filă diferă, cere alegerea între versiunea serverului și cea locală. Păstrarea versiunii locale o va transforma în versiunea curentă de pe server la următoarea salvare; istoricul anterior rămâne disponibil.
Două file nu pot suprascrie în tăcere aceeași revizie. La un conflict, salvează o copie locală, reîncarcă ciorna serverului și verifică diferențele. Aplicația nu realizează un merge automat al răspunsurilor divergente.
„Descarcă ciorna” produce formatul reutilizabil pentru „Importă o ciornă”. Exportul istoricului este un pachet documentar cu revizie și metadate, diferit de fișierul simplu de import. După trimitere, răspunsurile evaluării devin fixe; pentru alt set de răspunsuri este necesară o evaluare nouă.
8. Trimiterea și recuperarea după o eroare
Ecranul de revizuire indică întrebările fără răspuns și justificările de perimetru incomplete. Răspunde tuturor celor 60 de întrebări, folosind „Nu știu” atunci când informația lipsește. Apasă „Trimite evaluarea” o singură dată și așteaptă rezultatul.
Serverul validează întrebările, valorile, versiunea, perimetrul și acordurile. Salvează chestionarul complet, copia întrebărilor și a ghidajului, contextul și raportul determinist înaintea apelului AI. Tokenul individual este apoi marcat utilizat. AI-ul produce o versiune suplimentară de raport, dacă a fost solicitat și autorizat.
Dacă AI-ul eșuează, raportul prin reguli rămâne disponibil, iar încercarea AI este înregistrată cu stare și motiv. O eroare AI nu obligă respondentul să completeze din nou chestionarul. Un răspuns prea lung, trunchiat sau incompatibil cu schema nu este prezentat ca raport valid.
Dacă se întrerupe conexiunea, verifică „Evaluări” înainte de a retrimite. O cerere identică poate redeschide înregistrarea existentă. Dacă evaluarea a fost salvată, dar scrierea stării tokenului a eșuat, reîncercarea repară marcarea tokenului. Nu presupune că o eroare de rețea înseamnă automat că nimic nu a fost salvat.
O generare rămasă „pending” după oprirea procesului poate reprezenta o întrerupere. Evaluarea sursă este păstrată. Administratorul verifică serviciul și poate solicita o nouă versiune; aplicația nu promite reluare automată în fundal și nu are scheduler de generări.
9. Diferența dintre cele trei moduri
| Funcție | Fără AI | AI Validare | AI Raport |
|---|---|---|---|
| Scoruri, repere și acoperire | Prin reguli | Aceleași reguli | Aceleași reguli |
| Consistență și riscuri prin reguli | Da | Da | Da |
| Plan inițial de decizii | Da | Da | Da |
| Clarificări semantice AI | Nu | Până la 5 observații | Până la 4 tensiuni |
| Alternative și compromisuri | Din cadrul fix | Fără raport consultativ | 2–3 opțiuni pentru fiecare decizie existentă |
| Scenarii condiționale | Nu sunt generate | Nu sunt generate | Da, fără a afirma predicții |
| Apeluri AI pentru o versiune nouă | 0 | 1 | 1 |
| Documente sau realitate verificate | Nu | Nu | Nu |
În v4, verificarea de consistență era deja calculată prin reguli; nu era o validare realizată de un model. În v4.1, „AI Validare” este un strat separat de clarificare semantică, cu observații legate de ID-urile întrebărilor. Denumirea nu înseamnă audit sau confirmarea adevărului.
Raportul AI include o sinteză executivă, tensiuni între răspunsuri, justificarea discutării deciziilor, alternative și compromisuri, dovezi de verificat și scenarii de tip „dacă... atunci...”. Folosește exact ID-urile deciziilor existente și nu creează scoruri, responsabili, termene sau bugete noi.
Raportul AI nu presupune un apel separat de validare înaintea lui: are propriile tensiuni și clarificări în același răspuns structurat. Poți păstra separat și o versiune „AI Validare”, dacă dorești ambele produse.
10. Unde aduce AI valoare și cum păstrăm consistența
Contribuția utilă a AI-ului este argumentarea deciziei, nu rescrierea scorurilor. De exemplu, poate lega o aplicare declarată ca repetabilă de lipsa unui control relevant, poate formula întrebarea care clarifică tensiunea și poate descrie compromisurile dintre verificare delimitată și amânare. O afirmație AI rămâne o ipoteză de revizuit de consultant.
Pentru a limita variația, aplicația folosește aceleași date salvate, aceeași structură JSON validată, un prompt versionat și modele configurabile explicit. La o cerere normală, o combinație identică de date, plan și configurare reutilizează raportul reușit deja salvat. Redeschiderea nu trimite altă cerere modelului. Administratorul poate forța o versiune nouă, păstrând și versiunea anterioară.
Versiunile salvate sunt fixe. Planul curent poate fi editat separat, cu control de revizie; editarea nu modifică versiunile istorice. PDF-ul unei versiuni este păstrat la prima exportare și reemis ulterior din conținutul binar salvat pentru aceeași variantă de acces.
Temperatura poate fi trimisă ca 0 prin LLM_SEND_TEMPERATURE=true, dacă modelul o acceptă. Implicit este omisă pentru compatibilitate. Temperatura 0 nu garantează ieșire identică între apeluri; actualizările de model și infrastructură pot produce variație. Evită aliasurile de tip „latest” și preferă un ID de versiune fix când furnizorul îl oferă.
Calibrarea recomandată este: scor determinist stabil, structură AI stabilă, cât mai multă legătură cu dovezile disponibile și alternative concrete. Nu maximiza lungimea, numărul de concluzii sau siguranța tonului. Acest instrument nu trimite modelului numele organizației, perimetrul în text liber, decizia liberă sau notele; de aceea, AI-ul nu poate personaliza credibil costurile și contextul comercial pe baza acestor informații.
11. Consultarea istoricului și lucrul cu planul
După trimitere, tokenul individual deschide lista evaluărilor proprii. Dreptul de consultare nu se încheie automat după două ore, ca în versiunea precedentă. Este controlat de termenul de consultare și de revocare. Administratorul vede lista tuturor evaluărilor și poate deschide rezultatul unui respondent.
Raportul are file pentru decizii, profil, răspunsuri și metodă. Răspunsurile și referințele pot fi consultate împreună cu întrebările salvate la evaluare. Scorul este practica declarată, iar acoperirea arată câte răspunsuri sunt evaluabile. Un interval de sensibilitate nu este un interval statistic de încredere.
În „Istoricul rapoartelor”, selectează versiunea și apasă „Deschide versiunea”. O versiune fixă are câmpurile planului dezactivate. „Planul curent și lista actualizată” redeschide planul editabil și reîncarcă lista versiunilor.
În planul curent poți introduce responsabilul, data și starea: propusă, agreată, în lucru, finalizată sau oprită. O decizie trecută din starea propusă are nevoie de un responsabil nominal. Apasă „Salvează planul”. Aplicația nu trimite notificări și nu execută automat deciziile la scadență.
Pot exista una, două sau trei decizii, în funcție de profil. Rolurile și datele inițiale sunt propuneri de discutat. Marcarea „finalizată” este o declarație a utilizatorului, nu o confirmare automată că dovada a fost verificată.
12. Generarea altor rapoarte și exportul
Deschide o evaluare și extinde „Pregătește alt tip de raport”. Alege modul permis, confirmă transmiterea către AI dacă este cazul și apasă „Pregătește și salvează raportul”. Clientul poate face această operațiune numai dacă tokenul permite generări. Administratorul poate bifa generarea unei versiuni noi chiar dacă există una identică; aceasta poate produce un nou cost API.
„Raport PDF” exportă versiunea fixă deschisă sau planul curent. Un export al planului curent creează o înregistrare de export, cu copia conținutului și PDF-ul rezultat. Modificarea planului ulterior nu schimbă acel export. Exporturile pentru consultant care includ WS9 sunt separate de varianta publică.
„Export JSON” descarcă pachetul evaluării: răspunsuri, note, chestionar salvat și versiunile rapoartelor. Nu conține cheia de acces. Pachetul poate include date confidențiale introduse în context sau referințe; distribuie-l numai destinatarilor autorizați. „Exportă deciziile CSV” este un export al planului afișat, util pentru urmărire în alte instrumente.
Exportul JSON complet nu este fișierul de import al unei ciorne. Pentru reluarea completării într-o evaluare nouă folosește „Descarcă ciorna” înainte de trimitere și verifică din nou perimetrul, perioada și acordurile.
13. Cohorte și reevaluare
În interfața administratorului, apasă „Evaluări și rapoarte”. Sub lista evaluărilor, introdu cohorta curentă și, opțional, cohorta de bază. „Compară perspectivele” afișează diferențele dintre respondenți; „PDF cohortă” salvează și descarcă raportul de cohortă. „Arhiva PDF cohortă” permite redeschiderea exporturilor anterioare.
O diferență de perspectivă este o întrebare pentru discuție, nu o dovadă că un respondent greșește. Comparația longitudinală cere aceeași metodologie, perimetru comparabil, persoane identificabile prin ID-uri stabile, aceeași bază de răspunsuri evaluabile și o ordine temporală corectă. Sunt aplicate și praguri de acoperire; dacă premisele lipsesc, aplicația refuză comparația numerică.
Chestionarul și formula v4.0 sunt păstrate în v4.1. Ghidajul nou poate influența înțelegerea întrebărilor; notează schimbarea versiunii ghidajului când compari valuri înainte și după actualizare. Scorurile v3.3 nu sunt direct comparabile cu v4. O singură evaluare nu măsoară progresul sau efectul intervenției.
Exporturile de cohortă sunt destinate administratorului. Clientul individual nu primește automat dreptul de a vedea răspunsurile celorlalți participanți doar pentru că aparține aceleiași cohorte.
14. Schimbarea furnizorului AI
Configurează furnizorul pe server în .env, selectează ambele modele și repornește aplicația. Nu introduce cheile în codul JavaScript, în URL-uri sau în documentele destinate clientului. „AI și limite” din interfața administratorului arată configurația fără a dezvălui cheile. O configurare prezentă nu dovedește că cheia este validă, modelul disponibil sau cota suficientă.
| Furnizor | LLM_PROVIDER | Protocol folosit |
|---|---|---|
| Google Gemini | gemini | REST generateContent, JSON nativ când este activat. |
| OpenAI | openai | REST Chat Completions, model ales explicit. |
| Anthropic Claude | anthropic | REST Messages, răspuns validat local prin schemă. |
| Alibaba Qwen | qwen | REST compatibil OpenAI, endpoint de regiune și workspace. |
| Alt serviciu compatibil | openai_compatible | Chat Completions la endpointul configurat. |
| Proxy precum LiteLLM | proxy | Chat Completions, aliasuri rezolvate de proxy. |
„ChatGPT” este produsul de conversație; integrarea din aplicație folosește API-ul OpenAI și o cheie API separată. Nu automatizează sesiunea ChatGPT a utilizatorului. Configurația implicită moștenește modelele Gemini 2.5; verifică disponibilitatea lor în cont înainte de activare. Exemplele de mai jos arată sintaxa, nu o garanție de disponibilitate sau de performanță pentru un cont anume.
# Gemini LLM_PROVIDER=gemini GEMINI_API_KEY=CHEIA_DIN_CONTUL_TAU LLM_VALIDATION_MODEL=gemini-2.5-flash LLM_REPORT_MODEL=gemini-2.5-pro LLM_BASE_URL= # OpenAI LLM_PROVIDER=openai OPENAI_API_KEY=CHEIA_DIN_CONTUL_TAU LLM_VALIDATION_MODEL=gpt-4.1-mini LLM_REPORT_MODEL=gpt-4.1 LLM_BASE_URL= # Claude LLM_PROVIDER=anthropic ANTHROPIC_API_KEY=CHEIA_DIN_CONTUL_TAU LLM_VALIDATION_MODEL=claude-sonnet-4-6 LLM_REPORT_MODEL=claude-sonnet-4-6 LLM_BASE_URL=
Pentru Qwen, copiază endpointul compatibil OpenAI din consola regiunii și a workspace-ului tău. Cheia trebuie să corespundă regiunii. Domeniile specifice workspace-ului sunt descrise în documentația Alibaba; nu păstra literal textul WORKSPACE_ID din exemplu.
LLM_PROVIDER=qwen DASHSCOPE_API_KEY=CHEIA_DIN_CONTUL_TAU LLM_BASE_URL=https://WORKSPACE_ID.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1 LLM_VALIDATION_MODEL=qwen-plus LLM_REPORT_MODEL=qwen-plus
Pentru un serviciu compatibil, setează LLM_PROVIDER=openai_compatible, LLM_BASE_URL, LLM_API_KEY și ambele modele. Unele servicii nu acceptă response_format, temperature sau același parametru de buget. Folosește LLM_JSON_MODE=false numai când endpointul respinge JSON mode; aplicația va cere JSON prin instrucțiune și îl va valida local. LLM_TOKEN_PARAMETER acceptă max_tokens sau max_completion_tokens. Nu orice model sau endpoint este compatibil doar fiindcă este denumit AI.
La migrarea unei configurații v4, elimină aliasurile vechi LLM_ALIAS_* și setările de furnizor care nu mai corespund. LLM_PROVIDER are prioritate față de vechiul LLM_MODE; modelele noi au prioritate față de aliasurile vechi. Nu există fallback automat către alt furnizor: o astfel de schimbare ar modifica procesarea datelor și identitatea rulării fără o decizie explicită.
15. Limitele aplicației și ale API-urilor
| Limită din distribuție | Valoare implicită și domeniu |
|---|---|
| Chestionar | 60 de întrebări, 9 opțiuni per întrebare. |
| Corp cerere POST API | Maximum 256.000 bytes. |
| Referință per întrebare | Maximum 600 de caractere. |
| Context | Organizație 120, perimetru 300, decizie 500 de caractere. |
| Trimiteri eligibile per IP | 5 în 7 zile; lista explicită de IP-uri exceptate ocolește acest plafon. |
| Apeluri AI simultane | 4 per proces, configurabil între 1 și 16. |
| Timeout AI | 90 secunde, inclusiv așteptarea unui loc; configurabil între 5 și 180. |
| Input AI | 60.000 de caractere pentru prompt și instrucțiune, nu tokenuri. |
| Output validare | Buget cerut de maximum 1.600 tokenuri. |
| Output raport | Buget cerut de maximum 2.600 tokenuri. |
| Generări AI | 20 de încercări noi per evaluare în ultimele 24 de ore. |
| Generare lot tokenuri | 1–100 de tokenuri. |
Plafoanele de output sunt bugete ale aplicației și pot include tokenuri de raționament, în funcție de furnizor și model. Un model cu mult raționament poate epuiza bugetul fără un raport complet. Dacă apare output_truncated, mărește prudent bugetul, alege un model potrivit și verifică din nou. Raportul nereușit nu este prezentat drept complet.
Limita de 5 trimiteri eligibile per IP este distinctă de limitele furnizorului AI. Într-o organizație cu un IP comun, mai mulți respondenți pot atinge acest plafon împreună. Ajustează RATE_LIMIT_MAX_REQUESTS, fereastra sau excepțiile IP pentru cohorta planificată. O trimitere care trece de verificările inițiale poate fi contorizată chiar dacă salvarea ulterioară eșuează. Reutilizarea unui raport din cache nu face alt apel AI. Încercările AI eșuate contează în plafonul de 24 de ore; exporturile PDF nu sunt apeluri AI.
Limitele reale ale furnizorului nu pot fi deduse din arhivă. Depind de cont, proiect sau organizație, tier, regiune și model. Gemini documentează limite de cereri și tokenuri și permite consultarea cotelor active în AI Studio. OpenAI are limite separate de cereri, tokenuri și utilizare, inclusiv la nivel de proiect și model. Claude folosește RPM, input tokens/minut și output tokens/minut. Qwen are limite specifice modelului și regiunii. Consultă consolele conturilor tale înainte de a deschide o cohortă.
Răspunsul 429 poate însemna depășirea ratei sau a cotei disponibile. Aplicația păstrează un cod de eroare și, dacă este furnizat, retry-after. Nu citește automat bugetul rămas din toate consolele și nu pretinde că îl cunoaște. Fila AI arată configurarea locală, nu creditul disponibil.
16. Stocare, backup și actualizare
SQLite se află în STATE_DIR/diagnostic.sqlite3. Conține evaluări, versiunile evaluărilor, ciorne și istoricul lor, rulări de raport, fișiere PDF și exporturi de cohortă. Snapshoturile păstrează întrebările, ancorele și ghidajul utilizate la colectare. Înregistrările de rulare păstrează modul, versiunea promptului, sursa, configurarea fără chei, starea și rezultatul; metadatele AI includ utilizarea raportată de furnizor când este disponibilă.
TOKENS_PATH păstrează tokenurile de acces și jurnalul operațiunilor asupra lor. Aceste tokenuri sunt secrete și sunt stocate în clar pentru compatibilitate și pentru posibilitatea de reafișare autorizată. Fișierele necesită acces privat și backup protejat. ACCESS_LOG_PATH conține IP-urile folosite la limitarea evaluărilor. Ciorna din browser nu înlocuiește backupul serverului.
Pentru un backup simplu și consecvent, oprește serviciul și copiază întregul director state, configurația .env și orice fișiere de tokenuri sau loguri plasate în alte locații. Copiază și eventualele fișiere SQLite -wal și -shm dacă sunt prezente. Nu copia doar fișierul principal al unei baze active și nu presupune că tokenurile pot fi reconstruite din hashurile evaluărilor.
La actualizarea de la v4, extrage arhiva într-un director nou. Păstrează un backup al versiunii și datelor vechi. Copiază configurația verificată, păstrează căile de date și rulează migrarea JSON în SQLite. Scriptul nu șterge sursele și nu suprascrie înregistrările deja prezente în baza nouă.
python scripts/migrate_v4.py python -m pip install -r requirements-dev.txt python -m pytest -q python app.py
Aplicația păstrează și compatibilitate de citire pentru evaluările JSON vechi. Rapoartele v3.3 sunt istorice și nu primesc reinterpretare numerică prin metodologia v4. Pentru rollback, revino la codul vechi și la backupul de date al momentului actualizării; codul v4 nu cunoaște rapoartele și ciornele noi din SQLite. Exportă separat înregistrările create după actualizare înainte de revenire.
Ștergerea definitivă a datelor și o politică automată de retenție nu sunt implementate în UI. Revocarea tokenului retrage accesul, nu șterge evaluările. Operatorul stabilește și execută retenția, backupul și eventualele cereri de eliminare. Aplicația nu este un serviciu SaaS cu conturi, autentificare multifactor sau recuperare automată prin e-mail.
17. Rezolvarea problemelor uzuale
| Mesaj sau situație | Ce verifici |
|---|---|
| Token invalid sau expirat | Token complet, revocare, termen de completare sau de consultare. |
| Token utilizat | Redeschide evaluarea; pentru alte răspunsuri cere un token nou. |
| Conflict de revizie | Reîncarcă datele serverului; nu repeta o editare pe o copie veche. |
| AI not_configured | Furnizor, cheie, endpoint și ambele modele în `.env`. |
| authentication_failed | Cheia API, drepturile și regiunea furnizorului. |
| model_or_endpoint_not_found | ID-ul modelului și calea completă a endpointului. |
| rate_or_quota_limit | Limitele și bugetul din consola furnizorului; eventual `retry-after`. |
| timeout | Disponibilitatea serviciului, concurența și timpul limită configurat. |
| output_truncated | Bugetul de output și comportamentul de raționament al modelului. |
| invalid_ai_output | Răspunsul nu respectă schema sau referințele permise; raportul prin reguli rămâne. |
| Storage unavailable | Spațiu liber, drepturi, integritatea bazei și volumul montat. |
| Ciornă nesincronizată | Conexiune, acord, revizie concurentă sau token consumat. |
| AI nu apare la nivelul 0 | Comportament intenționat; acel nivel nu permite apeluri către modele. |
Nu expune automat mesajele brute ale furnizorului în interfața clientului; acestea pot conține informații de configurare. Codurile vizibile sunt rezumate. Verifică jurnalul aplicației și consola furnizorului pentru diagnostic operațional, fără a copia cheile în conversații sau documente.
18. Verificarea înaintea unei cohorte reale
Pregătește un token sintetic de nivel 1 și un token sintetic orb. Verifică accesul la exemple, salvarea și reluarea unei ciorne, trimiterea fără AI și redeschiderea rezultatului. Generează apoi o singură versiune AI cu o cheie reală din contul ales și revizuiește conținutul, utilizarea și costul în consola furnizorului.
Verifică faptul că un client nu poate accesa rezultatul celuilalt și că revocarea retrage accesul. Confirmă exportul și redeschiderea PDF-ului, existența backupului și comportamentul IP-ului comun al organizației. Testează în browserul și la dimensiunea de ecran utilizate de clienți, inclusiv navigarea cu tastatura.
Distribuția include teste automate pentru motor, acces, persistență, schema AI și contractele celor șase adaptoare. Testele furnizorilor folosesc răspunsuri simulate și nu înlocuiesc proba cu cheia, modelul și cota contului tău. Raportul de verificare livrat indică verificările efectuate și limitele mediului de test.
Surse oficiale pentru API-uri
Documentație consultată la 8 septembrie 2026. Valorile locale din acest manual provin din codul distribuției 4.1. Cotele personale se verifică în consola contului; nu sunt valori universale.
• Google Gemini generateContent: https://ai.google.dev/api/generate-content
• Google Gemini rate limits: https://ai.google.dev/gemini-api/docs/rate-limits
• OpenAI Chat API: https://developers.openai.com/api/reference/resources/chat
• OpenAI rate limits: https://developers.openai.com/api/docs/guides/rate-limits
• Anthropic Messages: https://platform.claude.com/docs/en/api/messages/create
• Anthropic rate limits: https://platform.claude.com/docs/en/api/rate-limits
• Alibaba Qwen OpenAI compatibility: https://www.alibabacloud.com/help/en/model-studio/compatibility-of-openai-with-dashscope
• Alibaba rate limiting: https://www.alibabacloud.com/help/en/model-studio/rate-limit