Skip to main content
Glama

📜 OpenLore

Release Go Reference

Gesponsert von

Stelle deine Dokumente KI-Agenten über SSH bereit.

OpenLore ist eine minimale, erweiterbare, agenten-native Wissensbasis, die gemeinsamen Kontext aktuell und überprüfbar hält.


Über

KI-Codierungsagenten wissen bereits, wie man Dateien mit ls, cat, grep, find, Pipes und Shell-Schleifen durchsucht. OpenLore bietet ihnen dieselbe Schnittstelle über SSH, unterstützt durch deine Dokumentation anstelle einer echten Maschine.

Agent ──SSH or MCP──▶ OpenLore ──▶ docs, knowledge, and artifacts

Es beginnt als ein einzelner Binärserver ohne Konfiguration und mit schreibgeschütztem Zugriff. Wenn du eine Live-Wissensbasis benötigst, kannst du identitätsbezogenen Zugriff, kontrolliertes Veröffentlichen, atomare Schreibvorgänge, Validierung und menschliche Genehmigung hinzufügen, ohne zu ändern, wie Agenten den Inhalt lesen oder navigieren.

Markdown speichern und abrufen

Lege Dokumentation, Runbooks, Projektkontext oder von Agenten verfasste Notizen in gewöhnlichen Markdown-Dateien ab. Es gibt keine Aufnahmepipeline: Weise OpenLore auf ein Verzeichnis hin, und es bedient die vorhandene Hierarchie direkt. Organisiere Dokumente mit Ordnern, verbinde sie mit standardmäßigen Markdown-Links und gruppiere sie in Docsets, wenn verschiedene Personen oder Agenten unterschiedlichen Zugriff benötigen. OpenLore ist standardmäßig schreibgeschützt; aktiviere das Schreiben, wenn du möchtest, dass Agenten auch Markdown erstellen und aktualisieren.

OpenLore Skills import demo

Related MCP server: AgentBase

Schnellstart

Der schnellste Weg ist, deinen Agenten OpenLore einrichten zu lassen:

# Teach your agent how to install, configure, and bundle OpenLore
ssh openlore.sh teach | your-agent-cli

# Add documentation access instructions to AGENTS.md
ssh openlore.sh agents >> AGENTS.md

Oder installiere und führe es direkt aus:

go install github.com/aakarim/go-openlore/cmd/openlore@latest

openlore ./docs

ssh -p 2222 localhost
ssh -p 2222 localhost "grep -r 'authentication' /docs"

Standardmäßig startet dies:

  • SSH auf localhost:2222

  • die für Menschen gedachte Webansicht auf http://localhost:8080

  • MCP über HTTP auf http://localhost:8080/mcp

Siehe Installation für weitere Möglichkeiten, OpenLore zu installieren und zu paketieren.

Funktionen

  • Agenten-nativer Abruf — Agenten verwenden die Shell-Werkzeuge und Kompositionsmuster, die sie bereits verstehen, anstatt eine maßgeschneiderte Abruf-API zu erlernen.

  • Eine Wissensoberfläche, mehrere Transporte — Bediene dasselbe virtuelle Dateisystem über SSH, SFTP/SSHFS, MCP und eine menschenfreundliche Webansicht.

  • Live, verwaltetes Wissen — Halte Inhalte schreibgeschützt, erlaube eingeschränktes Veröffentlichen oder aktiviere vollständige Schreibvorgänge pro Docset. Schreibvorgänge sind atomar, konfliktbewusst und können menschliche Genehmigung erfordern.

  • Identitätsbezogene Ansichten — Gib jeder Person oder jedem Agenten nur die benötigten Docsets, mit rollenbasierten ro-, publish- und rw-Berechtigungen, Pfad-Aliassen und privaten Home-Verzeichnissen.

  • Sicher durch Konstruktion — Die Shell ist ein In-Memory-Go-Interpreter, keine echte Betriebssystem-Shell. Es gibt keinen Shell-Escape, keine beliebige Prozessausführung und keinen uneingeschränkten Netzwerkzugriff in einer normalen Sitzung.

  • Tragbare Wissensbündel — Bette Dokumente in eine eigenständige Binärdatei ein, erstelle plattformübergreifende Bündel mit der GitHub Action oder verpacke sie als Desktop-MCP-Erweiterung.

  • Strukturiertes Wissen ohne neue Abfragesprache — Untersuche Frontmatter als NDJSON mit lore meta, frage es mit jq ab und validiere Googles Open Knowledge Format (OKF)-Bündel und Agent Skills nahe am Schreibpfad.

  • Erweiterbare Richtlinien und Verarbeitung — Plugins können Validierung, Berechtigungen, Lese-/Schreib-Middleware, Metadaten und Post-Commit-Verarbeitung hinzufügen, während dieselbe Dateisystemschnittstelle erhalten bleibt.

Anwendungsfälle

  • Repository für kontinuierliches Lernen – Speichere Sitzungen und Erkenntnisse auf einem gemeinsamen Server. Füge Metriken hinzu, um optimieren zu können. Erlaube Agenten, Erkenntnisse untereinander zu teilen, während die Benutzerisolation erhalten bleibt.

  • Team-Artefakt-Repository – Teile Markdown-, HTML-, JSON-, Excel- usw. Dokumente, die du erstellt hast, während du Zugriffskontrollen beibehältst. Viel natürlicher als Git, agenten-nativer als Confluence/Notion.

  • Dokumentation für Codierungsagenten – Lege interne API-Dokumente, Runbooks, Produktkontext und Architekturnotizen hinter eine vertraute, durchsuchbare Schnittstelle.

  • Ein gemeinsames Live-Gedächtnis für Agententeams – Gib Agenten getrennte oder gemeinsame Docsets, damit sie Erkenntnisse veröffentlichen, Arbeiten übergeben und dauerhaften Kontext über Sitzungen hinweg ansammeln können.

  • Öffentliche Dokumentationsseite – Füge beliebige Dateien zu deinem öffentlichen Docset hinzu, aktiviere öffentlichen Zugriff, und es wird jedem Agenten angezeigt, der auf deine Seite stößt. Verbessert AEO/GEO, ohne deine vorhandenen Dokumente bearbeiten zu müssen.

  • Skills teilen – Veröffentliche Agent Skills in gemeinsamen Sammlungen, damit jeder autorisierte Agent dieselben verwalteten Verfahren entdecken und nutzen kann.

  • Agent-Plugins-Repository – Pinne Agent Plugins-Repos von GitHub auf Versionen und stelle sie den Agenten deines Teams bereit. Skills, die im offenen Standard verpackt sind, bleiben automatisch aktuell.

  • Verwalteter Wissensbeitrag – Lass Mitwirkende in Posteingänge veröffentlichen, während sensible Pfade für Genehmiger reserviert bleiben und versehentliche Überschreibungen verhindert werden.

  • Remote-Überprüfung von Agent-Artefakten – Stelle Berichte, Protokolle, Screenshots und generierte Dateien über den Browser oder SSH bereit, ohne einen benutzerdefinierten Artefakt-Viewer zu bauen oder Zugriff auf die Maschine des Agenten zu gewähren.

  • Identitätsspezifische Arbeitsbereiche – Mounte ein privates Home für jeden Agenten plus gemeinsames Teamwissen, alles über einen Server und ein Autorisierungsmodell.

  • Tragbares Kunden- oder Projektwissen – Liefere eine versionierte ausführbare Datei mit den relevanten Dokumenten eingebettet aus oder verteile dasselbe Wissen als MCPB-Desktop-Erweiterung.

  • Validierte Wissenskataloge – Erzwinge Frontmatter- und Bündelkonventionen, untersuche Metadaten kostengünstig und stoppe fehlerhaftes Wissen beim Aufnahmepunkt.

So funktioniert es

OpenLore basiert auf Wish für den SSH-Transport. Eine Verbindung wird vollständig gegen ein virtuelles Dateisystem abgewickelt:

  1. Authentifizieren – Verbinde dich schlüssellos oder löse einen SSH-Schlüssel, ein Zertifikat, einen Passkey oder einen OAuth-Login zu einer Identität auf.

  2. Eine Ansicht zusammenstellen – Mounte nur die Docsets und Pfade, die dieser Identität gewährt wurden.

  3. Erkunden – Führe Shell-Befehle aus, die als reine Go-Funktionen über dieser Ansicht implementiert sind, oder verwende das äquivalente MCP-shell-Werkzeug.

  4. Sicher beitragen – Wenn Schreiben aktiviert ist, autorisiere und validiere eine Änderung der gesamten Datei, bevor du sie atomar committest oder zur Genehmigung weiterleitest.

OAuth-Clients verwenden delegierte Identitäten, sodass eine dauerhafte Schreibherkunft direkte Arbeit von adil von Arbeit unterscheidet, die als adil/claude@claude.ai ausgeführt wurde. Delegierte können nicht mehr Autorität erben als ihr Prinzipal und können durch Docset- und Fähigkeits-Deny-Listen eingeschränkt werden. CIMD-Clients können sich zusätzlich mit vom Anbieter gehosteten Metadaten und private_key_jwt authentifizieren; siehe Authentifizierte OAuth-Clients.

Die normale Shell kann bash, exec, curl oder beliebige Host-Prozesse nicht aufrufen. Eingebettete Dokumentation ist immer schreibgeschützt. Explizit vertrauenswürdigen Identitäten kann durch die spawn-Fähigkeit eng begrenzte asynchrone Verarbeitung gewährt werden.

Verwaltetes Schreiben

OpenLore ist standardmäßig schreibgeschützt. Beschreibbare Bereitstellungen halten einen einzigen, richtliniengesteuerten Schreibpfad für Umleitungen, Anhängen, tee, patch, sed -i, Dateiverschiebungen, Veröffentlichungen und genehmigte externe Aufträge.

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

Schreibvorgänge sind atomare Austausche des gesamten Objekts. Compare-and-Swap-Schutz lehnt veraltete Bearbeitungen standardmäßig ab, Docset-Berechtigungen beschränken das Ziel, und ausgewählte Pfade können überprüfbare Änderungssätze unter /requests erzeugen, anstatt direkt zu committen.

Siehe Schreiben und Veröffentlichen für die benutzerorientierte Einrichtung und Interne Schreibsystem für das Implementierungsmodell.

Installation

Mit Go installieren

Erfordert Go 1.26 oder höher:

go install github.com/aakarim/go-openlore/cmd/openlore@latest

Aus dem Quellcode erstellen

git clone https://github.com/aakarim/go-openlore.git
cd go-openlore
go build -o openlore ./cmd/openlore

Dokumente in eine Binärdatei einbetten

Lege Dokumentation in assets/lore/ ab und erstelle. Die resultierende Binärdatei enthält die Dokumente und stellt sie schreibgeschützt unter /docs bereit, wenn sie ohne Verzeichnisargument ausgeführt wird:

go build -o my-docs ./cmd/openlore

Mit der GitHub Action erstellen

Erstelle plattformübergreifende Binärdateien mit eingebetteten Dokumenten:

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

Siehe Möglichkeiten zur Nutzung von OpenLore für MCP stdio, MCPB-Desktop-Paketierung, SSHFS und Go-Bibliotheksnutzung.

HTTP-Posteingang-Uploads

Konfiguriere einen Docset-inbox und eine Rolle mit ihrer publish-Berechtigung, erstelle dann eine Anmeldeinformation für eine vorhandene Identität (die Serverkonfiguration muss auth_file benennen, damit die CLI sie validieren kann):

openlore inbox token create --identity alice --label webhook --config openlore.yml
curl -H 'Authorization: Bearer olin_ID_SECRET' -H 'Content-Type: text/markdown' \
  --data-binary @note.md 'https://docs.example.com/inbox/docs?name=note.md'

POST /inbox/{docset} akzeptiert Bearer-Anmeldeinformationen oder einen HMAC des exakten Bodys mit X-OpenLore-Token-Id und X-OpenLore-Signature. OAuth-Zugriffstokens werden nur für POST/GET /inbox/tokens und DELETE /inbox/tokens/{id} verwendet; Posteingangs-Anmeldeinformationen sind getrennt und widerrufbar. Siehe Konfiguration und Identität.

Dokumentation

Anleitung

Inhalt

Möglichkeiten zur Nutzung von OpenLore

SSH, MCP, Web, SSHFS, eingebettete Binärdateien, GitHub Action, MCPB und Bibliotheksnutzung

Befehlsreferenz

Vollständige Shell-, Introspektions-, Veröffentlichungs-, Syntax-, CLI-Befehls- und Flag-Referenz

Konfiguration und Identität

openlore.yml, Authentifizierung, Rollen, Docsets, Aliase, Homes und Host-Überprüfung

Workload-Identitätsverbund

Authentifiziere CI und Agenten mit kurzlebigen externen Identitätstokens

Schreiben und Veröffentlichen

Schreibmodi, Posteingänge, Konfliktbehandlung, Genehmigungen und Aufträge

Plugins und Wissensformate

Plugin-Installation, Schnittstellen, OKF-Validierung, lore validate und lore meta

Interne Schreibsystem

Dateisystem-Schichtung, Schreibnaht, Änderungssätze, Hooks und asynchrone Aufträge

Sicherheitsbewertung

Bedrohungsmodell und Sicherheitseigenschaften

Sicherheit

  • Befehle laufen in einem reinen Go-Interpreter, nicht über os/exec.

  • Das virtuelle Dateisystem bereinigt Pfade und erzwingt Docset-Grenzen.

  • Erlaubte Dateimuster und ignorierte Verzeichnisse halten Geheimnisse aus der Ansicht.

  • RBAC steuert Lesevorgänge, Veröffentlichung, Schreibvorgänge, Genehmigungen und vertrauenswürdige Fähigkeiten.

  • Der Web-Endpunkt kann den SSH-Hostschlüssel über TLS veröffentlichen, um blindes Vertrauen bei der ersten Verwendung zu vermeiden; SSH-Benutzer- und Host-Zertifikate werden ebenfalls unterstützt.

Siehe SECURITY.md für die vollständige Sicherheitsbewertung.

Lizenz

MIT — Adil Karim

OpenLore bündelt Open-Source-Komponenten von Drittanbietern. Ihre Lizenzen und erforderlichen Hinweise sind in assets/legal/THIRD_PARTY_NOTICES.md aufgelistet, mit vollständigen Lizenztexten in assets/legal/licenses/. Diese sind in die Binärdatei eingebettet und werden vom laufenden Dienst unter /legal bereitgestellt.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
1wRelease cycle
6Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Your company's brain for AI agents. Cited, permission-aware knowledge across every system.

  • Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.

  • Shared, permission-aware company context for AI agents, with provenance, approvals and audit.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aakarim/OpenLore'

If you have feedback or need assistance with the MCP directory API, please join our Discord server