OpenLore
resmiServer pengetahuan yang ramah agen. Menyajikan dokumen kepada agen AI melalui SSH dan MCP dengan tampilan berbasis identitas, penulisan yang terkelola, dan metadata terstruktur. Biner tunggal, tanpa konfigurasi.
Apa yang bisa Anda lakukan dengan OpenLore MCP?
-
Menyajikan basis pengetahuan bersama — Arahkan OpenLore ke folder Markdown dan biarkan agen mana pun membaca file yang sama melalui MCP atau SSH menggunakan alat yang sudah dikenal seperti
cat,grep, danfind. -
Membatasi akses berdasarkan identitas — Berikan setiap orang atau agen akses baca-saja, terbitkan, atau baca-tulis ke docset tertentu, dengan direktori rumah privat dan alias jalur.
-
Menerbitkan ke kotak masuk yang terkelola — Biarkan agen menyumbangkan dokumen baru ke kotak masuk tanpa mengizinkan mereka mengedit konten yang sudah ada, dengan penulisan atomik yang sadar konflik.
-
Mengkueri metadata terstruktur — Periksa frontmatter sebagai NDJSON dengan
lore metadan saring denganjquntuk menemukan dokumen berdasarkan metadatanya. -
Menyematkan dokumen dalam biner portabel — Bangun executable mandiri dengan dokumentasi yang disematkan, disajikan baca-saja di
/docsuntuk didistribusikan ke tim mana pun.
Dokumentasi
Arahkan OpenLore ke folder Markdown dan setiap agen di tim Anda membaca file yang sama, baik itu Claude Code, Codex, Cursor, atau pekerjaan CI. Agen menggunakan alat yang sudah mereka kenal, seperti cat, grep, dan find. Anda yang memutuskan siapa yang dapat melihat dan mengubah apa.
Server terhosting sekali klik. Lihat Deploy OpenLore ke Render.
Memulai dengan cepat
Instal dan sajikan sebuah folder:
brew install --cask aakarim/tap/lore
openlore ./docs
SSH berjalan di port 2222. Tampilan web dan MCP berbagi port 8080. Isi dari ./docs muncul di /.
Hubungkan sebuah agen:
# 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' /"
Beri tahu agen Anda kapan harus menggunakannya:
ssh -p 2222 localhost agents >> AGENTS.md
Atau biarkan agen Anda melakukan seluruh pengaturan:
ssh openlore.sh teach | claude
Tidak menggunakan Homebrew? Lihat Quickstart untuk Linux dan Windows.
Mengapa tidak hanya menyimpan Markdown di repositori Anda?
Untuk satu agen dalam satu repositori, lakukan itu.
OpenLore digunakan ketika beberapa agen, repositori, atau orang membutuhkan pengetahuan yang sama, dan Anda perlu menentukan siapa yang dapat membaca, menulis, atau menerbitkan apa. Perbarui file sekali dan setiap agen melihat versi baru pada pembacaan berikutnya.
Tidak ada basis data vektor, pipeline ingestion, atau SDK. Pengetahuan Anda tetap sebagai Markdown biasa.
Panduan
- Apa itu OpenLore
- Claude Code
- Codex
- Cursor
- OpenCode
- Agen apa pun melalui SSH
- Biarkan agen menerbitkan ke kotak masuk
- Deploy ke Render
- Semua dokumentasi
Fitur
- Pengambilan asli agen — Agen menggunakan alat shell dan pola komposisi yang sudah mereka pahami, alih-alih mempelajari API pengambilan khusus.
- Satu permukaan pengetahuan, banyak transport — Sajikan sistem file virtual yang sama melalui SSH, SFTP/SSHFS (termasuk penjelajahan dan pengeditan langsung VS Code), MCP, dan tampilan web yang ramah manusia.
- Pengetahuan langsung dan terkelola — Jaga konten hanya-baca, izinkan penerbitan terbatas, atau aktifkan penulisan penuh per docset. Penulisan bersifat atomik, sadar konflik, dan divalidasi sebelum di-commit.
- Tampilan terbatas identitas — Berikan setiap orang atau agen hanya docset
yang dibutuhkan, dengan izin berbasis peran
ro,publish, danrw, alias jalur, dan direktori rumah pribadi. - Aman secara desain — Shell adalah interpreter Go dalam memori, bukan shell sistem operasi sungguhan. Tidak ada shell escape, eksekusi proses arbitrer, atau akses jaringan ambient dalam sesi normal.
- Paket pengetahuan portabel — Sematkan dokumen ke dalam biner mandiri, bangun paket lintas platform dengan GitHub Action, atau kemas sebagai ekstensi MCP desktop.
- Pengetahuan terstruktur tanpa bahasa kueri baru — Periksa frontmatter
sebagai NDJSON dengan
lore meta, kueri denganjq, dan validasi Open Knowledge Format (OKF) Google serta Agent Skills dekat dengan jalur penulisan. - Kebijakan dan pemrosesan yang dapat diperluas — Plugin dapat menambahkan validasi, izin, middleware baca/tulis, metadata, dan pemrosesan pasca-commit sambil mempertahankan antarmuka sistem file yang sama.
Kasus Penggunaan
- Repositori Pembelajaran Berkelanjutan — simpan sesi dan pembelajaran di satu server bersama. Tambahkan metrik agar Anda dapat mengoptimalkan. Izinkan agen berbagi pembelajaran satu sama lain sambil menjaga isolasi pengguna.
- Repositori Artefak Tim — bagikan dokumen markdown, HTML, JSON, Excel, dll. yang telah Anda buat sambil menjaga kontrol akses. Jauh lebih alami daripada git, lebih asli agen daripada Confluence/Notion.
- Dokumentasi untuk agen pengkodean — Letakkan dokumentasi API internal, runbook, konteks produk, dan catatan arsitektur di belakang antarmuka yang familier dan dapat dicari.
- Memori langsung bersama untuk tim agen — Berikan agen docset terpisah atau bersama sehingga mereka dapat menerbitkan temuan, menyerahkan pekerjaan, dan mengumpulkan konteks yang tahan lama di seluruh sesi.
- Situs dokumentasi publik — tambahkan file apa pun ke docset publik Anda, aktifkan akses publik, dan file tersebut akan ditampilkan kepada agen mana pun yang menemukan situs Anda. Meningkatkan AEO/GEO tanpa perlu mengedit dokumen yang ada.
- Berbagi keterampilan — Terbitkan Agent Skills ke koleksi bersama sehingga setiap agen yang berwenang dapat menemukan dan menggunakan prosedur terkelola yang sama.
- Repositori plugin agen — Kunci versi repositori Agent Plugins dari GitHub dan sajikan ke agen tim Anda. Keterampilan yang dikemas dalam standar terbuka tetap mutakhir secara otomatis.
- Kontribusi pengetahuan terkelola — Izinkan kontributor menerbitkan ke kotak masuk sambil mencadangkan dokumen yang ada untuk pemelihara dan mencegah penimpaan yang tidak disengaja.
- Repositori artefak — Simpan dan tampilkan laporan, log, tangkapan layar, dan file yang dihasilkan melalui browser atau SSH tanpa membangun penampil artefak khusus atau memberikan akses ke mesin agen.
- Ruang kerja khusus identitas — Pasang rumah pribadi untuk setiap agen plus pengetahuan tim bersama, semuanya melalui satu server dan satu model otorisasi.
- Pengetahuan pelanggan atau proyek portabel — Kirim executable berversi dengan dokumen relevan yang disematkan, atau distribusikan pengetahuan yang sama sebagai ekstensi desktop MCPB.
- Katalog pengetahuan tervalidasi — Terapkan konvensi frontmatter dan bundel, periksa metadata dengan murah, dan hentikan pengetahuan yang salah pada saat penerimaan.
Cara Kerjanya
OpenLore dibangun di atas Wish untuk transport SSH. Koneksi ditangani sepenuhnya terhadap sistem file virtual:
- Autentikasi — hubungkan tanpa kunci atau selesaikan kunci SSH, sertifikat, passkey, atau login OAuth ke sebuah identitas.
- Susun tampilan — pasang hanya docset dan jalur yang diberikan ke identitas tersebut.
- Jelajahi — jalankan perintah shell yang diimplementasikan sebagai fungsi Go murni
pada tampilan itu, atau gunakan alat MCP
shellyang setara. - Berkontribusi dengan aman — jika penulisan diaktifkan, otorisasi dan validasi perubahan seluruh file sebelum di-commit secara atomik.
Klien OAuth menggunakan identitas yang didelegasikan, sehingga jejak penulisan yang tahan lama membedakan
pekerjaan langsung oleh adil dari pekerjaan yang dilakukan sebagai adil/claude@claude.ai. Delegasi
tidak dapat mewarisi otoritas lebih dari prinsipalnya dan dapat dipersempit oleh
daftar penolakan docset dan kemampuan. Klien CIMD juga dapat mengautentikasi
dengan metadata yang dihosting vendor dan private_key_jwt; lihat
Klien OAuth Terautentikasi.
Shell normal tidak dapat memanggil bash, exec, curl, atau proses host
arbitrer. Dokumentasi yang disematkan selalu hanya-baca. Identitas yang
dipercaya secara eksplisit dapat diberikan pemrosesan asinkron yang dibatasi secara sempit melalui
kemampuan spawn.
Penulisan Terkelola
OpenLore hanya-baca secara default. Deployment yang dapat ditulis mempertahankan satu
jalur penulisan yang dikendalikan kebijakan untuk pengalihan, penambahan, tee, patch, sed -i,
pemindahan file, penerbitan, dan pekerjaan eksternal tepercaya.
echo "# Research" | publish /backend/findings.md
cat change.diff | patch /backend/api.md
sed -i 's/old/new/g' /backend/runbook.md
Penulisan adalah pertukaran atomik seluruh objek. Perlindungan compare-and-swap menolak edit basi secara default, izin docset membatasi target, dan plugin dapat memvalidasi atau menunda penulisan sebelum di-commit.
Lihat Menulis dan menerbitkan untuk pengaturan yang menghadap pengguna dan Internal sistem penulisan untuk model implementasi.
Instalasi
Lihat Quickstart untuk rilis Homebrew, Linux, dan Windows, serta instalasi mana yang menyertakan dasbor. Untuk membangun OpenLore sendiri, lihat Membangun dari sumber.
Sematkan dokumen dalam biner
Tempatkan dokumentasi di assets/lore/ dan bangun. Biner yang dihasilkan berisi
dokumen dan menyajikannya hanya-baca di /docs saat dijalankan tanpa argumen
direktori:
make dashboard-build # optional: include the web UI
go build -o my-docs ./cmd/openlore
Bangun dengan GitHub Action
Hasilkan biner lintas platform dengan dokumen Anda disematkan:
- uses: aakarim/openlore@v1
with:
docs-dir: ./docs
config: ./openlore.yml
Lihat Cara menggunakan OpenLore untuk pengeditan langsung VS Code, MCP stdio, pengemasan desktop MCPB, SSHFS, dan penggunaan pustaka Go.
Buat deployment yang disesuaikan
Gunakan keterampilan setup yang disertakan untuk membuat <team>-lore, repositori
kecil milik pelanggan yang berisi openlore.yml, Containerfile tipis yang dipatok ke
rilis OpenLore resmi, dan artefak deployment. Ini membangun server lokal yang berfungsi
dan memverifikasi HTTP, MCP, SSH terautentikasi, penulisan, dan persistensi sebelum
deployment:
ssh openlore.sh setup | amp
Repositori yang dihasilkan menyimpan kebijakan lore.json awal dan file yang terlihat SSH
di bawah .local/ yang diabaikan git. Deployment pertama menginisialisasi volume
persisten kosong dari keadaan itu. Root openlore.yml tetap menjadi otoritas Git/IaC dan
di-deploy secara terpisah ke /var/lib/openlore/config/openlore.yml; itu tidak dipanggang
ke dalam gambar. lore.json dan edit sistem file di server nanti bersifat
otoritatif dan tidak pernah ditimpa oleh pembaruan gambar.
Perintah instruksi tambahan mendukung seluruh siklus hidup:
onboardingmenambahkan identitas, peran, rumah, dan folder awal secara lokal;deploymemilih Fly.io, Railway, AWS, Google Cloud, Azure, DigitalOcean, atau deployment khusus dan memverifikasi kontrak persistensi/jaringan bersama;upgrademenyiapkan hanya perubahan versi gambar dasar yang dipatok sehingga CD yang ada dapat men-deploy-nya.
Deployment penyedia memerlukan HTTPS/MCP, SSH OpenLore terautentikasi,
akses shell administratif, dan volume /var/lib/openlore persisten. Di mana
penyedia mendukungnya, deployment mengonfigurasi port publik 22 untuk meneruskan ke
port OpenLore 2222. Jika tidak, ia melaporkan port yang ditetapkan dan merekomendasikan
sistem penerusan TCP eksternal.
Kontainer yang diterbitkan hanya berisi OpenLore. Kontainer itu sengaja tidak berisi
kebijakan onboarding atau konfigurasi server. Sebelum layanan dimulai,
deployment harus menempatkan openlore.yml dan lore.json di direktori konfigurasi
persisten dan menjalankan:
./out --config /var/lib/openlore/config/openlore.yml
Ini menjaga konfigurasi dapat di-deploy secara independen: deployment sederhana dapat
menyalin openlore.yml ke volume, sementara Kubernetes dapat memproyeksikan file yang sama
dari ConfigMap. Gunakan keterampilan deploy untuk Fly.io, Railway, AWS, Google Cloud,
Azure, DigitalOcean, atau infrastruktur khusus. File Railpack dan
Fly repositori menyediakan gambar, volume persisten, dan kabel port; mereka tidak
menyemai atau mengubah konfigurasi saat proses dimulai.
Untuk server terhosting cepat tanpa repositori yang disesuaikan, gunakan
tombol Deploy ke Render. Tidak seperti file Railpack dan Fly,
skrip awalnya menulis openlore.yml dan lore.json awal ke disk
kosong pada boot pertama. Render menyajikan HTTPS, MCP, dan tampilan web saja; tidak ada
ingress TCP publik untuk SSH OpenLore.
Railway menetapkan hostname dan port publik ke proksi TCP SSH-nya. Port SSH standar 22 memerlukan penyeimbang beban TCP mentah eksternal. Fly.io dapat memetakan port publik 22 ke port internal OpenLore 2222 dengan alamat khusus. SSH mentah tidak memiliki hostname atau perutean SNI, jadi satu pendengar tidak dapat merutekan beberapa domain di port 22.
Alur kerja kontainer menerbitkan latest dari main; rilis juga menerbitkan
tag gambar VERSION, vVERSION, mayor, dan minor.
Dokumentasi
Halaman yang sama, dalam grup yang sama, diterbitkan di openlore.sh/docs.
Pendahuluan
| Halaman | Isi |
|---|---|
| Apa itu OpenLore | Sajikan, hubungkan, batasi, kelola, dan amati dalam satu halaman |
| Changelog | Versi saat ini, catatan rilis, catatan kompatibilitas, dan dokumentasi berversi |
Mulai
| Halaman | Isi |
|---|---|
| Panduan Cepat | Instal OpenLore, sajikan folder, dan hubungkan agen |
| Claude Code | Hubungkan Claude Code melalui MCP dan batasi apa yang dapat dilihatnya |
| Codex | Hubungkan Codex melalui MCP |
| Cursor | Hubungkan Cursor melalui MCP |
| OpenCode | Hubungkan OpenCode melalui MCP |
| Agen apa pun melalui SSH | Hubungkan agen pengkodean atau pekerjaan CI melalui SSH dan berikan identitas |
Konsep
Cara kerja OpenLore: docset, transport, identitas, penulisan, aturan, dan observasi.
| Halaman | Isi |
|---|---|
| Docset | Apa itu docset, mengapa akses diatur di sekitarnya, dan cara kerja nesting, grant, alias, dan validasi fail-closed |
| Transport | Cara SSH, SFTP, MCP, JSON API, dan web berbagi satu sistem file, alat MCP, hasil perintah, sesi, dan perintah instruksi |
| Autentikasi | Postur autentikasi, cara kunci SSH, sertifikat, passkey, token OAuth, dan kredensial kotak masuk diselesaikan menjadi identitas, peran, docset, alias, home, dan federasi identitas workload |
| Menulis dan menerbitkan | Mode penulisan, kotak masuk, penanganan konflik, apa yang diperiksa dan tidak diperiksa oleh penulisan yang berhasil, dan pekerjaan |
| Aturan folder | Aturan .lore/config.yaml dan lore.json, pelapisan, izin, pesan penolakan, dan batas pertumbuhan |
| Plugin dan format | Antarmuka penyedia, validasi Open Knowledge Format, lore validate, lore meta, dan plugin Agent Skills |
| Dasbor dan metrik | Autentikasi dasbor, fakta versus aktivitas, dan penampil file |
Cara
Panduan langkah demi langkah tugas.
| Halaman | Isi |
|---|---|
| Cara menggunakan OpenLore | Siapkan SSH, MCP melalui HTTP dan stdio, tampilan web, SSHFS, biner tertanam, GitHub Action, MCPB, dan penggunaan pustaka |
| Konfigurasi server | Buat openlore.yml, prioritas atas konfigurasi tertanam dan flag, analitik, dan pencatatan debug |
| Izinkan agen menerbitkan ke kotak masuk | Terima kontribusi dari agen tanpa mengizinkannya mengedit hal lain |
| Jelajahi dan edit dari editor | Pengaturan langsung editor VS Code dan SFTP tanpa proyek lokal cermin |
| Jalankan headlong / shellm | Gunakan OpenLore melalui SSH dari mesin shellm headlong, termasuk keterampilan housekeeping-nya |
| Bangun dari sumber | Bangun UI web dan biner sendiri, atau bangun tanpa UI web |
| Terapkan OpenLore ke Render | Penerapan Render sekali klik, masuk passkey pertama, peningkatan, dan domain kustom |
Referensi
Materi pencarian: perintah, kunci, endpoint, antarmuka, dan internal.
| Halaman | Isi |
|---|---|
| Referensi perintah | Referensi lengkap shell, introspeksi, penerbitan, sintaks, perintah CLI, dan flag |
| Referensi openlore.yml | Referensi yang dihasilkan untuk setiap kunci openlore.yml yang diterima |
| Pustaka standar aturan | Referensi yang dihasilkan untuk anggota aturan yang dikompilasi dan parameternya |
| API kotak masuk HTTP | POST /inbox/{docset} dengan kredensial bearer atau HMAC, dan endpoint token |
| Klien OAuth | Identitas klien CIMD, private_key_jwt, koroborasi mTLS, dan rotasi kunci penandatanganan |
| Internal sistem penulisan | Pelapisan sistem file, jahitan penulisan, middleware penerimaan, dan pekerjaan asinkron |
| Bangun dasbor | Build frontend dan build Go khusus backend |
| Evaluasi keamanan | Model ancaman dan properti keamanan |
Keamanan
- Perintah dijalankan dalam interpreter Go murni, bukan melalui
os/exec. - Sistem file virtual membersihkan jalur dan menegakkan batas docset.
- Pola file yang diizinkan dan direktori yang diabaikan menjaga rahasia dari tampilan.
- RBAC mengontrol pembacaan, penerbitan, penulisan, persetujuan, dan kemampuan tepercaya.
- Endpoint web dapat menerbitkan kunci host SSH melalui TLS untuk menghindari kepercayaan buta pada penggunaan pertama; sertifikat pengguna dan host SSH juga didukung.
Lihat SECURITY.md untuk evaluasi keamanan lengkap.
Lisensi
Apache License 2.0 — Hak Cipta © 2026 Adil Karim
OpenLore menggabungkan komponen sumber terbuka pihak ketiga. Lisensi dan pemberitahuan yang
diwajibkan tercantum di
assets/legal/THIRD_PARTY_NOTICES.md, dengan
teks lisensi lengkap di assets/legal/licenses/. Ini
tertanam dalam biner dan disajikan oleh layanan yang berjalan di /legal.