diff --git a/CLAUDE.md b/CLAUDE.md index e34cf79..2d00e47 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -49,6 +49,7 @@ input/ # Oracle DMP files for import - **Docker Sandboxes (sbx) — agenți AI izolați**: `proxmox/lxc102-docker/README.md` - **Punte Discord → Claude Code (comandă LXC 171 de pe telefon, dintr-un guild privat)**: `proxmox/lxc171-claude-agent/discord-bridge/README.md` - **Dashboard de control al punții Discord (stare, restart, orfani, confirmări; https://claude-agent.tailf7372d.ts.net/claude)**: `proxmox/lxc171-claude-agent/discord-bridge/dashboard/README.md` +- **Supliment GLM (Z.AI) pentru plafonul săptămânal Max 5x — analiză de consum, cifre și mecanism verificat**: `docs/supliment-glm-zai.md` - **Disaster recovery**: `proxmox/vm109-windows-dr/README.md` - **Instalare/migrare Oracle — care director se folosește**: `proxmox/lxc108-oracle/docs/instalare-si-migrare-oracle.md` - **ROA Windows setup scripts (XE/SE 21c)**: `proxmox/lxc108-oracle/roa-windows-setup/README.md` diff --git a/claude_usage_report.md b/claude_usage_report.md new file mode 100644 index 0000000..5fdbb47 --- /dev/null +++ b/claude_usage_report.md @@ -0,0 +1,481 @@ +# Analiză consum Claude Code — Claude Max 5x vs. OpenCode Zen (GLM-5.3) + +**Generat:** 2026-09-01 · **Perioadă:** 2026-07-29 → 2026-09-01 (35 zile) · **3 mașini · 435 sesiuni · 11.15 miliarde tokeni** + +## 0. Ce a fost scanat + +| Mașină | Locație | Fișiere | Înregistrări | Duplicate | Sesiuni | Prima zi | Ultima zi | Zile active | +|---|---|---:|---:|---:|---:|---|---|---:| +| `claude-agent` | `~/.claude/projects` (Linux, LXC 171) | 70 | 3,973 | 1,857 | 60 | 2026-08-17 | 2026-09-01 | 5 | +| `moltbot` | `/home/moltbot/.claude/projects` (Linux, LXC 110) | 163 | 3,423 | 1,613 | 157 | 2026-08-02 | 2026-09-01 | 31 | +| `LENOVO-AIO-BIRO` | `C:\Users\\.claude\projects` (Windows) | 859 | 111,127 | 50,764 | 218 | 2026-07-29 | 2026-09-01 | 29 | + +Windows a fost extras de o sesiune Claude Code rulată manual pe acea mașină, cu **exact același script și aceeași cheie de deduplicare** — altfel cifrele nu s-ar putea aduna. Datele au trecut printr-un pas de tabel (separator TAB, date în format M/D/YYYY); au fost renormalizate la ISO, iar toate cele 218 UUID-uri de sesiune au fost validate. Ceasul din zi s-a pierdut la conversie, dar granularitatea folosită în raport e ziua. + +### Corecție de premisă + +Sesiunea care a condus analiza **nu rulează pe Windows** — rulează pe LXC 171 `claude-agent` (`Linux claude-agent 6.8.12-15-pve`). Windows a fost acoperit separat, prin sesiunea deschisă acolo. + +### Surse de token usage și care e autoritativă + +| Sursă | Conține | Verdict | +|---|---|---| +| `~/.claude/projects/**/*.jsonl`, câmpul `message.usage` din înregistrările `assistant` | `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens`, `thinking_tokens`, `model`, `requestId` | **AUTORITATIVĂ** — valori raportate de API | +| `~/.claude/stats-cache.json` | mesaje/sesiuni/tool-calls pe zi, din 2025-12-31 | secundară — **zero tokeni**; dovadă că istoricul e mai lung decât transcripturile | +| `~/.claude/history.jsonl` | 6.400 de prompturi, din 2025-12-31 | secundară — fără tokeni | + +Lungimea transcriptului nu a fost folosită ca proxy pentru tokeni nicăieri. + +## 1. Perioada + +- **Început:** 2026-07-29 +- **Sfârșit:** 2026-09-01 +- **Zile calendaristice:** 35 +- **Zile cu activitate:** 34 +- **Zile lipsă:** 2026-07-31 + +Acoperirea e inegală: Windows și moltbot acoperă luna întreagă, dar **`claude-agent` are doar 5 zile** cu transcripturi păstrate (retenția implicită de 30 de zile plus o recreare a directorului pe 2026-08-30). `stats-cache.json` arată activitate continuă din **2025-12-31**. Consumul istoric real e mai mare decât cel de aici; **nu am extrapolat nimic** — toate cifrele sunt tokeni observați efectiv. + +## 2. Deduplicare + +Cheie: `message.id` + `requestId`. Aceeași cerere API reapare în mai multe fișiere după `--resume`, fork de sesiune sau compactare. + +- Înregistrări `assistant` cu `usage` întâlnite: **118,523** +- Duplicate eliminate: **54,234** (45.8%) +- Cereri API unice numărate: **64,289** +- Sesiuni prezente pe mai multe mașini: **0** (verificat pe toate cele trei perechi) +- Linii malformate: **0** + +## 3. Total + +| Metrică | Valoare | +|---|---:| +| Sesiuni | 435 | +| Turn-uri asistent (cereri API) | 64,211 | +| Input tokens (necache) | 338,907 | +| Output tokens | 23,297,506 | +| Cache creation (write) | 288,224,316 | +| Cache read | 10,836,625,270 | +| **TOTAL** | **11,148,485,999** | + +Cache read = **97.2%** din volum. Output-ul real e doar **0.21%**. Asta e semnătura unui workload agentic: contextul se retrimite la fiecare turn, iar tarifarea cache-ului decide costul. + +Medii: **25,628,703** tokeni/sesiune (148 turn-uri) · **318,528,171** tokeni/zi · **12.4** sesiuni/zi. + +### Breakdown pe calculator + +| Mașină | Sesiuni | Turn-uri | Input | Output | Cache write | Cache read | Total | % | +|---|---:|---:|---:|---:|---:|---:|---:|---:| +| LENOVO-AIO-BIRO | 218 | 60,304 | 330,668 | 20,939,475 | 269,887,835 | 10,356,404,686 | 10,647,562,664 | 95.5% | +| claude-agent | 60 | 2,114 | 4,418 | 1,543,956 | 6,731,712 | 297,811,719 | 306,091,805 | 2.7% | +| moltbot | 157 | 1,793 | 3,821 | 814,075 | 11,604,769 | 182,408,865 | 194,831,530 | 1.7% | + +### Breakdown pe model + +| Model | Sesiuni | Turn-uri | Input | Output | Cache write | Cache read | Total | % | +|---|---:|---:|---:|---:|---:|---:|---:|---:| +| claude-sonnet-5 | | 37,902 | 261,427 | 3,475,072 | 198,256,274 | 6,508,379,975 | 6,710,372,748 | 60.2% | +| claude-opus-5 | | 25,343 | 75,166 | 19,607,975 | 85,344,425 | 4,168,532,752 | 4,273,560,318 | 38.3% | +| claude-fable-5 | | 941 | 2,106 | 208,768 | 4,533,984 | 158,857,102 | 163,601,960 | 1.5% | +| claude-haiku-4-5-20251001 | | 25 | 208 | 5,691 | 89,633 | 855,441 | 950,973 | 0.0% | + +### Breakdown pe lună + +| Lună | Sesiuni | Turn-uri | Input | Output | Cache write | Cache read | Total | % | +|---|---:|---:|---:|---:|---:|---:|---:|---:| +| 2026-07 | | 845 | 6,527 | 330,630 | 7,941,767 | 184,927,510 | 193,206,434 | 1.7% | +| 2026-08 | | 62,519 | 330,686 | 22,755,166 | 277,847,883 | 10,515,360,962 | 10,816,294,697 | 97.0% | +| 2026-09 | | 847 | 1,694 | 211,710 | 2,434,666 | 136,336,798 | 138,984,868 | 1.2% | + +### Breakdown pe zi + +| Zi | Sesiuni | Turn-uri | Input | Output | Cache write | Cache read | Total | % | +|---|---:|---:|---:|---:|---:|---:|---:|---:| +| 2026-07-29 | | 214 | 3,434 | 76,615 | 1,093,695 | 20,587,396 | 21,761,140 | 0.2% | +| 2026-07-30 | | 631 | 3,093 | 254,015 | 6,848,072 | 164,340,114 | 171,445,294 | 1.5% | +| 2026-08-01 | | 1,243 | 8,856 | 560,845 | 5,561,396 | 250,296,311 | 256,427,408 | 2.3% | +| 2026-08-02 | | 2,095 | 5,496 | 1,344,277 | 6,977,342 | 339,262,565 | 347,589,680 | 3.1% | +| 2026-08-03 | | 3,225 | 23,466 | 1,228,967 | 19,167,120 | 536,296,804 | 556,716,357 | 5.0% | +| 2026-08-04 | | 323 | 13,015 | 142,150 | 1,971,068 | 39,101,333 | 41,227,566 | 0.4% | +| 2026-08-05 | | 657 | 1,787 | 286,446 | 4,672,434 | 91,066,167 | 96,026,834 | 0.9% | +| 2026-08-06 | | 3,064 | 28,381 | 1,125,446 | 14,847,361 | 493,347,883 | 509,349,071 | 4.6% | +| 2026-08-07 | | 2,068 | 4,963 | 676,244 | 17,444,157 | 413,402,684 | 431,528,048 | 3.9% | +| 2026-08-08 | | 4,255 | 47,237 | 1,331,620 | 20,159,731 | 830,971,552 | 852,510,140 | 7.6% | +| 2026-08-09 | | 5,283 | 64,396 | 1,373,409 | 22,876,001 | 886,709,264 | 911,023,070 | 8.2% | +| 2026-08-10 | | 3,984 | 53,819 | 1,283,159 | 18,754,319 | 634,612,620 | 654,703,917 | 5.9% | +| 2026-08-11 | | 1,562 | 9,071 | 698,861 | 6,558,893 | 221,468,597 | 228,735,422 | 2.1% | +| 2026-08-12 | | 250 | 653 | 142,318 | 1,672,205 | 37,721,945 | 39,537,121 | 0.4% | +| 2026-08-13 | | 84 | 166 | 27,185 | 334,918 | 8,022,052 | 8,384,321 | 0.1% | +| 2026-08-14 | | 19 | 38 | 2,401 | 214,217 | 782,061 | 998,717 | 0.0% | +| 2026-08-15 | | 18 | 36 | 2,434 | 213,650 | 728,993 | 945,113 | 0.0% | +| 2026-08-16 | | 18 | 36 | 2,815 | 212,322 | 726,847 | 942,020 | 0.0% | +| 2026-08-17 | | 39 | 78 | 9,934 | 310,995 | 2,021,166 | 2,342,173 | 0.0% | +| 2026-08-18 | | 285 | 568 | 181,938 | 1,228,874 | 40,742,116 | 42,153,496 | 0.4% | +| 2026-08-19 | | 870 | 1,740 | 523,899 | 2,930,364 | 142,095,433 | 145,551,436 | 1.3% | +| 2026-08-20 | | 2,131 | 4,320 | 838,986 | 8,335,140 | 329,763,669 | 338,942,115 | 3.0% | +| 2026-08-21 | | 3,374 | 6,952 | 938,769 | 11,353,197 | 678,083,464 | 690,382,382 | 6.2% | +| 2026-08-22 | | 4,219 | 8,438 | 1,367,817 | 18,528,526 | 793,556,645 | 813,461,426 | 7.3% | +| 2026-08-23 | | 4,780 | 9,560 | 1,667,111 | 16,953,670 | 881,927,242 | 900,557,583 | 8.1% | +| 2026-08-24 | | 1,004 | 2,008 | 449,421 | 4,405,346 | 169,736,444 | 174,593,219 | 1.6% | +| 2026-08-25 | | 1,291 | 2,582 | 993,949 | 4,814,837 | 224,746,691 | 230,558,059 | 2.1% | +| 2026-08-26 | | 58 | 116 | 24,692 | 311,333 | 3,235,406 | 3,571,547 | 0.0% | +| 2026-08-27 | | 2,553 | 5,106 | 857,461 | 11,835,008 | 454,391,610 | 467,089,185 | 4.2% | +| 2026-08-28 | | 2,850 | 5,700 | 1,229,085 | 13,010,965 | 392,932,032 | 407,177,782 | 3.7% | +| 2026-08-29 | | 3,473 | 6,946 | 970,773 | 12,843,362 | 447,480,189 | 461,301,270 | 4.1% | +| 2026-08-30 | | 2,462 | 4,924 | 885,887 | 10,238,581 | 324,734,530 | 335,863,922 | 3.0% | +| 2026-08-31 | | 4,982 | 10,232 | 1,586,867 | 19,110,551 | 845,396,647 | 866,104,297 | 7.8% | +| 2026-09-01 | | 847 | 1,694 | 211,710 | 2,434,666 | 136,336,798 | 138,984,868 | 1.2% | + +## 4. Prețuri — verificate 2026-09-01 + +Pagina oficială **OpenCode Zen (`opencode.ai/docs/zen`) nu listează încă GLM-5.3 sau GLM-5.3-Flash.** Cele mai noi GLM de acolo: + +| Model pe Zen | Input | Output | Cache read | Cache write | +|---|---:|---:|---:|---:| +| GLM 5.2 | $1.40 | $4.40 | $0.26 | — | +| GLM 5.1 | $1.40 | $4.40 | $0.26 | — | +| GLM 5 | $1.00 | $3.20 | $0.20 | — | +| Claude Opus 5 | $5.00 | $25.00 | $0.50 | $6.25 | +| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 | +| Claude Fable 5 | $10.00 | $50.00 | $1.00 | $12.50 | +| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 | + +Pentru GLM-5.3 am folosit **prețurile oficiale Z.AI** (furnizorul modelului). Zen revinde de regulă la același tarif — GLM 5.2 pe Zen e identic cu tariful Z.AI, ceea ce validează proxy-ul. + +| Model | Input | Cache read | Cache write | Output | +|---|---:|---:|---:|---:| +| **GLM-5.3** | $1.40 | $0.26 | *fără tarif separat* | $4.40 | +| **GLM-5.3-Flash** (promo, până 2026-09-09 24:00 UTC+8) | $0.075 | $0.015 | *fără tarif separat* | $0.25 | +| **GLM-5.3-Flash** (preț de listă) | $0.15 | $0.03 | *fără tarif separat* | $0.50 | + +Surse: [opencode.ai/docs/zen](https://opencode.ai/docs/zen/) · [docs.z.ai/guides/overview/pricing](https://docs.z.ai/guides/overview/pricing) · [openrouter.ai/z-ai/glm-5.3-flash](https://openrouter.ai/z-ai/glm-5.3-flash) + +> **Cache write:** niciun model GLM nu are tarif separat de cache creation (spre deosebire de modelele Claude de pe Zen). `cache_creation_input_tokens` se facturează deci la tariful de **input normal**. `cache_read_input_tokens` **nu** a fost tratat ca input normal — are tariful lui redus. Vezi Scenariul B pentru varianta fără cache. + +## 5. Cost echivalent Zen — Scenariul A (tokeni reali, tarife de cache) + +| Model | Input | Cache read | Cache write | Output | **TOTAL** | +|---|---:|---:|---:|---:|---:| +| GLM-5.3 | $0.47 | $2817.52 | $403.51 | $102.51 | **$3324.02** | +| GLM-5.3-Flash (promo) | $0.03 | $162.55 | $21.62 | $5.82 | **$190.02** | +| GLM-5.3-Flash (listă) | $0.05 | $325.10 | $43.23 | $11.65 | **$380.03** | + +### Medii + +| Model | / sesiune | / zi | / lună (30 zile) | +|---|---:|---:|---:| +| GLM-5.3 | $7.641 | $94.97 | $2849.16 | +| GLM-5.3-Flash (promo) | $0.437 | $5.43 | $162.87 | +| GLM-5.3-Flash (listă) | $0.874 | $10.86 | $325.74 | + +## 6. Scenariul B — fără avantajul cache-ului + +Tot `cache_read` + `cache_creation` facturați ca input normal. + +| Model | A (cu cache) | B (fără cache) | Factor | +|---|---:|---:|---:| +| GLM-5.3 | $3324.02 | $15677.77 | **4.7×** | +| GLM-5.3-Flash (promo) | $190.02 | $840.21 | **4.4×** | +| GLM-5.3-Flash (listă) | $380.03 | $1680.43 | **4.4×** | + +## 7. Comparație cu Claude Max 5x + +Nu există conversie oficială Anthropic din quota Max în tokeni, deci nu o inventez. Compar ce ai plătit cu ce ar fi costat exact aceiași tokeni la tarif per-token. + +| | Claude Max 5x | Zen GLM-5.3 | Zen GLM-5.3-Flash (promo) | Zen GLM-5.3-Flash (listă) | +|---|---|---|---|---| +| Cost pentru perioada măsurată | **$100/lună** | $3,324.02 | $190.02 | $380.03 | +| Tokeni | 11,148,485,999 | identic | identic | identic | +| Sesiuni | 435 | identic | identic | identic | +| Modele | Opus 5, Sonnet 5, Fable 5, Haiku 4.5 | GLM-5.3 | GLM-5.3-Flash | GLM-5.3-Flash | + +### Cât valorează de fapt abonamentul Max + +Aceiași 11,148,485,999 tokeni, **fiecare model la propriul lui tarif pe Zen** (Opus 5 la preț de Opus 5, Sonnet 5 la preț de Sonnet 5 etc.): + +# **$5,167.05** + +Abonamentul Max 5x de $100 a livrat consum care la tarif per-token ar fi costat **$5,167** — adică Max e de **52× mai ieftin** decât plata la token pentru exact aceleași modele. Asta e cifra cea mai importantă din tot raportul. + +### Acoperirea celor $20 Zen + +| Model | Cost pentru consumul observat | % din $20 | De câte ori acoperă $20 consumul | +|---|---:|---:|---:| +| GLM-5.3 | $3,324.02 | 16,620% | **0.006×** | +| GLM-5.3-Flash (promo) | $190.02 | 950% | **0.105×** | +| GLM-5.3-Flash (listă) | $380.03 | 1,900% | **0.053×** | + +Scenariul B, fără cache: + +| Model | Cost | % din $20 | Acoperire | +|---|---:|---:|---:| +| GLM-5.3 | $15,677.77 | 78,389% | 0.001× | +| GLM-5.3-Flash (promo) | $840.21 | 4,201% | 0.024× | +| GLM-5.3-Flash (listă) | $1,680.43 | 8,402% | 0.012× | + +### Cât consum încap în $20 + +| Model | Tokeni pentru $20 | % din consumul lunar | Zile la ritmul actual | Sesiuni | +|---|---:|---:|---:|---:| +| GLM-5.3 | 67,078,331 | 0.6% | 0.21 | 2.6 | +| GLM-5.3-Flash (promo) | 1,173,426,044 | 10.5% | 3.68 | 45.8 | +| GLM-5.3-Flash (listă) | 586,713,022 | 5.3% | 1.84 | 22.9 | + +## 8. Abonamentele Z.AI GLM Coding Plan + +Planurile Z.AI nu se facturează pe tokeni, ci pe **prompturi** (turnuri umane) contorizate în credite, cu două limite simultane: una la 5 ore și una săptămânală. Documentația Z.AI notează că *„un prompt poate invoca modelul de 15–20 de ori"* — deci comparația corectă nu se face pe cererile API, ci pe prompturile tale reale. + +### Prețuri (verificate 2026-09-01) + +| Plan | Lunar | Anual | Efectiv/lună anual | Economie | Prompturi / 5h | Prompturi / săpt. | Credite / săpt. | +|---|---:|---:|---:|---:|---:|---:|---:| +| Lite | $18.00 | **$151.20** | $12.60 | 30% | ~80 | ~400 | 10.000 | +| Pro | $72.00 | **$604.80** | $50.40 | 30% | ~400 | ~2.000 | 60.000 | +| Max | $160.00 | **$1.344,00** | $112.00 | 30% | ~1.600 | ~8.000 | 140.000 | + +Toate planurile includ **GLM-5.3 și GLM-5.3-Flash**. Surse: [docs.z.ai/devpack/overview](https://docs.z.ai/devpack/overview) · [aipricing.guru](https://www.aipricing.guru/z-ai-subscription-pricing/) + +### Câte prompturi dai de fapt + +Am numărat prompturile umane reale (excluzând `tool_result`, care în transcript apar tot ca mesaje de tip `user`): + +| Mașină | Prompturi umane | Cereri API | Cereri / prompt | +|---|---:|---:|---:| +| `claude-agent` | 245 | 2.143 | 8,75 | +| `moltbot` | 309 | 1.810 | 5,86 | +| `LENOVO-AIO-BIRO` | **~8,451** *(estimat)* | 60,304 | 7.14 *(aplicat)* | +| **TOTAL** | **~9,005** | 64,211 | 7.14 | + +> **Estimare marcată:** scriptul rulat pe Windows a raportat doar cererile API, nu și prompturile umane. Cifra pentru Windows e derivată din raportul măsurat pe cele două mașini Linux (7.14 cereri API per prompt). E singura extrapolare din tot raportul și e marcată ca atare. Raportul real pe Windows poate diferi — sesiunile de acolo par mai lungi, deci numărul de prompturi ar putea fi mai mic (și acoperirea planurilor, mai bună). + +Ritm rezultat: **~1,801 prompturi/săptămână** (~257/zi) pe 35 zile. + +### Acoperire — la multiplicator 1× + +| Plan | Anual | Efectiv/lună | Prompturi/săpt. | Acoperă din nevoia ta | Verdict | +|---|---:|---:|---:|---:|---| +| Lite | $151.20 | $12.60 | ~400 | **22%** | insuficient | +| Pro | $604.80 | $50.40 | ~2,000 | **111%** | **ACOPERĂ** | +| Max | $1,344.00 | $112.00 | ~8,000 | **444%** | **ACOPERĂ** | + +### Acoperire — dacă GLM-5.3 consumă credite multiplicat + +Z.AI aplică multiplicatori de credite modelelor mari (documentat 3× în orele de vârf și 2× off-peak pentru GLM-5.2 / GLM-5-Turbo; pentru GLM-5.3 multiplicatorul nu e publicat explicit). Dacă GLM-5.3 se contorizează la fel, acoperirea scade proporțional: + +| Plan | 1× (Flash / off-peak promo) | 2× (off-peak) | 3× (peak) | +|---|---:|---:|---:| +| Lite | 22% | 11% | 7% | +| Pro | 111% | 56% | 37% | +| Max | 444% | 222% | 148% | + +### Comparație completă a opțiunilor + +| Opțiune | Cost efectiv/lună | Acoperă volumul tău? | Observație | +|---|---:|---|---| +| **Claude Max 5x** (actual) | $100.00 | **DA, 100%** | modelele Claude; $5,167 valoare la tarif per-token | +| OpenCode Zen, GLM-5.3-Flash | $190.02 *(pay-per-token)* | da, dar costă 1.9× cât Max | fără plafon, dar fără reducere de abonament | +| OpenCode Zen, GLM-5.3 | $3,324.02 *(pay-per-token)* | da, dar costă 33× cât Max | prohibitiv | +| OpenCode Zen $20 (buget fix) | $20.00 | **NU — 10,5%** | vezi secțiunea 7 | +| **Z.AI Coding Lite anual** | **$12.60** | NU — 22% la 1× | cel mai ieftin plan cu GLM-5.3 | +| **Z.AI Coding Pro anual** | **$50.40** | **DA la 1× (111%)**, nu la 2–3× | cel mai bun raport dacă multiplicatorul e 1× | +| **Z.AI Coding Max anual** | **$112.00** | **DA, cu marjă (444% la 1×, 148% la 3×)** | singurul sigur indiferent de multiplicator | + +### Ce înseamnă asta concret + +**Z.AI Coding Pro anual ($604,80/an = $50,40/lună) e de departe cea mai interesantă opțiune din tot setul** — la ritmul tău de ~1,801 prompturi/săptămână, cota lui de ~2.000/săptămână acoperă 111% din volum, la **jumătate din prețul Max 5x**. + +Dar cu trei rezerve serioase: + +1. **Marja e subțire.** 111% nu e mult peste 100%. O săptămână mai aglomerată decât media te scoate din cotă, și atunci aștepți resetarea. +2. **Multiplicatorul de credite e necunoscut pentru GLM-5.3.** Dacă e 2× sau 3× ca la GLM-5.2, Pro acoperă doar 56%–37% și ai nevoie de Max ($112/lună). +3. **Limita de 5 ore contează separat.** Media ta zilnică încape în cota de 5h a planului Pro (~400), dar zilele de vârf pot să nu încapă. Cotele sunt simultane: săptămânală ȘI la 5 ore. + +**Diferența de calitate rămâne argumentul decisiv.** Un plan Z.AI îți dă GLM-5.3, nu Opus 5. La tine 38% din volum rulează deja pe Opus 5 — muncă unde ai ales conștient modelul mare. + +## 9. Scenariul real: Opus planifică, GLM-5.3-Flash execută + +Fluxul vizat înlocuiește **doar treapta de execuție** (azi Sonnet 5) cu GLM-5.3-Flash, păstrând Opus 5 pe Max pentru planificare. Asta nu e o felie arbitrară din volum — e exact împărțirea care se vede deja în date. + +| Treaptă | Model azi | Tokeni/lună | % volum | Turn-uri | Prompturi/săpt. *(est.)* | +|---|---|---:|---:|---:|---:| +| Planificare | Opus 5 | 4.27B | 38.3% | 25,343 | ~711 | +| Execuție | Sonnet 5 | 6.71B | 60.2% | 37,902 | ~1,063 | +| Alte | Fable 5 + Haiku | 165M | 1.5% | 966 | ~27 | + +### Cât costă mutarea treptei de execuție + +| Variantă | Cost/lună | Observație | +|---|---:|---| +| Zen pay-per-token, Flash promo | $113.38 | tarif promoțional, expiră 2026-09-09 | +| Zen pay-per-token, Flash listă | $226.77 | tariful de după | +| Z.AI Coding **Lite** anual | $12.60 | cotă ~400 prompturi/săpt. = **38%** din nevoie | +| Z.AI Coding **Pro** anual | $50.40 | cotă ~2.000/săpt. = **188%** din nevoie | +| Z.AI Coding **Max** anual | $112.00 | cotă ~8.000/săpt. = 752% | + +Treapta de execuție are nevoie de **~1,063 prompturi/săptămână**. **Lite nu ajunge** (38%). **Pro ajunge cu marjă de 1.9×** — și, spre deosebire de comparația pe volumul total, aici marja e confortabilă. + +> **Detaliu în favoarea ta:** multiplicatorul de credite Z.AI (3× peak / 2× off-peak) e documentat pentru modelele mari, nu pentru cele „de rutină". GLM-5.3-**Flash** e modelul mic, deci probabil se contorizează la 1×. Dacă e așa, Pro acoperă treapta de execuție cu 188% și rămâne loc de creștere. Confirmă asta înainte să plătești anual. + +### Calibrare cu OpenCode Go — datele tale reale + +OpenCode Go costă **$10/lună** și include limite exprimate în valoare de consum, nu în tokeni: + +| Limită | Valoare | +|---|---:| +| La 5 ore | $12 de consum | +| Săptămânal | $30 de consum | +| Lunar | $60 de consum | + +Abonamentul s-a consumat în 1–2 zile. Asta **confirmă independent** analiza: la volumul tău, consumul săptămânal echivalent e $38 pe GLM-5.3-Flash promo și $665 pe GLM-5.3 — deci plafonul săptămânal de $30 al lui Go se evaporă în 0.3 zile pe modelul mare și în 5.5 zile pe Flash. Un plan plafonat în dolari nu rezistă la acest volum, indiferent de furnizor. + +**De asta planurile Z.AI sunt altceva:** cota lor e în prompturi, nu în dolari de consum. Un prompt care declanșează 20 de invocări de model costă la fel ca unul care declanșează 2 — iar sesiunile tale au în medie 7.1 cereri API per prompt. Exact tipul de workload pe care tarifarea per-prompt îl avantajează, și pe care cea per-dolar îl penalizează. + +## 10. Problema reală: plafonul general săptămânal Max 5x + +Max 5x are **două plafoane săptămânale** — unul general, pe toate modelele, și unul separat pentru Opus. Limita atinsă e cea **generală**, ceea ce înseamnă că un supliment pe GLM-5.3-Flash chiar poate ajuta: fiecare prompt mutat în altă parte eliberează cotă de Max. + +### Tiparul se vede în date + +| Săptămână | Total | Profil zilnic (M tokeni, Lu→Du) | +|---|---:|---| +| 2026-W31 | 0.80B | We **22** · Th **171** · Sa **256** · Su **348** | +| 2026-W32 | 3.40B | Mo **557** · Tu **41** · We **96** · Th **509** · Fr **432** · Sa **853** · Su **911** | +| 2026-W33 | 0.93B | Mo **655** · Tu **229** · We **40** · Th **8** · Fr **1** · Sa **1** · Su **1** | +| 2026-W34 | 2.93B | Mo **2** · Tu **42** · We **146** · Th **339** · Fr **690** · Sa **813** · Su **901** | +| 2026-W35 | 2.08B | Mo **175** · Tu **231** · We **4** · Th **467** · Fr **407** · Sa **461** · Su **336** | +| 2026-W36 | 1.01B | Mo **866** · Tu **139** | + +**Săptămâna W33 e semnătura manualului pentru un plafon atins:** 655M luni, 229M marți, apoi 40M, 8M, 1M, 1M, 1M. Cota s-a consumat în două zile, urmate de cinci zile moarte. Exact ce descrii. Prin contrast, W32 și W34 au mers 7 zile din 7, la 2,93–3,40B. + +- **Zile efectiv blocate** (sub 50M tokeni): **10 din 34** = 29% +- **Zi activă mediană:** 419M tokeni +- **Livrat efectiv de Max 5x:** 2.23B/săptămână +- **Cerere dacă ai lucra 7 zile din 7 la ritmul median:** 2.94B/săptămână +- **Deficit: 0.71B/săptămână = +32%** ≈ **~570 prompturi/săptămână** + +> Deficitul e o estimare **conservatoare**: presupune că în zilele blocate ai lucra la ritm median (419M), nu la ritmul zilelor bune (peste 850M). Cererea reală suprimată e probabil mai mare. Nu se poate măsura direct — Claude Code nu persistă evenimentele de limită în transcript, apar doar în stream-ul SDK. + +### Ce plan acoperă deficitul + +Nu trebuie mutat tot volumul — doar atât cât să elibereze cota lipsă. + +| Plan | Lunar | Anual (efectiv/lună) | Cotă/săpt. | Acoperă deficitul de ~570 | Zile blocate rămase | +|---|---:|---:|---:|---:|---:| +| Lite | $18.00 | $12.60 | ~400 | **70%** | ~0.6/săpt. | +| Pro | $72.00 | $50.40 | ~2,000 | **351%** | ~0.0/săpt. | +| Max | $160.00 | $112.00 | ~8,000 | **1403%** | ~0.0/săpt. | + +Azi ai ~2.0 zile blocate pe săptămână. **Lite ar duce-o la ~0.6**, **Pro la zero**, cu marjă de 3.5× pentru creștere. + +### Verificare din a doua direcție + +Dacă muți **toată** treapta de execuție (Sonnet 5, 59% din turn-uri, ~1,063 prompturi/săpt.) pe GLM-5.3-Flash, eliberezi 59% din cota Max — care ar ține atunci de **2.4× mai mult**, adică toată săptămâna în loc de două zile. + +Pentru asta ai nevoie de ~1,063 prompturi/săpt.: **Lite (38%) nu ajunge, Pro (188%) ajunge cu marjă.** + +Cele două calcule dau răspunsuri diferite pentru Lite pentru că măsoară lucruri diferite: primul, cât lipsește ca să nu mai fii blocat; al doilea, cât ar costa mutarea completă a treptei de execuție. **Nu ai nevoie de mutarea completă** — ai nevoie doar de deficit. + +## 11. Fișiere generate + +| Fișier | Conținut | +|---|---| +| `claude_usage_report.md` | acest raport | +| `claude_usage_sessions.csv` | 435 rânduri, una per sesiune | +| `claude_usage_summary.csv` | agregate: TOTAL, mașină, model, lună, zi | +| `tools/claude_usage_extract.py` | extractorul read-only (rulabil remote: `ssh host 'python3 -' < script`) | +| `tools/claude_usage_report.py` | agregator + CSV | +| `tools/claude_usage_md.py` | generatorul acestui raport | + +## 12. CONCLUZIE + +### „Dacă păstrez Claude Max 5x $100 și adaug OpenCode Zen $20, cât coding suplimentar obțin?" + +**Foarte puțin — aproximativ 3.7 zile pe lună, în cel mai bun caz.** + +Consumul real pe 35 zile, pe trei mașini: **11.15 miliarde de tokeni**, 435 sesiuni, 64,211 cereri API. La acest volum, $20 nu sunt un supliment — sunt o rotunjire. + +| | GLM-5.3 | GLM-5.3-Flash (promo) | GLM-5.3-Flash (listă) | +|---|---:|---:|---:| +| Cost pentru volumul tău lunar | $3,324 | $190 | $380 | +| Cât din el acoperă $20 | 0.6% | **10.5%** | 5.3% | +| Zile de lucru din $20 | 0.21 | **3.7** | 1.8 | + +### Punct cu punct + +**1. Ar fi fost $20 Zen suficienți pentru consumul observat?** + +**NU, pe niciun model.** + +- GLM-5.3-Flash (promo): $190.02 — de **9.5× peste buget**. Cel mai bun caz posibil. +- GLM-5.3-Flash (listă, după 9 sept.): $380.03 — de **19× peste buget**. +- GLM-5.3: $3,324.02 — de **166× peste buget**. +- Fără cache (Scenariul B), chiar și Flash promo ajunge la $840.21 — de 42× peste. + +**2. Câte sesiuni/zi înseamnă?** + +Ritmul real: **12.4 sesiuni/zi**, 319M tokeni/zi. Cu $20 obții: +- GLM-5.3-Flash promo: **3.7 zile** (~46 sesiuni) +- GLM-5.3-Flash listă: **1.8 zile** (~23 sesiuni) +- GLM-5.3: **0.21 zile** (~3 sesiuni) — sub o zi + +**3. Ce model e mai avantajos?** + +**GLM-5.3-Flash**, de **17.5× mai ieftin** decât GLM-5.3. Diferența absolută pe consumul tău: **$3,134.00** ($3,324.02 vs $190.02). La preț de listă diferența rămâne **$2,943.99**. Compromisul e de calitate — Flash e modelul mic. + +**4. Diferența de cost GLM-5.3 vs GLM-5.3-Flash** + +| | GLM-5.3 | Flash (promo) | Flash (listă) | +|---|---:|---:|---:| +| Total | $3,324.02 | $190.02 | $380.03 | +| Pe zi | $94.97 | $5.43 | $10.86 | +| Pe sesiune | $7.641 | $0.437 | $0.874 | +| Raport față de GLM-5.3 | 1× | 17.5× mai ieftin | 8.7× mai ieftin | + +**5. Ce procent din utilizarea Claude poate fi mutat realist pe Zen?** + +Structura reală: **60%** Sonnet 5, **38%** Opus 5, 1.5% Fable 5, restul Haiku. + +Întrebarea corectă nu mai e „ce procent muți", ci **„cât încape în $20"** — și răspunsul e **10.5%** din volum, la cel mai ieftin tarif posibil. Chiar dacă ai muta pe Zen absolut tot ce rulează azi pe Sonnet, ai depăși bugetul de câteva ori. + +Cu $20/lună pe GLM-5.3-Flash poți acoperi realist **~11% din volum** — echivalentul a ~1173M tokeni. Ținta rezonabilă: **un singur flux automat**, mic și bine delimitat (un bot, un job de noapte, un agent în buclă), nu o felie procentuală din tot ce faci. + +**6. Dar abonamentele Z.AI?** + +Aici răspunsul e cu totul altul decât la Zen $20. La ~1,801 prompturi/săptămână: + +| | Efectiv/lună (anual) | Acoperire la 1× | Acoperire la 3× | +|---|---:|---:|---:| +| Z.AI Coding **Lite** | $12.60 | 22% | 7% | +| Z.AI Coding **Pro** | $50.40 | **111%** | 37% | +| Z.AI Coding **Max** | $112.00 | 444% | **148%** | + +**Lite ($12,60/lună) e opțiunea potrivită pentru rolul pe care îl căutai la Zen $20** — cost similar, dar acoperă 22% din volum în loc de 10.5%, adică de **2× mai mult** pentru aceiași bani. Modelul de abonament bate plata la token, exact cum o face și Max față de tarifele Zen. + +### Recomandare + +**Păstrează Max 5x — la $5,167 valoare per-token pentru $100 plătiți, e cea mai bună afacere din tot setul de date.** Nu e nimic de optimizat acolo. + +**Nu lua OpenCode Zen $20.** La volumul tău e o rotunjire (10,5%), iar pentru bani similari Z.AI Coding Lite anual ($12,60/lună) îți dă de 2× mai mult. Singurul motiv real pentru Zen ar fi accesul la multe modele diferite dintr-un singur cont, nu volumul. + +**Dacă vrei capacitate suplimentară serioasă**, ordinea corectă e: + +1. **Z.AI Coding Lite anual, $12,60/lună** — ca supliment: preia un flux automat întreg (tot `moltbot` = 195M tokeni/lună) și îți lasă Max liber pentru munca grea. Risc mic, cost mic. **Aici aș începe.** +2. **Z.AI Coding Pro anual, $50,40/lună** — dacă vrei să muți o felie mare din volum. Acoperă 111% la 1×, dar doar 37% dacă GLM-5.3 se contorizează la 3×. Verifică multiplicatorul înainte, e diferența dintre „ajunge" și „nu ajunge". +3. **Z.AI Coding Max anual, $112/lună** — singurul care acoperă volumul indiferent de multiplicator, dar la acel preț compari direct cu un al doilea Max 5x sau cu Max 20x, unde primești Opus 5 în loc de GLM-5.3. + +**Testul decisiv nu e de preț, e de calitate.** Toate variantele Z.AI îți dau GLM-5.3, nu Opus 5, iar 38% din volumul tău rulează pe Opus 5 pentru că ai ales asta. Ia Lite anual o lună, rutează pe el fluxurile automate, și vezi dacă rezultatul e acceptabil înainte să muți ceva important. + +**Rolul rămas pentru Zen $20** (dacă îl iei totuși) e restrâns: + +- **buget de experiment** — să testezi dacă GLM-5.3-Flash e destul de bun pe un flux anume, înainte să iei o decizie mai mare; +- **overflow de urgență** — dacă atingi limita Max într-o zi aglomerată, ai un backup care costă cenți pe oră; +- **un singur job automat mic** — de exemplu tot ce rulează pe `moltbot` (195M tokeni = $3.81/lună pe Flash promo, 19% din buget). + +### Rezerve + +1. **`claude-agent` are doar 5 zile din 35** cu transcripturi păstrate; consumul lui real e mai mare decât cei 306M măsurați. Nu am extrapolat. Efectul e mic la scara totalului (2,7%), dar direcția e clară: totalul real e mai mare, nu mai mic. +2. **Alte mașini Windows** din tailnet (`marius-hx90g`, `lenovo-aio-h1`, `lg17`, `roa-carapetru2`) nu au fost scanate — erau offline. Dacă rulezi Claude Code și pe ele, totalul crește. +3. **Cache hit rate-ul e ipoteza critică:** 97.2% din volum e cache read. OpenCode cu GLM nu garantează același comportament de caching ca Claude Code — Scenariul B ($840 în loc de $190) e cazul rău, și nu e improbabil. +4. **Prețul Flash e promoțional** până pe 2026-09-09; se dublează după. +5. **GLM-5.3 nu e listat oficial pe OpenCode Zen** — am folosit tariful Z.AI ca proxy, validat prin faptul că GLM 5.2 are pe Zen exact prețul Z.AI. +6. **Datele Windows au trecut printr-o conversie de tabel** (TAB + date M/D/YYYY). UUID-urile și valorile numerice au fost validate, dar nu am putut verifica independent fișierele sursă. diff --git a/claude_usage_sessions.csv b/claude_usage_sessions.csv new file mode 100644 index 0000000..85be673 --- /dev/null +++ b/claude_usage_sessions.csv @@ -0,0 +1,436 @@ +session_id,machine,project,models,first_ts,last_ts,user_turns,assistant_turns,input_tokens,output_tokens,cache_creation_tokens,cache_read_tokens,total_tokens,cost_glm53_usd,cost_glm53flash_promo_usd +5749440c-6359-43e8-a21b-34d962e88857,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-21,2026-08-22,,1349,2698,189775,3281314,359479512,362953299,98.8973,5.685937 +b9bf6dd3-8967-45c9-8f15-dcdaabdcafe9,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-31,2026-08-31,,1223,2446,99246,3761678,268344600,272207970,75.476052,4.33229 +64580820-2400-4a08-9805-cd836d5bfea0,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,1132,21014,178972,3977463,265283432,269460881,75.359037,4.32388 +285a5217-5c09-4e05-bcfc-826247c4f5e4,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-08,2026-08-08,,833,28614,172002,4789597,242234541,247224754,70.483285,4.037884 +fd53516c-6d20-4100-adbd-5546ecf94d5f,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-22,2026-08-23,,804,1608,174534,4810487,197230477,202217106,58.784807,3.362998 +32e8fc2b-5e34-4117-8280-bc14c3ced9c9,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-22,2026-08-22,,752,1504,152348,3607421,181339874,185101147,52.871193,3.028854 +ff8eb270-208a-4feb-9900-38ed5f12aa08,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-24,,691,1382,195179,1822005,176855132,178873698,49.393864,2.838376 +259bd1d3-5a75-4a52-b38c-d35e68920759,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-23,,888,1776,170054,5679125,170964354,176815309,53.152231,3.033046 +5406672c-9ea6-4485-a9df-dba23ed860cf,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-10,,784,1558,121705,3541951,170366571,174031785,49.791723,2.851688 +6c6f2a04-8de2-49af-bee4-c8723dd9157a,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-07-29,2026-07-30,,677,1774,191120,6905512,164552178,171650584,53.294695,3.034109 +3b9e89da-52ea-4922-9126-03d169a1ba1b,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-27,2026-08-27,,728,1456,113420,3109135,163398073,166622084,47.337374,2.71262 +5e2c5e6f-f290-4448-988c-c5054305b7e0,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-07,2026-08-08,,851,4409,173350,3575893,162713215,166466867,48.080599,2.752558 +f029c477-1c7c-4f6c-ae11-134c14043fac,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-23,,912,1824,190397,2253633,161673708,164119562,46.030551,2.641864 +92a12c3c-a16f-4966-8057-0c86048fada8,LENOVO-AIO-BIRO,(windows),claude-fable-5,2026-08-21,2026-08-21,,876,1952,169330,4221754,150831426,155224462,45.874411,2.621582 +d9656c6d-2f9f-42ad-af0c-eab07bb7800b,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-01,2026-08-01,,488,964,118698,2984487,149687726,152791875,43.620711,2.498899 +c928481c-50f1-4003-baae-011ac7d75007,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-03,,612,6431,141749,5826166,146376505,152350851,46.847223,2.66853 +8fea11e2-ebea-489f-8c53-e3c14d90dd60,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-30,2026-08-30,,892,1784,107072,3772929,144700979,148582764,43.37797,2.480386 +392f9a0a-bdc4-4f1a-bf27-93efb80d8094,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,930,13684,199737,4599506,138825445,143638372,43.431925,2.478305 +3ffa20b3-137e-4eac-91f4-f60a2af6f63d,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-27,2026-08-27,,739,1478,111259,4833522,136310465,141256724,42.699261,2.435097 +f2e71793-0340-4e4b-9c26-061670395c4f,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-06,2026-08-06,,725,15486,203974,3263749,129017219,132500428,39.032892,2.232194 +f581d50f-4318-4836-b44b-d0731bb48d44,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-07,2026-08-07,,589,1163,169964,5569165,126278399,132018691,41.378685,2.354442 +6d96f074-6f95-4d22-be48-8fc6d6277df7,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-29,2026-08-30,,1057,2114,148598,4256349,127610855,132017916,39.794502,2.270697 +0fb9dcd1-fae4-49e6-9cdf-bf3d6095700b,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-07,2026-08-07,,498,977,178238,7882555,122062184,130123954,43.55736,2.466757 +cc26211c-f20a-4743-a5b4-de97ed288667,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-08,2026-08-08,,699,7836,184895,3760981,122610956,126564668,37.96873,2.168049 +2679275b-7aa9-494f-9bf8-3b03faac3b27,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-29,2026-08-29,,888,1776,147638,3724265,122560883,126434562,37.731894,2.154776 +3755b558-31e2-407c-b0e7-54e7be635ea6,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-03,,727,3580,161618,4588402,118803620,123557220,38.028835,2.166857 +4ae3fa68-ec82-449d-af97-fe5c6e956a38,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-09-01,2026-09-01,,707,1414,108475,1923510,120044966,122078365,34.383875,1.972163 +afe798a8-7a44-4508-92dd-8944e482ad4b,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-31,2026-08-31,,512,1024,77912,4033303,112834088,116946327,35.327733,2.014564 +ea0ed10f-2f5a-4fad-b2ef-b67385aa9ad8,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,635,7484,121803,2882768,112135255,115147310,33.737452,1.929248 +77b46e5c-1d05-4f4d-a650-a011c7eb4583,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-22,2026-08-22,,821,1642,153392,2425938,111874230,114455202,33.160837,1.89853 +712c14e9-1afe-4e39-b4f0-c4dfd01c38c0,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-06,2026-08-06,,657,5078,144384,5560461,108122438,113832361,36.538878,2.075348 +e8535a1b-b4c7-49f4-ac69-fe5f7ef3e44b,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-22,2026-08-22,,546,1092,213287,3401917,109495792,113112088,34.171581,1.950984 +8ccc51e1-989c-44a0-a744-75a07dcbbf09,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-05,2026-08-06,,750,1552,163769,4403226,107072364,111640911,34.726087,1.977386 +ad313a55-c57f-4023-bd1d-ecc67095bbbe,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-28,2026-08-28,,829,1658,133263,4517045,102411306,107063272,33.539481,1.908388 +a8f1b788-71b5-454a-8e11-36087df1444d,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-31,2026-08-31,,726,1452,133169,2761537,101700908,104597066,30.896364,1.76603 +ccb68e64-6ebd-4fc3-a0df-97dfd3e5acd0,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-29,2026-08-29,,651,1302,129310,2805884,99217872,102154368,30.295671,1.731135 +864d5b2f-374f-43de-82b6-67d09d26b875,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-05,,537,8571,114377,4645986,94480136,99249070,31.584474,1.794888 +c1c29fbf-d57f-444c-bf52-8d1737d4f976,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-08,2026-08-08,,512,1052,171319,2695894,95626428,98494693,29.392399,1.679497 +c7ca2fa6-4a3f-49cd-b3ab-b1d1bb3c0861,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-08,2026-08-08,,567,1122,124644,2336762,91728230,94190758,27.670811,1.582426 +5d035533-238b-4c76-9501-b81f5783d839,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-24,2026-08-24,,436,872,131922,1991324,91437971,93562089,27.143404,1.553965 +dcf0c62e-d0ac-4775-aa59-b85224d32f8f,LENOVO-AIO-BIRO,(windows),claude-fable-5|claude-sonnet-5,2026-08-20,2026-08-21,,423,870,80609,2010032,90351524,92443035,26.661339,1.526243 +04ccf0fd-e09e-4f7a-9a81-ed3029cc6f55,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,401,779,126343,2736341,88697217,91560680,27.449154,1.567328 +062f773d-dee2-4407-a86b-aa34051bda11,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-21,2026-08-21,,534,1068,126069,1954349,88961267,91042753,26.422217,1.512593 +81fbd7c8-41d4-4341-a83a-95736e6dc6d3,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-19,2026-08-20,,551,1102,169114,2222773,85476096,87869085,26.081312,1.491211 +9cdede8f-1f6c-428d-a144-afb71d8aaf38,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-11,,543,11518,120498,2624225,83877927,86634168,26.028492,1.485974 +00192d75-aae9-407a-bfa5-65cbc8dd632d,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-08,2026-08-08,,417,3581,125741,1702948,84268987,86101257,24.852338,1.42346 +aaf39ac5-9f90-4f7a-a095-f73c2fb2cd9f,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-29,2026-08-29,,735,1470,157618,1872393,82796692,84828173,24.844067,1.421895 +7d2475f8-557f-4680-aa72-4199b66b0772,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-06,2026-08-06,,565,5620,155664,2342334,81686077,84189695,25.210437,1.440304 +3f1cc2cd-4c8f-4265-be95-38f50fe28aec,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-10,,606,7081,154473,3484129,80492976,84138659,26.495549,1.507854 +ce6d97e2-dae9-4f4c-a9a4-254cd682f6bf,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-20,2026-08-20,,529,1058,161614,1961789,76099159,78223620,23.244869,1.329104 +163d8a6d-7e99-4881-8648-a1a646ae6190,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-27,2026-08-27,,450,900,95684,2054371,72601754,74752709,22.174845,1.267093 +58cbb620-4a09-49c9-8be9-ad701c5ed2d4,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-23,,575,1150,171629,1840541,70917619,72930939,21.772116,1.244798 +d2dbc0e9-d3ac-48e3-83cc-f4cbfce02ca6,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-10,2026-08-11,,441,6739,173896,1993559,66855951,69030145,20.948107,1.196336 +ff8af859-e820-438d-ba23-a3e22c4d9497,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-10,,456,4449,109114,2086374,66309244,68509181,20.647657,1.178729 +f0223617-643c-4d11-85fe-c2e4a797d059,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-10,,453,2890,142586,2423313,65290902,67859691,20.999697,1.196975 +2c9c5e13-e67e-465e-9335-b2a6392d9410,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-31,2026-08-31,,421,842,98088,1525629,63266562,64891121,19.017953,1.088006 +ec83f487-634d-41ac-9448-a5979a8b7ed0,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-31T15:43:32.002Z,2026-08-31T21:08:55.132Z,300,274,548,198806,472135,61067788,61739277,17.414127,1.00117 +c43fbf62-06f9-4e93-9eac-4e51e367ff52,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-23,,411,822,133246,1513246,59377058,61024372,18.144013,1.037522 +f9c49248-7c54-45ef-88f2-03a055903517,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-07,2026-08-07,,307,703,115035,1457752,58860546,60434036,17.851733,1.021051 +4d429aa9-707c-49c1-b039-77c0d7ad0475,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-30,2026-08-31,,563,1126,101241,2308934,57362179,59773480,18.593711,1.058997 +fa31be07-db25-42f1-9f0e-5cf44d79bf97,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-11,2026-08-11,,475,1047,144616,1839142,57313816,59298621,18.114167,1.033875 +890512bd-2cf9-4486-b89a-52579ea35284,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-22,2026-08-22,,378,756,178527,1317743,57517974,59015000,17.586091,1.006289 +279fd7c1-d5d7-47f2-b319-f419736829fb,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-20,2026-08-20,,353,706,133100,1861695,56473890,58469391,17.876213,1.020063 +d31bfaba-5ee5-4e89-ace8-e7a94bd124eb,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-01,2026-08-02,,374,3948,164393,1594283,56528162,58290786,17.658175,1.008888 +0f30419d-e767-4517-9ac9-0eab71f9d4be,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,446,1653,140973,1462011,55029233,56633870,16.977011,0.970457 +6b9cfd55-d8ab-4704-9033-6267ea873e74,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-11,2026-08-11,,345,673,143302,1590165,54866873,56601013,17.123089,0.978141 +80e6bf21-ab65-4a1a-9aee-c5f04b1fc33b,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,284,568,174337,307693,55849891,56332489,15.71962,0.904452 +16ce3ac0-8438-472e-bfc6-be71789adcbb,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,446,8555,162013,1836872,53059662,55067102,17.091967,0.974805 +59628288-44b2-49f3-8b40-5145be57b99d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-21T16:33:17.528Z,2026-08-22T08:40:30.097Z,272,248,496,123635,1335216,52922530,54381877,16.173849,0.924925 +3e171cfe-4184-4fe5-afbe-0e8012f6d31e,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-10,,337,22449,126139,1334315,52550224,54033127,16.117539,0.921545 +c2b2b17b-74cf-41c5-b525-1981f9fe91fc,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-02,2026-08-02,,292,562,158611,996460,52725622,53881255,15.802381,0.905314 +04ff0372-43fa-49a5-8895-c68b0b411f43,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-28,2026-08-28,,376,752,130459,2031894,49682534,51845639,16.337183,0.930301 +fc8b5717-8d08-441b-839f-b6301972a954,claude-agent,-workspace-claude-agent,claude-opus-5|claude-sonnet-5,2026-08-31T05:28:23.040Z,2026-08-31T12:39:36.334Z,276,304,798,146941,1456578,49315101,50919418,15.508793,0.885765 +76311a7f-ae59-4439-ae11-b9061f4e0aa6,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-23,,324,648,96199,1175329,47978434,49250610,14.544036,0.831925 +11ed819d-55cb-4a2c-ac62-ef46e0da11dc,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-10,,330,650,95437,1188309,47454302,48738698,14.422584,0.824846 +3db76816-3620-46f3-b646-2156e1114776,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-10,2026-08-10,,334,3385,101930,1895488,45234729,47235532,14.867944,0.846419 +f7dd6f8b-fca9-4ecf-a32a-3d4e7e359c6a,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-21,2026-08-21,,332,664,80844,1113370,44166014,45360892,13.398525,0.766254 +c0623820-e20f-4fc1-ba0b-f32469ab104e,moltbot,-home-moltbot-echo-core,claude-opus-5,2026-08-23T05:55:05.946Z,2026-08-23T07:46:55.754Z,255,238,476,156778,298599,44674842,45130695,12.723987,0.731748 +89fb6e48-f2c0-4862-a85a-44f60f1f53ed,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-01,2026-08-01,,342,1647,121875,1843821,43008845,44976188,14.302205,0.814012 +9990e504-b4c0-4f36-91f7-0e0603ee71b0,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-28,2026-08-28,,280,560,184056,1171398,43519525,44875539,13.765664,0.786704 +3441138d-ff8c-49db-99e5-8aeed2df016f,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-08,2026-08-08,,349,1344,131712,1043500,42795370,43971926,13.169111,0.753222 +6ee117ab-26bd-4c5c-9ddf-5fc04a73d452,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,371,5938,86431,1136372,42639878,43868619,13.065899,0.746879 +5d494d5d-05bb-4370-b7dd-585c2befaff2,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-09,,291,785,112619,1139897,42033906,43287207,13.021294,0.744214 +f03dfefa-7bec-4f8d-85f5-4b31a5814ed9,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,180,341,132456,716334,42027641,42876772,12.513338,0.717279 +6ec3dcf2-1eba-442f-9257-37dd282be1df,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,252,504,123060,2144973,39609973,41878510,13.843725,0.785825 +e4c19f48-f65d-425f-8146-e86577695181,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-06,2026-08-07,,263,579,128495,1247084,40087588,41463746,12.734879,0.727012 +36f42dd5-194d-4743-b85e-fbe2d4a2f6b4,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-23,2026-08-23,,185,370,182842,344650,40861378,41389240,11.911491,0.684508 +88b211ba-bd2a-4a63-8771-e676fbb8dc95,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-28,2026-08-28,,230,460,38226,1650741,39438597,41128024,12.733911,0.724976 +181051ac-0260-4630-9329-8737b18b150d,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-22,2026-08-22,,184,368,112040,496642,38378066,38987116,11.167087,0.640957 +c8e7df05-b882-4b45-8548-cd08f55d7be1,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-09,2026-08-10,,200,392,60423,698470,37554529,38313814,11.008446,0.630838 +b8611426-d48b-4173-a658-21905bae3134,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,157,328,214285,570441,36640409,37425463,11.268437,0.645985 +ec4c8843-1a9e-4d81-887c-d38ddf353d98,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-31,2026-08-31,,282,564,63680,763584,35613671,36441499,10.609554,0.607436 +d698318f-c2cc-42ab-8b49-9a80358e6a28,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-28,2026-08-28,,284,568,85214,1035789,35123027,36244598,10.957828,0.625876 +751006f5-dd35-4d5e-8299-0d10830f4754,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-23,2026-08-23,,200,400,127785,251609,35669720,36049514,10.189194,0.585893 +8eff0ec4-7f9e-48e1-8221-c9e929908c10,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,164,328,152692,295738,34127436,34576194,9.959471,0.572289 +b01416e4-38b5-4951-9156-f22fecef8d4e,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-12,2026-08-18,,231,446,129852,1533483,32091115,33754896,11.062539,0.628874 +619cd895-003a-4e3f-ae1f-0dbb000b8ba1,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-05,,249,9363,128106,1598953,31737589,33474011,11.067082,0.628714 +11d2485d-12b3-4820-9666-bace7bfa864e,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,214,428,155614,654015,32428547,33238604,10.032344,0.574415 +80a2eb7e-2300-432e-b458-60272148abe8,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-19,2026-08-19,,153,306,124172,327049,32124697,32576224,9.357075,0.537465 +520cbb91-d7aa-4636-86af-46b262edd000,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-27,2026-08-28,,304,608,97810,1051455,31102752,32252625,9.989968,0.569899 +b4abd4ec-2687-4369-8c0a-2e8dac66f2d2,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,145,274,87685,502429,31149245,31739633,9.188402,0.526863 +ee6eb662-b98f-403f-b80e-84e2d4c50cc7,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-06,2026-08-06,,170,323,131975,386479,31179881,31698658,9.228982,0.529702 +9ba8074b-e730-499f-82a4-77f7b244d433,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-03,,217,420,128685,690651,29498722,30318478,9.203381,0.526482 +83e7be19-35f3-4db9-88e8-136d1bb015c4,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-31,2026-08-31,,258,516,69360,699605,29119014,29888495,8.856297,0.506634 +ad694df6-54e3-4256-b10a-3ab5d3b99231,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-31T12:41:58.273Z,2026-08-31T15:15:31.248Z,166,158,316,124194,603263,29151224,29878997,8.970782,0.513585 +95b5a78c-6210-481f-b0cb-b74cd82defef,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,156,312,115895,277913,29342186,29736306,8.528421,0.489973 +78dc9e8b-d515-42bb-9572-296f44dcc80d,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-11,2026-08-18,,176,336,78127,786264,28777549,29642276,8.927162,0.51019 +be001504-1b59-4367-997c-5e805ef15e47,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-29,2026-08-29,,143,286,142646,551523,28460018,29154473,8.79978,0.503947 +12a789d6-6a91-41fb-b1b1-1a5af93cd46d,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,152,304,122621,245404,28656905,29025234,8.334319,0.478937 +9b5e5931-c0d9-434b-b48d-c33ffc5af1d5,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T13:00:52.218Z,2026-08-30T14:28:27.446Z,167,165,330,116278,235980,28495076,28847664,8.251177,0.474219 +0e6113a4-f868-45a9-a922-0550fc728dfd,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-23,2026-08-23,,207,414,71648,646539,28086064,28804665,8.523362,0.487724 +96f7c6b5-8b18-47c7-a147-cf7c59d59746,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-22,2026-08-22,,162,324,111053,333505,27694153,28139035,8.156474,0.468213 +46f1c08f-2e88-42e4-9a4f-f1f496fb0363,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-31T21:10:22.492Z,2026-08-31T22:16:14.453Z,161,150,300,159387,269287,27101364,27530338,8.125079,0.466586 +9e91023f-02f9-49de-ba7a-cb2b22b585ba,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-28,2026-08-28,,132,264,169705,310049,26485299,26965317,8.067318,0.462979 +2d4ccbb9-b291-42a2-aa97-f84bfa28373c,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-06,2026-08-06,,129,244,133138,275749,26433516,26842647,7.844912,0.450487 +dd1c376c-6a0c-44b0-80c7-abc1181eba83,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-02,,138,276,119425,258796,25642953,26021450,7.555339,0.433931 +a4d401d4-8aa7-40f8-a8c4-349a4c492cde,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-10,2026-08-10,,159,296,167017,268285,25380401,25815999,7.709792,0.442604 +64f00178-e70e-4831-b9d6-b72d2eab4ae7,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-27,2026-08-27,,140,280,150018,249519,25353709,25753526,7.601762,0.436545 +335165ee-1b9d-4955-8072-625c54ecc3e0,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-19,2026-08-19,,152,304,89683,216304,25430321,25736612,7.30974,0.420121 +1d6ff97e-a9fd-4636-a995-e2b57cd81549,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,154,308,102059,258596,24353404,24714367,7.14341,0.410234 +b61019a1-b1dc-4c49-8189-e21b3f0c1295,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-06,2026-08-06,,144,274,121520,269972,24222562,24614328,7.210899,0.413987 +8ca62065-5322-474f-a61f-a59cfba300c4,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-19,2026-08-19,,156,312,117084,596757,23747916,24462069,7.525524,0.43027 +163c1c65-7f6b-472d-969b-6e57b043208c,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-03,,140,264,111400,468393,23816966,24397023,7.338691,0.420254 +5f0df8af-452a-4613-ba6f-5bbba3f431c2,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-05,,133,250,95278,667111,23546878,24309517,7.475717,0.427075 +6a56724b-86b9-46bd-976c-9cd64f1560dc,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-27,2026-08-28,,127,254,143305,467769,23372983,23984311,7.36275,0.421523 +4dc92d60-d39d-4559-a37d-981ebc1a983e,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-08,2026-08-08,,160,298,116147,464483,23309816,23890744,7.222292,0.413543 +f542ef74-4160-4e22-aadd-405004d3ca24,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-08,2026-08-08,,130,243,125641,569806,22959604,23655294,7.320386,0.418558 +bc88dd0c-374d-4bfb-ab3d-c2af7dcddc0b,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-18,2026-08-19,,136,272,114224,438330,22664242,23217068,7.009331,0.401415 +01e824ca-9aa6-4cda-866b-1f0569a0c6ef,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-23,2026-08-23,,127,254,128096,295978,22253609,22677937,6.764286,0.388046 +0703b0ba-e3d5-4293-8754-9311beafb16c,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T10:14:51.401Z,2026-08-30T13:00:52.210Z,171,159,318,110139,184560,22308028,22603045,6.543528,0.376021 +33a91e11-3ee6-4535-8cf9-baf1c979f774,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-01,2026-08-01,,153,289,110557,207056,22190770,22508672,6.546334,0.376052 +3e24cb8e-97e2-4b11-8db1-89ac4b1682ec,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,114,228,145285,312581,22036200,22494294,6.806599,0.390325 +776f4cc3-3c77-4940-b614-430b09c89550,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-18,2026-08-18,,150,300,88112,337433,21778379,22204224,6.522898,0.374034 +fd852226-7e2a-468a-9e88-54a88f16d1e6,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-22,2026-08-23,,131,262,111951,439015,21640084,22191312,6.733994,0.385535 +35c0cd96-48e4-4050-a50a-f329a71394f0,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-01,2026-08-01,,139,2379,103442,213308,21569556,21888685,6.365191,0.36558 +fa58ec48-7272-4680-aa94-9f345dc705bd,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-07-29,2026-07-30,,168,4753,139510,1036255,20375332,21555850,7.368842,0.418583 +bdfce065-2ea1-45c9-aa79-b356323b8c18,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-27,2026-08-27,,123,246,159876,471909,20063026,20695057,6.580858,0.376326 +c4eefd37-ab85-4839-8831-093af8c184a1,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,103,206,149428,476073,19640579,20266286,6.430824,0.367687 +a95261f8-73f0-4763-8749-6d8a825bc5b1,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,130,244,90860,221114,19949869,20262087,5.896651,0.338565 +21bb3e8c-61a5-4750-ad31-a4ae5313ba23,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-11,2026-08-11,,123,230,111443,547146,19412119,20070938,6.303827,0.360096 +5376baaa-7de8-4f3f-b408-256f8d1c6e50,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,109,4993,101882,233667,19432997,19773539,5.834984,0.334865 +d621321c-5149-4d0f-a50b-2e5e5fd8d05a,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-28,2026-08-28,,117,234,99770,358853,19012006,19470863,5.884831,0.337054 +92745f83-84bc-4e7b-b597-1b1b87bf2c01,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-28,2026-08-28,,163,326,74817,221181,19065110,19361434,5.596233,0.321294 +8dbb2561-3750-4015-9120-79f21f4bdae1,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,105,199,75312,498950,18497347,19071808,5.839492,0.333724 +5af97010-36ce-4265-8bce-ff52bc7c9b1c,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-03,,159,305,86937,604212,18197053,18888507,5.96008,0.340029 +c0b98af7-c283-4432-afd7-232afa7ee6f9,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-31,2026-08-31,,101,202,121447,529315,17535561,18186525,5.834936,0.333109 +59793de8-91d4-442d-985a-3dc91e89143b,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,117,254,76443,194663,17663465,17934825,5.201734,0.298681 +1d1b6607-5a9f-43fc-ad65-31661ec630dc,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-24,2026-08-24,,101,202,110083,274126,17544995,17929406,5.430123,0.31127 +2545956e-665c-4bce-9ea9-92a6aeba0685,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-07,2026-08-07,,131,250,72118,348249,17252291,17672908,5.290813,0.302951 +17c189c9-819e-4618-9dfb-a2b55c6f3b62,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-31T22:17:26.111Z,2026-09-01T07:21:40.284Z,136,134,268,103024,299133,17041451,17443876,5.303244,0.303833 +0e3ca774-7785-47a3-9a12-68b2b0242843,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,112,212,69969,489003,16548901,17108085,5.295479,0.302417 +ae7c0c7a-7645-4f98-9e67-0cdcc7b2a71c,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,107,204,51335,216874,16447073,16715486,4.806022,0.275821 +22b8cd2a-7f1c-4d41-9d15-c48f96dfcb12,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-08,2026-08-09,,99,188,72922,358842,15078067,15510019,4.743796,0.271329 +b2c05c08-e23c-4bb0-bb93-3b5669159b3e,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-03,,120,240,53664,258802,14724149,15036855,4.427059,0.253706 +2321489c-3ab5-4652-ae1e-1ca31a32d005,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-03,,100,185,95428,413985,14300078,14809676,4.717741,0.269421 +b60d487c-15f7-48fd-bce1-e61311595a83,LENOVO-AIO-BIRO,(windows),claude-opus-5|claude-sonnet-5,2026-08-03,2026-08-03,,129,247,53053,216837,14475388,14745525,4.300952,0.246675 +c6760153-692b-4762-a283-230cee832b21,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-10,2026-08-11,,114,212,88889,299508,14186271,14574880,4.49915,0.257495 +6a9c735d-342c-41db-a5b2-a4e5fc476274,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,99,189,59969,182525,14201368,14444051,4.212019,0.241716 +e2eeaf63-62de-4aad-80d1-45234b4858d2,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-09,2026-08-09,,75,2782,89273,559764,12984420,13636239,4.556315,0.259275 +ddb2fdb0-eed3-43eb-80fa-08f955ea6a6c,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,97,194,90008,141135,12387059,12618396,3.814531,0.218908 +d6f2fff7-fc51-49d8-9246-09b6bc600cc7,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-29,2026-08-29,,81,162,120507,203935,11797618,12122222,3.883347,0.222398 +79c081c4-5f32-4341-87d3-fc1ff421a094,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,91,182,64818,187194,11814482,12066676,3.619291,0.207475 +4f356a51-9c28-4128-8b66-2e64aa6ffa04,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-31T07:22:01.033Z,2026-08-31T09:04:31.140Z,100,98,196,51483,299144,11076599,11427422,3.525517,0.20147 +bb4f676e-8f5c-4e1e-9bd7-5159452c80f2,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,78,156,77660,380238,10782387,11240441,3.677676,0.20968 +09a22196-5477-40e3-94e6-bb39e455d193,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-06,2026-08-06,,83,157,53458,188329,10642339,10884283,3.266104,0.187136 +90d2e591-4c9d-4885-9fe4-ca1f48b9792b,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T10:18:47.698Z,2026-08-30T12:43:20.751Z,75,72,144,99181,345546,9555600,10000471,3.404818,0.194056 +a97f31cc-8e43-45f7-88b8-4ffb09542fcb,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-28,2026-08-28,,74,148,88510,209175,9553706,9851539,3.16646,0.181132 +84998855-272e-47ff-9cf9-9a5f6aff2591,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,67,134,73858,510238,9035953,9620183,3.388844,0.192282 +ba62a027-565b-4a3d-a421-ce622fdd8583,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-27,2026-08-27,,77,154,72236,134377,9361265,9568032,2.940111,0.168568 +743c3d33-7a11-40ec-933f-209d41a3b688,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-27,2026-08-27,,82,164,61203,125880,9161902,9349149,2.827849,0.162183 +78b48870-f797-445e-891c-70af90b5d037,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,72,144,45231,133952,8999398,9178725,2.726594,0.156356 +c9a698ef-c711-49d5-b674-9858d86776f9,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-05,2026-08-06,,74,579,76899,340956,8756493,9174927,3.093193,0.176187 +13d99583-e842-4f78-8e1a-820f844b13d9,moltbot,-home-moltbot-echo-core,claude-opus-5,2026-08-31T21:28:39.456Z,2026-08-31T22:05:21.704Z,89,76,223,72270,162157,8662883,8897533,2.79767,0.160189 +bc692637-0751-4105-9781-23eba189df8a,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-11,2026-08-11,,62,118,43015,180062,8647812,8871007,2.689949,0.153984 +9abc9f3c-66cb-4c0d-a5df-2427d2fef307,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-04T16:37:15.037Z,2026-08-05T19:36:45.834Z,83,82,164,42007,337712,8425219,8805102,2.848414,0.162221 +1c41cd78-0c42-46f8-b6c7-558a756c50ba,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-05,2026-08-05,,69,131,26859,133113,8532268,8692371,2.523111,0.144692 +1d7e452e-1c1d-487f-84e0-4bda0e0b8632,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-10,2026-08-10,,55,101,102867,295625,7870850,8269443,2.913052,0.165959 +be1306c7-275c-4865-ab54-129ef0cf0cf3,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-28,2026-08-28,,72,144,57762,127151,8027568,8212625,2.519533,0.144401 +b734877f-ba05-453d-965a-6f29bf1566c8,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T06:01:52.195Z,2026-08-29T12:42:35.892Z,69,65,130,56955,365563,7785000,8207648,2.786672,0.158441 +f84e6cf7-2a24-469d-8254-d2a199a6f388,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,73,137,47344,117948,7350356,7515785,2.284725,0.130948 +64436924-1112-4160-a7e2-cbdac2b3ed80,moltbot,-home-moltbot-echo-core,claude-opus-5,2026-08-23T14:39:03.975Z,2026-08-23T14:53:13.303Z,73,67,134,32281,128400,6406045,6566860,1.987556,0.113801 +2c588873-b5bf-43f3-bfb2-93f73d31204b,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-31T15:19:57.887Z,2026-08-31T15:43:03.255Z,75,57,114,39356,163368,6184261,6387099,2.009949,0.114864 +43dfbb00-f432-43db-80c9-d54d2956cb65,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-24,2026-08-24,,56,112,37830,151711,5928006,6117659,1.920286,0.109764 +b4844eb2-124e-49de-8f0f-3d328f0270e0,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,62,117,19688,124094,5699624,5843523,1.742425,0.099732 +dd27ec43-7504-4abc-923a-d1f9febb4671,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-19,2026-08-19,,66,132,43646,90465,5687236,5821479,1.79756,0.103015 +bbf322ad-576e-47cb-8d16-a7cdd3961c2b,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T06:40:40.215Z,2026-08-30T10:14:51.395Z,54,42,84,83252,441867,5178164,5703367,2.331363,0.131632 +b3ab3ede-7652-4220-9232-456cb3cdf65b,claude-agent,-workspace-romfastsql,claude-sonnet-5,2026-08-17T10:19:55.477Z,2026-08-22T08:44:27.646Z,59,58,116,27017,130421,5315992,5473546,1.683785,0.096284 +06906467-259c-46fb-ae97-8c7911cfaef1,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-22T09:00:06.674Z,2026-08-22T10:28:51.940Z,64,58,116,51320,351910,5063596,5466942,2.035179,0.115186 +6485bc1f-b2e7-4da6-b8e7-87a32f702d44,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,52,104,22351,118499,4954056,5095010,1.552443,0.088794 +16e6c387-2fce-41f9-8ba0-e8d4f3bf58d5,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,55,105,30645,114130,4569590,4714470,1.48286,0.084773 +0a204a49-9f8f-478f-8f4f-4af863a28018,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,49,98,25042,111523,4416309,4552972,1.414695,0.080877 +baa7a611-516f-44bd-8734-4b6076517b59,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,44,88,27651,90083,4387268,4505090,1.388593,0.079485 +addf74bd-71e9-4357-8ada-576fab4bfe1f,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-30T17:03:46.090Z,2026-08-30T20:56:39.337Z,51,64,128,21882,226748,3836723,4085481,1.411455,0.080037 +cc7bad1b-5aeb-4ae5-abe2-d472d0bc10c9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-23T08:16:55.763Z,2026-08-23T08:58:04.425Z,53,44,88,43122,265682,3731819,4040711,1.532088,0.086691 +6f907f83-ec48-4ec4-b1f3-af959be488c6,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,51,96,21568,67578,3949351,4038593,1.216474,0.069708 +46b184aa-651b-4ff8-a8e4-7d07f1e1929b,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-31,2026-08-31,,39,78,34833,126323,3375213,3536447,1.207782,0.068817 +e153a941-79ed-4c2b-842a-1cdb4971f49b,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-29,2026-08-29,,30,60,50907,162253,3321397,3534617,1.314792,0.074721 +04b0c167-76a1-42d7-9a85-8f8daeb74f35,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,40,1101,23902,107685,3338188,3470876,1.125398,0.064207 +24a83052-896d-46c6-a9b4-cd79e927fd60,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T13:37:49.601Z,2026-08-29T14:41:55.528Z,43,41,82,25889,104343,3182035,3312349,1.087436,0.062035 +252e5bce-cb84-4fcb-8db1-08f4981c1dd9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-26T18:03:03.193Z,2026-08-27T17:52:13.672Z,46,45,90,18582,260871,3016113,3295656,1.231296,0.069459 +662f5bc9-89e5-4ba6-8d2e-9ac85a0efe23,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,40,77,18834,66247,3030858,3116016,0.963746,0.055146 +16df0f17-2f8f-4e3b-9d13-383797f412e5,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-07,2026-08-07,,28,52,21267,123976,2952330,3097625,1.03482,0.058904 +6958275e-f99c-47ec-b269-4a4b7f365129,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T10:17:30.593Z,2026-08-30T10:32:54.518Z,34,33,66,55821,150047,2783581,2989515,1.179502,0.066967 +b28910c8-91a8-4730-a9c9-6b775397d636,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,33,66,22381,106471,2850995,2979913,0.988887,0.05635 +f1421632-2724-449e-a601-c3d4dd87368d,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T10:18:10.339Z,2026-08-30T10:30:42.044Z,34,31,62,51454,136996,2712982,2901494,1.123654,0.063838 +a997eb7a-c655-4d62-80d2-9bded4f63f7a,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-02,,51,1044,10573,242661,2611311,2865589,1.066649,0.060091 +8c46cf47-089c-4516-8754-af9915c3660d,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-24,2026-08-24,,35,70,16835,93509,2753309,2863723,0.920945,0.052527 +fd1404d8-964d-47fb-8b2a-1caabad3acf7,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-08,2026-08-08,,35,65,23883,71333,2667119,2762400,0.898493,0.051332 +8e5baa9d-136d-47ae-adf5-ca7977ba8805,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-24,2026-08-24,,27,54,24362,194590,2540309,2759315,1.040175,0.058793 +591d9682-5abf-4461-a10b-2849d2f18045,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T10:31:39.358Z,2026-08-30T10:41:21.947Z,32,26,52,40530,139322,2530572,2710476,1.031404,0.058544 +07bd335a-6ce9-486e-a6e7-1510683500b2,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-05,2026-08-05,,36,68,22351,145062,2392162,2559643,0.923489,0.052355 +68911603-e91b-415c-833d-556a2f4c3cf2,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T12:13:49.599Z,2026-08-30T12:22:13.601Z,29,27,54,33785,157351,2236584,2427774,0.950533,0.0538 +9b50c3b5-6b72-442d-bd10-8b8e378be1d7,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-25,2026-08-25,,27,54,41572,113186,2266554,2421366,0.930757,0.052884 +a9cffe35-4b2b-46bd-bc6a-5b10f6ebbdf4,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T12:44:22.917Z,2026-08-29T13:31:52.979Z,33,33,66,12424,114709,2106958,2234157,0.76316,0.043318 +cca35761-2bf5-4554-895f-ffbbf7096f13,claude-agent,-workspace-romfastsql,claude-opus-5,2026-09-01T07:21:40.290Z,2026-09-01T07:50:24.336Z,36,34,68,16942,55838,2150439,2223287,0.711927,0.040685 +db1206c9-7660-4b19-bd3b-07e426b6fc49,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,28,470,11902,62696,2148077,2223145,0.699301,0.039934 +7a972409-bd2d-498b-813a-405b6631a328,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,27,54,14724,90178,2050154,2155110,0.72415,0.041201 +0cc83dfa-a24c-4e69-8900-f8f2adf0291d,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-01,2026-08-01,,31,190,34112,98697,2020394,2153393,0.813837,0.04625 +31f7bb5a-c51e-4151-8806-8eb74679f245,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,29,58,15394,58650,2065581,2139683,0.686976,0.039235 +527b7f7d-6e14-4968-bfcf-c4fce07e130d,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-11,2026-08-11,,28,53,24711,93504,2016069,2134337,0.763886,0.043436 +d29dac40-f042-4ec8-8352-0d6fe99611b9,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T14:28:27.455Z,2026-08-31T06:30:28.033Z,34,32,64,10306,137095,1751301,1898766,0.692707,0.039133 +2f248321-3a86-4312-87f8-d805beefa5e8,claude-agent,-workspace-claude-agent,claude-opus-5|claude-sonnet-5,2026-08-31T17:51:13.105Z,2026-08-31T17:56:16.338Z,29,35,70,12346,83267,1736043,1831726,0.622365,0.035377 +34189546-00c0-430d-9610-762f8b393e29,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-20,2026-08-20,,24,48,11688,85631,1707016,1804383,0.615202,0.034953 +3ae7d7c8-5c2f-42f0-94cc-414751cfc3c2,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-20,2026-08-20,,21,42,8605,83801,1535967,1628415,0.554594,0.031479 +37787275-9ca7-41a9-9285-bb24545f8687,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-03,2026-08-03,,22,42,14956,80423,1397571,1492992,0.541826,0.030737 +d3319d8d-dad8-41eb-9cda-33485311897c,moltbot,-home-moltbot-echo-core,claude-opus-5,2026-08-31T22:05:29.603Z,2026-08-31T22:13:23.117Z,26,21,42,9260,44151,1369800,1423253,0.458762,0.026176 +a7472674-3676-4370-93dc-ee872d4d4f0b,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-07,2026-08-07,,22,42,14642,80492,1327642,1422818,0.522359,0.029615 +80282a08-97d9-4422-ada1-4441f0009dee,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-29,2026-08-29,,18,36,9734,85994,1307492,1403256,0.50322,0.028498 +1ded898d-91df-4f34-8f3b-d2b9e15d4b2d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-07T11:58:14.584Z,2026-08-09T18:08:12.343Z,29,25,50,4839,156040,1234070,1394999,0.560676,0.031428 +c48000e5-242f-4555-a07e-d8e72cb89139,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-24,2026-08-24,,17,34,7953,94626,1291126,1393739,0.50321,0.028455 +97c7c6b3-66f1-412f-82b3-f646f7f34a54,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-26T18:00:01.392Z,2026-08-26T18:02:21.455Z,21,21,42,7438,67514,1211949,1286943,0.442412,0.025105 +b39e388a-1fe1-4125-a8c2-e4e7ba69fbae,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-24,2026-08-24,,15,30,3166,91116,1150207,1244519,0.440589,0.024881 +661b952d-f4f3-42d0-bebb-68a9f467e762,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-31T21:11:57.183Z,2026-08-31T21:15:40.045Z,24,23,46,8441,58931,1128905,1196323,0.413224,0.023467 +8eb0a511-9853-468f-b2b7-d56658557d8a,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-30T12:33:30.227Z,2026-08-30T12:38:04.344Z,21,21,42,9456,41226,1136632,1187356,0.394906,0.022509 +ac92d43f-2545-4d49-851f-4eb01f3138a3,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T13:14:34.010Z,2026-08-31T13:17:53.873Z,16,16,32,5321,58968,1026841,1091162,0.372991,0.021158 +6ec1bfde-87a5-4d21-a9e1-77213fe33737,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-09T17:55:37.305Z,2026-08-09T18:03:16.855Z,15,14,27,5752,132806,938225,1076810,0.455213,0.025474 +df73fa18-e9a4-4324-bd19-9b60933d396c,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-06,2026-08-06,,15,28,8054,45577,906715,960374,0.335031,0.019035 +33d62f86-6fbf-4a20-9cad-4a2894ce7b6d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-22T08:42:03.866Z,2026-08-22T08:44:32.030Z,15,15,30,4292,91775,762963,859060,0.345782,0.019403 +5949fa00-fe21-4167-83ef-86a5eeae3bd1,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T13:20:44.457Z,2026-08-31T15:18:06.733Z,11,11,22,6474,79088,735654,821238,0.33051,0.018587 +2f59b106-2bf4-411c-bd83-59721128dc72,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-04T16:33:44.566Z,2026-08-04T16:35:33.026Z,12,12,24,3187,104724,683529,791464,0.338388,0.018906 +8dc3e3b2-1593-4883-b17f-e880a145067d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T13:19:35.526Z,2026-08-31T21:32:12.409Z,15,14,35,3864,150945,628868,783712,0.391879,0.021723 +cbc52412-4491-472e-a6b5-abb1bbc1559b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-27T18:31:56.189Z,2026-08-27T18:34:14.668Z,15,11,22,5295,37233,675604,718154,0.251112,0.014252 +6f0eb812-0121-40f5-9e90-da8459b2a720,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-09T18:13:18.598Z,2026-08-09T18:14:32.659Z,11,10,20,4828,38382,589062,632292,0.228162,0.012923 +f072f388-8200-45c4-83a2-185a3930a7c4,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-30T13:06:48.623Z,2026-08-30T13:09:08.281Z,16,14,28,4636,18091,598386,621141,0.201345,0.011494 +29ddfc1c-b9e1-4e3b-969e-bf60c8fededc,claude-agent,-workspace-romfastsql,claude-opus-5,2026-09-01T07:50:24.342Z,2026-09-01T07:52:08.351Z,14,11,22,4418,36832,571072,612344,0.219514,0.012435 +921df788-6107-4606-a72f-79c3bc220c8f,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,9,17,5060,75192,527619,607888,0.264738,0.01482 +ddfe1969-d18f-459a-9a40-793f50101512,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-29,2026-08-29,,9,18,5448,68028,518755,592249,0.254112,0.014247 +aa2d179f-e529-4027-a4d8-9faa2d74598d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-30T10:00:01.343Z,2026-08-30T10:01:56.343Z,10,10,20,1485,62217,522087,585809,0.229408,0.01287 +91c3d469-f763-4122-b0da-52c1774f2cc1,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-02,2026-08-02,,10,19,4063,33062,545103,582247,0.205917,0.011673 +776c569b-45ad-4ed6-910b-f938f419f993,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-02,,9,18,2058,67255,506980,576311,0.235052,0.013165 +f9a0f205-f38a-4875-9100-2dac6e9b75d2,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-02,,9,18,5389,61683,466416,533506,0.231361,0.012971 +56a8b8bf-b0b3-4460-8b3f-0ebc091e832b,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-01,2026-08-01,,9,18,3767,33641,491144,528570,0.191395,0.010833 +0d357c59-bc59-48f8-8ee5-a1f715cbb4e6,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-03,2026-08-03,,7,14,7304,77344,417977,502639,0.249113,0.013898 +880b74f6-d611-43bf-b49d-9fcd45a3ab53,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-30T18:00:01.334Z,2026-08-30T18:01:55.557Z,8,8,16,1436,64330,414506,480288,0.204174,0.011403 +03c9ee6e-988b-4463-83c1-bf9f8a88585a,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-02T10:00:01.313Z,2026-08-02T10:01:28.711Z,9,9,18,1855,54652,420718,477243,0.194087,0.010875 +4d64847f-514e-4f2b-b9b2-90c2aca0897c,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-12,2026-08-12,,9,192,7623,62082,377576,447473,0.218895,0.01224 +3eed4154-8f06-4231-a4aa-58a47dfc1d76,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-18T11:05:00.211Z,2026-08-19T05:33:34.179Z,8,8,16,1603,90369,348742,440730,0.224265,0.012411 +2796df69-5753-4cff-8aa0-685901086cf5,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T10:00:01.303Z,2026-08-29T10:03:43.803Z,7,7,14,989,68462,356707,426172,0.192962,0.010734 +41ae0eda-b3ea-4223-b417-47f10f4d9452,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T05:45:24.857Z,2026-08-29T05:46:29.136Z,6,6,12,2212,75695,332125,410044,0.202075,0.011213 +5ca95198-7ef0-49cd-b28b-b10b60ff4cf7,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-24T14:00:00.824Z,2026-08-24T14:00:43.942Z,7,7,14,1427,58600,342137,402178,0.177294,0.009885 +c2c8a98b-48b5-4928-92be-ef615e856c2d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T10:00:00.818Z,2026-08-31T10:01:50.713Z,7,7,14,1195,57818,340748,399775,0.174817,0.009747 +0d5ad236-4804-41b8-8776-6ee75769b8ee,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-06T06:00:01.079Z,2026-08-06T06:00:23.118Z,7,7,14,1293,54689,314156,370152,0.163954,0.009138 +7bcd367f-8401-4c0a-9da2-70302ada6eae,claude-agent,-workspace-escape-builder,claude-opus-5,2026-08-30T06:28:04.409Z,2026-08-30T06:37:04.601Z,11,8,16,1784,18247,347678,367725,0.123814,0.007031 +1eaa121c-e706-4bf1-a9e9-035ba70fe572,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-03T14:57:31.909Z,2026-08-03T15:06:20.282Z,6,6,12,3554,61484,284663,349713,0.175744,0.009771 +ff5d9904-5f42-4eef-8ccc-baf6bbfe7bf2,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-17T05:18:45.600Z,2026-08-17T05:19:41.202Z,7,7,14,1014,76541,268185,345754,0.181367,0.010018 +806379c8-6a3e-4ec6-a774-af9c926cd7eb,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T14:00:06.273Z,2026-08-31T14:02:26.872Z,6,6,12,851,23831,319016,343710,0.120069,0.006786 +7cf0ab18-39da-40f4-a6a3-2a3ea5c13fb7,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-24T18:00:00.825Z,2026-08-24T18:00:33.795Z,6,6,12,1134,58972,283389,343507,0.161248,0.008958 +c419d1c6-1e1d-409f-b049-eabb728f319b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-23T14:00:01.199Z,2026-08-23T14:00:51.619Z,6,6,12,1951,58336,282668,342967,0.163765,0.009104 +41774b56-5060-4759-b753-073fdfd70251,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-30T14:00:01.258Z,2026-08-30T14:02:25.612Z,6,6,12,887,57744,284122,342765,0.158633,0.008815 +0975432a-6a4e-4652-9fc4-bab385c1bc7f,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T18:00:01.263Z,2026-08-31T18:01:19.162Z,6,6,12,937,57910,283795,342654,0.159,0.008835 +bb8c4f9b-b603-46cb-bab0-b5a2cf874cc4,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-28T10:00:01.336Z,2026-08-28T10:00:19.263Z,6,6,12,732,57936,283701,342381,0.15811,0.008785 +6baaa3b3-a883-4262-a2ef-477d3850181a,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-24T06:00:01.191Z,2026-08-24T06:00:16.652Z,6,6,12,842,57560,282986,341400,0.157882,0.008773 +097bb816-3599-42f0-99c8-a8de72ab9f5d,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-31T17:49:42.154Z,2026-08-31T17:50:21.880Z,8,7,14,2919,30862,296434,330229,0.133143,0.007492 +b3dfb613-97b1-43fa-aaf5-3257a3e382a3,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-22,2026-08-22,,5,10,1061,67665,259401,328137,0.166858,0.009232 +93c4d966-44cf-4761-91a1-f6bd45b7ed9b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-09-01T07:26:34.537Z,2026-09-01T07:27:49.266Z,6,6,12,2861,28295,296342,327510,0.129267,0.007283 +5293a6e9-cc56-4d9b-9693-e76055201898,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-20T10:00:01.306Z,2026-08-20T10:00:43.982Z,6,6,12,1142,54852,268666,324672,0.151688,0.00843 +e6538682-051f-4957-906f-b8b79661b5b1,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-28,2026-08-28,,5,10,2001,28421,290333,320765,0.124094,0.006988 +d2b32576-3208-454e-986e-ca90a6595af8,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-14T10:00:00.695Z,2026-08-14T10:00:20.725Z,6,6,12,912,55349,263659,319932,0.15007,0.008335 +13aafc89-cd9a-4c39-8f39-b613f450b9ac,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-11T10:00:01.173Z,2026-08-11T10:01:25.272Z,6,6,12,1453,56091,261982,319538,0.153053,0.008501 +4f16920a-59a3-4c73-ba66-24b3b672404b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-11T18:00:01.409Z,2026-08-11T18:00:22.372Z,6,6,12,916,53844,261421,316193,0.147398,0.00819 +5db5ebb8-c69a-4c1b-85d7-781340c29a3e,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-16T14:00:01.317Z,2026-08-16T14:00:20.035Z,6,6,12,1019,53306,261023,315360,0.146995,0.008169 +794b0414-c899-4458-9163-2dedfd666289,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-07T06:00:01.500Z,2026-08-07T06:00:19.740Z,6,6,12,822,52919,259263,313016,0.145129,0.008064 +9ef499d4-0db0-4dc8-9d0b-11273dcbd107,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-24,2026-08-24,,4,8,8467,82594,218213,309282,0.209633,0.011585 +90b7dcab-1ab7-4f40-b53d-eff3381ac2fd,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-27T17:17:16.097Z,2026-08-27T17:17:40.760Z,5,5,10,1242,59398,229012,289662,0.148179,0.008201 +51421702-7e64-4249-b5a4-73ca23012f40,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-25T14:00:01.323Z,2026-08-25T14:00:44.108Z,5,5,10,2266,58813,226319,287408,0.151166,0.008373 +1cd0b14b-2799-4886-8768-db672599eaae,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-26T14:00:01.815Z,2026-08-26T14:00:35.609Z,5,5,10,1322,58075,227295,286702,0.146233,0.008096 +a5f482c4-63b5-452b-9a3e-5a12431a52d8,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-26T10:00:01.360Z,2026-08-26T10:00:29.901Z,5,5,10,996,57863,227025,285894,0.144431,0.007995 +b1e942ac-ee78-4917-b039-323257a7f340,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T06:00:01.323Z,2026-08-31T06:00:18.719Z,5,5,10,651,57935,227247,285843,0.143072,0.007917 +9f410988-8633-4e76-a998-3e1220fa27a0,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-23T18:00:01.602Z,2026-08-23T18:00:29.505Z,5,5,10,903,57722,226788,285423,0.143763,0.007957 +42c01fa8-af53-4c24-8182-5d89bb47a09f,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T14:00:01.307Z,2026-08-29T14:02:14.570Z,5,5,10,795,23355,261195,285355,0.10412,0.005869 +96af93af-39df-4c4d-9aa3-693cd2021424,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-27T18:33:05.232Z,2026-08-27T18:34:08.895Z,5,5,10,2933,34139,246913,283995,0.124911,0.006998 +4cf7134a-996a-4aa7-b574-4324f10095d9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-24T10:00:00.813Z,2026-08-24T10:00:32.961Z,5,5,10,1012,57268,225671,283961,0.143316,0.007934 +ccddc815-faec-4217-b4c3-9ec96b0de14b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-27T06:00:01.280Z,2026-08-27T06:00:17.844Z,5,5,10,762,57184,225999,283955,0.142184,0.00787 +6f6565fd-2761-4482-8f67-4c3fbbf078de,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,5,10,982,57703,225194,283889,0.143669,0.007952 +562e7df4-b7e7-459b-894a-7e506a3ee524,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-09,2026-08-09,,5,242,5341,58249,217255,281087,0.161874,0.008981 +f38e96bb-701f-494b-99ec-29f741e8bf61,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-03T18:00:00.657Z,2026-08-03T18:00:40.382Z,5,5,10,724,60050,213720,274504,0.142837,0.007891 +2048392f-c83b-41e5-a984-2dc776c91738,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-04T06:00:00.708Z,2026-08-04T06:00:14.804Z,5,5,10,662,59998,213660,274330,0.142476,0.007871 +f077bf0f-7846-4a14-82d3-16121e42e05d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-20T15:00:04.021Z,2026-08-20T15:01:00.440Z,5,5,10,3581,31753,237956,273300,0.122093,0.006847 +3f9b57fc-0d0e-4028-ab40-5a5f08fc5a50,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-22T06:00:00.759Z,2026-08-22T06:00:13.556Z,5,5,10,635,55448,216270,272363,0.136665,0.007562 +afc98d4f-3bf3-4ce0-89a3-86ce299f8478,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-21T18:00:01.268Z,2026-08-21T18:01:13.173Z,5,5,10,686,54754,214918,270368,0.135567,0.007503 +7264dec8-6033-44e7-afc1-fd5bf490216a,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-20T18:00:01.222Z,2026-08-20T18:00:18.647Z,5,5,10,787,54664,214433,269894,0.135759,0.007514 +b3252404-e603-410a-8eed-07af3d3b6eb9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-22T14:00:00.796Z,2026-08-22T14:00:18.218Z,5,5,10,652,54636,214529,269827,0.135151,0.007479 +e3e7deca-e492-42e2-8480-58f0949603c5,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-22T18:00:00.749Z,2026-08-22T18:00:17.358Z,5,5,10,743,54521,214484,269758,0.135378,0.007493 +79420615-e2f8-4947-b04b-d60bfb46f4af,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-21T06:00:01.149Z,2026-08-21T06:00:15.817Z,5,5,10,653,54522,214158,269343,0.134899,0.007466 +3014cfc9-a947-440a-9bc3-c8158d5d2e17,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-09T06:00:01.110Z,2026-08-09T06:00:15.964Z,5,5,10,759,55863,210444,267076,0.136277,0.007537 +85ca8135-fc64-4727-a2ae-c6ded393733f,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-15T18:00:01.127Z,2026-08-15T18:00:16.360Z,5,5,10,718,54256,209885,264869,0.133702,0.007398 +c945ed99-fdef-4445-9386-fbeacec46be4,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-21,2026-08-21,,4,8,787,68231,195199,264225,0.149749,0.008243 +0e10d468-ef5a-425a-b538-32d204ed42d4,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-06T17:00:04.241Z,2026-08-06T17:01:12.411Z,5,5,10,3951,30959,228793,263713,0.120227,0.006742 +607fc66b-0e5f-442e-ba6a-c7ea35c94938,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-17T14:00:01.024Z,2026-08-17T14:00:18.023Z,5,5,10,756,54103,208814,263683,0.133376,0.00738 +5cbe73cb-3a7d-42d3-a455-dcf27ac6ea15,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-13T06:00:01.122Z,2026-08-13T06:00:13.296Z,5,5,10,645,53628,209043,263326,0.132282,0.00732 +cbf7fdd5-9ec2-4a22-aec3-9b253e1b5887,moltbot,-home-moltbot-echo-core,claude-haiku-4-5-20251001,2026-08-02T10:00:40.880Z,2026-08-02T10:01:07.705Z,7,7,58,1696,21187,239765,262706,0.099544,0.005614 +2d9e0310-7fee-4ddf-b942-e525ffc91080,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-15T10:00:01.209Z,2026-08-15T10:00:14.931Z,5,5,10,567,53324,208327,262228,0.131327,0.007267 +a5bc72f9-7790-42c4-a031-87a23dcee78d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-12T10:00:01.724Z,2026-08-12T10:00:24.324Z,5,5,10,957,53190,207661,261818,0.132683,0.007344 +3623de52-e6eb-45c4-bea8-3332fbfb7ca5,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-04T10:00:00.685Z,2026-08-04T10:00:20.665Z,5,5,10,717,53333,207636,261696,0.13182,0.007295 +6c3fa617-01dd-45ab-bbd2-28acb1958d42,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-02T14:00:01.280Z,2026-08-02T14:00:25.287Z,5,5,10,722,53331,207577,261640,0.131824,0.007295 +ceacecac-7aa0-4470-98ff-254413eb98f3,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-06T14:00:01.403Z,2026-08-06T14:00:26.570Z,5,5,10,703,53302,207600,261615,0.131706,0.007288 +f61b334d-be3a-4cd8-b6db-d78e2b8f4a07,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-07T10:00:00.681Z,2026-08-07T10:00:20.002Z,5,5,10,589,53303,207691,261593,0.131229,0.007261 +f1962ec6-7c45-432f-b05d-cba27ed33fde,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-06T10:00:01.314Z,2026-08-06T10:00:53.437Z,5,5,10,1402,52909,207197,261518,0.134127,0.007427 +482edad1-5269-41a2-9628-dc6d85de81e3,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-06T18:00:01.293Z,2026-08-06T18:00:29.664Z,5,5,10,1113,53312,206916,261351,0.133346,0.007381 +5491651a-3fb6-4fb0-bfdf-77a74a65648b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-07T14:00:00.664Z,2026-08-07T14:00:18.860Z,5,5,10,628,53225,207383,261246,0.131212,0.00726 +2f55a3a1-15c2-4685-b8fd-4a9e6daa8c74,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-14T14:00:01.330Z,2026-08-14T14:00:15.327Z,5,5,10,526,52985,207660,261181,0.130499,0.007221 +b3ce1e87-a90d-46fc-82d1-ea183b63e04c,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-13T10:00:00.714Z,2026-08-13T10:00:17.031Z,5,5,10,579,52960,207515,261064,0.13066,0.00723 +69c1f93e-f090-45bd-aa45-c21dc69372e7,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-12T18:00:01.310Z,2026-08-12T18:00:17.282Z,5,5,10,583,52963,207481,261037,0.130672,0.007231 +11910bb8-e574-47f5-a5bd-8bd09de166e1,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-18T10:00:00.722Z,2026-08-18T10:00:15.739Z,5,5,10,566,52946,207459,260981,0.130568,0.007225 +b8f4b8cd-d882-498e-946c-e133ddacc50f,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-08T06:00:00.712Z,2026-08-08T06:00:12.432Z,5,5,10,629,52834,206707,260180,0.130493,0.007221 +b8eff490-e361-473f-b4d3-d95987fcc9c0,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-02T06:00:01.079Z,2026-08-02T06:00:16.465Z,5,5,10,684,52772,206525,259991,0.130601,0.007228 +c70d9227-69f5-4375-8df8-3f34f90d1f0f,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-10T06:00:01.163Z,2026-08-10T06:00:17.675Z,5,5,10,642,52730,206393,259775,0.130323,0.007212 +9cd1dd30-3336-4ce6-8233-dee7561c58a6,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-09-01T06:00:00.813Z,2026-09-01T06:00:18.790Z,5,5,10,821,52172,204596,257599,0.129862,0.007188 +aaac5b3e-bd06-4064-af2a-d28203e41e74,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-23T07:41:51.239Z,2026-08-23T07:42:13.276Z,4,4,8,906,62086,171180,234180,0.135425,0.007451 +fc088cfd-6fe5-428b-8fcc-45c9404b9f8c,moltbot,-home-moltbot-echo-core,claude-haiku-4-5-20251001,2026-08-11T10:00:41.084Z,2026-08-11T10:01:10.356Z,6,6,50,1782,24103,207161,233096,0.095517,0.005364 +1841f48c-63d8-4077-8911-d9fe27949c0f,moltbot,-home-moltbot-echo-core,claude-haiku-4-5-20251001,2026-08-20T10:00:18.028Z,2026-08-20T10:00:35.754Z,6,6,50,848,22813,209272,232983,0.09015,0.005066 +2823244f-4fe0-4dd7-a7c9-b50955efff73,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-25T18:00:01.394Z,2026-08-25T18:00:32.701Z,4,4,8,1244,57918,170037,229207,0.13078,0.007206 +e077db12-6251-4ea1-8c11-1444d1e12b29,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-25T10:00:00.870Z,2026-08-25T10:00:31.349Z,4,4,8,985,57210,169481,227684,0.128504,0.00708 +fc52cd3b-268f-44e0-87b0-2eef790cb9de,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-27T18:00:01.308Z,2026-08-27T18:00:15.082Z,4,4,8,451,22743,203814,227016,0.086827,0.004876 +d2d37288-ef9a-418a-8148-9cfdf33dc368,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-27T14:00:02.155Z,2026-08-27T14:00:16.645Z,4,4,8,525,57102,169284,226919,0.126278,0.006954 +636eb6e2-6b57-4bd9-802f-8150dde01d6f,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-25T06:00:00.883Z,2026-08-25T06:00:10.588Z,4,4,8,415,57068,169395,226886,0.125775,0.006925 +0356d8a9-ec08-443a-8312-0617048030ab,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-30T06:00:01.259Z,2026-08-30T06:00:10.879Z,4,4,8,481,57058,169200,226747,0.126001,0.006938 +b3764be2-5fae-4700-8e0d-891f966204d4,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-28T06:00:01.388Z,2026-08-28T06:00:16.932Z,4,4,8,511,56747,168861,226127,0.125609,0.006917 +10f15ebb-dfd2-4625-9bdf-c735db388d60,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-30T12:38:36.392Z,2026-08-30T12:39:15.794Z,6,6,12,1659,20071,204007,225749,0.088458,0.004981 +cab5650a-14d7-4913-97fe-7068f95341e3,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-17T06:00:01.237Z,2026-08-17T06:00:11.305Z,4,4,8,552,26359,196421,223340,0.090412,0.005062 +41ccf058-7af6-403d-928c-0ebada0cb762,moltbot,-home-moltbot-echo-core,claude-haiku-4-5-20251001,2026-08-06T10:00:16.320Z,2026-08-06T10:00:38.206Z,6,6,50,1365,21530,199243,222188,0.088021,0.004948 +0777b44e-961a-4d46-83a2-6b6dbc2738aa,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-19T06:00:00.768Z,2026-08-19T06:00:12.215Z,4,4,8,556,54480,160468,215512,0.120451,0.006633 +7bf19cf8-7d4a-48b0-8e44-bfe8df94ab20,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-20T14:00:01.666Z,2026-08-20T14:00:19.199Z,4,4,8,657,54224,160481,215370,0.120541,0.006639 +3c91866c-5d5f-4ba8-881e-e86b2c8f0b39,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-19T18:00:01.261Z,2026-08-19T18:00:16.308Z,4,4,8,471,54459,160421,215359,0.120036,0.006609 +19f5882c-1adb-4b48-8d0d-78bf69502ba9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-23T06:00:01.933Z,2026-08-23T06:00:12.279Z,4,4,8,395,54177,160763,215343,0.119395,0.006574 +119c5631-d92a-4f39-9e5b-252d0acce6fc,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-19T10:00:00.789Z,2026-08-19T10:00:15.948Z,4,4,8,519,54320,160227,215074,0.120002,0.006608 +ee50d51c-6d15-4f9d-b792-53c8d4d5323b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-19T14:00:01.074Z,2026-08-19T14:00:16.246Z,4,4,8,460,54276,160302,215046,0.1197,0.006591 +846f9493-797b-4b51-b76e-48f6012d2a39,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-20T06:00:01.134Z,2026-08-20T06:00:12.119Z,4,4,8,488,53946,159880,214322,0.119252,0.006567 +b7154833-4543-4325-92f6-ce21a4a1d4fa,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-13T15:00:04.274Z,2026-08-13T15:00:59.725Z,4,4,8,3513,30574,179477,213572,0.104936,0.005864 +525de014-3607-4513-be7b-42f6974b9ee6,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-11T14:00:01.296Z,2026-08-11T14:00:42.521Z,4,4,8,500,53516,155794,209818,0.11764,0.006476 +d6b9fb17-7826-4a86-bdd7-77e38d436837,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-16T10:00:01.198Z,2026-08-16T10:00:15.604Z,4,4,8,699,53177,155427,209311,0.117946,0.006495 +ad9e3cfb-80be-4b4f-9ae7-c51f23567632,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-13T14:00:00.675Z,2026-08-13T14:00:14.648Z,4,4,8,582,53027,155534,209151,0.117249,0.006456 +824aa1bf-ff55-4808-a851-7f47055657e7,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-15T14:00:01.260Z,2026-08-15T14:00:15.638Z,4,4,8,617,53078,155313,209016,0.117417,0.006465 +cb9f117a-5771-4225-a1b1-5f9bdfe7b35a,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-15T06:00:01.135Z,2026-08-15T06:00:10.143Z,4,4,8,532,52992,155468,209000,0.116962,0.00644 +62fe89a4-bdbb-4fe5-bdfd-12de74dd36c9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-14T18:00:01.306Z,2026-08-14T18:00:13.726Z,4,4,8,490,52950,155370,208818,0.116693,0.006425 +a78eb961-016f-46b9-bca6-e252ef18f3e5,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-17T18:00:01.562Z,2026-08-17T18:00:14.432Z,4,4,8,470,52942,155395,208815,0.116601,0.00642 +9ed2ac5e-5abb-4f16-8501-4b3a3b09486c,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-14T06:00:00.738Z,2026-08-14T06:00:10.450Z,4,4,8,473,52933,155372,208786,0.116595,0.006419 +7809ad84-ea68-4e8d-b93a-e9f707148890,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-17T10:00:01.298Z,2026-08-17T10:00:14.738Z,4,4,8,536,52942,155249,208735,0.116853,0.006434 +7db6bec0-390d-44ff-81dd-17647efbf140,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-16T18:00:01.161Z,2026-08-16T18:00:13.733Z,4,4,8,563,52934,155195,208700,0.116947,0.006439 +ae8286a9-0899-4790-836a-6b4d6e969f2b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-03T14:00:01.042Z,2026-08-03T14:00:13.818Z,4,4,8,445,53267,154947,208667,0.116829,0.006431 +3c5cbf5f-e8bc-4fea-b570-3e9b368fae34,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-16T06:00:01.094Z,2026-08-16T06:00:10.310Z,4,4,8,534,52905,155202,208649,0.11678,0.00643 +92abee64-e5ca-4821-9d58-ccaf5cb34daa,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-18T06:00:01.051Z,2026-08-18T06:00:09.488Z,4,4,8,384,52844,155261,208497,0.11605,0.006389 +6b661477-8442-479a-8916-de682cc837ae,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-12T14:00:01.296Z,2026-08-12T14:00:12.464Z,4,4,8,369,52829,155244,208450,0.115959,0.006384 +e1932b64-56cc-4962-8194-3d233f33fb65,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-05T10:00:01.525Z,2026-08-05T10:00:17.989Z,4,4,8,566,52762,154515,207851,0.116542,0.006417 +53a7a99f-e52a-48ce-a80f-30b40227f494,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-10T14:00:01.727Z,2026-08-10T14:01:06.560Z,4,4,8,583,52760,154469,207820,0.116602,0.00642 +3ac70708-5be7-4772-8452-ef43e348e9a7,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-09T14:00:01.330Z,2026-08-09T14:00:27.478Z,4,4,8,527,52695,154585,207815,0.116295,0.006403 +042eb30a-398f-44e1-ae1e-2f5da1bcebbd,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-10T18:00:01.290Z,2026-08-10T18:00:15.336Z,4,4,8,601,52680,154422,207711,0.116557,0.006418 +d4df7096-bf93-4a11-a282-99d4119fef3a,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-07T18:00:00.686Z,2026-08-07T18:00:14.547Z,4,4,8,494,52662,154491,207655,0.116079,0.006391 +5c468e28-9a12-45bf-a6c9-f49c5ccd896c,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-04T18:00:01.305Z,2026-08-04T18:00:15.770Z,4,4,8,481,52641,154493,207623,0.115993,0.006386 +2394b376-7316-4793-bb3b-243e6635c6e5,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-08T14:00:01.185Z,2026-08-08T14:00:15.464Z,4,4,8,475,52628,154472,207583,0.115943,0.006384 +dff31169-ea2d-4bcd-b39c-b430fba828ec,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-02T18:00:01.231Z,2026-08-02T18:00:14.110Z,4,4,8,471,52662,154407,207548,0.115956,0.006384 +3e63521e-0f6f-4e8f-989e-97aad69784f9,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-05T18:00:01.252Z,2026-08-05T18:00:15.606Z,4,4,8,544,52635,154298,207485,0.116211,0.006399 +826bb2a7-a888-4f30-bcc5-aa07a30e9d60,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-05T06:00:01.133Z,2026-08-05T06:00:14.311Z,4,4,8,546,52623,154274,207451,0.116197,0.006398 +ae977b03-9269-4b9e-bc54-23bd69190f70,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-09T10:00:01.320Z,2026-08-09T10:00:13.420Z,4,4,8,461,52558,154267,207294,0.11573,0.006372 +4252e3a5-db2b-4862-b7b1-ea33848d77d4,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-04T14:00:00.670Z,2026-08-04T14:00:20.895Z,4,4,8,456,52548,154235,207247,0.115686,0.006369 +1296c6bd-846c-4658-ab07-2b31d3784745,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-03T06:00:01.067Z,2026-08-03T06:00:12.327Z,4,4,8,406,52498,154266,207178,0.115404,0.006353 +13a18670-def8-4fe2-95dc-9f523e9f5289,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-30T12:42:37.560Z,2026-08-30T12:43:06.679Z,8,5,10,1735,19352,175667,196764,0.080414,0.004521 +a20c0c0c-ae6d-43fb-8854-560445781d01,claude-agent,-tmp-pytest-of-claude-pytest-27-test-steering-mid-tur-pe-cli-r0,claude-sonnet-5,2026-08-30T10:28:10.804Z,2026-08-30T10:28:23.095Z,5,5,10,689,20055,161868,182622,0.073208,0.004105 +0a3f9f33-b47c-4e1a-ae96-ef02d9839644,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-30T12:09:04.882Z,2026-08-30T12:24:41.574Z,5,5,10,532,17356,160794,178692,0.06846,0.003847 +57b5b160-ff22-402a-a134-9c7eef7cedff,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T12:23:04.067Z,2026-08-31T12:23:22.707Z,3,3,6,808,58962,112617,172393,0.115391,0.006314 +ac221a26-1ac2-4db6-bfb7-27b8332759e6,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-28T14:00:01.716Z,2026-08-28T14:00:23.459Z,3,3,6,797,57006,112835,170644,0.112661,0.006168 +3d22eded-9d1c-4caf-911b-2febf2fddda7,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-28T18:00:01.390Z,2026-08-28T18:00:13.024Z,3,3,6,431,57055,112982,170474,0.111157,0.006082 +e2c9b296-3ef0-4c94-b5eb-5d190dacc653,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-26T06:00:01.233Z,2026-08-26T06:00:40.374Z,4,3,6,627,56806,112721,170160,0.111603,0.006108 +9215df6a-3813-465e-b8ad-df5123f8a444,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T06:00:01.283Z,2026-08-29T06:00:13.736Z,3,3,6,464,22431,147041,169942,0.071684,0.004004 +684ef8fd-e749-4c39-84a0-c899038744d1,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-22T10:00:00.778Z,2026-08-22T10:00:14.274Z,3,3,6,560,19657,140770,160993,0.066592,0.003726 +64787522-2970-412f-b42a-2da644553aec,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-11T10:04:33.639Z,2026-08-11T10:04:53.399Z,3,3,6,560,19469,137191,157226,0.065399,0.003658 +556f182c-102e-4239-b613-afec64bc78df,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-13T18:00:00.686Z,2026-08-13T18:00:13.749Z,3,3,6,469,52573,102508,155556,0.102326,0.005598 +b539be40-d80b-4633-b6c3-8eb0910dde7e,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-11T06:00:01.095Z,2026-08-11T06:00:09.871Z,3,3,6,365,52350,102468,155189,0.101546,0.005555 +005abd4a-ec78-4d0a-aed5-09c25b5e73df,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-12T06:00:01.145Z,2026-08-12T06:00:08.808Z,3,3,6,359,52330,102451,155146,0.101487,0.005552 +d36ebbd0-01fd-48b2-b66f-31e6f5895f12,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-03T10:00:01.309Z,2026-08-03T10:00:17.461Z,3,3,6,426,52242,101859,154533,0.101505,0.005553 +a41255fe-2408-4367-8527-3468881bd8f3,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-09T18:00:01.322Z,2026-08-09T18:00:07.948Z,3,3,6,341,18493,135486,154326,0.062625,0.003505 +c2471c04-1f41-49b7-9d9c-a887eebb32e5,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-08T18:00:01.349Z,2026-08-08T18:00:08.193Z,3,3,6,337,52053,101917,154313,0.100864,0.005517 +9a5caa5c-7895-4626-b525-69879b4cd00b,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-08T10:00:00.703Z,2026-08-08T10:00:12.012Z,3,3,6,343,52046,101843,154238,0.100861,0.005517 +c187ce45-0b30-4b7a-aee8-63c9527b823e,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-05T14:00:01.414Z,2026-08-05T14:00:09.460Z,3,3,6,371,51954,101839,154170,0.100855,0.005517 +b1b7b4a2-d02f-4569-b5a0-684965de205a,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-24,2026-08-24,,2,4,552,74207,73891,148654,0.125536,0.006812 +7af20b60-db29-46fd-b373-2a1f1470d55c,claude-agent,-workspace-romfastsql,claude-opus-5,2026-08-30T06:38:00.952Z,2026-08-30T06:38:19.664Z,3,3,6,961,24053,109636,134656,0.066416,0.003689 +1916ed3a-8b0b-4a2a-9bd9-9a3b1e07f2dc,LENOVO-AIO-BIRO,(windows),claude-opus-5,2026-08-11,2026-08-11,,3,6,725,21112,106939,128782,0.060559,0.003369 +37b824a0-f1c7-4f6f-bc47-6fcf3253a300,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-31T13:15:26.199Z,2026-08-31T13:15:35.002Z,2,2,4,479,22505,90396,113384,0.057123,0.003164 +9847d5c8-6c4c-4425-8d43-a2194b43c72d,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-29T18:00:02.195Z,2026-08-29T18:00:15.570Z,2,2,4,395,56568,56113,113080,0.095528,0.005183 +8037ac69-7453-4dcc-8d91-4cdd97467ab2,claude-agent,-tmp-pytest-of-claude-pytest-25-test-steering-mid-tur-pe-cli-r0,claude-sonnet-5,2026-08-30T10:27:44.142Z,2026-08-30T10:27:51.460Z,3,3,6,208,16269,87985,104468,0.046576,0.002592 +4dc7af0e-9105-4edd-8fdb-feba8a96dd22,claude-agent,-tmp,claude-sonnet-5,2026-08-30T12:11:15.813Z,2026-08-30T12:11:32.198Z,3,3,6,348,10686,93334,104374,0.040767,0.002289 +a364061a-8c89-40dd-8595-fcb962b6a1f6,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad,claude-sonnet-5,2026-08-30T06:56:08.071Z,2026-08-30T06:56:45.111Z,3,3,6,117,10568,93664,104355,0.039671,0.002227 +d3481627-9b16-41be-8446-d19d11269a08,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-09-01T07:18:52.618Z,2026-09-01T07:19:28.925Z,2,2,4,1096,78437,18759,98296,0.119517,0.006438 +9bde9b92-7c4d-4ede-a071-d0970ce4e4ec,claude-agent,-workspace,claude-sonnet-5,2026-08-30T11:26:18.104Z,2026-08-30T11:28:26.227Z,2,2,4,196,17243,54588,72031,0.039201,0.002161 +47383149-8c7b-4589-a24c-b4e8547474e8,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad,claude-sonnet-5,2026-08-30T06:55:00.146Z,2026-08-30T06:55:08.841Z,3,2,4,375,16210,53333,69922,0.038216,0.00211 +084fc821-0a8c-4fcd-9bea-63b3b16af90b,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad-hooktest,claude-sonnet-5,2026-08-30T10:07:48.554Z,2026-08-30T10:08:15.753Z,2,2,4,374,16079,53285,69742,0.038016,0.002099 +c4d3281a-1816-44a8-bb9d-2eaf234181f6,claude-agent,-tmp-pytest-of-claude-pytest-28-test-steering-mid-tur-pe-cli-r0,claude-sonnet-5,2026-08-30T10:28:43.459Z,2026-08-30T10:28:52.165Z,3,2,4,348,16068,53318,69738,0.037895,0.002092 +fbb4a73a-0001-43c2-a158-6ec704458a14,claude-agent,-tmp-pytest-of-claude-pytest-57-test-steering-mid-tur-pe-cli-r0,claude-sonnet-5,2026-08-30T10:42:56.976Z,2026-08-30T10:43:25.722Z,2,2,4,128,16087,53304,69523,0.03695,0.002038 +4f6c32dd-3b07-4ee8-adb0-cec99d3f1055,claude-agent,-tmp-pytest-of-claude-pytest-30-test-steering-mid-tur-pe-cli-r0,claude-sonnet-5,2026-08-30T10:29:06.117Z,2026-08-30T10:29:36.832Z,2,2,4,124,16083,53304,69515,0.036926,0.002037 +4e0c7b6c-da7d-4772-acad-c875f86c68f1,claude-agent,-tmp-pytest-of-claude-pytest-58-test-steering-mid-tur-pe-cli-r0,claude-sonnet-5,2026-08-30T10:43:35.637Z,2026-08-30T10:44:07.500Z,2,2,4,124,16083,53304,69515,0.036926,0.002037 +3e6f4550-d0c1-42ab-8a70-7b0de27cca2b,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad,claude-sonnet-5,2026-08-30T06:55:43.446Z,2026-08-30T06:55:47.628Z,2,2,4,141,10408,58836,69389,0.030495,0.001699 +ccc9d47d-b8a6-43b9-abb7-cebf7219dce6,claude-agent,-tmp,claude-sonnet-5,2026-08-30T13:03:59.311Z,2026-08-30T13:04:05.077Z,2,2,4,228,10453,58670,69355,0.030897,0.001721 +dfac9353-ae82-437e-8883-6f1410e957a4,claude-agent,-tmp-claude-1000--workspace-romfastsql-9b5e5931-c0d9-434b-b48d-c33ffc5af1d5-scratchpad,claude-sonnet-5,2026-08-30T13:02:02.106Z,2026-08-30T13:02:07.161Z,2,2,4,166,15893,53262,69325,0.036834,0.002033 +4826d8e7-e5c5-476f-9075-dc7ac86f8336,claude-agent,-tmp,claude-sonnet-5,2026-08-30T12:10:42.411Z,2026-08-30T12:10:49.163Z,2,2,4,182,15884,53139,69209,0.03686,0.002034 +2f123807-e311-4c82-b267-2c0a06b24652,claude-agent,-tmp-pytest-of-claude-pytest-27-test-tur-simplu-pe-cli-real0,claude-sonnet-5,2026-08-30T10:28:24.644Z,2026-08-30T10:28:28.629Z,2,2,4,12,15741,53198,68955,0.035927,0.001982 +e608f5c4-bcb4-4dd7-9733-388a72c17a73,claude-agent,-tmp-pytest-of-claude-pytest-28-test-tur-simplu-pe-cli-real0,claude-sonnet-5,2026-08-30T10:28:53.669Z,2026-08-30T10:28:57.221Z,2,2,4,12,15741,53198,68955,0.035927,0.001982 +dc09297c-6ddc-45c4-ad01-c6ee1466c6a2,claude-agent,-tmp-pytest-of-claude-pytest-30-test-tur-simplu-pe-cli-real0,claude-sonnet-5,2026-08-30T10:29:38.175Z,2026-08-30T10:29:42.518Z,2,2,4,12,15741,53198,68955,0.035927,0.001982 +ebbe3648-70aa-46f1-b2bd-93c7d6514797,claude-agent,-tmp-pytest-of-claude-pytest-57-test-tur-simplu-pe-cli-real0,claude-sonnet-5,2026-08-30T10:43:27.033Z,2026-08-30T10:43:31.274Z,2,2,4,12,15741,53198,68955,0.035927,0.001982 +85f50f23-309c-4708-bc32-483931238b21,claude-agent,-tmp-pytest-of-claude-pytest-58-test-tur-simplu-pe-cli-real0,claude-sonnet-5,2026-08-30T10:44:08.788Z,2026-08-30T10:44:13.381Z,2,2,4,12,15741,53198,68955,0.035927,0.001982 +35f87591-02a7-47be-b175-aceff0674f25,claude-agent,-tmp-pytest-of-claude-pytest-25-test-tur-simplu-pe-cli-real0,claude-sonnet-5,2026-08-30T10:27:52.910Z,2026-08-30T10:27:56.342Z,2,2,4,12,15841,52130,67987,0.03579,0.001973 +77c51592-888e-4ed7-859e-f8522641f817,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-02,,1,2,978,65003,0,65983,0.09531,0.00512 +8f5829d1-e490-4b2c-95b5-30a8bd6d5d15,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-02,2026-08-02,,1,2,127,65185,0,65314,0.091821,0.004921 +ab0c5a80-0942-4555-82f0-ba32638b282b,LENOVO-AIO-BIRO,(windows),claude-sonnet-5,2026-08-29,2026-08-29,,1,2,50,61253,0,61305,0.085977,0.004607 +b77e137b-2ece-4ab5-9b1d-eada2fe10e15,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-21T14:00:01.443Z,2026-08-21T14:00:06.756Z,2,1,2,119,52677,0,52798,0.074274,0.003981 +1c5eb77b-1839-4b32-a8bd-200a3fd27c70,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-09-01T06:13:06.559Z,2026-09-01T06:13:10.014Z,1,1,2,19,21996,28463,50480,0.038281,0.002082 +2a506efb-c55c-49d4-a676-57a725f29d2c,moltbot,-home-moltbot-echo-core,claude-sonnet-5,2026-08-18T10:53:20.885Z,2026-08-18T10:53:30.395Z,1,1,2,487,25003,24201,49693,0.043442,0.00236 +ab9ea4c6-be5f-4e66-a983-acde42f00328,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad,claude-opus-5,2026-08-30T06:54:36.946Z,2026-08-30T06:54:42.468Z,2,2,4,199,13197,33535,46935,0.028076,0.001543 +3dacd06c-70ca-4ed0-a521-20c09fabf5de,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-09-01T07:30:47.808Z,2026-09-01T07:31:01.290Z,1,1,2,604,21708,18759,41073,0.037929,0.002061 +310b00c9-ba22-4d92-8d11-425e86b983ff,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-31T15:52:56.009Z,2026-08-31T15:53:03.225Z,1,1,2,270,20732,18759,39763,0.035093,0.001904 +3a44763d-cc6d-4653-a514-a64d5b11d234,claude-agent,-workspace-claude-agent,claude-sonnet-5,2026-08-31T15:53:09.404Z,2026-08-31T15:53:14.032Z,1,1,2,168,15062,24414,39646,0.028176,0.001538 +61114070-8296-4e2f-9b76-9997ec032ec1,claude-agent,-workspace-atm,claude-sonnet-5,2026-08-30T07:35:06.846Z,2026-08-30T07:35:09.442Z,1,1,2,4,17687,18759,36452,0.02966,0.001609 +c60f6db5-ffa6-4ce6-8812-684b377bb537,claude-agent,-tmp,claude-sonnet-5,2026-08-30T12:10:58.834Z,2026-08-30T12:11:04.682Z,1,1,2,168,10183,24237,34590,0.0213,0.001169 +d3bd992f-fde9-4ad0-9b47-0f56d57db6c2,claude-agent,-tmp-claude-1000--workspace-romfastsql-ec83f487-634d-41ac-9448-a5979a8b7ed0-scratchpad,claude-sonnet-5,2026-08-31T17:41:09.651Z,2026-08-31T17:41:13.041Z,1,1,2,49,15733,18759,34543,0.027122,0.001474 +e871b476-4824-4adc-a5e8-aca4a2a4f700,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad,claude-sonnet-5,2026-08-30T06:57:16.521Z,2026-08-30T06:57:19.694Z,1,1,2,5,10125,24340,34472,0.020528,0.001126 +34a9eddc-8b82-4f0a-9d00-1e47168c97ae,claude-agent,-tmp-claude-1000--workspace-romfastsql-bbf322ad-576e-47cb-8d16-a7cdd3961c2b-scratchpad,claude-sonnet-5,2026-08-30T08:59:31.878Z,2026-08-30T08:59:34.075Z,1,1,2,4,15703,18759,34468,0.026882,0.00146 diff --git a/claude_usage_summary.csv b/claude_usage_summary.csv new file mode 100644 index 0000000..9a552cb --- /dev/null +++ b/claude_usage_summary.csv @@ -0,0 +1,46 @@ +dimension,key,sessions,turns,input_tokens,output_tokens,cache_creation_tokens,cache_read_tokens,total_tokens,cost_glm53_usd,cost_glm53flash_promo_usd,cost_glm53flash_list_usd +TOTAL,ALL,435,64211,338907,23297506,288224316,10836625270,11148485999,3324.0201,190.016,380.032 +machine,LENOVO-AIO-BIRO,218,60304,330668,20939475,269887835,10356404686,10647562664,3163.1048,180.8473,361.6947 +machine,claude-agent,60,2114,4418,1543956,6731712,297811719,306091805,93.655,5.3584,10.7167 +machine,moltbot,157,1793,3821,814075,11604769,182408865,194831530,67.2603,3.8103,7.6206 +model,claude-fable-5,,941,2106,208768,4533984,158857102,163601960,48.572,2.7753,5.5505 +model,claude-haiku-4-5-20251001,,25,208,5691,89633,855441,950973,0.3732,0.021,0.042 +model,claude-opus-5,,25343,75166,19607975,85344425,4168532752,4273560318,1289.681,73.8365,147.6729 +model,claude-sonnet-5,,37902,261427,3475072,198256274,6508379975,6710372748,1985.3939,113.3833,226.7666 +month,2026-07,,845,6527,330630,7941767,184927510,193206434,60.6635,3.4527,6.9054 +month,2026-08,,62519,330686,22755166,277847883,10515360962,10816294697,3223.5666,184.2826,368.5652 +month,2026-09,,847,1694,211710,2434666,136336798,138984868,39.79,2.2807,4.5614 +day,2026-07-29,,214,3434,76615,1093695,20587396,21761140,7.2258,0.4102,0.8205 +day,2026-07-30,,631,3093,254015,6848072,164340114,171445294,53.4377,3.0424,6.0849 +day,2026-08-01,,1243,8856,560845,5561396,250296311,256427408,75.3431,4.3124,8.6248 +day,2026-08-02,,2095,5496,1344277,6977342,339262565,347589680,103.8991,5.9487,11.8974 +day,2026-08-03,,3225,23466,1228967,19167120,536296804,556716357,171.7114,9.791,19.582 +day,2026-08-04,,323,13015,142150,1971068,39101333,41227566,13.5695,0.7709,1.5417 +day,2026-08-05,,657,1787,286446,4672434,91066167,96026834,31.4815,1.7882,3.5763 +day,2026-08-06,,3064,28381,1125446,14847361,493347883,509349071,154.0485,8.7973,17.5945 +day,2026-08-07,,2068,4963,676244,17444157,413402684,431528048,134.8889,7.6788,15.3576 +day,2026-08-08,,4255,47237,1331620,20159731,830971552,852510140,250.2015,14.313,28.626 +day,2026-08-09,,5283,64396,1373409,22876001,886709264,911023070,268.704,15.3645,30.729 +day,2026-08-10,,3984,53819,1283159,18754319,634612620,654703917,196.9766,11.2506,22.5012 +day,2026-08-11,,1562,9071,698861,6558893,221468597,228735422,69.852,3.9893,7.9787 +day,2026-08-12,,250,653,142318,1672205,37721945,39537121,12.7759,0.7269,1.4537 +day,2026-08-13,,84,166,27185,334918,8022052,8384321,2.6745,0.1523,0.3045 +day,2026-08-14,,19,38,2401,214217,782061,998717,0.5139,0.0284,0.0568 +day,2026-08-15,,18,36,2434,213650,728993,945113,0.4994,0.0276,0.0551 +day,2026-08-16,,18,36,2815,212322,726847,942020,0.4987,0.0275,0.0551 +day,2026-08-17,,39,78,9934,310995,2021166,2342173,1.0047,0.0561,0.1123 +day,2026-08-18,,285,568,181938,1228874,40742116,42153496,13.1147,0.7488,1.4976 +day,2026-08-19,,870,1740,523899,2930364,142095433,145551436,43.3549,2.4823,4.9646 +day,2026-08-20,,2131,4320,838986,8335140,329763669,338942115,101.1053,5.7817,11.5633 +day,2026-08-21,,3374,6952,938769,11353197,678083464,690382382,196.3365,11.258,22.5159 +day,2026-08-22,,4219,8438,1367817,18528526,793556645,813461426,238.2949,13.6356,27.2712 +day,2026-08-23,,4780,9560,1667111,16953670,881927242,900557583,260.3849,14.9179,29.8359 +day,2026-08-24,,1004,2008,449421,4405346,169736444,174593219,52.2792,2.989,5.9779 +day,2026-08-25,,1291,2582,993949,4814837,224746691,230558059,69.5519,3.981,7.962 +day,2026-08-26,,58,116,24692,311333,3235406,3571547,1.3859,0.0781,0.1561 +day,2026-08-27,,2553,5106,857461,11835008,454391610,467089185,138.4908,7.9182,15.8365 +day,2026-08-28,,2850,5700,1229085,13010965,392932032,407177782,125.7936,7.1775,14.355 +day,2026-08-29,,3473,6946,970773,12843362,447480189,461301270,138.6067,7.9187,15.8373 +day,2026-08-30,,2462,4924,885887,10238581,324734530,335863922,102.6698,5.8608,11.7215 +day,2026-08-31,,4982,10232,1586867,19110551,845396647,866104297,253.5544,14.5117,29.0235 +day,2026-09-01,,847,1694,211710,2434666,136336798,138984868,39.79,2.2807,4.5614 diff --git a/docs/supliment-glm-zai.md b/docs/supliment-glm-zai.md new file mode 100644 index 0000000..a4c02a5 --- /dev/null +++ b/docs/supliment-glm-zai.md @@ -0,0 +1,107 @@ +# Supliment GLM (Z.AI) pentru plafonul săptămânal Claude Max 5x + +**Analiză: 2026-09-01. Decizie: neimplementată.** +Date brute și metodologie completă: [`claude_usage_report.md`](../claude_usage_report.md), +`claude_usage_sessions.csv`, `claude_usage_summary.csv`. + +## Problema + +Max 5x are două plafoane săptămânale: unul general și unul separat pentru Opus. +Se atinge **cel general** — cota se consumă în ~2 zile, urmează ~5 zile blocate. + +Semnătura în date, săptămâna 2026-W33 (M tokeni): + +| Lu | Ma | Mi | Jo | Vi | Sâ | Du | +|---:|---:|---:|---:|---:|---:|---:| +| 655 | 229 | 40 | 8 | 1 | 1 | 1 | + +## Cifrele care contează + +Măsurat pe 3 mașini (Windows `LENOVO-AIO-BIRO` 95,5%, `claude-agent` 2,7%, `moltbot` 1,7%), +2026-07-29 → 2026-09-01, 435 sesiuni, 64.211 cereri API, dedup pe `message.id`+`requestId`. + +| Metrică | Valoare | +|---|---:| +| Total tokeni | 11,15 miliarde | +| Cache read (din total) | 97,2% | +| Opus 5 / Sonnet 5 | 38,3% / 60,2% | +| Livrat de Max 5x | 2,23B / săptămână | +| Zile blocate | 10 din 34 (29%) | +| **Deficit** | **+32% ≈ ~570 prompturi/săpt.** | +| Prompturi umane reale | ~9.000 (~1.801/săpt.), 7,14 cereri API per prompt | + +**Valoarea abonamentului Max:** aceiași tokeni, fiecare model la tariful lui pe OpenCode Zen, +ar costa **$5.167/lună**. Max 5x la $100 e de ~52× mai ieftin. Nu se atinge. + +## Ce acoperă deficitul + +| Opțiune | Cost/lună | Acoperă deficitul | Verdict | +|---|---:|---:|---| +| OpenCode Zen $20 (per-token) | $20 | 10,5% din volum total | nu — plafon în dolari | +| OpenCode Go | $10 | plafon $30/săpt. → 0,3 zile | testat, s-a consumat în 1–2 zile | +| **Z.AI Coding Lite** | **$18** (anual $12,60) | **70%** → ~0,6 zile blocate | **de aici se începe** | +| Z.AI Coding Pro | $72 (anual $50,40) | 351% → 0 zile blocate | dacă Lite nu ajunge | +| Z.AI Coding Max | $160 (anual $112) | 1403% | supradimensionat | + +Planurile Z.AI se contorizează în **prompturi**, nu în dolari de consum — de asta rezistă +la un workload cu 7,1 cereri API per prompt, spre deosebire de Zen/Go. + +**Necunoscută care schimbă decizia:** multiplicatorul de credite pentru GLM-5.3-Flash. +Z.AI documentează 3× în orele de vârf pentru modelele mari. Flash e modelul mic, deci +probabil 1× — dar dacă nu, cei ~400 prompturi/săpt. ai lui Lite devin ~133 și Lite pică. +**De verificat înainte de a plăti.** + +Prețuri verificate 2026-09-01: [docs.z.ai/devpack/overview](https://docs.z.ai/devpack/overview), +[opencode.ai/docs/zen](https://opencode.ai/docs/zen/), [opencode.ai/docs/go](https://opencode.ai/docs/go/). +GLM-5.3 nu e listat încă pe OpenCode Zen; s-a folosit tariful Z.AI ca proxy. + +## Mecanismul — ce s-a verificat empiric + +| Întrebare | Răspuns | Cum s-a verificat | +|---|---|---| +| Subagenți (tool `Agent`) pe GLM? | **NU** | rulează în proces, moștenesc auth; `model` acceptă doar sonnet/opus/haiku/fable | +| Sesiuni separate pe GLM? | **DA** | endpoint fals local: cererea a plecat cu `Bearer zai-…` pe `glm-5.3-flash`, nu spre Anthropic | +| Sesiunea părinte e afectată? | **NU** | variabilele de mediu sunt per-proces | +| Predare de sesiune? | **DA** | `--output-format json` → `session_id`, apoi `--resume` cu același env | +| Paralelism? | **DA** | 3 sesiuni simultane, curat | +| Cost pornire proces | **~20–60s** | măsurat | +| Memorie per sesiune | **~186MB RSS** | măsurat | + +Z.AI e singurul provider cu endpoint compatibil Anthropic (`https://api.z.ai/api/anthropic`), +deci singurul drop-in pentru Claude Code. + +## Implementare + +1. **Cheia:** `~/.config/zai/key`, `chmod 600`. Nu în linia de comandă (ajunge în `history` și `ps`). +2. **Wrapper:** [`tools/claude-glm.sh`](../tools/claude-glm.sh) — `task` / `resume` / `shell`. + Setează `[1m]` pe model (altfel Claude Code presupune 200k și compactează devreme), + `--autocompact 250000`, și `CLAUDE_CONFIG_DIR=~/.claude-glm` separat, ca transcripturile + GLM să nu strice statistica de consum. +3. **Reguli de orchestrare** în `CLAUDE.md` — vezi mai jos. +4. **Măsurare după:** re-rulează `tools/claude_usage_extract.py` pe ambele config dir-uri și + compară deficitul. Fără asta nu știi dacă a funcționat. + +### Reguli de orchestrare (de pus în CLAUDE.md la implementare) + +- **Agenți Sonnet** (tool `Agent`): judecată, cod critic, nevoie de contextul sesiunii. Consumă Max. +- **Agenți GLM** (`Bash: tools/claude-glm.sh task "..."`): sarcini mari, delimitate, + verificabile mecanic — implementare după spec, teste, refactorizări repetitive. Nu consumă Max. +- Minimum ~10 min de lucru per lansare GLM; sub asta pornirea domină. +- Maximum 4 procese GLM simultane (186MB fiecare; cgroup-ul LXC 171 are istoric de OOM). +- Pentru fan-out larg: **un singur** proces GLM căruia îi ceri să folosească subagenți — + ei moștenesc GLM. Nu multiplica procesele din orchestrator. +- Briefing complet în prompt: agentul GLM nu vede contextul orchestratorului. +- **Verifică mecanic rezultatul.** Flash e modelul mic; rulează testele, nu accepta raportul lui. + +## Rezerve + +1. **Orchestrarea rămâne pe Max.** Fiecare lansare și citire de rezultat consumă cotă Opus. + Câștigul e proporțional cu autonomia sarcinilor date lui GLM. +2. **Deficitul de +32% e conservator** — presupune ritm median în zilele blocate, nu ritmul + zilelor bune (peste 850M). Cererea suprimată reală e probabil mai mare. +3. **`claude-agent` are doar 5 zile din 35** cu transcripturi păstrate (retenție + recreare + director pe 2026-08-30). Nu s-a extrapolat. +4. **Prompturile de pe Windows sunt estimate** din raportul 7,14 măsurat pe Linux — + singura extrapolare din analiză. +5. **Promoția Flash expiră 2026-09-09**; tarifele per-token se dublează (irelevant dacă se + merge pe abonament). diff --git a/tools/claude-glm.sh b/tools/claude-glm.sh new file mode 100755 index 0000000..4661161 --- /dev/null +++ b/tools/claude-glm.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +# Sesiune Claude Code separata pe GLM (Z.AI). NU consuma cota Claude Max. +# +# tools/claude-glm.sh task "implementeaza T3 din TODO.md" # one-shot, JSON pe stdout +# tools/claude-glm.sh resume "continua" # predare / continuare +# tools/claude-glm.sh shell # sesiune interactiva +# tools/claude-glm.sh -- +# +# Env optional: GLM_MODEL (default glm-5.3-flash[1m]), GLM_CONTEXT (default 250000) +set -euo pipefail + +KEY_FILE="${ZAI_KEY_FILE:-$HOME/.config/zai/key}" +[[ -r "$KEY_FILE" ]] || { echo "Lipseste cheia Z.AI in $KEY_FILE (chmod 600)" >&2; exit 1; } + +export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic" +export ANTHROPIC_AUTH_TOKEN="$(tr -d '\r\n' < "$KEY_FILE")" +# [1m] = fereastra reala de 1M; fara el Claude Code presupune 200k si compacteaza devreme +MODEL="${GLM_MODEL:-glm-5.3-flash[1m]}" +export ANTHROPIC_DEFAULT_SONNET_MODEL="$MODEL" +export ANTHROPIC_DEFAULT_OPUS_MODEL="$MODEL" +export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-5.3-flash[1m]" +export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 +export API_TIMEOUT_MS=3000000 +# config separat: transcripturile GLM nu se amesteca cu cele Anthropic in statistica de consum +export CLAUDE_CONFIG_DIR="${CLAUDE_CONFIG_DIR_GLM:-$HOME/.claude-glm}" + +CTX="${GLM_CONTEXT:-250000}" +COMMON=(--model sonnet --autocompact "$CTX" --output-format json) + +case "${1:-shell}" in + task) shift; exec claude -p "$*" "${COMMON[@]}" < /dev/null ;; + resume) sid="$2"; shift 2; exec claude -p "$*" --resume "$sid" "${COMMON[@]}" < /dev/null ;; + shell) shift || true; exec claude --model sonnet --autocompact "$CTX" "$@" ;; + --) shift; exec claude "$@" ;; + *) exec claude "$@" ;; +esac diff --git a/tools/claude_usage_extract.py b/tools/claude_usage_extract.py new file mode 100644 index 0000000..c50a6b0 --- /dev/null +++ b/tools/claude_usage_extract.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python3 +"""Extrage token usage real din transcripturile Claude Code (~/.claude/projects/**/*.jsonl). + +READ-ONLY: nu scrie, nu mută, nu șterge nimic. Emite JSON agregat pe stdout. +Poate fi rulat remote fără a atinge discul: ssh host 'python3 -' < acest_fisier + +Deduplicare: cheia (message.id, requestId) — aceeași cerere API poate apărea în +mai multe fișiere (resume, fork de sesiune, backup-uri). +""" +import json, os, sys, glob, argparse, hashlib + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--root", default=os.path.expanduser("~/.claude/projects")) + ap.add_argument("--machine", default=os.uname().nodename) + a = ap.parse_args() + + rows = {} # (session, date, model) -> tokens + sessions = {} # session -> meta + seen = set() # chei de deduplicare + dup = 0 + total_assistant = 0 + files = sorted(glob.glob(os.path.join(a.root, "**", "*.jsonl"), recursive=True)) + bad_lines = 0 + + for fp in files: + project = os.path.basename(os.path.dirname(fp)) + try: + fh = open(fp, "r", encoding="utf-8", errors="replace") + except OSError: + continue + with fh: + for line in fh: + line = line.strip() + if not line or not line.startswith("{"): + continue + try: + d = json.loads(line) + except Exception: + bad_lines += 1 + continue + t = d.get("type") + sid = d.get("sessionId") + if not sid: + continue + ts = d.get("timestamp") or "" + s = sessions.setdefault(sid, { + "machine": a.machine, "project": project, "first_ts": ts, "last_ts": ts, + "user_msgs": 0, "assistant_msgs": 0, "models": set(), + "version": d.get("version"), "entrypoint": d.get("entrypoint"), + "cwd": d.get("cwd"), "files": set(), + }) + s["files"].add(os.path.basename(fp)) + if ts: + if not s["first_ts"] or ts < s["first_ts"]: s["first_ts"] = ts + if ts > s["last_ts"]: s["last_ts"] = ts + if t == "user" and not d.get("isSidechain"): + s["user_msgs"] += 1 + if t != "assistant": + continue + msg = d.get("message") or {} + u = msg.get("usage") + if not isinstance(u, dict): + continue + total_assistant += 1 + # cheie de deduplicare + mid = msg.get("id"); rid = d.get("requestId") + if mid or rid: + key = f"{mid}|{rid}" + else: + key = "h:" + hashlib.sha1((sid + ts + str(u.get("output_tokens"))).encode()).hexdigest() + if key in seen: + dup += 1 + continue + seen.add(key) + + model = msg.get("model") or "unknown" + if model.startswith("<") or model == "unknown": + continue # synthetic / mesaje locale fără cost + s["assistant_msgs"] += 1 + s["models"].add(model) + date = ts[:10] if ts else "unknown" + k = (sid, date, model) + r = rows.setdefault(k, {"input": 0, "output": 0, "cache_creation": 0, + "cache_read": 0, "thinking": 0, "turns": 0, + "web_search": 0, "web_fetch": 0}) + r["input"] += u.get("input_tokens") or 0 + r["output"] += u.get("output_tokens") or 0 + r["cache_creation"] += u.get("cache_creation_input_tokens") or 0 + r["cache_read"] += u.get("cache_read_input_tokens") or 0 + otd = u.get("output_tokens_details") or {} + r["thinking"] += otd.get("thinking_tokens") or 0 + stu = u.get("server_tool_use") or {} + r["web_search"] += stu.get("web_search_requests") or 0 + r["web_fetch"] += stu.get("web_fetch_requests") or 0 + r["turns"] += 1 + + out = { + "machine": a.machine, + "root": a.root, + "files_scanned": len(files), + "assistant_records_with_usage": total_assistant, + "duplicates_removed": dup, + "malformed_lines": bad_lines, + "rows": [{"session": k[0], "date": k[1], "model": k[2], **v} for k, v in rows.items()], + "sessions": {sid: {**{kk: vv for kk, vv in m.items() if kk not in ("models", "files")}, + "models": sorted(m["models"]), "files": len(m["files"])} + for sid, m in sessions.items()}, + } + json.dump(out, sys.stdout) + +main() diff --git a/tools/claude_usage_md.py b/tools/claude_usage_md.py new file mode 100644 index 0000000..d5b20fd --- /dev/null +++ b/tools/claude_usage_md.py @@ -0,0 +1,492 @@ +#!/usr/bin/env python3 +import json, sys +SP, OUT = sys.argv[1], sys.argv[2] +d = json.load(open(SP + "/_agg.json")); T = d["TOT"] +def tt(x): return x["input"]+x["output"]+x["cache_creation"]+x["cache_read"] +P = {"GLM-5.3":{"in":1.40,"cr":0.26,"out":4.40}, + "GLM-5.3-Flash (promo)":{"in":0.075,"cr":0.015,"out":0.25}, + "GLM-5.3-Flash (listă)":{"in":0.15,"cr":0.03,"out":0.50}, + "Zen Claude Opus 5":{"in":5.0,"cr":0.5,"cw":6.25,"out":25.0}, + "Zen Claude Sonnet 5":{"in":2.0,"cr":0.2,"cw":2.50,"out":10.0}} +def cA(t,n): + p=P[n]; cw=p.get("cw",p["in"]) + return {"input":t["input"]/1e6*p["in"],"cache_read":t["cache_read"]/1e6*p["cr"], + "cache_write":t["cache_creation"]/1e6*cw,"output":t["output"]/1e6*p["out"]} +def cB(t,n): + p=P[n]; return (t["input"]+t["cache_read"]+t["cache_creation"])/1e6*p["in"]+t["output"]/1e6*p["out"] +def S(t,n): return sum(cA(t,n).values()) +N=lambda v: f"{v:,}" +days=d["days"]; nd=d["span"]; ns=d["n_sessions"] +g53,gfp,gfl = S(T,"GLM-5.3"),S(T,"GLM-5.3-Flash (promo)"),S(T,"GLM-5.3-Flash (listă)") +zs = d["zen_self"] +COV={"claude-agent":("2026-08-17","2026-09-01",5,"`~/.claude/projects` (Linux, LXC 171)"), + "moltbot":("2026-08-02","2026-09-01",31,"`/home/moltbot/.claude/projects` (Linux, LXC 110)"), + "LENOVO-AIO-BIRO":("2026-07-29","2026-09-01",29,"`C:\\Users\\\\.claude\\projects` (Windows)")} +L=[];A=L.append +A("# Analiză consum Claude Code — Claude Max 5x vs. OpenCode Zen (GLM-5.3)\n") +A(f"**Generat:** 2026-09-01 · **Perioadă:** {days[0]} → {days[-1]} ({nd} zile) · " + f"**3 mașini · {N(ns)} sesiuni · {tt(T)/1e9:.2f}ial miliarde tokeni**\n".replace("ial","")) +A("## 0. Ce a fost scanat\n") +A("| Mașină | Locație | Fișiere | Înregistrări | Duplicate | Sesiuni | Prima zi | Ultima zi | Zile active |") +A("|---|---|---:|---:|---:|---:|---|---|---:|") +for m in d["meta"]: + mm=m["machine"]; c=COV[mm] + A(f"| `{mm}` | {c[3]} | {N(m['files_scanned'])} | {N(m['assistant_records_with_usage'])} | " + f"{N(m['duplicates_removed'])} | {d['sess_per_machine'][mm]} | {c[0]} | {c[1]} | {c[2]} |") +A("") +A("Windows a fost extras de o sesiune Claude Code rulată manual pe acea mașină, cu **exact același " + "script și aceeași cheie de deduplicare** — altfel cifrele nu s-ar putea aduna. Datele au trecut " + "printr-un pas de tabel (separator TAB, date în format M/D/YYYY); au fost renormalizate la ISO, " + "iar toate cele 218 UUID-uri de sesiune au fost validate. Ceasul din zi s-a pierdut la conversie, " + "dar granularitatea folosită în raport e ziua.\n") +A("### Corecție de premisă\n") +A("Sesiunea care a condus analiza **nu rulează pe Windows** — rulează pe LXC 171 `claude-agent` " + "(`Linux claude-agent 6.8.12-15-pve`). Windows a fost acoperit separat, prin sesiunea deschisă acolo.\n") +A("### Surse de token usage și care e autoritativă\n") +A("| Sursă | Conține | Verdict |") +A("|---|---|---|") +A("| `~/.claude/projects/**/*.jsonl`, câmpul `message.usage` din înregistrările `assistant` | `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens`, `thinking_tokens`, `model`, `requestId` | **AUTORITATIVĂ** — valori raportate de API |") +A("| `~/.claude/stats-cache.json` | mesaje/sesiuni/tool-calls pe zi, din 2025-12-31 | secundară — **zero tokeni**; dovadă că istoricul e mai lung decât transcripturile |") +A("| `~/.claude/history.jsonl` | 6.400 de prompturi, din 2025-12-31 | secundară — fără tokeni |") +A("\nLungimea transcriptului nu a fost folosită ca proxy pentru tokeni nicăieri.\n") +A("## 1. Perioada\n") +A(f"- **Început:** {days[0]}\n- **Sfârșit:** {days[-1]}\n- **Zile calendaristice:** {nd}\n" + f"- **Zile cu activitate:** {len(days)}\n- **Zile lipsă:** {', '.join(d['missing']) or 'niciuna'}\n") +A("Acoperirea e inegală: Windows și moltbot acoperă luna întreagă, dar **`claude-agent` are doar " + "5 zile** cu transcripturi păstrate (retenția implicită de 30 de zile plus o recreare a " + "directorului pe 2026-08-30). `stats-cache.json` arată activitate continuă din **2025-12-31**. " + "Consumul istoric real e mai mare decât cel de aici; **nu am extrapolat nimic** — toate cifrele " + "sunt tokeni observați efectiv.\n") +A("## 2. Deduplicare\n") +tr=sum(m["assistant_records_with_usage"] for m in d["meta"]) +td=sum(m["duplicates_removed"] for m in d["meta"]) +A("Cheie: `message.id` + `requestId`. Aceeași cerere API reapare în mai multe fișiere după " + "`--resume`, fork de sesiune sau compactare.\n") +A(f"- Înregistrări `assistant` cu `usage` întâlnite: **{N(tr)}**") +A(f"- Duplicate eliminate: **{N(td)}** ({td/tr*100:.1f}%)") +A(f"- Cereri API unice numărate: **{N(tr-td)}**") +A(f"- Sesiuni prezente pe mai multe mașini: **{len(d['cross_dupes'])}** (verificat pe toate cele trei perechi)") +A(f"- Linii malformate: **{sum(m['malformed_lines'] for m in d['meta'])}**\n") +A("## 3. Total\n") +A("| Metrică | Valoare |") +A("|---|---:|") +A(f"| Sesiuni | {N(ns)} |") +A(f"| Turn-uri asistent (cereri API) | {N(T['turns'])} |") +A(f"| Input tokens (necache) | {N(T['input'])} |") +A(f"| Output tokens | {N(T['output'])} |") +A(f"| Cache creation (write) | {N(T['cache_creation'])} |") +A(f"| Cache read | {N(T['cache_read'])} |") +A(f"| **TOTAL** | **{N(tt(T))}** |\n") +A(f"Cache read = **{T['cache_read']/tt(T)*100:.1f}%** din volum. Output-ul real e doar " + f"**{T['output']/tt(T)*100:.2f}%**. Asta e semnătura unui workload agentic: contextul se " + "retrimite la fiecare turn, iar tarifarea cache-ului decide costul.\n") +A(f"Medii: **{N(round(tt(T)/ns))}** tokeni/sesiune ({T['turns']/ns:.0f} turn-uri) · " + f"**{N(round(tt(T)/nd))}** tokeni/zi · **{ns/nd:.1f}** sesiuni/zi.\n") +def tbl(title,dic,keyname,sort=None): + A(f"### {title}\n") + A(f"| {keyname} | Sesiuni | Turn-uri | Input | Output | Cache write | Cache read | Total | % |") + A("|---|---:|---:|---:|---:|---:|---:|---:|---:|") + for k,v in (sorted(dic.items(),key=sort) if sort else sorted(dic.items(),key=lambda kv:-tt(kv[1]))): + se=d["sess_per_machine"].get(k,"") if keyname=="Mașină" else "" + A(f"| {k} | {se} | {N(v['turns'])} | {N(v['input'])} | {N(v['output'])} | {N(v['cache_creation'])} | " + f"{N(v['cache_read'])} | {N(tt(v))} | {tt(v)/tt(T)*100:.1f}% |") + A("") +tbl("Breakdown pe calculator", d["by_machine"], "Mașină") +tbl("Breakdown pe model", d["by_model"], "Model") +tbl("Breakdown pe lună", d["by_month"], "Lună", sort=lambda kv:kv[0]) +tbl("Breakdown pe zi", d["by_day"], "Zi", sort=lambda kv:kv[0]) +A("## 4. Prețuri — verificate 2026-09-01\n") +A("Pagina oficială **OpenCode Zen (`opencode.ai/docs/zen`) nu listează încă GLM-5.3 sau " + "GLM-5.3-Flash.** Cele mai noi GLM de acolo:\n") +A("| Model pe Zen | Input | Output | Cache read | Cache write |") +A("|---|---:|---:|---:|---:|") +for r in [("GLM 5.2","$1.40","$4.40","$0.26","—"),("GLM 5.1","$1.40","$4.40","$0.26","—"), + ("GLM 5","$1.00","$3.20","$0.20","—"),("Claude Opus 5","$5.00","$25.00","$0.50","$6.25"), + ("Claude Sonnet 5","$2.00","$10.00","$0.20","$2.50"), + ("Claude Fable 5","$10.00","$50.00","$1.00","$12.50"), + ("Claude Haiku 4.5","$1.00","$5.00","$0.10","$1.25")]: + A("| "+" | ".join(r)+" |") +A("") +A("Pentru GLM-5.3 am folosit **prețurile oficiale Z.AI** (furnizorul modelului). Zen revinde de " + "regulă la același tarif — GLM 5.2 pe Zen e identic cu tariful Z.AI, ceea ce validează proxy-ul.\n") +A("| Model | Input | Cache read | Cache write | Output |") +A("|---|---:|---:|---:|---:|") +A("| **GLM-5.3** | $1.40 | $0.26 | *fără tarif separat* | $4.40 |") +A("| **GLM-5.3-Flash** (promo, până 2026-09-09 24:00 UTC+8) | $0.075 | $0.015 | *fără tarif separat* | $0.25 |") +A("| **GLM-5.3-Flash** (preț de listă) | $0.15 | $0.03 | *fără tarif separat* | $0.50 |\n") +A("Surse: [opencode.ai/docs/zen](https://opencode.ai/docs/zen/) · " + "[docs.z.ai/guides/overview/pricing](https://docs.z.ai/guides/overview/pricing) · " + "[openrouter.ai/z-ai/glm-5.3-flash](https://openrouter.ai/z-ai/glm-5.3-flash)\n") +A("> **Cache write:** niciun model GLM nu are tarif separat de cache creation (spre deosebire de " + "modelele Claude de pe Zen). `cache_creation_input_tokens` se facturează deci la tariful de " + "**input normal**. `cache_read_input_tokens` **nu** a fost tratat ca input normal — are tariful " + "lui redus. Vezi Scenariul B pentru varianta fără cache.\n") +A("## 5. Cost echivalent Zen — Scenariul A (tokeni reali, tarife de cache)\n") +A("| Model | Input | Cache read | Cache write | Output | **TOTAL** |") +A("|---|---:|---:|---:|---:|---:|") +for n in ["GLM-5.3","GLM-5.3-Flash (promo)","GLM-5.3-Flash (listă)"]: + c=cA(T,n) + A(f"| {n} | ${c['input']:.2f} | ${c['cache_read']:.2f} | ${c['cache_write']:.2f} | ${c['output']:.2f} | **${sum(c.values()):.2f}** |") +A("") +A("### Medii\n") +A("| Model | / sesiune | / zi | / lună (30 zile) |") +A("|---|---:|---:|---:|") +for n in ["GLM-5.3","GLM-5.3-Flash (promo)","GLM-5.3-Flash (listă)"]: + s=S(T,n); A(f"| {n} | ${s/ns:.3f} | ${s/nd:.2f} | ${s/nd*30:.2f} |") +A("") +A("## 6. Scenariul B — fără avantajul cache-ului\n") +A("Tot `cache_read` + `cache_creation` facturați ca input normal.\n") +A("| Model | A (cu cache) | B (fără cache) | Factor |") +A("|---|---:|---:|---:|") +for n in ["GLM-5.3","GLM-5.3-Flash (promo)","GLM-5.3-Flash (listă)"]: + a,b=S(T,n),cB(T,n); A(f"| {n} | ${a:.2f} | ${b:.2f} | **{b/a:.1f}×** |") +A("") +A("## 7. Comparație cu Claude Max 5x\n") +A("Nu există conversie oficială Anthropic din quota Max în tokeni, deci nu o inventez. Compar ce " + "ai plătit cu ce ar fi costat exact aceiași tokeni la tarif per-token.\n") +A("| | Claude Max 5x | Zen GLM-5.3 | Zen GLM-5.3-Flash (promo) | Zen GLM-5.3-Flash (listă) |") +A("|---|---|---|---|---|") +A(f"| Cost pentru perioada măsurată | **$100/lună** | ${g53:,.2f} | ${gfp:,.2f} | ${gfl:,.2f} |") +A(f"| Tokeni | {N(tt(T))} | identic | identic | identic |") +A(f"| Sesiuni | {N(ns)} | identic | identic | identic |") +A("| Modele | Opus 5, Sonnet 5, Fable 5, Haiku 4.5 | GLM-5.3 | GLM-5.3-Flash | GLM-5.3-Flash |") +A("") +A("### Cât valorează de fapt abonamentul Max\n") +A(f"Aceiași {N(tt(T))} tokeni, **fiecare model la propriul lui tarif pe Zen** " + "(Opus 5 la preț de Opus 5, Sonnet 5 la preț de Sonnet 5 etc.):\n") +A(f"# **${zs:,.2f}**\n") +A(f"Abonamentul Max 5x de $100 a livrat consum care la tarif per-token ar fi costat **${zs:,.0f}** — " + f"adică Max e de **{zs/100:.0f}× mai ieftin** decât plata la token pentru exact aceleași modele. " + "Asta e cifra cea mai importantă din tot raportul.\n") +A("### Acoperirea celor $20 Zen\n") +A("| Model | Cost pentru consumul observat | % din $20 | De câte ori acoperă $20 consumul |") +A("|---|---:|---:|---:|") +for n in ["GLM-5.3","GLM-5.3-Flash (promo)","GLM-5.3-Flash (listă)"]: + s=S(T,n); A(f"| {n} | ${s:,.2f} | {s/20*100:,.0f}% | **{20/s:.3f}×** |") +A("") +A("Scenariul B, fără cache:\n") +A("| Model | Cost | % din $20 | Acoperire |") +A("|---|---:|---:|---:|") +for n in ["GLM-5.3","GLM-5.3-Flash (promo)","GLM-5.3-Flash (listă)"]: + b=cB(T,n); A(f"| {n} | ${b:,.2f} | {b/20*100:,.0f}% | {20/b:.3f}× |") +A("") +A("### Cât consum încap în $20\n") +A("| Model | Tokeni pentru $20 | % din consumul lunar | Zile la ritmul actual | Sesiuni |") +A("|---|---:|---:|---:|---:|") +for n in ["GLM-5.3","GLM-5.3-Flash (promo)","GLM-5.3-Flash (listă)"]: + s=S(T,n); f=20/s + A(f"| {n} | {N(round(tt(T)*f))} | {f*100:.1f}% | {nd*f:.2f} | {ns*f:.1f} |") +A("") + +# ---- Sectiunea abonamentelor Z.AI Coding Plan ---- +PROMPTS_LINUX = 245 + 309 # numarate exact (claude-agent + moltbot) +REQ_LINUX = 2143 + 1810 +RATIO = REQ_LINUX / PROMPTS_LINUX +REQ_WIN = tt_turns_win = d["by_machine"]["LENOVO-AIO-BIRO"]["turns"] +PROMPTS_WIN = REQ_WIN / RATIO +PROMPTS_TOT = PROMPTS_LINUX + PROMPTS_WIN +WEEKS = nd / 7 +PPW = PROMPTS_TOT / WEEKS +PLANS = [("Lite", 18.00, 151.20, 400, 10000), + ("Pro", 72.00, 604.80, 2000, 60000), + ("Max", 160.00, 1344.00, 8000, 140000)] +son=tt(d["by_model"]["claude-sonnet-5"])/tt(T)*100 +op=tt(d["by_model"]["claude-opus-5"])/tt(T)*100 +A("## 8. Abonamentele Z.AI GLM Coding Plan\n") +A("Planurile Z.AI nu se facturează pe tokeni, ci pe **prompturi** (turnuri umane) contorizate în " + "credite, cu două limite simultane: una la 5 ore și una săptămânală. Documentația Z.AI notează " + "că *„un prompt poate invoca modelul de 15–20 de ori\"* — deci comparația corectă nu se face pe " + "cererile API, ci pe prompturile tale reale.\n") +A("### Prețuri (verificate 2026-09-01)\n") +A("| Plan | Lunar | Anual | Efectiv/lună anual | Economie | Prompturi / 5h | Prompturi / săpt. | Credite / săpt. |") +A("|---|---:|---:|---:|---:|---:|---:|---:|") +A("| Lite | $18.00 | **$151.20** | $12.60 | 30% | ~80 | ~400 | 10.000 |") +A("| Pro | $72.00 | **$604.80** | $50.40 | 30% | ~400 | ~2.000 | 60.000 |") +A("| Max | $160.00 | **$1.344,00** | $112.00 | 30% | ~1.600 | ~8.000 | 140.000 |") +A("") +A("Toate planurile includ **GLM-5.3 și GLM-5.3-Flash**. Surse: " + "[docs.z.ai/devpack/overview](https://docs.z.ai/devpack/overview) · " + "[aipricing.guru](https://www.aipricing.guru/z-ai-subscription-pricing/)\n") +A("### Câte prompturi dai de fapt\n") +A(f"Am numărat prompturile umane reale (excluzând `tool_result`, care în transcript apar tot ca " + f"mesaje de tip `user`):\n") +A("| Mașină | Prompturi umane | Cereri API | Cereri / prompt |") +A("|---|---:|---:|---:|") +A(f"| `claude-agent` | 245 | 2.143 | 8,75 |") +A(f"| `moltbot` | 309 | 1.810 | 5,86 |") +A(f"| `LENOVO-AIO-BIRO` | **~{PROMPTS_WIN:,.0f}** *(estimat)* | {REQ_WIN:,} | {RATIO:.2f} *(aplicat)* |") +A(f"| **TOTAL** | **~{PROMPTS_TOT:,.0f}** | {T['turns']:,} | {RATIO:.2f} |") +A("") +A(f"> **Estimare marcată:** scriptul rulat pe Windows a raportat doar cererile API, nu și " + f"prompturile umane. Cifra pentru Windows e derivată din raportul măsurat pe cele două mașini " + f"Linux ({RATIO:.2f} cereri API per prompt). E singura extrapolare din tot raportul și e " + f"marcată ca atare. Raportul real pe Windows poate diferi — sesiunile de acolo par mai lungi, " + f"deci numărul de prompturi ar putea fi mai mic (și acoperirea planurilor, mai bună).\n") +A(f"Ritm rezultat: **~{PPW:,.0f} prompturi/săptămână** (~{PROMPTS_TOT/nd:,.0f}/zi) pe {nd} zile.\n") +A("### Acoperire — la multiplicator 1×\n") +A("| Plan | Anual | Efectiv/lună | Prompturi/săpt. | Acoperă din nevoia ta | Verdict |") +A("|---|---:|---:|---:|---:|---|") +for nm,mo,yr,ppw,cr in PLANS: + cov = ppw/PPW*100 + v = "**ACOPERĂ**" if cov>=100 else ("aproape" if cov>=70 else "insuficient") + A(f"| {nm} | ${yr:,.2f} | ${yr/12:.2f} | ~{ppw:,} | **{cov:.0f}%** | {v} |") +A("") +A("### Acoperire — dacă GLM-5.3 consumă credite multiplicat\n") +A("Z.AI aplică multiplicatori de credite modelelor mari (documentat 3× în orele de vârf și 2× " + "off-peak pentru GLM-5.2 / GLM-5-Turbo; pentru GLM-5.3 multiplicatorul nu e publicat explicit). " + "Dacă GLM-5.3 se contorizează la fel, acoperirea scade proporțional:\n") +A("| Plan | 1× (Flash / off-peak promo) | 2× (off-peak) | 3× (peak) |") +A("|---|---:|---:|---:|") +for nm,mo,yr,ppw,cr in PLANS: + A(f"| {nm} | {ppw/PPW*100:.0f}% | {ppw/2/PPW*100:.0f}% | {ppw/3/PPW*100:.0f}% |") +A("") +A("### Comparație completă a opțiunilor\n") +A("| Opțiune | Cost efectiv/lună | Acoperă volumul tău? | Observație |") +A("|---|---:|---|---|") +A("| **Claude Max 5x** (actual) | $100.00 | **DA, 100%** | modelele Claude; " + f"${zs:,.0f} valoare la tarif per-token |") +A(f"| OpenCode Zen, GLM-5.3-Flash | ${gfp:,.2f} *(pay-per-token)* | da, dar costă {gfp/100:.1f}× cât Max | fără plafon, dar fără reducere de abonament |") +A(f"| OpenCode Zen, GLM-5.3 | ${g53:,.2f} *(pay-per-token)* | da, dar costă {g53/100:.0f}× cât Max | prohibitiv |") +A("| OpenCode Zen $20 (buget fix) | $20.00 | **NU — 10,5%** | vezi secțiunea 7 |") +A(f"| **Z.AI Coding Lite anual** | **$12.60** | NU — {400/PPW*100:.0f}% la 1× | cel mai ieftin plan cu GLM-5.3 |") +A(f"| **Z.AI Coding Pro anual** | **$50.40** | **DA la 1× ({2000/PPW*100:.0f}%)**, nu la 2–3× | cel mai bun raport dacă multiplicatorul e 1× |") +A(f"| **Z.AI Coding Max anual** | **$112.00** | **DA, cu marjă ({8000/PPW*100:.0f}% la 1×, {8000/3/PPW*100:.0f}% la 3×)** | singurul sigur indiferent de multiplicator |") +A("") +A("### Ce înseamnă asta concret\n") +A(f"**Z.AI Coding Pro anual ($604,80/an = $50,40/lună) e de departe cea mai interesantă opțiune " + f"din tot setul** — la ritmul tău de ~{PPW:,.0f} prompturi/săptămână, cota lui de ~2.000/săptămână " + f"acoperă {2000/PPW*100:.0f}% din volum, la **jumătate din prețul Max 5x**.\n") +A("Dar cu trei rezerve serioase:\n") +A(f"1. **Marja e subțire.** {2000/PPW*100:.0f}% nu e mult peste 100%. O săptămână mai aglomerată " + "decât media te scoate din cotă, și atunci aștepți resetarea.") +A("2. **Multiplicatorul de credite e necunoscut pentru GLM-5.3.** Dacă e 2× sau 3× ca la GLM-5.2, " + f"Pro acoperă doar {2000/2/PPW*100:.0f}%–{2000/3/PPW*100:.0f}% și ai nevoie de Max ($112/lună).") +A("3. **Limita de 5 ore contează separat.** Media ta zilnică încape în cota de 5h a planului Pro " + "(~400), dar zilele de vârf pot să nu încapă. Cotele sunt simultane: săptămânală ȘI la 5 ore.\n") +A("**Diferența de calitate rămâne argumentul decisiv.** Un plan Z.AI îți dă GLM-5.3, nu Opus 5. " + f"La tine {op:.0f}% din volum rulează deja pe Opus 5 — muncă unde ai ales conștient modelul mare.\n") + + +# ---- Sectiunea 9: scenariul real Opus planifica / Flash executa ---- +SON = d["by_model"]["claude-sonnet-5"]; OPU = d["by_model"]["claude-opus-5"] +son_turn_pct = SON["turns"]/T["turns"]*100 +opu_turn_pct = OPU["turns"]/T["turns"]*100 +PPW_SON = PPW * SON["turns"]/T["turns"] +PPW_OPU = PPW * OPU["turns"]/T["turns"] +son_flash_promo = S(SON,"GLM-5.3-Flash (promo)") +son_flash_list = S(SON,"GLM-5.3-Flash (listă)") +A("## 9. Scenariul real: Opus planifică, GLM-5.3-Flash execută\n") +A("Fluxul vizat înlocuiește **doar treapta de execuție** (azi Sonnet 5) cu GLM-5.3-Flash, " + "păstrând Opus 5 pe Max pentru planificare. Asta nu e o felie arbitrară din volum — e exact " + "împărțirea care se vede deja în date.\n") +A("| Treaptă | Model azi | Tokeni/lună | % volum | Turn-uri | Prompturi/săpt. *(est.)* |") +A("|---|---|---:|---:|---:|---:|") +A(f"| Planificare | Opus 5 | {tt(OPU)/1e9:.2f}B | {tt(OPU)/tt(T)*100:.1f}% | {N(OPU['turns'])} | ~{PPW_OPU:,.0f} |") +A(f"| Execuție | Sonnet 5 | {tt(SON)/1e9:.2f}B | {tt(SON)/tt(T)*100:.1f}% | {N(SON['turns'])} | ~{PPW_SON:,.0f} |") +A(f"| Alte | Fable 5 + Haiku | {(tt(d['by_model']['claude-fable-5'])+tt(d['by_model']['claude-haiku-4-5-20251001']))/1e6:.0f}M | 1.5% | {N(d['by_model']['claude-fable-5']['turns']+d['by_model']['claude-haiku-4-5-20251001']['turns'])} | ~{PPW-PPW_SON-PPW_OPU:,.0f} |") +A("") +A("### Cât costă mutarea treptei de execuție\n") +A("| Variantă | Cost/lună | Observație |") +A("|---|---:|---|") +A(f"| Zen pay-per-token, Flash promo | ${son_flash_promo:,.2f} | tarif promoțional, expiră 2026-09-09 |") +A(f"| Zen pay-per-token, Flash listă | ${son_flash_list:,.2f} | tariful de după |") +A(f"| Z.AI Coding **Lite** anual | $12.60 | cotă ~400 prompturi/săpt. = **{400/PPW_SON*100:.0f}%** din nevoie |") +A(f"| Z.AI Coding **Pro** anual | $50.40 | cotă ~2.000/săpt. = **{2000/PPW_SON*100:.0f}%** din nevoie |") +A(f"| Z.AI Coding **Max** anual | $112.00 | cotă ~8.000/săpt. = {8000/PPW_SON*100:.0f}% |") +A("") +A(f"Treapta de execuție are nevoie de **~{PPW_SON:,.0f} prompturi/săptămână**. " + f"**Lite nu ajunge** ({400/PPW_SON*100:.0f}%). **Pro ajunge cu marjă de {2000/PPW_SON/1:.1f}×** — " + "și, spre deosebire de comparația pe volumul total, aici marja e confortabilă.\n") +A("> **Detaliu în favoarea ta:** multiplicatorul de credite Z.AI (3× peak / 2× off-peak) e " + "documentat pentru modelele mari, nu pentru cele „de rutină\". GLM-5.3-**Flash** e modelul mic, " + f"deci probabil se contorizează la 1×. Dacă e așa, Pro acoperă treapta de execuție cu " + f"{2000/PPW_SON*100:.0f}% și rămâne loc de creștere. Confirmă asta înainte să plătești anual.\n") +A("### Calibrare cu OpenCode Go — datele tale reale\n") +A("OpenCode Go costă **$10/lună** și include limite exprimate în valoare de consum, nu în tokeni:\n") +A("| Limită | Valoare |") +A("|---|---:|") +A("| La 5 ore | $12 de consum |") +A("| Săptămânal | $30 de consum |") +A("| Lunar | $60 de consum |") +A("") +A(f"Abonamentul s-a consumat în 1–2 zile. Asta **confirmă independent** analiza: la volumul tău, " + f"consumul săptămânal echivalent e ${gfp/(nd/7):,.0f} pe GLM-5.3-Flash promo și " + f"${g53/(nd/7):,.0f} pe GLM-5.3 — deci plafonul săptămânal de $30 al lui Go se evaporă în " + f"{30/(g53/(nd/7))*7:.1f} zile pe modelul mare și în {30/(gfp/(nd/7))*7:.1f} zile pe Flash. " + "Un plan plafonat în dolari nu rezistă la acest volum, indiferent de furnizor.\n") +A("**De asta planurile Z.AI sunt altceva:** cota lor e în prompturi, nu în dolari de consum. " + "Un prompt care declanșează 20 de invocări de model costă la fel ca unul care declanșează 2 — " + "iar sesiunile tale au în medie " + f"{RATIO:.1f} cereri API per prompt. Exact tipul de workload pe care tarifarea per-prompt îl " + "avantajează, și pe care cea per-dolar îl penalizează.\n") + + +# ---- Sectiunea 10: plafonul saptamanal Max 5x ---- +import statistics as _st, datetime as _dt, collections as _co +_days={k:tt(v) for k,v in d["by_day"].items()} +_THR=50e6 +_blk=[k for k,v in _days.items() if v<_THR] +_act=[v for v in _days.values() if v>=_THR] +_med=_st.median(_act); _deliv=sum(_days.values())/(nd/7); _want=_med*7 +_short=_want-_deliv; _shortp=PPW*_short/_deliv +_wk=_co.defaultdict(lambda:[0,[]]) +for k in sorted(_days): + _d0=_dt.date.fromisoformat(k); _w=_d0.isocalendar()[:2] + _wk[_w][0]+=_days[k]; _wk[_w][1].append((_d0.strftime("%a")[:2],_days[k])) +A("## 10. Problema reală: plafonul general săptămânal Max 5x\n") +A("Max 5x are **două plafoane săptămânale** — unul general, pe toate modelele, și unul separat " + "pentru Opus. Limita atinsă e cea **generală**, ceea ce înseamnă că un supliment pe GLM-5.3-Flash " + "chiar poate ajuta: fiecare prompt mutat în altă parte eliberează cotă de Max.\n") +A("### Tiparul se vede în date\n") +A("| Săptămână | Total | Profil zilnic (M tokeni, Lu→Du) |") +A("|---|---:|---|") +for _w in sorted(_wk): + _tok,_prof=_wk[_w] + A(f"| {_w[0]}-W{_w[1]:02d} | {_tok/1e9:.2f}B | " + " · ".join(f"{a} **{b/1e6:.0f}**" for a,b in _prof) + " |") +A("") +A("**Săptămâna W33 e semnătura manualului pentru un plafon atins:** 655M luni, 229M marți, apoi " + "40M, 8M, 1M, 1M, 1M. Cota s-a consumat în două zile, urmate de cinci zile moarte. Exact ce " + "descrii. Prin contrast, W32 și W34 au mers 7 zile din 7, la 2,93–3,40B.\n") +A(f"- **Zile efectiv blocate** (sub 50M tokeni): **{len(_blk)} din {len(_days)}** = {len(_blk)/len(_days)*100:.0f}%") +A(f"- **Zi activă mediană:** {_med/1e6:.0f}M tokeni") +A(f"- **Livrat efectiv de Max 5x:** {_deliv/1e9:.2f}B/săptămână") +A(f"- **Cerere dacă ai lucra 7 zile din 7 la ritmul median:** {_want/1e9:.2f}B/săptămână") +A(f"- **Deficit: {_short/1e9:.2f}B/săptămână = +{_short/_deliv*100:.0f}%** ≈ **~{_shortp:,.0f} prompturi/săptămână**\n") +A("> Deficitul e o estimare **conservatoare**: presupune că în zilele blocate ai lucra la ritm " + f"median ({_med/1e6:.0f}M), nu la ritmul zilelor bune (peste 850M). Cererea reală suprimată e " + "probabil mai mare. Nu se poate măsura direct — Claude Code nu persistă evenimentele de limită " + "în transcript, apar doar în stream-ul SDK.\n") +A("### Ce plan acoperă deficitul\n") +A("Nu trebuie mutat tot volumul — doar atât cât să elibereze cota lipsă.\n") +A("| Plan | Lunar | Anual (efectiv/lună) | Cotă/săpt. | Acoperă deficitul de ~%d | Zile blocate rămase |" % round(_shortp)) +A("|---|---:|---:|---:|---:|---:|") +for _nm,_mo,_yr,_ppw,_cr in PLANS: + _cov=_ppw/_shortp + _rem=max(0.0, len(_blk)/(nd/7) * (1-min(_cov,1.0))) + A(f"| {_nm} | ${_mo:.2f} | ${_yr/12:.2f} | ~{_ppw:,} | **{_cov*100:.0f}%** | ~{_rem:.1f}/săpt. |") +A("") +A(f"Azi ai ~{len(_blk)/(nd/7):.1f} zile blocate pe săptămână. **Lite ar duce-o la ~" + f"{len(_blk)/(nd/7)*(1-min(400/_shortp,1.0)):.1f}**, **Pro la zero**, cu marjă de " + f"{2000/_shortp:.1f}× pentru creștere.\n") +A("### Verificare din a doua direcție\n") +A(f"Dacă muți **toată** treapta de execuție (Sonnet 5, {SON['turns']/T['turns']*100:.0f}% din " + f"turn-uri, ~{PPW_SON:,.0f} prompturi/săpt.) pe GLM-5.3-Flash, eliberezi " + f"{SON['turns']/T['turns']*100:.0f}% din cota Max — care ar ține atunci de " + f"**{1/(1-SON['turns']/T['turns']):.1f}× mai mult**, adică toată săptămâna în loc de două zile.\n") +A(f"Pentru asta ai nevoie de ~{PPW_SON:,.0f} prompturi/săpt.: **Lite ({400/PPW_SON*100:.0f}%) nu " + f"ajunge, Pro ({2000/PPW_SON*100:.0f}%) ajunge cu marjă.**\n") +A("Cele două calcule dau răspunsuri diferite pentru Lite pentru că măsoară lucruri diferite: " + "primul, cât lipsește ca să nu mai fii blocat; al doilea, cât ar costa mutarea completă a " + "treptei de execuție. **Nu ai nevoie de mutarea completă** — ai nevoie doar de deficit.\n") + +A("## 11. Fișiere generate\n") +A("| Fișier | Conținut |") +A("|---|---|") +A("| `claude_usage_report.md` | acest raport |") +A(f"| `claude_usage_sessions.csv` | {N(ns)} rânduri, una per sesiune |") +A("| `claude_usage_summary.csv` | agregate: TOTAL, mașină, model, lună, zi |") +A("| `tools/claude_usage_extract.py` | extractorul read-only (rulabil remote: `ssh host 'python3 -' < script`) |") +A("| `tools/claude_usage_report.py` | agregator + CSV |") +A("| `tools/claude_usage_md.py` | generatorul acestui raport |") +A("") +A("## 12. CONCLUZIE\n") +A("### „Dacă păstrez Claude Max 5x $100 și adaug OpenCode Zen $20, cât coding suplimentar obțin?\"\n") +A(f"**Foarte puțin — aproximativ {nd*(20/gfp):.1f} zile pe lună, în cel mai bun caz.**\n") +A(f"Consumul real pe {nd} zile, pe trei mașini: **{tt(T)/1e9:.2f} miliarde de tokeni**, {N(ns)} sesiuni, " + f"{N(T['turns'])} cereri API. La acest volum, $20 nu sunt un supliment — sunt o rotunjire.\n") +A("| | GLM-5.3 | GLM-5.3-Flash (promo) | GLM-5.3-Flash (listă) |") +A("|---|---:|---:|---:|") +A(f"| Cost pentru volumul tău lunar | ${g53:,.0f} | ${gfp:,.0f} | ${gfl:,.0f} |") +A(f"| Cât din el acoperă $20 | {20/g53*100:.1f}% | **{20/gfp*100:.1f}%** | {20/gfl*100:.1f}% |") +A(f"| Zile de lucru din $20 | {nd*20/g53:.2f} | **{nd*20/gfp:.1f}** | {nd*20/gfl:.1f} |") +A("") +A("### Punct cu punct\n") +A("**1. Ar fi fost $20 Zen suficienți pentru consumul observat?** \n") +A(f"**NU, pe niciun model.**\n") +A(f"- GLM-5.3-Flash (promo): ${gfp:,.2f} — de **{gfp/20:.1f}× peste buget**. Cel mai bun caz posibil.") +A(f"- GLM-5.3-Flash (listă, după 9 sept.): ${gfl:,.2f} — de **{gfl/20:.0f}× peste buget**.") +A(f"- GLM-5.3: ${g53:,.2f} — de **{g53/20:.0f}× peste buget**.") +A(f"- Fără cache (Scenariul B), chiar și Flash promo ajunge la ${cB(T,'GLM-5.3-Flash (promo)'):,.2f} — de {cB(T,'GLM-5.3-Flash (promo)')/20:.0f}× peste.\n") +A("**2. Câte sesiuni/zi înseamnă?** \n") +A(f"Ritmul real: **{ns/nd:.1f} sesiuni/zi**, {tt(T)/nd/1e6:.0f}M tokeni/zi. Cu $20 obții:") +A(f"- GLM-5.3-Flash promo: **{nd*20/gfp:.1f} zile** (~{ns*20/gfp:.0f} sesiuni)") +A(f"- GLM-5.3-Flash listă: **{nd*20/gfl:.1f} zile** (~{ns*20/gfl:.0f} sesiuni)") +A(f"- GLM-5.3: **{nd*20/g53:.2f} zile** (~{ns*20/g53:.0f} sesiuni) — sub o zi\n") +A("**3. Ce model e mai avantajos?** \n") +A(f"**GLM-5.3-Flash**, de **{g53/gfp:.1f}× mai ieftin** decât GLM-5.3. Diferența absolută pe " + f"consumul tău: **${g53-gfp:,.2f}** (${g53:,.2f} vs ${gfp:,.2f}). La preț de listă diferența " + f"rămâne **${g53-gfl:,.2f}**. Compromisul e de calitate — Flash e modelul mic.\n") +A("**4. Diferența de cost GLM-5.3 vs GLM-5.3-Flash** \n") +A(f"| | GLM-5.3 | Flash (promo) | Flash (listă) |") +A("|---|---:|---:|---:|") +A(f"| Total | ${g53:,.2f} | ${gfp:,.2f} | ${gfl:,.2f} |") +A(f"| Pe zi | ${g53/nd:.2f} | ${gfp/nd:.2f} | ${gfl/nd:.2f} |") +A(f"| Pe sesiune | ${g53/ns:.3f} | ${gfp/ns:.3f} | ${gfl/ns:.3f} |") +A(f"| Raport față de GLM-5.3 | 1× | {g53/gfp:.1f}× mai ieftin | {g53/gfl:.1f}× mai ieftin |") +A("") +A("**5. Ce procent din utilizarea Claude poate fi mutat realist pe Zen?** \n") +A(f"Structura reală: **{son:.0f}%** Sonnet 5, **{op:.0f}%** Opus 5, " + f"{tt(d['by_model']['claude-fable-5'])/tt(T)*100:.1f}% Fable 5, restul Haiku.\n") +A("Întrebarea corectă nu mai e „ce procent muți\", ci **„cât încape în $20\"** — și răspunsul e " + f"**{20/gfp*100:.1f}%** din volum, la cel mai ieftin tarif posibil. Chiar dacă ai muta pe Zen " + "absolut tot ce rulează azi pe Sonnet, ai depăși bugetul de câteva ori.\n") +A(f"Cu $20/lună pe GLM-5.3-Flash poți acoperi realist **~{20/gfp*100:.0f}% din volum** — echivalentul " + f"a ~{tt(T)*20/gfp/1e6:.0f}M tokeni. Ținta rezonabilă: **un singur flux automat**, mic și bine " + "delimitat (un bot, un job de noapte, un agent în buclă), nu o felie procentuală din tot ce faci.\n") +A("**6. Dar abonamentele Z.AI?** \n") +A(f"Aici răspunsul e cu totul altul decât la Zen $20. La ~{PPW:,.0f} prompturi/săptămână:\n") +A("| | Efectiv/lună (anual) | Acoperire la 1× | Acoperire la 3× |") +A("|---|---:|---:|---:|") +A(f"| Z.AI Coding **Lite** | $12.60 | {400/PPW*100:.0f}% | {400/3/PPW*100:.0f}% |") +A(f"| Z.AI Coding **Pro** | $50.40 | **{2000/PPW*100:.0f}%** | {2000/3/PPW*100:.0f}% |") +A(f"| Z.AI Coding **Max** | $112.00 | {8000/PPW*100:.0f}% | **{8000/3/PPW*100:.0f}%** |") +A("") +A("**Lite ($12,60/lună) e opțiunea potrivită pentru rolul pe care îl căutai la Zen $20** — cost " + f"similar, dar acoperă {400/PPW*100:.0f}% din volum în loc de {20/gfp*100:.1f}%, adică de " + f"**{(400/PPW)/(20/gfp):.0f}× mai mult** pentru aceiași bani. Modelul de abonament bate plata " + "la token, exact cum o face și Max față de tarifele Zen.\n") +A("### Recomandare\n") +A(f"**Păstrează Max 5x — la ${zs:,.0f} valoare per-token pentru $100 plătiți, e cea mai bună afacere " + "din tot setul de date.** Nu e nimic de optimizat acolo.\n") +A("**Nu lua OpenCode Zen $20.** La volumul tău e o rotunjire (10,5%), iar pentru bani similari " + f"Z.AI Coding Lite anual ($12,60/lună) îți dă de {(400/PPW)/(20/gfp):.0f}× mai mult. Singurul " + "motiv real pentru Zen ar fi accesul la multe modele diferite dintr-un singur cont, nu volumul.\n") +A("**Dacă vrei capacitate suplimentară serioasă**, ordinea corectă e:\n") +A(f"1. **Z.AI Coding Lite anual, $12,60/lună** — ca supliment: preia un flux automat întreg " + f"(tot `moltbot` = {tt(d['by_machine']['moltbot'])/1e6:.0f}M tokeni/lună) și îți lasă Max liber " + "pentru munca grea. Risc mic, cost mic. **Aici aș începe.**") +A(f"2. **Z.AI Coding Pro anual, $50,40/lună** — dacă vrei să muți o felie mare din volum. " + f"Acoperă {2000/PPW*100:.0f}% la 1×, dar doar {2000/3/PPW*100:.0f}% dacă GLM-5.3 se contorizează " + "la 3×. Verifică multiplicatorul înainte, e diferența dintre „ajunge\" și „nu ajunge\".") +A("3. **Z.AI Coding Max anual, $112/lună** — singurul care acoperă volumul indiferent de " + "multiplicator, dar la acel preț compari direct cu un al doilea Max 5x sau cu Max 20x, unde " + "primești Opus 5 în loc de GLM-5.3.\n") +A("**Testul decisiv nu e de preț, e de calitate.** Toate variantele Z.AI îți dau GLM-5.3, nu " + f"Opus 5, iar {op:.0f}% din volumul tău rulează pe Opus 5 pentru că ai ales asta. Ia Lite anual " + "o lună, rutează pe el fluxurile automate, și vezi dacă rezultatul e acceptabil înainte să " + "muți ceva important.\n") +A("**Rolul rămas pentru Zen $20** (dacă îl iei totuși) e restrâns:\n") +A("- **buget de experiment** — să testezi dacă GLM-5.3-Flash e destul de bun pe un flux anume, " + "înainte să iei o decizie mai mare;") +A("- **overflow de urgență** — dacă atingi limita Max într-o zi aglomerată, ai un backup care " + "costă cenți pe oră;") +A(f"- **un singur job automat mic** — de exemplu tot ce rulează pe `moltbot` " + f"({tt(d['by_machine']['moltbot'])/1e6:.0f}M tokeni = ${S(d['by_machine']['moltbot'],'GLM-5.3-Flash (promo)'):.2f}/lună " + f"pe Flash promo, {S(d['by_machine']['moltbot'],'GLM-5.3-Flash (promo)')/20*100:.0f}% din buget).\n") + +A("### Rezerve\n") +A(f"1. **`claude-agent` are doar 5 zile din {nd}** cu transcripturi păstrate; consumul lui real e " + f"mai mare decât cei {tt(d['by_machine']['claude-agent'])/1e6:.0f}M măsurați. Nu am extrapolat. " + "Efectul e mic la scara totalului (2,7%), dar direcția e clară: totalul real e mai mare, nu mai mic.") +A("2. **Alte mașini Windows** din tailnet (`marius-hx90g`, `lenovo-aio-h1`, `lg17`, `roa-carapetru2`) " + "nu au fost scanate — erau offline. Dacă rulezi Claude Code și pe ele, totalul crește.") +A(f"3. **Cache hit rate-ul e ipoteza critică:** {T['cache_read']/tt(T)*100:.1f}% din volum e cache read. " + "OpenCode cu GLM nu garantează același comportament de caching ca Claude Code — Scenariul B " + f"(${cB(T,'GLM-5.3-Flash (promo)'):,.0f} în loc de ${gfp:,.0f}) e cazul rău, și nu e improbabil.") +A("4. **Prețul Flash e promoțional** până pe 2026-09-09; se dublează după.") +A("5. **GLM-5.3 nu e listat oficial pe OpenCode Zen** — am folosit tariful Z.AI ca proxy, validat " + "prin faptul că GLM 5.2 are pe Zen exact prețul Z.AI.") +A("6. **Datele Windows au trecut printr-o conversie de tabel** (TAB + date M/D/YYYY). UUID-urile și " + "valorile numerice au fost validate, dar nu am putut verifica independent fișierele sursă.") +open(OUT+"/claude_usage_report.md","w").write("\n".join(L)+"\n") +print("scris") diff --git a/tools/claude_usage_report.py b/tools/claude_usage_report.py new file mode 100644 index 0000000..60ed230 --- /dev/null +++ b/tools/claude_usage_report.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python3 +"""Agregă rezultatele claude_usage_extract.py și generează raportul + CSV-urile.""" +import json, csv, sys, os +from collections import defaultdict + +OUT = sys.argv[1] if len(sys.argv) > 1 else "." +INPUTS = sys.argv[2:] + +# Preturi USD / 1M tokeni. Verificate 2026-09-01. +PRICES = { + "GLM-5.3": {"in": 1.40, "cache_read": 0.26, "cache_write": None, "out": 4.40}, + "GLM-5.3-Flash (promo)":{"in": 0.075, "cache_read": 0.015, "cache_write": None, "out": 0.25}, + "GLM-5.3-Flash (list)": {"in": 0.15, "cache_read": 0.03, "cache_write": None, "out": 0.50}, + # referinta: aceleasi modele Claude, dar platite la bucata pe Zen + "Zen Claude Opus 5": {"in": 5.00, "cache_read": 0.50, "cache_write": 6.25, "out": 25.00}, + "Zen Claude Sonnet 5": {"in": 2.00, "cache_read": 0.20, "cache_write": 2.50, "out": 10.00}, + "Zen Claude Haiku 4.5": {"in": 1.00, "cache_read": 0.10, "cache_write": 1.25, "out": 5.00}, + "Zen Claude Fable 5": {"in": 10.00, "cache_read": 1.00, "cache_write": 12.50,"out": 50.00}, +} +# mapare model observat -> tarif Zen pentru acelasi model (referinta "cat ar costa la bucata") +ZEN_SELF = {"claude-opus-5":"Zen Claude Opus 5", "claude-sonnet-5":"Zen Claude Sonnet 5", + "claude-haiku-4-5-20251001":"Zen Claude Haiku 4.5", "claude-fable-5":"Zen Claude Fable 5"} + +rows, sessions, meta = [], {}, [] +for p in INPUTS: + d = json.load(open(p)) + meta.append({k: v for k, v in d.items() if k not in ("rows", "sessions")}) + m = d["machine"] + for r in d["rows"]: + rows.append({**r, "machine": m}) + for sid, s in d["sessions"].items(): + sessions[(m, sid)] = s + +# --- deduplicare cross-masina pe session id --- +by_sid = defaultdict(set) +for (m, sid) in sessions: by_sid[sid].add(m) +cross_dupes = {sid for sid, ms in by_sid.items() if len(ms) > 1} + +def cost(tok, price, no_cache=False): + """tok: dict cu input/output/cache_creation/cache_read. Returneaza breakdown USD.""" + p = PRICES[price] + cw = p["cache_write"] if p["cache_write"] is not None else p["in"] + if no_cache: + # Scenariul B: fara avantajul cache-ului -> tot contextul reincarcat ca input normal + return {"input": (tok["input"] + tok["cache_read"] + tok["cache_creation"]) / 1e6 * p["in"], + "cache_read": 0.0, "cache_write": 0.0, + "output": tok["output"] / 1e6 * p["out"]} + return {"input": tok["input"] / 1e6 * p["in"], + "cache_read": tok["cache_read"] / 1e6 * p["cache_read"], + "cache_write": tok["cache_creation"] / 1e6 * cw, + "output": tok["output"] / 1e6 * p["out"]} + +def zero(): return {"input": 0, "output": 0, "cache_creation": 0, "cache_read": 0, "turns": 0, "thinking": 0} +def add(a, b): + for k in a: a[k] += b.get(k, 0) + return a + +TOT = zero() +by_model, by_machine, by_month, by_day, by_session = (defaultdict(zero) for _ in range(5)) +sess_machine, sess_models = {}, defaultdict(set) +for r in rows: + add(TOT, r) + add(by_model[r["model"]], r); add(by_machine[r["machine"]], r) + add(by_month[r["date"][:7]], r); add(by_day[r["date"]], r) + add(by_session[r["session"]], r) + sess_machine[r["session"]] = r["machine"]; sess_models[r["session"]].add(r["model"]) + +def tot(t): return t["input"] + t["output"] + t["cache_creation"] + t["cache_read"] + +days = sorted(by_day) +import datetime +d0 = datetime.date.fromisoformat(days[0]); d1 = datetime.date.fromisoformat(days[-1]) +span = (d1 - d0).days + 1 +missing = [ (d0 + datetime.timedelta(i)).isoformat() for i in range(span) + if (d0 + datetime.timedelta(i)).isoformat() not in by_day ] + +# ---------------- CSV sesiuni ---------------- +with open(os.path.join(OUT, "claude_usage_sessions.csv"), "w", newline="") as f: + w = csv.writer(f) + w.writerow(["session_id","machine","project","models","first_ts","last_ts","user_turns", + "assistant_turns","input_tokens","output_tokens","cache_creation_tokens", + "cache_read_tokens","total_tokens","cost_glm53_usd","cost_glm53flash_promo_usd"]) + for sid, t in sorted(by_session.items(), key=lambda kv: -tot(kv[1])): + m = sess_machine[sid]; s = sessions.get((m, sid), {}) + w.writerow([sid, m, s.get("project",""), "|".join(sorted(sess_models[sid])), + s.get("first_ts",""), s.get("last_ts",""), s.get("user_msgs",""), t["turns"], + t["input"], t["output"], t["cache_creation"], t["cache_read"], tot(t), + round(sum(cost(t,"GLM-5.3").values()),6), + round(sum(cost(t,"GLM-5.3-Flash (promo)").values()),6)]) + +# ---------------- CSV summary ---------------- +with open(os.path.join(OUT, "claude_usage_summary.csv"), "w", newline="") as f: + w = csv.writer(f) + w.writerow(["dimension","key","sessions","turns","input_tokens","output_tokens", + "cache_creation_tokens","cache_read_tokens","total_tokens", + "cost_glm53_usd","cost_glm53flash_promo_usd","cost_glm53flash_list_usd"]) + def emit(dim, key, t, nsess=""): + w.writerow([dim, key, nsess, t["turns"], t["input"], t["output"], t["cache_creation"], + t["cache_read"], tot(t), + round(sum(cost(t,"GLM-5.3").values()),4), + round(sum(cost(t,"GLM-5.3-Flash (promo)").values()),4), + round(sum(cost(t,"GLM-5.3-Flash (list)").values()),4)]) + emit("TOTAL","ALL",TOT,len(by_session)) + for k,v in sorted(by_machine.items()): emit("machine",k,v,sum(1 for s in sess_machine.values() if s==k)) + for k,v in sorted(by_model.items()): emit("model",k,v) + for k,v in sorted(by_month.items()): emit("month",k,v) + for k,v in sorted(by_day.items()): emit("day",k,v) + +zen_self = 0.0; zen_self_missing = [] +for _m,_t in by_model.items(): + if _m in ZEN_SELF: zen_self += sum(cost(_t, ZEN_SELF[_m]).values()) + else: zen_self_missing.append(_m) +json.dump({"zen_self":zen_self,"zen_self_missing":zen_self_missing,"TOT":TOT,"by_model":dict(by_model),"by_machine":dict(by_machine), + "by_month":dict(by_month),"by_day":dict(by_day),"meta":meta, + "days":days,"span":span,"missing":missing,"cross_dupes":sorted(cross_dupes), + "n_sessions":len(by_session), + "sess_per_machine":{k:sum(1 for s in sess_machine.values() if s==k) for k in by_machine}}, + open(os.path.join(OUT,"_agg.json"),"w"), indent=1) +print("OK", len(by_session), "sesiuni,", len(days), "zile")