by aakarim (community) Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, Linux, macOS, Windows
Минималистичная расширяемая agent-native база знаний, поддерживающая общий контекст актуальным и инспектируемым.
MCP-сервер для работы с хранилищем заметок Obsidian. Позволяет Claude читать, создавать и редактировать заметки, искать по …
Показывает, что coding-агенты уже знают о проекте. Docmancer индексирует память, правила и инструкции, которые Claude Code, …
Биологически вдохновлённый движок персистентной памяти для Claude Code. 26 когнитивных подсистем, сети Хопфилда, предиктивное кодирование, каузальный …
Compile-шаг для баз знаний. Даёт агенту граф понятий вашего контента — индексация меньше чем за 20с, …
# Установка через 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/) go build -o my-docs ./cmd/openlore
Предоставляйте свою документацию ИИ-агентам по SSH.
OpenLore — это минималистичная, расширяемая, агент-ориентированная база знаний, которая поддерживает общий контекст актуальным и доступным для проверки.
ИИ-агенты для программирования уже умеют исследовать файлы с помощью ls, cat, grep,
find, конвейеров и циклов оболочки. OpenLore предоставляет им тот же самый интерфейс
через SSH, но вместо реальной машины в его основе лежит ваша документация.
Agent ──SSH or MCP──▶ OpenLore ──▶ docs, knowledge, and artifacts
Проект начинается как сервер документации из одного бинарного файла, без конфигурации, только для чтения. Когда вам понадобится живая база знаний, вы можете добавить доступ с разграничением по личности, контролируемую публикацию, атомарную запись, валидацию и подтверждение человеком — не меняя того, как агенты читают и перемещаются по содержимому.
Помещайте документацию, runbook'и, контекст проектов или заметки, созданные агентами, в обычные файлы Markdown. Здесь нет конвейера загрузки: укажите OpenLore на каталог, и он будет напрямую отдавать существующую иерархию. Организуйте документы с помощью папок, связывайте их стандартными ссылками Markdown и группируйте в доксеты (docsets), когда разным людям или агентам нужен разный доступ. По умолчанию OpenLore работает только на чтение; включите запись, если хотите, чтобы агенты также могли создавать и обновлять Markdown.
Самый быстрый путь — позволить вашему агенту настроить 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"
По умолчанию при этом запускаются:
localhost:2222http://localhost:8080http://localhost:8080/mcpСм. раздел Установка, чтобы узнать о других способах установки и упаковки OpenLore.
ro, publish и rw, псевдонимами
путей и приватными домашними каталогами.lore meta, выполняйте запросы через jq и проверяйте пакеты
Google Open Knowledge Format (OKF)
и Agent Skills непосредственно рядом с путём записи.OpenLore построен на базе Wish для SSH-транспорта. Соединение обрабатывается полностью на виртуальной файловой системе:
shell.OAuth-клиенты используют делегированные идентичности, поэтому долговременная история происхождения записей отличает прямую работу от имени adil от работы, выполненной как adil/claude@claude.ai. Делегаты не могут наследовать больше полномочий, чем их принципал, и могут быть ограничены списками запретов по наборам документов и возможностям. Клиенты CIMD дополнительно могут аутентифицироваться с помощью метаданных, размещённых у поставщика, и private_key_jwt; см. Аутентифицированные OAuth-клиенты.
Обычная оболочка не может вызывать bash, exec, curl или произвольные процессы хоста. Встроенная документация всегда доступна только для чтения. Явно доверенным идентичностям можно предоставить асинхронную обработку с узкой областью действия через возможность spawn.
По умолчанию OpenLore работает только на чтение. Развёртывания с поддержкой записи сохраняют единый путь записи, управляемый политиками, для перенаправлений, добавления (append), tee, patch, sed -i, перемещения файлов, публикации и одобренных внешних задач.
echo "# Research" | publish backend findings.md
cat change.diff | patch /backend/api.md
sed -i 's/old/new/g' /backend/runbook.md
Запись выполняется как атомарная замена целого объекта. Защита compare-and-swap по умолчанию отклоняет устаревшие правки, разрешения наборов документов ограничивают цель, а выбранные пути могут создавать проверяемые наборы изменений в /requests вместо прямой фиксации.
См. Запись и публикация для настройки на стороне пользователя и Внутреннее устройство системы записи для описания модели реализации.
Требуется 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
Создавайте кроссплатформенные бинарные файлы со встроенной документацией:
- uses: aakarim/openlore@v1
with:
docs-dir: ./docs
config: ./openlore.yml
См. Способы использования OpenLore для MCP stdio, упаковки MCPB для рабочего стола, SSHFS и использования библиотеки Go.
inbox набора документов и роль с правом publish, затем создайте учётные данные для существующей идентичности (конфигурация сервера должна указыватьauth_file, чтобы CLI мог проверить его):
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} принимает bearer-учётные данные или HMAC точного тела запроса с использованием
X-OpenLore-Token-Id и X-OpenLore-Signature. Токены доступа OAuth используются
только для POST/GET /inbox/tokens и DELETE /inbox/tokens/{id}; учётные данные inbox
являются отдельными и могут быть отозваны. См.
Конфигурация и идентификация.
| Руководство | Содержание |
|---|---|
| Способы использования OpenLore | SSH, MCP, веб, SSHFS, встроенные исполняемые файлы, GitHub Action, MCPB и использование в качестве библиотеки |
| Справочник команд | Полный справочник по shell, интроспекции, публикации, синтаксису, командам CLI и флагам |
| Конфигурация и идентификация | openlore.yml, аутентификация, роли, наборы документов (docset), псевдонимы, домашние каталоги и проверка хоста |
| Федерация удостоверений рабочей нагрузки | Аутентификация CI и агентов с помощью кратковременных внешних токенов идентичности |
| Написание и публикация | Режимы записи, входящие ящики (inbox), обработка конфликтов, одобрения и задания |
| Плагины и форматы знаний | Установка плагинов, интерфейсы, валидация OKF, lore validate и lore meta |
| Внутреннее устройство системы записи | Слои файловой системы, шов записи (write seam), наборы изменений (changeset), хуки и асинхронные задания |
| Оценка безопасности | Модель угроз и свойства безопасности |
os/exec.Полную оценку безопасности см. в SECURITY.md.
MIT — Adil Karim
OpenLore включает сторонние компоненты с открытым исходным кодом. Их лицензии и обязательные уведомления перечислены в
assets/legal/THIRD_PARTY_NOTICES.md, полные тексты лицензий находятся в
assets/legal/licenses/. Они встроены в бинарный файл и предоставляются работающим сервисом по адресу /legal.