Fixie, o vulpe de desene animate care face cu ochiul, pe fundal mov

Pe scurt

Idee, arhitectură și implementare proprii, la FameUp: OpenClaw orchestrează subagenți Claude Code, plus un server MCP read-only care răspunde cu date live.

Context

La FameUp, bugurile ajung la dezvoltatori prin Slack, de la suport, vânzări și produs. Fiecare raportare îl costa pe un dezvoltator aceeași rutină înainte de munca propriu-zisă: s-o citească, s-o reproducă, să decidă dacă e cu adevărat un bug, să caute un tichet existent, să deschidă unul. Fixie preia rutina asta și face și reparația. Dezvoltatorii fac review și merge.

Fixie a fost ideea mea: i-am gândit arhitectura și l-am construit cap-coadă.

Cum funcționează

  • O aplicație Slack prin WebSockets. Fixie rulează în Socket Mode: ține deschisă o conexiune WebSocket cu Slack, deci nu are nevoie de un endpoint public, și se apucă de treabă când cineva raportează un bug sau îl menționează.
  • Mereu pe codul actual. Are propriile clone ale repository-urilor și le actualizează (fetch) în fiecare oră, așa că orice analiză pornește de la codul de acum.
  • Un pipeline de decizie înainte de orice linie de cod. Întâi decide dacă raportarea e cu adevărat un bug sau e un comportament normal, o problemă de date ori o întrebare. Apoi verifică în Jira dacă există deja un tichet, ca același bug să nu fie înregistrat de două ori. Abia apoi deschide un tichet cu tool-ul lui de Jira și trece la reparație.
  • Fix, teste, review. Fix-ul vine cu teste și trece prin același CI ca orice altă schimbare, inclusiv PHPStan la nivel maxim și un code review făcut de AI. Se termină cu un pull request pe care un dezvoltator îl verifică și îi dă merge.
  • Orchestrare. OpenClaw orchestrează mai mulți subagenți Claude Code. Totul rulează pe un abonament Claude Code, nu pe API plătit per token, deci costul rămâne fix.

#ask-fixie

Produs, suport și vânzări îl întreabă pe Fixie și despre cod, pe canalul #ask-fixie: cum funcționează o parte din produs, de unde vine o valoare, de ce ceva se comportă într-un anume fel. Fixie răspunde pe baza codului actual, fără să scoată un dezvoltator din lucru.

Date live prin MCP

Unele întrebări cer cifre reale, nu cod. Pentru ele am construit un server MCP prin care Fixie poate interoga baza de date de producție, cu protecție pe mai multe niveluri:

  • Conexiunea folosește un utilizator de bază de date doar cu drept de citire.
  • Peste asta, verificări în cod lasă să treacă doar comenzi SELECT și DESCRIBE.
  • Datele sensibile rămân protejate, iar interogările grele nu pot încărca producția.
  • Accesul trece prin OAuth 2.0, fluxul pe care Claude Code îl cere unui server MCP remote.

Când cineva cere o statistică, Fixie interoghează datele și răspunde cu cifra reală.