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

David Grudl
Nette Core | 8310
+
+10
-

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 agentem + Chrome MCP. Agent 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 agentovi 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:v2.12.x-dev"

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!

SamuelThorn
Člen | 43
+
0
-

Jedu sice v Codexu, ale to asi ničemu nevadí.

Bohužel tohle…

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

…mi tvrdilo, že balíček neexistuje. Použil jsem tedy…

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

… a to se nainstalovalo. Je to to samé?

Při chybě se vytvořil HTML i MD soubor. Ten MD soubor jsem předhodil Codexu, on se v tom zorientoval a chybu opravil. Na konzoli v debug modu byla jen hláška o 500 Error, nic víc. Ale nebylo to puštěné na localhostu, tak nevím, jestli to nemohlo být tím.

Editoval SamuelThorn (24. 4. 16:43)

David Grudl
Nette Core | 8310
+
0
-

@SamuelThorn a běželo to fakt v debug mode, videl jsi Tracy?

SamuelThorn
Člen | 43
+
0
-

@DavidGrudl ano. Nasimuloval jsem chybu „Deprecated – Creation of dynamic property…“. Na obrazovce koukám na Tracy Bluescreen, dole vidím Tracy a v konzoli Chrome vidím: GET http://localhost:8000/admin/ 500 (Internal Server Error). Jsem na Windows.

David Grudl
Nette Core | 8310
+
0
-

A ten Chrome spustil agent přes MCP?

SamuelThorn
Člen | 43
+
+1
-

Ne, měl jsem to spuštěné mimo. Nedošlo mi to.

Teď jsem to zkusil spustit na Claude. Nasimuloval jsem mu stejnou chybu a požádal ho, ať otevře Chrome a řekne mi, co vidí v konzoli. Otevřel si Chrome a viděl už kompletní výpis z Tracy, identifikoval problém a nabídl řešení. Takže mohu potvrdit, že to funguje.