OpenLore

resmi

Ajan-native bilgi sunucusu. AI ajanlarına SSH ve MCP üzerinden kimlik kapsamlı görünümler, yönetilen yazım ve yapılandırılmış meta verilerle dokümanlar sunar. Tek binary, sıfır yapılandırma.

OpenLore MCP ile neler yapabilirsiniz?

  • Serve a shared knowledge base — Point OpenLore at a folder of Markdown and let any agent read the same files over MCP or SSH using familiar tools like cat, grep, and find.

  • Scope access by identity — Grant each person or agent read-only, publish, or read-write access to specific docsets, with private home directories and path aliases.

  • Publish into governed inboxes — Let agents contribute new documents to an inbox without allowing them to edit existing content, with atomic, conflict-aware writes.

  • Query structured metadata — Inspect frontmatter as NDJSON with lore meta and filter it with jq to find documents by their metadata.

  • Embed docs in a portable binary — Build a self-contained executable with documentation embedded, served read-only at /docs for distribution to any team.

Dokümantasyon

📜 OpenLore

Release Go Reference

aakarim%2FOpenLore | Trendshift

tarafından desteklenmektedir Oiya

Ekibinizdeki her yapay zeka ajanına aynı güncel bilgiyi verin.

OpenLore'u bir Markdown klasörüne yönlendirin; Claude Code, Codex, Cursor veya bir CI işi olsun, ekibinizdeki her ajan aynı dosyaları okusun. Ajanlar, cat, grep ve find gibi zaten bildikleri araçları kullanır. Kimin neyi görebileceğine ve değiştirebileceğine siz karar verirsiniz.

Deploy to Render
Tek tıkla barındırılan sunucu. OpenLore'u Render'a Dağıtın bölümüne bakın.

Claude Code, Codex and a CI job connect to one OpenLore server, which checks each identity's access and serves the same folder of Markdown

Hızlı başlangıç

Bir klasörü kurun ve sunun:

brew install --cask aakarim/tap/lore
openlore ./docs

SSH, 2222 bağlantı noktasında çalışır. Web görünümü ve MCP, 8080 bağlantı noktasını paylaşır. ./docs içeriği / adresinde görünür.

Bir ajan bağlayın:

# Claude Code
claude mcp add --transport http openlore http://localhost:8080/mcp

# Codex
codex mcp add openlore --url http://localhost:8080/mcp

# Anything with a shell
ssh -p 2222 localhost "grep -r 'retry' /"

Ajanlarınıza ne zaman kullanmaları gerektiğini söyleyin:

ssh -p 2222 localhost agents >> AGENTS.md

Veya ajanınızın tüm kurulumu yapmasına izin verin:

ssh openlore.sh teach | claude

Homebrew kullanmıyor musunuz? Linux ve Windows için Quickstart bölümüne bakın.

Neden Markdown'ı sadece deponuzda tutmuyorsunuz?

Tek bir depodaki tek bir ajan için bunu yapın.

OpenLore, birkaç ajanın, deponun veya kişinin aynı bilgiye ihtiyaç duyduğu ve kimin neyi okuyabileceğini, yazabileceğini veya yayınlayabileceğini söylemeniz gereken durumlar içindir. Bir dosyayı bir kez güncelleyin; her ajan bir sonraki okumada yeni sürümü görür.

Vektör veritabanı, alım hattı veya SDK yoktur. Bilginiz sıradan Markdown olarak kalır.

Rehberler

Özellikler

  • Ajana özgü erişim — Ajanlar, özel bir erişim API'si öğrenmek yerine zaten anladıkları kabuk araçlarını ve kompozisyon kalıplarını kullanır.
  • Tek bilgi yüzeyi, birden çok aktarım — Aynı sanal dosya sistemini SSH, SFTP/SSHFS (doğrudan VS Code tarama ve düzenleme dahil), MCP ve insan dostu bir web görünümü üzerinden sunun.
  • Canlı, yönetilen bilgi — İçeriği salt okunur tutun, kapsamlı yayınlamaya izin verin veya belge seti başına tam yazma etkinleştirin. Yazmalar atomiktir, çakışma farkındadır ve kaydedilmeden önce doğrulanır.
  • Kimlik kapsamlı görünümler — Her kişiye veya ajana yalnızca ihtiyaç duyduğu belge setlerini, rol tabanlı ro, publish ve rw izinleri, yol takma adları ve özel ana dizinlerle verin.
  • Tasarım gereği güvenli — Kabuk, gerçek bir işletim sistemi kabuğu değil, bellek içi bir Go yorumlayıcısıdır. Normal bir oturumda kabuk kaçışı, keyfi işlem yürütme veya ortam ağ erişimi yoktur.
  • Taşınabilir bilgi paketleri — Belgeleri kendi kendine yeten bir ikili dosyaya gömün, GitHub Action ile platformlar arası paketler oluşturun veya bunları bir masaüstü MCP uzantısı olarak paketleyin.
  • Yeni bir sorgu dili olmadan yapılandırılmış bilgi — Ön yüz maddeyi lore meta ile NDJSON olarak inceleyin, jq ile sorgulayın ve Google'ın Open Knowledge Format (OKF) paketlerini ve Agent Skills'i yazma yoluna yakın doğrulayın.
  • Genişletilebilir politika ve işleme — Eklentiler, aynı dosya sistemi arayüzünü korurken doğrulama, izinler, okuma/yazma ara katman yazılımı, meta veriler ve kayıt sonrası işleme ekleyebilir.

Kullanım Durumları

  • Sürekli Öğrenme deposu — oturumları ve öğrenimleri tek bir paylaşılan sunucuda saklayın. Optimize edebilmeniz için metrikler ekleyin. Kullanıcı izolasyonunu korurken ajanların birbirleriyle öğrenim paylaşmasına izin verin.
  • Ekip Artefakt Deposu — erişim kontrollerini korurken oluşturduğunuz markdown, HTML, JSON, Excel vb. belgeleri paylaşın. Git'ten çok daha doğal, Confluence/Notion'dan daha ajan dostu.
  • Kodlama ajanları için dokümantasyon — Dahili API belgelerini, çalıştırma kitaplarını, ürün bağlamını ve mimari notlarını tanıdık, aranabilir bir arayüzün arkasına koyun.
  • Ajan ekipleri için paylaşılan canlı bellek — Ajanlara ayrı veya paylaşılan belge setleri verin; böylece bulguları yayınlayabilir, işleri devredebilir ve oturumlar arasında kalıcı bağlam biriktirebilirler.
  • Genel dokümantasyon sitesi — genel belge setinize herhangi bir dosya ekleyin, genel erişimi etkinleştirin; sitenize rastlayan herhangi bir ajana gösterilecektir. Mevcut belgelerinizi düzenlemenize gerek kalmadan AEO/GEO'yu iyileştirir.
  • Beceri paylaşımı — Agent Skills'i paylaşılan koleksiyonlara yayınlayın; böylece yetkili her ajan aynı yönetilen prosedürleri keşfedebilir ve kullanabilir.
  • Ajan Eklentileri deposu — GitHub'dan Agent Plugins depolarını sürüm sabitleyin ve ekibinizin ajanlarına sunun. Açık standartta paketlenmiş beceriler otomatik olarak güncel kalır.
  • Yönetilen bilgi katkısı — Katkıda bulunanların gelen kutularına yayınlamasına izin verin; mevcut belgeleri bakımcılara ayırın ve yanlışlıkla üzerine yazmaları önleyin.
  • Artefakt deposu — Özel bir artefakt görüntüleyici oluşturmadan veya ajanın makinesine erişim vermeden raporları, günlükleri, ekran görüntülerini ve oluşturulan dosyaları tarayıcı veya SSH üzerinden saklayın ve sunun.
  • Kimliğe özel çalışma alanları — Her ajan için özel bir ana dizin ve paylaşılan ekip bilgisi, tümü tek bir sunucu ve tek bir yetkilendirme modeli üzerinden bağlayın.
  • Taşınabilir müşteri veya proje bilgisi — İlgili belgeleri gömmüş sürümlü bir yürütülebilir dosya gönderin veya aynı bilgiyi bir MCPB masaüstü uzantısı olarak dağıtın.
  • Doğrulanmış bilgi katalogları — Ön yüz madde ve paket kurallarını uygulayın, meta verileri ucuz bir şekilde inceleyin ve hatalı biçimlendirilmiş bilgiyi kabul anında durdurun.

Nasıl Çalışır

OpenLore, SSH aktarımı için Wish üzerine kurulmuştur. Bir bağlantı tamamen sanal bir dosya sistemine karşı işlenir:

  1. Kimlik doğrulama — anahtarsız bağlanın veya bir SSH anahtarı, sertifika, parola veya OAuth girişini bir kimliğe çözümleyin.
  2. Bir görünüm oluşturun — yalnızca o kimliğe verilen belge setlerini ve yolları bağlayın.
  3. Keşfedin — bu görünüm üzerinde saf Go işlevleri olarak uygulanan kabuk komutlarını çalıştırın veya eşdeğer MCP shell aracını kullanın.
  4. Güvenle katkıda bulunun — yazma etkinse, atomik olarak kaydetmeden önce tüm dosya değişikliğini yetkilendirin ve doğrulayın.

OAuth istemcileri devredilmiş kimlikler kullanır; bu nedenle kalıcı yazma kaynağı, adil tarafından yapılan doğrudan çalışmayı adil/claude@claude.ai olarak yapılan çalışmadan ayırır. Temsilciler, asıllarından daha fazla yetki miras alamaz ve belge seti ve yetenek reddetme listeleriyle daraltılabilir. CIMD istemcileri ayrıca satıcı tarafından barındırılan meta veriler ve private_key_jwt ile kimlik doğrulayabilir; Authenticated OAuth Clients bölümüne bakın.

Normal kabuk bash, exec, curl veya keyfi ana bilgisayar işlemlerini çağıramaz. Gömülü dokümantasyon her zaman salt okunurdur. Açıkça güvenilen kimliklere, spawn yeteneği aracılığıyla dar kapsamlı eşzamansız işleme verilebilir.

Yönetilen Yazma

OpenLore varsayılan olarak salt okunurdur. Yazılabilir dağıtımlar, yönlendirmeler, ekleme, tee, patch, sed -i, dosya taşıma, yayınlama ve güvenilir harici işler için tek, politika kontrollü bir yazma yolu tutar.

echo "# Research" | publish /backend/findings.md
cat change.diff | patch /backend/api.md
sed -i 's/old/new/g' /backend/runbook.md

Yazmalar, tüm nesne atomik takaslarıdır. Karşılaştır-ve-değiştir koruması varsayılan olarak eski düzenlemeleri reddeder, belge seti izinleri hedefi kısıtlar ve eklentiler kaydetmeden önce bir yazmayı doğrulayabilir veya erteleyebilir.

Kullanıcıya yönelik kurulum için Writing and publishing ve uygulama modeli için Write system internals bölümüne bakın.

Kurulum

Homebrew, Linux ve Windows sürümleri ve hangi kurulumların kontrol panelini içerdiği için Quickstart bölümüne bakın. OpenLore'u kendiniz oluşturmak için Building from source bölümüne bakın.

Belgeleri bir ikili dosyaya gömün

Dokümantasyonu assets/lore/ içine yerleştirin ve oluşturun. Ortaya çıkan ikili dosya belgeleri içerir ve dizin bağımsız değişkeni olmadan çalıştırıldığında bunları /docs adresinde salt okunur olarak sunar:

make dashboard-build   # optional: include the web UI
go build -o my-docs ./cmd/openlore

GitHub Action ile oluşturun

Belgeleriniz gömülü platformlar arası ikili dosyalar üretin:

- uses: aakarim/openlore@v1
  with:
    docs-dir: ./docs
    config: ./openlore.yml

Doğrudan VS Code düzenleme, MCP stdio, MCPB masaüstü paketleme, SSHFS ve Go kitaplığı kullanımı için Ways to use OpenLore bölümüne bakın.

Özelleştirilmiş bir dağıtım oluşturun

setup becerisini kullanarak, resmi bir OpenLore sürümüne sabitlenmiş ince bir Containerfile içeren küçük, müşteriye ait bir depo olan <team>-lore oluşturun ve openlore.yml ve dağıtım artefaktlarını içerir. Dağıtımdan önce çalışan bir yerel sunucu oluşturur ve HTTP, MCP, kimliği doğrulanmış SSH, yazmalar ve kalıcılığı doğrular:

ssh openlore.sh setup | amp

Oluşturulan depo, ilk lore.json politikasını ve SSH tarafından görülebilen dosyaları gitignore edilmiş .local/ altında tutar. İlk dağıtım, bu durumdan boş bir kalıcı birim başlatır. Kök openlore.yml, Git/IaC yetkilisi olarak kalır ve /var/lib/openlore/config/openlore.yml öğesine ayrı olarak dağıtılır; görüntüye gömülmez. Sunucudaki sonraki lore.json ve dosya sistemi düzenlemeleri yetkilidir ve görüntü güncellemeleri tarafından asla üzerine yazılmaz.

Ek talimat komutları tam yaşam döngüsünü destekler:

  • onboarding yerel olarak ilk kimlikleri, rolleri, ana dizinleri ve klasörleri ekler;
  • deploy Fly.io, Railway, AWS, Google Cloud, Azure, DigitalOcean veya özel bir dağıtım seçer ve paylaşılan bir kalıcılık/ağ oluşturma sözleşmesini doğrular;
  • upgrade yalnızca sabitlenmiş temel görüntü sürümü değişikliğini hazırlar; böylece mevcut CD bunu dağıtabilir.

Sağlayıcı dağıtımları HTTPS/MCP, kimliği doğrulanmış OpenLore SSH, yönetim kabuğu erişimi ve kalıcı bir /var/lib/openlore birimi gerektirir. Sağlayıcı desteklediğinde, dağıtım genel bağlantı noktası 22'yi OpenLore bağlantı noktası 2222'ye iletmek üzere yapılandırır. Aksi takdirde atanan bağlantı noktasını bildirir ve harici bir TCP iletme sistemi önerir.

Yayınlanan kapsayıcı yalnızca OpenLore içerir. Kasıtlı olarak hiçbir katılım politikası veya sunucu yapılandırması içermez. Hizmet başlamadan önce, dağıtım openlore.yml ve lore.json öğelerini kalıcı yapılandırma dizinine koymalı ve şunu çalıştırmalıdır:

./out --config /var/lib/openlore/config/openlore.yml

Bu, yapılandırmayı bağımsız olarak dağıtılabilir tutar: basit bir dağıtım openlore.yml öğesini birime kopyalayabilirken, Kubernetes aynı dosyayı bir ConfigMap'ten yansıtabilir. Fly.io, Railway, AWS, Google Cloud, Azure, DigitalOcean veya özel altyapı için deploy becerisini kullanın. Deponun Railpack ve Fly dosyaları görüntüyü, kalıcı birimi ve bağlantı noktası kablolamasını sağlar; işlem başlangıcında yapılandırmayı tohumlamaz veya değiştirmez.

Özelleştirilmiş bir depo olmadan hızlı bir barındırılan sunucu için Deploy to Render düğmesini kullanın. Railpack ve Fly dosyalarının aksine, başlangıç betiği ilk önyüklemede boş bir diske bir başlangıç openlore.yml ve lore.json yazar. Render yalnızca HTTPS, MCP ve web görünümünü sunar; OpenLore SSH için genel TCP girişi yoktur.

Railway, SSH TCP proxy'sine genel bir ana bilgisayar adı ve bağlantı noktası atar. Standart SSH bağlantı noktası 22, harici bir ham TCP yük dengeleyici gerektirir. Fly.io, genel bağlantı noktası 22'yi özel bir adresle OpenLore'un dahili bağlantı noktası 2222'ye eşleyebilir. Ham SSH'de ana bilgisayar adı veya SNI yönlendirmesi yoktur, bu nedenle tek bir dinleyici bağlantı noktası 22'de birden çok alan adını yönlendiremez.

Kapsayıcı iş akışı main öğesinden latest yayınlar; sürümler ayrıca VERSION, vVERSION, ana ve alt görüntü etiketlerini yayınlar.

Dokümantasyon

Aynı sayfalar, aynı gruplar halinde openlore.sh/docs adresinde yayınlanır.

Giriş

Sayfaİçerik
OpenLore nedirTek sayfada sunun, bağlayın, kapsamlandırın, yönetin ve gözlemleyin
Değişiklik günlüğüGeçerli sürüm, sürüm notları, uyumluluk notları ve sürümlü dokümantasyon

Başlangıç

Sayfaİçerik
Hızlı başlangıçOpenLore'u kurun, bir klasör sunun ve bir aracı bağlayın
Claude CodeClaude Code'u MCP üzerinden bağlayın ve gördüklerini kapsamlandırın
CodexCodex'i MCP üzerinden bağlayın
CursorCursor'ı MCP üzerinden bağlayın
OpenCodeOpenCode'u MCP üzerinden bağlayın
SSH üzerinden herhangi bir aracıBir kodlama aracını veya CI işini SSH üzerinden bağlayın ve ona bir kimlik verin

Kavramlar

OpenLore nasıl çalışır: docset'ler, aktarım katmanları, kimlik, yazma, kurallar ve gözlem.

Sayfaİçerik
Docset'lerDocset'in ne olduğu, erişimin neden bunlar etrafında düzenlendiği ve iç içe yerleştirme, izinler, takma adlar ve kapalı-kal başarısız doğrulamanın nasıl çalıştığı
Aktarım katmanlarıSSH, SFTP, MCP, JSON API ve web'in tek bir dosya sistemini, MCP araçlarını, komut sonuçlarını, oturumları ve talimat komutlarını nasıl paylaştığı
Kimlik doğrulamaKimlik doğrulama duruşu, SSH anahtarlarının, sertifikaların, geçiş anahtarlarının, OAuth belirteçlerinin ve gelen kutusu kimlik bilgilerinin bir kimliğe, rollere, docset'lere, takma adlara, ana dizinlere ve iş yükü kimliği federasyonuna nasıl çözümlendiği
Yazma ve yayımlamaYazma modları, gelen kutuları, çakışma yönetimi, başarılı bir yazmanın neyi kontrol ettiğini ve neyi kontrol etmediğini ve işler
Klasör kuralları.lore/config.yaml ve lore.json kuralları, katmanlama, izinler, reddetme mesajları ve büyüme sınırları
Eklentiler ve biçimlerSağlayıcı arayüzleri, Open Knowledge Format doğrulaması, lore validate, lore meta ve Agent Skills eklentisi
Pano ve ölçümlerPano kimlik doğrulaması, gerçekler ile etkinlik arasındaki fark ve dosya görüntüleyici

Nasıl yapılır

Görev anlatımları.

Sayfaİçerik
OpenLore'u kullanma yollarıSSH, HTTP ve stdio üzerinden MCP, web görünümü, SSHFS, gömülü ikili dosyalar, GitHub Action, MCPB ve kitaplık kullanımı kurulumu
Sunucuyu yapılandırmaopenlore.yml oluşturun, gömülü yapılandırma ve bayraklar üzerinde öncelik, analizler ve hata ayıklama günlüğü
Bir aracının gelen kutusuna yayımlamasına izin vermeBir aracının başka hiçbir şeyi düzenlemesine izin vermeden katkılarını kabul edin
Bir düzenleyiciden göz atma ve düzenlemeYerel bir proje yansıması olmadan doğrudan VS Code ve SFTP düzenleyici kurulumu
Headlong / shellm ile çalıştırmaOpenLore'u headlong'un shellm motoru üzerinden SSH ile kullanın, bakım becerisi dahil
Kaynaktan derlemeWeb arayüzünü ve ikili dosyayı kendiniz derleyin veya web arayüzü olmadan derleyin
OpenLore'u Render'a dağıtmaTek tıklamayla Render dağıtımı, ilk geçiş anahtarı oturumu, yükseltmeler ve özel alan adları

Başvuru

Arama materyali: komutlar, anahtarlar, uç noktalar, arayüzler ve iç işleyiş.

Sayfaİçerik
Komut başvurusuEksiksiz kabuk, içgözlem, yayımlama, sözdizimi, CLI komutu ve bayrak başvurusu
openlore.yml başvurusuopenlore.yml'in kabul ettiği her anahtar için oluşturulan başvuru
Kurallar standart kitaplığıDerlenmiş kural üyeleri ve parametreleri için oluşturulan başvuru
HTTP gelen kutusu API'siTaşıyıcı veya HMAC kimlik bilgileriyle POST /inbox/{docset} ve belirteç uç noktaları
OAuth istemcileriCIMD istemci kimliği, private_key_jwt, mTLS doğrulaması ve imzalama anahtarı döndürme
Yazma sistemi iç işleyişiDosya sistemi katmanlama, yazma dikişi, kabul ara katmanı ve zaman uyumsuz işler
Panoyu derlemeÖn uç derlemesi ve yalnızca arka uç Go derlemeleri
Güvenlik değerlendirmesiTehdit modeli ve güvenlik özellikleri

Güvenlik

  • Komutlar, os/exec üzerinden değil, saf Go yorumlayıcısında çalışır.
  • Sanal dosya sistemi yolları temizler ve docset sınırlarını zorlar.
  • İzin verilen dosya desenleri ve yok sayılan dizinler, sırları görünümden uzak tutar.
  • RBAC, okuma, yayımlama, yazma, onaylar ve güvenilir yetenekleri kontrol eder.
  • Web uç noktası, ilk kullanımda kör güveni önlemek için SSH ana bilgisayar anahtarını TLS üzerinden yayımlayabilir; SSH kullanıcı ve ana bilgisayar sertifikaları da desteklenir.

Tam güvenlik değerlendirmesi için SECURITY.md dosyasına bakın.

Lisans

Apache License 2.0 — Telif Hakkı © 2026 Adil Karim

OpenLore, üçüncü taraf açık kaynak bileşenlerini birlikte sunar. Bunların lisansları ve gerekli bildirimleri assets/legal/THIRD_PARTY_NOTICES.md içinde listelenir; tam lisans metinleri assets/legal/licenses/ içindedir. Bunlar ikili dosyaya gömülüdür ve çalışan hizmet tarafından /legal adresinde sunulur.