cool-solution — dev.blog
Tecnologie

Repo del giorno: agentacct, quanto costano davvero i coding agent

Chi lavora ogni giorno con i coding agent conosce la sensazione: a fine giornata l'agente ha «fatto cose», i token sono volati, ma ricostruire cosa sia successo davvero — quali task, quali file, quali test, a quale costo — è un esercizio di archeologia sui log. Il 24 luglio 2026 è comparso su GitHub agentacct, di mikehasa, e in meno di una settimana ha superato le 450 stelle: una dashboard local-first che chiama questo problema per nome, «Agent Work Intelligence». Legge i log di sessione che Claude Code e Codex già scrivono sulla macchina, li unisce al lavoro che l'agente registra mentre procede e mostra il risultato su una dashboard che non lascia mai `127.0.0.1`. L'ho scelto come repo del giorno perché il tema — sapere quanto costano e cosa fanno gli agenti — riguarda tanto lo sviluppatore quanto l'azienda che paga la bolletta, e perché la sua filosofia si riassume in una frase del README che sottoscrivo: meglio mostrare un buco che una stima spacciata per certezza.

AIHRMarketingAdminCustomer CareSalesOperations

🔍 Cos'è agentacct

agentacct è uno strumento Python (>= 3.11, macOS e Linux; Windows solo via WSL) che si installa con pipx e fa una cosa sola: rende visibile il lavoro dei coding agent. Non è un proxy, non intercetta le chiamate API e non chiede mai una chiave del provider: legge in sola lettura i file di sessione che i client scrivono già in locale, li importa in uno store di file di testo e serve una dashboard su localhost con token per agente, modello e giornata, costi stimati da tabella prezzi e i task ricostruiti con i loro passi di lavoro.

La parola chiave del progetto è onestà. I token importati dai log sono etichettati `client_reported`; i costi sono dichiarati stime da tabella prezzi, mai fatture; un test passato è evidenza `Verified`, mentre l'affermazione dell'agente («ho sistemato il bug») resta etichettata `Agent reported`. E quando il collegamento fra consumo e lavoro non è dimostrabile, agentacct mostra il buco invece di inventare l'attribuzione.

La carta d'identità del repo
repo       mikehasa/agentacct
cosa       dashboard local-first: cosa hanno fatto gli agenti e quanto è costato
come       Python >= 3.11 · pipx install agentacct · dashboard su 127.0.0.1:8765
fonti      log di sessione di Claude Code e Codex (read-only) + lavoro via MCP
extra      niente account, niente cloud, niente telemetria, niente API key
licenza    MIT · ~470 stelle in meno di una settimana · early alpha

Repo ufficiale · mikehasa/agentacct

«Private by design»: lo stato è in file locali, la dashboard si lega a 127.0.0.1 e non c'è alcun phone-home.

⚙️ Come si installa e si prova senza rischi

L'installazione è un comando pipx più un onboarding una tantum per macchina: `agentacct onboard` rileva i log dei coding agent presenti, prepara lo store globale, esegue la prima sincronizzazione dei consumi e avvia la dashboard su `http://127.0.0.1:8765`. Un dettaglio ben documentato: server MCP e hook si agganciano all'avvio della sessione, quindi il primo task registrato arriverà dalla prossima sessione dell'agente, non da quella che ha eseguito l'onboarding.

Per chi vuole guardarsi intorno prima di toccare i dati reali c'è `agentacct demo`: un walkthrough locale in uno store temporaneo usa-e-getta, senza chiavi e senza chiamate API a pagamento. Il runtime si governa con `start`, `status`, `stop` e `repair`, e chi preferisce l'installazione per singolo repository può usare `agentacct onboard --scope project`.

Installazione e primo avvio
# Installazione (una volta per macchina)
pipx install agentacct
agentacct onboard        # rileva i log, prepara lo store, avvia la dashboard

# Dashboard: http://127.0.0.1:8765
# Poi apri una NUOVA sessione dell'agente in un repo qualsiasi

# Prima vuoi solo curiosare? Walkthrough sicuro in uno store temporaneo:
agentacct demo

Runbook di installazione · INSTALL.md

L'onboarding globale non scrive alcun file nel repository; lo store di default vive in ~/.local/state/agentacct/state.

🧭 Come funziona: due flussi di evidenza e un join etichettato

L'architettura tiene separati due flussi. Il primo è la «verità sui consumi»: i token letti dai file di sessione dei client, importati così come i client li riportano. Il secondo è il «significato del lavoro»: le sezioni e gli eventi che l'agente registra via MCP mentre procede (`agentacct_record_section`, `agentacct_record_machine_check`), più i check automatici come le esecuzioni dei test.

Il join fra i due flussi non tira a indovinare: passa per gli id reali di sessione e transcript. Per Claude Code un hook installato all'onboarding cattura gli id a inizio sessione e a ogni tool call; per Codex il collegamento viene ricavato dai log di sessione del client al momento dell'import. Ogni attribuzione porta un'etichetta di confidenza — `exact`, `high`, `medium` o `low` — e quando la prova non c'è, la dashboard mostra il dato non attribuito invece di forzare il collegamento.

Dal log di sessione alla dashboard
  1. 01
    Log localiClaude Code e Codex scrivono i file di sessione come sempre
  2. 02
    Import read-onlyagentacct li legge e importa i token come client_reported
  3. 03
    Lavoro via MCPL'agente registra sezioni di lavoro e check automatici mentre procede
  4. 04
    Join con confidenzaConsumi e lavoro si collegano sugli id reali: exact/high/medium/low
  5. 05
    Dashboard localeTask, token, costi stimati ed evidenze su 127.0.0.1:8765

Due flussi di evidenza tenuti separati e un join etichettato: l'attribuzione mancante batte l'attribuzione sbagliata.

🏠 Local-first sul serio: privacy come architettura

La scelta più netta del progetto è che non esiste una versione hosted di niente: nessuna dashboard nel cloud, nessun account, nessuna sincronizzazione automatica, nessuna telemetria. Lo stato è fatto di semplici file locali, la dashboard si lega a `127.0.0.1` e il tool non chiede, non memorizza e non fa mai eco a chiavi API del provider. Persino il monitoraggio è dichiaratamente non-silenzioso: agentacct legge solo i file di sessione dei client rilevati e non osserva processi estranei avviati fuori dalle sue integrazioni.

È un'impostazione che ribalta il default del settore, dove gli strumenti di observability per agenti nascono quasi sempre come SaaS. Qui la domanda «dove finiscono i dati sulle mie sessioni di sviluppo?» ha una risposta corta: da nessuna parte, restano sulla macchina.

Observability SaaS vs agentacct

Dashboard hosted tipica

  • Account e dati delle sessioni nel cloud del vendor
  • Spesso serve la chiave API o un proxy sulle chiamate
  • Telemetria e retention decise dal fornitore
  • Numeri aggregati, provenienza raramente esplicita

agentacct (local-first)

  • Tutto su 127.0.0.1, stato in file locali leggibili
  • Read-only sui log che i client già scrivono; mai API key
  • Nessuna telemetria, nessun account, nessun cloud sync
  • Ogni numero etichettato: provenienza e confidenza esplicite

La privacy non è una feature ma l'architettura: i dati delle sessioni non lasciano la macchina.

🏢 Perché è interessante, per sviluppatori e PMI

Per chi sviluppa, agentacct trasforma una sensazione in numeri: quanti token consuma davvero quel workflow con i subagent, quanto pesa la sessione lunga rispetto a tante sessioni corte, quale modello sta bruciando il budget della settimana. E la nozione di evidenza è preziosa nel quotidiano: la differenza fra «l'agente dice di aver sistemato» e «il test è passato, ed è registrato» è esattamente il controllo che serve quando si delega molto lavoro alla macchina.

Per una PMI che sta portando gli agenti nei processi di sviluppo, il tema è governance dei costi e accountability. I piani a consumo rendono la spesa per agenti una voce reale di bilancio, ma senza visibilità è impossibile capire cosa la genera; una dashboard che resta in casa evita al tempo stesso di spedire a un SaaS terzo i metadati delle sessioni di sviluppo — che raccontano molto del codice su cui si lavora. Con una cautela onesta: agentacct mostra stime da tabella prezzi, non fatture; per la spesa contrattuale fa fede il portale del provider.

⚠️ Limiti e cautele prima di adottarlo

Il progetto è dichiaratamente in early alpha e le interfacce possono cambiare. Il supporto è «per capacità, non per logo»: Claude Code e Codex hanno oggi i percorsi di osservazione più completi, mentre altri client (Cursor, OpenCode e simili) hanno percorsi più stretti ed esplicitamente delimitati — la matrice per client in INSTALL.md e `agentacct capabilities agents` dicono la verità per la propria macchina.

Vale anche la trasparenza al contrario: i costi restano stime locali (non c'è accesso alle fatture degli abbonamenti), i token sono quelli che i client riportano nei propri log, e l'onboarding tocca la configurazione utente dei client — hook e MCP in `~/.claude`, `~/.codex/config.toml` — cosa documentata per filo e per segno insieme alla procedura di disinstallazione, ma da sapere prima di lanciarlo su una macchina di lavoro.

  • Early alpha: interfacce e store possono cambiare fra le release; storicamente lo store ha già cambiato percorso una volta.
  • Stime, non fatture: i costi vengono da una tabella prezzi locale ed etichettati come stime; la spesa reale la certifica il provider.
  • Supporto per capacità: Claude Code e Codex coperti bene; altri client con percorsi più limitati, dichiarati nella matrice.
  • Requisiti: Python >= 3.11, macOS o Linux; Windows solo via WSL.
  • Tocca la config dei client: l'onboarding installa hook e server MCP nella configurazione utente; la rimozione è documentata.

✅ Da dove partire

Il percorso che suggerisco è in tre passi. Primo: `agentacct demo`, per capire cosa mostra la dashboard senza toccare i dati reali. Secondo: l'onboarding vero su una macchina di sviluppo, seguito da qualche giorno di lavoro normale con Claude Code o Codex — è lì che i task cominciano a popolarsi di passi di lavoro ed evidenze. Terzo, la lettura più interessante per chi progetta strumenti: la truth table in `docs/usage-truth-table.md`, che documenta con precisione cosa ogni percorso di osservazione può e non può dimostrare.

Il segnale più ampio è che l'ecosistema degli agenti sta entrando nella fase della contabilità: dopo la corsa a farli lavorare, arriva la domanda su cosa producono e a quale costo. Che uno dei primi strumenti seri per rispondere sia locale, read-only e ossessionato dalla provenienza dei dati è una buona notizia per come si sta formando questa categoria.

Domande frequenti su agentacct

Cos'è agentacct e a cosa serve?

È una dashboard local-first per coding agent: legge i log di sessione che Claude Code e Codex già scrivono sulla macchina, li incrocia con il lavoro che l'agente registra via MCP e mostra token, costi stimati, task ed evidenze su http://127.0.0.1:8765. Serve a rispondere con dati alla domanda «cosa hanno fatto gli agenti e quanto è costato», senza account, cloud o telemetria.

agentacct ha bisogno delle mie chiavi API?

No, mai: non memorizza, non richiede e non fa eco ad alcuna chiave del provider. Lavora in sola lettura sui file di sessione locali dei client e i costi che mostra sono stime calcolate da una tabella prezzi locale, etichettate come tali — non fatture del provider.

Quanto sono affidabili i numeri che mostra?

Ogni dato dichiara la propria provenienza: i token importati dai log sono etichettati client_reported, i costi sono stime da tabella prezzi, e ogni collegamento fra consumo e lavoro porta un'etichetta di confidenza (exact, high, medium, low). Un test passato è evidenza Verified; l'autodichiarazione dell'agente resta Agent reported. Quando un collegamento non è dimostrabile, la dashboard mostra il dato non attribuito invece di indovinare.

Quali agenti e sistemi operativi supporta?

I percorsi di osservazione più completi oggi riguardano Claude Code e Codex; altri client come Cursor e OpenCode hanno percorsi più stretti, dichiarati nella matrice delle capacità in INSTALL.md (il comando agentacct capabilities agents la stampa per la propria macchina). Richiede Python 3.11 o superiore su macOS o Linux; Windows è supportato solo via WSL.

Parliamone

Se questo tema ti riguarda, scrivimi: confrontarsi su codice e AI è sempre tempo speso bene.

Altri articoli del blog

claude-code-github-actions-pr-review-2026.md30 luglio 2026semantic-caching-llm-dotnet-redis.md27 luglio 2026tips-claude-claude-md-luglio-2026.md24 luglio 2026