---
url: https://docs.ogmabox.com/tr/development/architecture.md
description: >-
  Ogma'nın Rust arka ucunu, Vue ön ucunu, Electron kabuğunu, yerel depolamayı,
  eklenti çalışma zamanını, MCP sunucusunu ve masaüstü paketleme mimarisini
  anlayın.
---

# Mimari {#architecture}

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 {#high-level-components}

| Bileşen | Konum | Sorumluluk |
| --- | --- | --- |
| Rust proxy/API arka ucu | `crates/proxy` | MITM 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ğu | `desktop` | Paketlenmiş masaüstü uygulaması, tarayıcı penceresi entegrasyonu, ayar köprüsü, uygulama yaşam döngüsü. |
| Dokümantasyon | `docs` | VitePress dokümantasyon sitesi. |
| Veri dizini | `ogma-data` veya platform uygulama verileri | SQLite veritabanı, CA verileri, eklentiler, dışa aktarımlar, yedekler, dosyalar. |

## Arka uç {#backend}

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ç {#frontend}

Ö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 {#desktop-shell}

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 {#storage-model}

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ı {#plugin-runtime}

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](../plugins/README.md) bölümüne bakın.

## MCP entegrasyonu {#mcp-integration}

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](../mcp-setup.md) bölümüne bakın.

## Tasarım ilkeleri {#design-principles}

* 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.
