İçeriğe geç

Mimari ​

Ogma; Rust arka uç, Vue ön uç, Electron kabuğu, yerel proje depolaması, eklenti çalışma zamanı ve isteğe bağlı MCP entegrasyonu olan yerel masaüstü uygulaması olarak geliştirilmiştir.

Üst düzey bileşenler ​

BileşenKonumSorumluluk
Rust proxy/API arka ucucrates/proxyMITM proxy, REST API, depolama, tarayıcılar, yeniden gönderim, otomasyon, eklentiler, MCP, OAST, web tarayıcısı kontrol uç noktaları.
Vue ön uçfrontend/srcÇalışma alanı arayüzü, durum depoları, rotalar, düzenleyiciler, tarayıcılar, eklenti iframe'leri, yapay zekâ çalışma alanı, yardımcı araçlar.
Electron masaüstü kabuğudesktopPaketlenmiş masaüstü uygulaması, tarayıcı penceresi entegrasyonu, ayar köprüsü, uygulama yaşam döngüsü.
DokümantasyondocsVitePress dokümantasyon sitesi.
Veri diziniogma-data veya platform uygulama verileriSQLite veritabanı, CA verileri, eklentiler, dışa aktarımlar, yedekler, dosyalar.

Arka uç ​

Arka uç REST API ve proxy dinleyicisi sunar. Başlıca modüller:

  • proxy_server.rs: HTTP trafik durdurma ve iletme.
  • intercept.rs ve intercept_rules.rs: durdurma kuyruğu ve eşleştirme.
  • store.rs ve store_actor.rs: proje veritabanı erişimi ve asenkron depo tanıtıcısı.
  • api.rs: API yönlendirmesi ve işleyicileri.
  • replay.rs, automate.rs ve workflows.rs: tekrarlanabilir istek yürütme.
  • passive_scanner.rs ve active_scanner.rs: tarayıcı motorları.
  • plugins.rs ve plugin_runtime.rs: eklenti meta verileri, yalıtılmış çalışma zamanı, izinler ve olaylar.
  • mcp.rs: MCP kaynakları ve araçları.
  • ca.rs, tls_cert.rs, client_cert.rs: sertifika ve TLS desteği.
  • ws_history.rs, ws_replay.rs ve sse.rs: akış trafiği desteği.
  • oast.rs: bant dışı geri çağrı hizmetleri.

Ön uç ​

Ön uç, çalışma alanı görünümlerinin çoğunda rota düzeyinde tembel yükleme kullanan Vue uygulamasıdır.

Temel alanlar:

  • router/index.ts: çalışma alanı ve ayar rotaları.
  • components/NavSidebar.vue: ana ürün gezinmesi.
  • stores/*: geçmiş, yeniden gönderim, otomasyon, bulgular, iş akışları, eklentiler, kapsam, kabuk, yapay zekâ ve diğer durumlar için Pinia depoları.
  • api/client.ts ve api/types.ts: türlendirilmiş API istemci arayüzü.
  • views/*: çalışma alanı özellik sayfaları.
  • components/WorkspacePanel.vue: yapay zekâ ve ters kabuk çalışma alanı paneli.
  • views/PluginsView.vue ve views/PluginPageView.vue: eklenti yükleme, yönetim ve ön uç iframe barındırma.

Masaüstü kabuğu ​

Electron kabuğu, paketlenmiş masaüstü deneyimini ve yerel köprü işlevlerini sağlar:

  • Uygulama penceresini başlatma ve kontrol etme.
  • Masaüstü ayarlarını ön uç yerel depolamasına kaydetme.
  • Ogma Browser pencerelerini ve yerleşik tarayıcı görünümlerini açma.
  • Masaüstü dağıtımı için varlıkları ve ikili dosyaları paketleme.

Depolama modeli ​

Ogma değerlendirme verilerini yerel tutar. Arka uç veritabanı geçişleri şu veriler için proje kapsamlı tablolar tanımlar:

  • HTTP geçmişi ve gövdeler.
  • WebSocket ve SSE trafiği.
  • Yeniden gönderim oturumları ve denemeleri.
  • Otomasyon oturumları, yürütmeleri ve sonuçları.
  • Bulgular ve kanıt bağlantıları.
  • İş akışları ve yürütmeleri.
  • Kapsam ön ayarları.
  • Eklentiler ve izinleri.
  • Dosyalar, dışa aktarımlar, yedekler ve ayarlar.

Eklenti çalışma zamanı ​

Eklentiler arka uç bileşenleri, ön uç bileşenleri veya ikisini içerebilir.

Arka uç eklentileri JavaScript yalıtım ortamında çalışır ve bir sdk nesnesi alır. Ön uç eklentileri yalıtılmış iframe'lerde çalışır ve Ogma'nın kontrol ettiği köprü üzerinden iletişim kurar.

Önemli sınırlar:

  • Ön uç eklentileri üst DOM'a erişemez.
  • Köprü komutları sunucu tarafında doğrulanır.
  • Korumalı arka uç işlemleri bildirilmiş ve verilmiş izinler gerektirir.
  • Yüklü paketler tutarlı çalışma zamanı davranışı için Ogma'nın yönettiği eklenti dizinine kopyalanır.

Eklenti sistemi bölümüne bakın.

MCP entegrasyonu ​

MCP sunucusu Ogma proje bağlamını harici asistanlara sunar. Varsayılan olarak salt okunur başlar. Yazma, dışa aktarma, istek gönderme, iş akışı çalıştırma ve trafik durdurma denetimi yetenekleri açık izinler gerektirir.

MCP kurulumu bölümüne bakın.

Tasarım ilkeleri ​

  • Varsayılan olarak yerel çalışmayı önceliklendirme.
  • Kanıt bağlantılı bulgular.
  • Otomasyondan önce kapsam.
  • Yapay zekâ, eklentiler, istek gönderme ve dışa aktarımlar için açık izin kontrolleri.
  • Tekrarlanan test süreçleri için hızlı gezinme.
  • Ogma'nın genişletilebilirliğini korurken yerleşik proxy çalışma düzenleriyle uyumluluk.

Tescilli yazılım. Tüm hakları saklıdır.