Tracy 2.12: podpora pro AI agenty (Claude Code, Chrome MCP a spol.)

David Grudl
Nette Core | 8308
+
+7
-

Dokončuju Tracy 2.12 a než to vypustím jako stable, potřebuju, abyste to vyzkoušeli. Hlavní téma téhle verze je jedno: Tracy se naučila mluvit s AI agenty.

Dva scénáře, kde to dává smysl

1. 🛠️ Vývoj s Claude Code + Chrome MCP. Claude si otevře vaši aplikaci v Chromu ovládaném přes MCP a má k dispozici markdown BlueScreen se stack tracem, dumpy a vším, co Tracy normálně ukazuje v UI. Tracy pozná, že na druhé straně sedí agent, podle navigator.webdriver === true. Týká se to klientů, kteří řídí skutečný prohlížeč: Chrome MCP, Playwright, Puppeteer a spol. V takovém případě k běžnému výstupu přidává strukturovaný markdown do JS konzole, takže agent si ho jednoduše z ní přečte a nemusí parsovat BlueScreen nebo Tracy Bar, ani hádat, co se v aplikaci děje.

2. 📂 Dávková oprava produkčních chyb. Tracy v produkci loguje výjimky do log/exception-*.html a nově i jako .md sourozence. Vezmete složku s těmi markdowny, předáte ji Claude Code s pokynem „projdi tyhle reporty a oprav, co najdeš“ a on postupně jede jeden po druhém: přečte výjimku, porovná ji s aktuálním stavem kódu, seskupí související chyby, navrhne plán oprav, vy ho odkývnete a on je provede. Místo stovek obřích HTML souborů k ručnímu louskání se ze složky chybových hlášení stává vstup pro jednu dávkovou akci.

Co konkrétně se změnilo

  • BlueScreen při výjimce přibalí k HTML i markdown verzi (výjimku, stack trace, dumpy proměnných) a vypíše je přes console.error(). Funguje to pro synchronní render i pro AJAX.
  • Logované výjimky v produkci mají vedle log/exception-*.html i .md sourozence.
  • Tracy Bar se do konzole vypíše přes console.log(), s vlastními markdown šablonami pro panely Warnings a Dumps.
  • Debugger::dump() si svůj výpis do console.log() posílá taky, takže dumpy neskončí pohřbené v HTML.
  • Produkční chybová stránka (obecné 500) dá přes console.error() agentovi vědět, že nastala chyba 500 a že detaily jsou zalogované na serveru, místo aby agent viděl jen prázdnou obecnou hlášku.

Skill pro Claude Code – aby věděl, co s tím

Tracy sice pošle do konzole markdown, ale Claude Code sám od sebe neví, že ho tam má hledat, ani jak mu rozumět. Od toho je skill tracy-debugging – návod psaný přímo pro něj. Říká mu: po Chrome MCP requestu sáhni po list_console_messages(), tam najdeš Tracy Bar a BlueScreen v markdownu, takhle vypadá SQL panel, takhle stack trace, takhle se čtou dumpy. Bez skillu by Claude Tracy výstup přehlédl nebo ho nedokázal správně interpretovat.

Skill je součástí oficiálního Nette pluginu pro Claude Code:

/plugin marketplace add nette/claude-code
/plugin install nette@nette

Instalace Tracy

Nainstalujte si dev verzi větve v2.12:

composer require "tracy/tracy:dev-v2.12@dev"

Část dev-v2.12 říká composeru, ať vezme přímo tuhle větev; @dev obchází minimum-stability, kdybyste ho měli nastavený na stable.

Otestujte to prosím, hlavně ti, kdo jedete Claude Code s Chrome MCP nebo Playwright/Puppeteer s AI agenty. Zajímá mě, jestli výstupy dávají smysl a jestli agent z toho, co mu Tracy pošle, najde, co potřebuje. Je to nová cesta a rád bych ji dotáhl do stavu, kdy bude opravdu užitečná. 🚀

Díky!