Skip to main content
Glama

📜 OpenLore

Release Go Reference

スポンサー:

SSH経由でAIエージェントにドキュメントを提供します。

OpenLoreは、共有コンテキストを最新かつ検査可能な状態に保つ、最小限で拡張可能なエージェントネイティブなナレッジベースです。


概要

AIコーディングエージェントは、lscatgrepfind、パイプ、シェルループでファイルを探索する方法をすでに知っています。OpenLoreは、実際のマシンの代わりにドキュメントをバックエンドとして、SSH経由で同じインターフェースを提供します。

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

これは、シングルバイナリ、ゼロ設定、読み取り専用のドキュメントサーバーとして始まります。ライブなナレッジベースが必要になったら、エージェントがコンテンツを読み取ったりナビゲートしたりする方法を変えることなく、アイデンティティスコープのアクセス、制御された公開、アトミックな書き込み、検証、人間による承認を追加できます。

Markdownの保存と取得

ドキュメント、ランブック、プロジェクトコンテキスト、またはエージェントが作成したメモを通常のMarkdownファイルに置きます。取り込みパイプラインはありません。OpenLoreをディレクトリに向けると、既存の階層をそのまま提供します。フォルダでドキュメントを整理し、標準のMarkdownリンクで接続し、異なる人やエージェントが異なるアクセスを必要とする場合はドキュセットにグループ化します。OpenLoreはデフォルトで読み取り専用です。エージェントがMarkdownも作成・更新できるようにしたい場合は、書き込みを有効にします。

OpenLore Skills import demo

Related MCP server: AgentBase

クイックスタート

最速の方法は、エージェントにOpenLoreをセットアップさせることです:

# 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

または、直接インストールして実行します:

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

openlore ./docs

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

デフォルトでは、以下が起動します:

  • SSH(localhost:2222

  • 人間向けのWebビュー(http://localhost:8080

  • HTTP上のMCP(http://localhost:8080/mcp

OpenLoreのインストールとパッケージ化のその他の方法については、インストールを参照してください。

機能

  • エージェントネイティブな取得 — エージェントは、独自の取得APIを学ぶ代わりに、すでに理解しているシェルツールと構成パターンを使用します。

  • 1つの知識サーフェス、複数のトランスポート — 同じ仮想ファイルシステムをSSH、SFTP/SSHFS、MCP、人間向けのWebビューで提供します。

  • ライブで管理された知識 — コンテンツを読み取り専用に保つか、スコープ付き公開を許可するか、ドキュセットごとに完全な書き込みを有効にします。書き込みはアトミックで、競合を認識し、人間の承認を必要とすることができます。

  • アイデンティティスコープのビュー — 各人またはエージェントに、ロールベースのropublishrwグラント、パスエイリアス、プライベートホームディレクトリを使用して、必要なドキュセットのみを提供します。

  • 構造的に安全 — シェルは実際のオペレーティングシステムのシェルではなく、インメモリのGoインタープリタです。通常のセッションでは、シェルエスケープ、任意のプロセス実行、または環境へのネットワークアクセスはありません。

  • ポータブルな知識バンドル — ドキュメントを自己完結型バイナリに埋め込み、GitHub Actionでクロスプラットフォームバンドルをビルドするか、デスクトップMCP拡張機能としてパッケージ化します。

  • 新しいクエリ言語なしの構造化知識lore metaでfrontmatterをNDJSONとして検査し、jqでクエリし、GoogleのOpen Knowledge Format (OKF)バンドルとAgent Skillsを書き込みパスの近くで検証します。

  • 拡張可能なポリシーと処理 — プラグインは、同じファイルシステムインターフェースを維持しながら、検証、グラント、読み取り/書き込みミドルウェア、メタデータ、コミット後処理を追加できます。

ユースケース

  • 継続的学習リポジトリ - セッションと学習内容を1つの共有サーバーに保存します。最適化できるようにメトリクスを追加します。ユーザーの分離を維持しながら、エージェントが互いに学習内容を共有できるようにします。

  • チーム成果物リポジトリ - アクセス制御を維持しながら、作成したmarkdown、HTML、JSON、Excelなどのドキュメントを共有します。gitよりもはるかに自然で、Confluence/Notionよりもエージェントネイティブです。

  • コーディングエージェント向けドキュメント — 内部APIドキュメント、ランブック、製品コンテキスト、アーキテクチャノートを、使い慣れたgrep可能なインターフェースの背後に置きます。

  • エージェントチームのための共有ライブメモリ — エージェントに個別または共有のドキュセットを提供し、調査結果を公開したり、作業を引き継いだり、セッションをまたいで永続的なコンテキストを蓄積できるようにします。

  • 公開ドキュメントサイト - 公開ドキュセットに任意のファイルを追加し、公開アクセスを有効にすると、サイトに偶然出会ったエージェントに表示されます。既存のドキュメントを編集することなくAEO/GEOを改善します。

  • スキル共有 — Agent Skillsを共有コレクションに公開し、承認されたすべてのエージェントが同じ管理された手順を発見して使用できるようにします。

  • Agent Pluginsリポジトリ — GitHubからAgent Pluginsリポジトリをバージョン固定し、チームのエージェントに提供します。オープンスタンダードでパッケージ化されたスキルは自動的に最新の状態に保たれます。

  • 管理された知識貢献 — 機密パスを承認者用に確保し、誤って上書きされるのを防ぎながら、貢献者がインボックスに公開できるようにします。

  • エージェント成果物のリモートレビュー — カスタム成果物ビューアを構築したり、エージェントのマシンへのアクセスを許可したりすることなく、レポート、ログ、スクリーンショット、生成ファイルをブラウザまたはSSH経由で公開します。

  • アイデンティティ固有のワークスペース — 各エージェントにプライベートホームと共有チーム知識をマウントし、すべてを1つのサーバーと1つの認可モデルで管理します。

  • ポータブルな顧客またはプロジェクト知識 — 関連ドキュメントを埋め込んだバージョン管理された実行可能ファイルを配布するか、同じ知識をMCPBデスクトップ拡張機能として配布します。

  • 検証済み知識カタログ — frontmatterとバンドル規約を強制し、メタデータを低コストで検査し、不正な知識を受け入れ時に阻止します。

仕組み

OpenLoreはSSHトランスポートにWishを使用しています。接続は仮想ファイルシステムに対して完全に処理されます:

  1. 認証 — キーレスで接続するか、SSHキー、証明書、パスキー、またはOAuthログインをアイデンティティに解決します。

  2. ビューの構成 — そのアイデンティティに付与されたドキュセットとパスのみをマウントします。

  3. 探索 — そのビューに対して純粋なGo関数として実装されたシェルコマンドを実行するか、同等のMCP shellツールを使用します。

  4. 安全に貢献 — 書き込みが有効な場合、ファイル全体の変更をアトミックにコミットするか承認に回す前に、認可して検証します。

OAuthクライアントは委任されたアイデンティティを使用するため、永続的な書き込みの来歴により、adilによる直接の作業とadil/claude@claude.aiとして実行された作業を区別できます。委任者はプリンシパルを超える権限を継承できず、ドキュセットと機能の拒否リストによって絞り込むことができます。CIMDクライアントはさらに、ベンダーがホストするメタデータとprivate_key_jwtで認証できます。認証済みOAuthクライアントを参照してください。

通常のシェルはbashexeccurl、または任意のホストプロセスを呼び出すことはできません。埋め込まれたドキュメントは常に読み取り専用です。明示的に信頼されたアイデンティティには、spawn機能を通じて狭いスコープの非同期処理を付与できます。

管理された書き込み

OpenLoreはデフォルトで読み取り専用です。書き込み可能なデプロイメントでは、リダイレクト、追加、teepatchsed -i、ファイル移動、公開、承認された外部ジョブのための、単一のポリシー制御された書き込みパスを維持します。

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

書き込みはオブジェクト全体のアトミックスワップです。比較とスワップの保護はデフォルトで古い編集を拒否し、ドキュセットグラントがターゲットを制約し、選択されたパスは直接コミットする代わりに/requestsの下でレビュー可能なチェンジセットを生成できます。

ユーザー向けの設定については書き込みと公開を、実装モデルについては書き込みシステムの内部を参照してください。

インストール

Goでインストール

Go 1.26以降が必要です:

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

ソースからビルド

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

バイナリにドキュメントを埋め込む

assets/lore/にドキュメントを置いてビルドします。結果のバイナリにはドキュメントが含まれ、ディレクトリ引数なしで実行すると/docsで読み取り専用として提供されます:

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

GitHub Actionでビルド

ドキュメントを埋め込んだクロスプラットフォームバイナリを生成します:

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

MCP stdio、MCPBデスクトップパッケージング、SSHFS、Goライブラリの使用法については、OpenLoreの使用方法を参照してください。

HTTPインボックスのアップロード

ドキュセットinboxとそのpublishグラントを持つロールを設定し、既存のアイデンティティの資格情報を作成します(サーバー設定でCLIが検証できるようにauth_fileを指定する必要があります):

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}は、ベアラー資格情報またはX-OpenLore-Token-IdX-OpenLore-Signatureを使用した完全ボディHMACを受け入れます。OAuthアクセストークンはPOST/GET /inbox/tokensDELETE /inbox/tokens/{id}にのみ使用されます。インボックス資格情報は別個で、取り消し可能です。設定とアイデンティティを参照してください。

ドキュメント

ガイド

内容

OpenLoreの使用方法

SSH、MCP、Web、SSHFS、埋め込みバイナリ、GitHub Action、MCPB、ライブラリの使用法

コマンドリファレンス

完全なシェル、イントロスペクション、公開、構文、CLIコマンド、フラグのリファレンス

設定とアイデンティティ

openlore.yml、認証、ロール、ドキュセット、エイリアス、ホーム、ホスト検証

ワークロードアイデンティティフェデレーション

短期間の外部アイデンティティトークンでCIとエージェントを認証

書き込みと公開

書き込みモード、インボックス、競合処理、承認、ジョブ

プラグインと知識フォーマット

プラグインのインストール、インターフェース、OKF検証、lore validatelore meta

書き込みシステムの内部

ファイルシステムのレイヤリング、書き込みシーム、チェンジセット、フック、非同期ジョブ

セキュリティ評価

脅威モデルとセキュリティ特性

セキュリティ

  • コマンドはos/execではなく、純粋なGoインタープリタで実行されます。

  • 仮想ファイルシステムはパスをクリーンアップし、ドキュセットの境界を強制します。

  • 許可されたファイルパターンと無視されたディレクトリにより、シークレットがビューに含まれないようにします。

  • RBACは読み取り、公開、書き込み、承認、信頼された機能を制御します。

  • Webエンドポイントは、初回使用時の盲目的な信頼を避けるために、TLS経由でSSHホストキーを公開できます。SSHユーザー証明書とホスト証明書もサポートされています。

完全なセキュリティ評価についてはSECURITY.mdを参照してください。

ライセンス

MIT — Adil Karim

OpenLoreにはサードパーティのオープンソースコンポーネントがバンドルされています。それらのライセンスと必要な通知はassets/legal/THIRD_PARTY_NOTICES.mdに、完全なライセンステキストはassets/legal/licenses/に記載されています。これらはバイナリに埋め込まれ、実行中のサービスによって/legalで提供されます。

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