
Memo'yu kaynak koddan bir dakikadan kısa sürede çalıştırın. Bu rehber bir geliştirme kurulumunu varsayar — son kullanıcı kurulumu için Kurulum Rehberi sayfasına bakın.
| Gereksinim | Minimum Sürüm | Kontrol Komutu |
|---|---|---|
| Go | 1.26+ | go version |
| Flutter | 3.10+ | flutter --version |
| GCC / build-essential | Güncel | gcc --version |
| Git | Güncel | git --version |
SQLite ve sqlite-vec CGO gerektirir. Tüm Go komutlarından önceCGO_ENABLED=1ayarlayın. Linux'tabuild-essential(Debian/Ubuntu) veyabase-devel(Arch) kurun. macOS'te Xcode Command Line Tools kurun. Windows'ta MSYS2 veya MinGW kullanın.
git clone https://github.com/BugraAkdemir/memo.git
cd memo
Terminal 1 — Arka Uç:
go run . --port 8090
Go arka ucu localhost:8090 adresinde başlar. REST API, SSE akış uç noktalarını sunar ve llama.cpp, hafıza, sağlayıcılar ve tüm arka uç hizmetlerini yönetir.
Terminal 2 — Ön Uç:
cd frontend
flutter run -d linux
Platformunuza bağlı olarak linux yerine windows, macos veya chrome kullanın. Flutter masaüstü uygulaması arka uca HTTP/SSE üzerinden bağlanır.
8090 portu kullanımdaysa--port 8080(veya başka bir port) ile çalıştırın. Flutter istemcisininMemoApiClienttemel URL'sini eşleşecek şekilde güncelleyin.
cd memo
CGO_ENABLED=1 go build -o memo .
cd memo/frontend
flutter build linux --release
Derlenen ikili dosya frontend/build/linux/x64/release/bundle/ dizininde bulunur.
Depo, platform paketleri üreten build_releases.sh betiğini içerir:
./build_releases.sh
Bu, dist/ dizininde .AppImage, .deb, .tar.gz (Linux), .zip (macOS) ve .exe (Windows) dosyaları oluşturur.
Listening on :8090 yazdırmalımemo/
├── main.go # Giriş noktası
├── go.mod
├── internal/ # 29 Go paketi
│ ├── app/ # Merkezi orkestratör
│ ├── webserver/ # REST API + SSE
│ ├── memory/ # RAG vektör deposu
│ ├── provider/ # LLM sağlayıcı yönlendirme
│ ├── agent/ # Araç çağırma korumalı alanı
│ ├── orchestra/ # Çoklu-model iş akışları
│ ├── cloudsync/ # Google Drive uçtan uca yedekleme
│ ├── whatsapp/ # WhatsApp köprüsü
│ ├── calendar/ # Etkinlik deposu + hatırlatıcılar
│ ├── identity/ # Sistem prompt / kişilik
│ └── ...
├── frontend/ # Flutter masaüstü + mobil
│ ├── lib/main.dart
│ ├── lib/providers/ # Riverpod durumu
│ ├── lib/widgets/ # Arayüz bileşenleri
│ └── lib/core/ # API istemcisi, temalar
├── config/config.yaml # Varsayılan yapılandırma
├── data/ # SQLite veritabanları, oturumlar, modeller
└── build_releases.sh # Paketleme betiği