Ana içeriğe atla
failproofai dashboard, AI ajan oturumlarınızı izlemek ve politikaları yönetmek için tasarlanmış yerel bir web uygulamasıdır. Ajanlarınız yokken neler yaptığını öğrenin.

Dashboard’u başlatma

http://localhost:8020 adresinde açılır. Dashboard, dosya sisteminden doğrudan okuma yapıyor - Claude Code proje klasörleriniz ve failproofai yapılandırma dosyaları. Hiçbir veri uzak bir servise yazılmıyor.

Sayfalar

Projeler

Makinenizde bulunan tüm Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta) ve Gemini CLI (beta) projelerini listeler. Claude projeleri ~/.claude/projects/ adresinden (veya CLAUDE_PROJECTS_PATH tarafından belirtilen yoldan) keşfedilir; Codex projeleri ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl altındaki her transkripton taranarak ve her oturumun ilk kaydında kaydedilen cwd ile gruplandırılarak keşfedilir; Copilot CLI projeleri her ~/.copilot/session-state/<sessionId>/workspace.yaml taranarak keşfedilir (COPILOT_HOME aracılığıyla yapılandırılabilir) ve cwd alanına göre gruplandırılır; Cursor Agent projeleri ~/.cursor/agent-sessions/<sessionId>/ altındaki oturum başına metaveri taranarak keşfedilir (CURSOR_HOME aracılığıyla yapılandırılabilir, conversations/ ve sessions/ fallback olarak araştırılır) ve meta.json / session.json / workspace.yaml içindeki cwd skaları için; OpenCode projeleri opencode db --format json aracılığıyla ~/.local/share/opencode/opencode.db adresindeki SQLite veritabanı sorgulanarak keşfedilir (session ve project tablolarını okuruz ve project_id ile gruplandırırız); Pi projeleri ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl altındaki oturum başına JSONL transkriptleri taranarak keşfedilir (PI_SESSIONS_DIR aracılığıyla yapılandırılabilir) ve her oturumun ilk kaydından cwd çekilir; Gemini CLI projeleri ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl taranarak keşfedilir (GEMINI_SESSIONS_DIR aracılığıyla yapılandırılabilir) ve komşu .project_root metin işaretçisinden kurallı cwd kurtarılır. Birden fazla CLI tarafından kullanılan bir proje, eşleşen tüm rozetlerle tek bir satır olarak görüntülenir. Belirli bir ajan CLI’ye göre filtrelemek için tablonun üzerindeki CLI açılır menüsünü kullanın; URL seçiminizi ?cli=claude|codex|copilot|cursor|opencode|pi|gemini olarak saklar. Her proje şunları gösterir:
  • Proje adı (klasör yolundan türetilmiş)
  • CLI rozetleri — Claude Code (turuncu), OpenAI Codex (mor), GitHub Copilot (mavi), Cursor Agent (zümrüt), OpenCode (kehribar), Pi (pembe) ve/veya Gemini CLI (gökyüzü)
  • En son oturum etkinliğinin tarihi
Oturumlarını görmek için bir projeyi tıklayın.

Oturumlar

Bir proje içindeki tüm oturumları listeler. Her oturum şunları gösterir:
  • Oturum kimliği
  • Başlangıç ve bitiş zaman damgaları
  • Araç çağrılarının sayısı
  • Hook etkinlik sayısı (harekete geçen politikalar)
Listeyi daraltmak için tarih aralığı filtresini ve oturum kimliği aramasını kullanın. Oturumlar sayfalandırılmıştır. Oturum görüntüleyicisini açmak için bir oturumu tıklayın.

Oturum görüntüleyici

Oturum görüntüleyici, özerk ajanlar için kilit soruyu yanıtlar: ajan ne yaptı ve doğru yolda kaldı mı? Başlık yanındaki CLI rozeti, oturumun Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi veya Gemini CLI transkripi olup olmadığını gösterir. Oturumda meydana gelen her şeyin bir zaman çizelgesini gösterir:
  • Mesajlar - Claude’ın metin yanıtları ve kullanıcı istemleri
  • Araç çağrıları - Claude’ın çağırdığı her araç, giriş ve çıkışı ile birlikte
  • Politika etkinliği - Her araç çağrısı için hangi politikaların harekete geçtiği ve hangi kararı döndürdüğü
Üstteki istatistik çubuğu, oturum süresi, toplam araç çağrıları ve kanca kararlarının bir özetini (izin ver / reddet / talimat say) gösterir. Oturumu dışa aktarmak için İndirme Günlükleri düğmesini tıklayın. Claude Code, Codex, Copilot, Cursor, Pi ve Gemini oturumları için orijinal disk üzerindeki JSONL transkripi byte-for-byte alırsınız; OpenCode (oturumları diskte değil SQLite’de yaşayan) için altta yatan session / messages / parts tablolarını yansıtan bir JSON belgesini alırsınız.

Denetim

Ajan’ın geçmiş oturumlar boyunca gerçekten nasıl davrandığına dair kişilik taşıyan bir rapor. failproofai audit CLI ile aynı taramayı çalıştırır ancak bunu tek ekranlı paylaşılabilir bir poster + dört geri planda bölüm olarak gösterir:
  1. Poster — ilk görünüm alanını doldurur. failproof_ai sözcüğü işareti + denetim etiketi içeren kendi içinde PNG yakalama bölgesi · arketip dizini (№ NN of 08) + denetim tarihi · sayısal puan (0–100) + yüzdelik sıralama rozeti (top 15%) · arketip adı (the optimist, the cowboy, the explorer, the goldfish, the paranoid architect, the precision builder, the hammer, the ghost adlarından biri) + 3 anahtar kelime şeridi · // only N% of agents are this archetype nadir olma satırı · 8×8 piksel sigil döşeme · audit yours → failproof.ai altbilgisi. Yakalama kutusunun hemen dışında üç paylaşma düğmesi bulunur: post your archetype (X niyeti), share on linkedin, download poster. Yakalama html-to-image aracılığıyla çalışır, böylece PNG ekran üzerindeki render ile piksel-to-piksel eşleşir (kesikli kenarlıklar, SVG logo maskesi, degradeler, yazı tipi metrikleri — tümü korunur).
  2. Güçlü Yönler — sakin ✓ satır listeleme, ajanınızın zaten doğru yaptığı davranışlar, canlı denetim verilerinden türetilmiş (temiz araç çağrı oranı, ana dalına doğrudan itme yok, sıfır kimlik bilgisi sızıntısı, sıfır yeniden deneme fırtınası) — her biri yalnızca ilgili politika denetim penceresinde temiz bir kayda sahip olduğunda sunulur.
  3. Tuhaflıklar — sıkışıp kalıp tablosu, ciddiyete göre sıralandı: when · what slipped + the policy that would've caught it · severity pill · seen, yinelenme new (bir kez), N× seen (2–9 kez) veya recurring (10+) olarak okunur.
  4. Nasıl iyileştirilir — sakin satır listeleme, önerilen her politika için bir tane: politika adı beyaz, tek satırda açıklama, sağ tarafında yükleme komutu + kopyala düğmesi. Bölüm başlığı enable all N → projected <score> · <tier> (her bir onarımın uygulanması ile ulaşacağınız puan) olarak okunur ve [install all] düğmesi her önerilen politika için birleştirilmiş failproofai policy add a b c … komutunu kopyalar.
  5. Daha iyi dön — yan yana iki kart. Sol: hatırlatıcı ayarla (3d / 7d / 14d / 30d kadans seçici; /api/auth/reminder aracılığıyla kimlik doğrulandıktan sonra devam eder). Sağ: failproof avantajlarının kilidini açın — invite a friend virgül/boşluk/yeni satır ile ayrılmış bir arkadaş e-posta listesini (gönderi başına maks. 10) alan ve POST /v0/invite adresine POSTlayan bir modal açar. API sunucusu invite@failproof.ai adresinden her alıcı için bir e-posta gönderir, gönderici Cc’ye alınır ve Reply-To ayarlanır, böylece alıcı onları kimin davet ettiğini ve gönderici gelen kutusunda bir kopya alır. Anonim kullanıcılar, davetler çıkmazdan önce gönderenin e-postası bilinecek şekilde AuthDialog aracılığıyla yönlendirilir. Yetkilendirme / avantajlar yerine getirilmesi sonraki adım.
failproofai audit çalışma zamanı tarafından yönlendirilir — altta yatan tarama motoru, desteklenen bayraklar ve transkripsyon başına önbellek değişmezleri için Denetim CLI bölümüne bakın. Dashboard en son sonucu ~/.failproofai/audit-dashboard.json adresinde önbelleğe alır (0600 modu, tek yuva, yeni çalıştırmalar üzerine yazar), böylece yeniden ziyaretler anında gerçekleşir; hem transkripsiyon başına hem de tüm sonuç önbellekleri okunduğunda 7 günden eski olunca reddedilir, böylece dashboard asla sessizce bir hafta eski sonuç sunmaz — TTL’den sonra /audit boş durumuna girer ve taze çalıştırmayı ister. Raporun alt kısmında [ re-audit now ] seçeneğini tıklamak /api/audit/run adresine noCache: true ile POSTler — yeniden denetim transkripsyon başına önbelleği atlar ve sessizce önbelleğe alınan sonucu döndürmek yerine her transkripsyonu baştan yeniden tarar — ve dashboard /api/audit/status adresini 1Hz’de yoklar; çalıştırma sırasında görünüm alanının üstüne yapışan pembe bir ilerleme şeridi geçen zamanlayıcı ile sabitlenir ve yeni sonuç başarı üzerine yerinde değiştirilir (tam sayfa yeniden yükleme yok; başarısız yeniden denetim önceki raporu sintact bırakır). Başarısız olduğunda şerit RerunError.kind (timeout / network / post_failed) anahtarlanmış kopya ile kırmızıya döner. Boş durum (önbellek yok veya süresi dolmuş) ve sıfır oturum durumu (önbellek var ancak tarama transkripsyon bulamadı) ayrı ayrı sunulur.

Politikalar

Politikaları yönetmek ve etkinliği gözden geçirmek için iki sekmeli bir sayfa.
  • Tek bir panelinden failproofai’nin hangi ajan CLI’lerini koruduğunu çoklu seçim yapın — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi ve Gemini CLI’nin her birinin yükleme durumu (Active / Detected / Inactive) satırı, kullanıcı kapsamı ayarları yolu ve marka renginde vurgu vardır. İstediğiniz CLI’leri işaretleyin veya işareti kaldırın ve Apply changes düğmesini tıklayarak bir adımda farkı yükleyin/kaldırın. Dosya yolunda ikili tespit edilen CLI’ler önceden işaretlenmiştir.
  • Bireysel politikaları tek tıkla açıp kapatın (~/.failproofai/policies-config.json adresine yazılır — yüklü her CLI’de paylaşılır)
  • Politika parametrelerini yapılandırmak için bir politikayı genişletin (policyParams destekleyen politikalar için)
  • Özel politikalar dosyası yolunu ayarlayın

Otomatik yenileme

Dashboard, üst gezintide otomatik yenileme tuşuna sahiptir. Etkinleştirildiğinde, geçerli sayfa, yeni oturumlar ve politika etkinlikleri göründükçe periyodik olarak yenilenir. Uzun süre çalışan özerk ajan oturumlarını izlemek için gereklidir.

Sayfaları devre dışı bırakma

Dashboard’un yalnızca bazı bölümlerine ihtiyacınız varsa, FAILPROOFAI_DISABLE_PAGES öğesini virgülle ayrılmış sayfa adları listesine ayarlayın:
Geçerli değerler: policies, projects, audit.

Projeler yolunu yapılandırma

Varsayılan olarak, dashboard standart Claude Code projeleri dizininden okur. Özel kurulumlar için bunu geçersiz kılın:

Yerel olmayan bir konaktan erişim

Dashboard’u geliştirme modu (npm run dev) içinde çalıştırırken ve localhost dışında bir ana bilgisayar adından erişirken — örneğin, özel bir etki alanı, uzak IP veya tünel URL — aşağıdaki gibi bir uyarı görebilirsiniz:
Bu, Next.js’nin HMR (sıcak modül yeniden yükleme) websocket’ine yalnızca geliştirme için olan çapraz kaynaklı erişimi engelmesidir. Ana bilgisayarınıza izin vermek için --allowed-origins bayrağını kullanın:
Birden fazla ana bilgisayar veya IP için virgülle ayrılmış bir liste iletin:
Bunun yerine FAILPROOFAI_ALLOWED_DEV_ORIGINS ortam değişkenini de ayarlayabilirsiniz:
Bu yalnızca geliştirme modunda uygulanır. failproofai çalıştırıldığında (üretim modu), HMR websocket’i ve çapraz kaynaklı geliştirme kaynağı sorunu yoktur.