GitHub Dokümantasyon
v0.1.0 İlk sürüm yayında

Kendi sunucunuzda çalışma alanı

Tüm çalışma alanınız. Kendi sunucunuzda.

Manifold, çalıştırdığınız servislerin bağlantılarını, notlarınızı, haritadaki yerlere iğnelenmiş notları ve parolalarınızı tek bir sahip hesabının arkasında tutar; betikleriniz ve yapay zekâ ajanlarınız onlarla bir REST API ve MCP sunucusu üzerinden çalışır.

  • Apache 2.0 lisansı
  • amd64 ve arm64 imajı
  • PostGIS ile PostgreSQL 17
  • Modüller 04 tek yerde Servisler, Notlar, Harita Notları ve Kasa
  • Entegrasyonlar REST + MCP betikler ve ajanlar için aynı kapsamlı anahtarlar
  • Güvenlik incelemesi ASVS 5.0 seviye 1 ve 2'nin tüm gereksinimleri
  • Hesaplar 01 sahip kayıt yok, iki adımlı giriş

01 / Modüller

Dört modül, tek kenar çubuğu

Her modülün kendi sayfası, kenar çubuğunda ve aramada kendi yeri, API'de kendi kapsamları var. Birlikte, kendinize sakladığınız her şeyi kapsarlar.

  • Servisler

    Çalıştırdığınız her şeye bağlantılar: modem, NAS, paneller. Her servis bir ikon ve sizin belirlediğiniz sırada bir yer alır, yeni sekmede açılır.

    • Kenar çubuğunu, Servisler sayfasını ve komut paletini doldururlar.
    • PNG, JPEG, WebP, GIF veya SVG ikonlar; dosya adına göre değil, içeriğine göre denetlenir.
    • Giriş yaptıktan sonra ilk gördüğünüz sayfa.
  • Notlar

    Başlıklar, listeler, görev listeleri, alıntılar, kod blokları, bağlantılar, tablolar ve görsellerle zengin metin editörü. Notlar siz yazarken kendini kaydeder.

    • Geri yüklenebilen bir sürüm geçmişi ve 30 gün sonra kendini boşaltan bir çöp kutusu.
    • Başka bir sekmede veya cihazda yapılan değişiklikler fark edilir, üzerine yazılmaz.
    • Görseller doğrudan nota yüklenir.
  • Harita Notları

    OpenLayers haritası üzerinde her biri bir nota bağlı iğneler, çizgiler ve alanlar; not editörü haritanın hemen yanında.

    • Varsayılan olarak OpenStreetMap ya da https üzerinden çalışan herhangi bir raster karo sunucusu.
    • PostGIS'te saklanır, API'de GeoJSON olarak sunulur.
    • Ajanlar tek çağrıda bir iğne koyup notunu yazabilir.
  • Kasa

    AES-256-GCM ile şifrelenmiş parolalar ve anahtarlar. Bir değer ancak kimliğinizi yeniden doğruladıktan sonra gösterilir veya kopyalanır.

    • Adlar, adresler ve açıklamalar aranabilir; değerler aranamaz.
    • Hiçbir API yolu ve hiçbir MCP aracı bir değeri döndürmez.
    • Şifreleme anahtarını komut satırından yenileyin.

02 / Çalışma alanı

Her şey bir tuş uzağınızda

Tek bir arama notlarınızı, servislerinizi ve kasa kayıtlarınızın adlarını kapsar. Komut paleti, klavyeden ayrılmadan sayfalar arasında geçmenizi ve sık kullanılan işlemleri çalıştırmanızı sağlar.

  • Ctrl+K veya Cmd+K her sayfada paleti açar: bir sayfaya gidin, bir işlem çalıştırın ya da bir sonucu açın.
  • Ayrı bir arama sayfası her sonucu kısa bir alıntıyla listeler.
  • Geçmiş, düzenlemenin yaklaşık her beş dakikası ve API üzerinden yapılan her değişiklik için bir sürüm tutar; herhangi birini tek adımda geri yükleyin.
  • Telefon ve masaüstü için düzenler, açık ve koyu tema.
  • İngilizce ve Türkçe arayüz.
  • Verilerinizin dışa aktarımını Ayarlar → Veri altından indirin.

03 / API ve MCP

Betiklerinizi ve yapay zekâ ajanlarınızı kendi kurallarınızla içeri alın

REST API ve MCP sunucusu aynı anahtarları, kapsamları, istek sınırlarını ve denetim kaydını paylaşır. Bir anahtar yalnızca izin verdiğiniz modülleri görür ve onu istediğiniz an iptal edebilirsiniz.

REST API

/api/v1 altında imleçli sayfalama, anahtar başına istek sınırı ve OpenAPI 3.1 tanımıyla JSON.

İstek
curl -H "Authorization: Bearer $MANIFOLD_API_KEY" \
  "https://manifold.example.com/api/v1/notes?limit=1"
Yanıt
{
  "data": [
    {
      "id": "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
      "title": "Kuzey iskelesi",
      "excerpt": "Adaya vapurlar saat başı kalkıyor.",
      "version": 4,
      "updated_at": "2026-09-29T17:42:10.512Z",
      "deleted_at": null
    }
  ],
  "next_cursor": "eyJ1IjoiMjAyNi0wOS0yOVQxNzo0Mj…"
}

MCP sunucusu

/mcp adresinde streamable HTTP. Claude Code gibi ajanlar arama yapar, not okur ve yazar, servisleri güncel tutar ve haritaya not yerleştirir.

Claude Code'u bağlayın
claude mcp add --transport http manifold \
  https://manifold.example.com/mcp \
  --header "Authorization: Bearer mfd_your_key"
Not ve harita kapsamlı bir anahtarın araçları
# okuma
search  list_notes  get_note
list_note_revisions  list_map_features
# yazma
create_note  update_note  trash_note
restore_note  create_map_feature
update_map_feature  delete_map_feature
Kapsamlar services:read services:write notes:read notes:write map:read map:write vault:read files:read files:write

vault:read yalnızca adları, adresleri ve açıklamaları gösterir. Bir kasa değerini okuyan veya yazan bir kapsam yoktur.

04 / Güvenlik

Başka hiçbir yere koymayacaklarınızı saklamak için yapıldı

Manifold, ilk sürümünden önce OWASP ASVS 5.0'ın seviye 1 ve 2 gereksinimlerinin tamamına karşı denetlendi; aşağıdaki korumalar ilk açılıştan itibaren devrededir.

  • Tek sahip, kayıt yok

    Tek hesap, ilk açılışta yapılandırmanızdan oluşturulur. Kimse kayıt olamaz.

  • İki adımlı giriş

    Yalnızca bir kez geçen doğrulayıcı kodları, 120 bitlik yedek kodlar ve isteğe bağlı e-posta ile giriş kodları.

  • Önemli anlarda yeniden doğrulama

    Bir sırrı göstermek, parolayı değiştirmek veya oturumları sonlandırmak kimliğinizi yeniden sorar.

  • Özenli parola işleme

    8 ila 128 karakter; SecLists'teki yaygın parolalara karşı denetlenir ve scrypt ile özetlenir.

  • Kapsamlı, özetlenmiş API anahtarları

    SHA-256 özeti olarak saklanır, seçtiğiniz modüllerle sınırlıdır; her birinin bitiş tarihi ve istek sınırı vardır.

  • Sıkı tarayıcı politikaları

    Her yanıtta nonce tabanlı Content Security Policy ve güvenlik başlıkları; çıkışta tarayıcı verileri temizlenir.

  • Yalnızca eklenebilen denetim kaydı

    Girişler, değişiklikler ve bir anahtarla yapılan her yazma, veritabanının değiştirmeye izin vermediği bir kayda yazılır.

  • Her yerde sınır

    Dakikada beş giriş denemesi, her API anahtarı için istek sınırı, 30 gün sonra biten oturumlar ve her girdi için sınırlar.

  • Sıkılaştırılmış konteyner

    Yetkisiz kullanıcı, salt okunur kök dosya sistemi ve sıfır capability. Her imaj bir yazılım malzeme listesi (SBOM) ve imzalı bir derleme kanıtı taşır.

05 / Kurulum

Docker Compose ile dakikalar içinde

Tek ihtiyacınız Docker ve Docker Compose kurulu bir sunucu. Her sürüm, GitHub Container Registry'de amd64 ve arm64 için hazır bir imaj olarak yayınlanır ve PostGIS'li bir PostgreSQL veritabanının yanında çalışır.

  1. ADIM 01

    Compose dosyasını alın

    Depoyu klonlayın ve örnek dosyadan kendi yapılandırmanızı oluşturun.

    Terminal
    git clone https://github.com/Rua-Systems/manifold.git
    cd manifold
    cp .env.example .env
  2. ADIM 02

    Gizli anahtarları ve sahibi girin

    BETTER_AUTH_SECRET ve ENCRYPTION_KEY için openssl rand -base64 32 komutunun iki ayrı çıktısını kullanın, URL'de sorun çıkarmayan bir veritabanı parolası seçin ve sahip hesabını doldurun. Kendi makinenizde denemek için ORIGIN=http://localhost:3000 kullanın ve ADDRESS_HEADER= ile XFF_DEPTH= değişkenlerini boş değerle ekleyin.

    .env
    MANIFOLD_VERSION=0.1
    ORIGIN=https://manifold.example.com
    POSTGRES_PASSWORD=<openssl rand -hex 32 çıktısı>
    BETTER_AUTH_SECRET=<openssl rand -base64 32 çıktısı>
    ENCRYPTION_KEY=<openssl rand -base64 32 için başka bir çıktı>
    OWNER_USERNAME=siz
    OWNER_EMAIL=siz@example.com
    OWNER_PASSWORD=<8 ila 128 karakter>
  3. ADIM 03

    Konteynerleri başlatın

    Compose, MANIFOLD_VERSION ile belirlenen sürümün imajını çeker (0.1 en yeni 0.1.x sürümünü izler) ve uygulamayı veritabanının yanında başlatır. /login adresini açın ve sahip olarak giriş yapın.

    Terminal
    docker compose up -d
  • Açılışta migration

    Veritabanı şeması, uygulama istek kabul etmeden önce güncellenir.

  • Sağlık denetimi

    /healthz, Docker ve izleme sisteminiz için veritabanının yanıt verip vermediğini bildirir.

  • Yedekleme ve geri yükleme

    Komut satırında node cli.js backup ve restore, ayarlarda ise dışa aktarma.

  • Kendi proxy'nizin arkasında

    Caddy, Nginx ve Coolify için belgelenmiş kurulumlar; Coolify'da yeni sürüm kendini yayına alabilir.

ENCRYPTION_KEY ve BETTER_AUTH_SECRET değerlerinin bir kopyasını sunucunun dışında saklayın: yedekler ikisini de içermez ve anahtar olmadan kasa okunamaz. Manifold tek örnek olarak çalışır; aynı veritabanında asla birden fazla uygulama konteyneri başlatmayın.

Açık kaynak

Apache 2.0, kendini kanıtlamış araçlarla

Kodu okuyun, kendi donanımınızda çalıştırın ve ihtiyacınıza göre şekillendirin. Hata bildirimleri ve düzeltmeler memnuniyetle karşılanır.

  • SvelteKit
  • Svelte 5
  • TypeScript
  • SCSS
  • TipTap
  • OpenLayers
  • Better Auth
  • Drizzle ORM
  • PostgreSQL 17
  • PostGIS
  • Paraglide
  • MCP TypeScript SDK
  • Vitest
  • Playwright
  • Node.js 24

06 / SSS

Sık sorulan sorular

Manifold ücretsiz mi?

Evet. Manifold, Apache License 2.0 ile açık kaynaklıdır. Türetilmiş çalışmalar lisansı ve NOTICE dosyasını koruduğu sürece kullanabilir, değiştirebilir ve kendi sunucularınızda çalıştırabilirsiniz.

Manifold kimin için?

Tek bir kişi için. Her kurulumda yalnızca bir hesap vardır: ilk açılışta oluşturulan sahip hesabı. Kayıt, ekip veya paylaşım yoktur; daha fazla kişi için birden fazla kurulum çalıştırın.

Çalıştırmak için neye ihtiyacım var?

Docker ve Docker Compose kurulu bir sunucuya. Manifold iki konteyner olarak çalışır: uygulama ve PostGIS'li PostgreSQL 17. Üretimde TLS için Caddy, Nginx veya Coolify gibi bir ters proxy'nin arkasına koyun.

Yapay zekâ ajanları parolalarımı okuyabilir mi?

Hayır. vault:read kapsamıyla bir ajan kasa kayıtlarının adlarını, adreslerini ve açıklamalarını görür, değerlerini asla görmez. Hiçbir API yolu ve hiçbir MCP aracı bir değer döndürmez veya kabul etmez; değerler yalnızca uygulamada, kimliğinizi doğruladıktan sonra gösterilir.

Hangi yapay zekâ ajanları bağlanabilir?

Streamable HTTP taşımasını ve özel başlıkları destekleyen her MCP istemcisi, örneğin Claude Code. İstemciye https://sunucunuz/mcp adresini ve Authorization başlığında bir API anahtarı verin; yalnızca anahtarın kapsamlarının izin verdiği araçları görür.

Harita Notları hangi haritayı kullanıyor?

Varsayılan olarak OpenStreetMap'in standart karoları. https üzerinden yanıt veren herhangi bir raster karo sunucusu için MAP_TILE_URL ve MAP_TILE_ATTRIBUTION, başlangıç görünümü için MAP_DEFAULT_CENTER ve MAP_DEFAULT_ZOOM değişkenlerini ayarlayın.

Yedekleme nasıl çalışıyor?

node cli.js backup veritabanını ve yüklenen dosyaları içeren bir arşiv yazar, node cli.js restore onu geri yükler. Ayarlar → Veri ayrıca bir dışa aktarma indirmesi sunar. Arşivler ENCRYPTION_KEY ve BETTER_AUTH_SECRET değerlerini asla içermez; ikisinin de kopyasını sunucunun dışında saklayın.

Manifold'u nasıl güncellerim?

Yedek alın, sürüm notlarını okuyun, docker-compose.yml ve .env.example dosyalarını kendi kopyalarınızla karşılaştırın, MANIFOLD_VERSION değerini ayarlayın ve docker compose pull ile docker compose up -d çalıştırın. Migration'lar açılışta çalışır; 0.1 gibi bir minor sürüm hattında yalnızca docker compose pull en yeni yama sürümünü getirir.

Docker imajını doğrulayabilir miyim?

Evet. Yayınlanan imajlar, derlendikleri workflow ve commit'in imzalı bir kanıtını taşır. GitHub CLI bunu gh attestation verify oci://ghcr.io/rua-systems/manifold:0.1 --owner Rua-Systems ile denetler.

Manifold üretime hazır mı?

0.1.0 ilk sürümdür. Manifold anlamsal sürümlemeyi izler: 1.0.0'dan önce bir minor sürüm yapılandırmayı, API'yi veya verileri uyumsuz biçimde değiştirebilir ve bunu sürüm notlarında belirtir.

Dokümantasyon nerede?

Dokümantasyon deponun docs klasöründedir: kurulum, yayına alma, işletim ve yedekler, her modül, REST API, MCP sunucusu ve güvenlik incelemesi. Dokümantasyon İngilizcedir.

Hazır

Çalışma alanınızı evinize getirin

Manifold'u Docker Compose ile kurun, sahip olarak giriş yapın ve ilk ajanınızı bağlayın.