Перейти к содержанию

Единая база знаний Alatyr — решение

Дата решения: 08.08.2026, 00:20 MSK. Финализация задачи 33.

Решение (одна строка)

Единая база знаний для всех проектов Alatyr — Open WebUI Knowledge на ragserver. Правки в любом markdown-редакторе (VS Code с плагином Foam для wiki-ссылок). Git — источник правды. sync-to-openwebui.sh заливает изменения в Open WebUI, где работает RAG-поиск и AI-чат.

Obsidian больше не используем ни в одном проекте.


Схема работы

       Разработчик
       (Windows / Linux)
              │ пишет markdown в VS Code (Foam для [[wikilinks]])
       Локальный git checkout
              │ git commit + push
       GitHub (приватный)
              │ поллинг раз в 10 минут
       ragserver /opt/rag-kb/
              │ sync-to-openwebui.sh (cron */10)
       Open WebUI Knowledge
              │ RAG-поиск, семантика, AI-чат с базой
       Все клиенты:
       - Web UI (rag.alatyr-service.ru, по VPN)
       - API (rag-api.alatyr-service.ru для Perplexity, задача 36)
       - Claude Desktop / Cursor через MCP (будущее)

Почему Open WebUI Knowledge (а не Obsidian и не отдельная wiki)

1. Уже развёрнуто

На ragserver в docker-стеке /opt/rag-platform/ работает Open WebUI + Qdrant + Postgres + Ollama. Один из проектов (alatyr-infra-kb) уже туда синкается через sync-to-openwebui.sh. Никаких новых сервисов ставить не надо.

2. Единый источник правды — git

  • Markdown в git-репо приватного GitHub
  • История правок, откаты, merge, PR
  • Работает в VS Code без плагинов
  • Синхронизируется по git pull из любого места

3. Семантический поиск через RAG

То, чего Obsidian принципиально не умеет. Спрашиваешь "какая структура таблицы clients в CRM" — Open WebUI находит по смыслу, а не по точному тексту.

4. AI-чат с базой

Спрашиваешь Ollama/Claude через Open WebUI — они видят твою KB как контекст. Уже работает для alatyr-infra-kb, готово к расширению на любые проекты.

5. Единый API для всех клиентов

  • Perplexity Computer — через задачу 36 (rag-api.alatyr-service.ru)
  • Claude Desktop — через MCP (в планах)
  • Cursor — через Continue.dev + локальный Ollama (задача 34)
  • Собственные скрипты — через REST API

6. Одна модель для всех проектов

Каждый проект = отдельный git-репо → отдельная Knowledge collection в Open WebUI. Один принцип, одна инфраструктура, одна авторизация.


Рассмотренные альтернативы (и почему отклонены)

Ресёрч проведён 08.08.2026 по свежим обзорам (Contabo 07.2026, aicalc.cloud).

Obsidian

Отклонён. Что было хорошо: [[wikilinks]], graph-view. Что плохо: - Нет семантического поиска (только текстовый) - Нет AI-чата с базой - Ещё одна прослойка перед git (Obsidian Git plugin) - Каждый проект = отдельный vault, никакой единости - Всё, что делает Obsidian, делает VS Code + Foam + Open WebUI

Docmost (Node.js + PostgreSQL + Redis)

Отклонён. Open-source конкурент Notion, 21k stars, полная collaboration. Плюсы: полированный редактор, real-time. Минусы: - Ещё один тяжёлый Node.js-сервис (Postgres + Redis) - Своё хранилище (не markdown в git, а свой формат в БД) → потеря git-history и удобных merge - Нет встроенного RAG — надо подключать вручную - Дублирование функций Open WebUI

Outline (BSL 1.1, Node.js + PostgreSQL + Redis + S3)

Отклонён. Самый полированный, 38.8k stars. Минусы: - BSL 1.1 — не полная open source, ограничения на коммерческое использование - Требует внешний OIDC/SSO — нет встроенной авторизации - Тяжёлый стек (Postgres + Redis + S3) - Свой формат хранения, а не markdown в git

Wiki.js

Отклонён. Git-backed, для разработчиков. Плюсы: близко к нашей философии. Минусы: - Ещё один Node.js + БД - Нет встроенного RAG - Функционально дублирует связку "git + Open WebUI Knowledge" - Один плюс — публичный API-friendly интерфейс, но у нас Open WebUI даёт то же

BookStack (PHP/Laravel + MySQL)

Отклонён. Простой, лёгкий (256 MB RAM), MIT. Минусы: - PHP-стек не в нашем зоопарке (Docker поднимет, но чужой инструмент) - Иерархия book/chapter/page плохо ложится на git-структуру - Свой формат, не markdown в git - Нет RAG

Trilium Notes

Отклонён. Node.js, self-contained, 28k stars, для персональных графов знаний. Минусы: - Один пользователь (плохо для будущей команды) - Свой формат (не markdown) - Нет RAG

AppFlowy

Отклонён. Открытая альтернатива Notion, десктоп + self-host. Минусы: - Молодой, backend только с 2025 - Свой формат - Не решает RAG

Memos

Отклонён. Twitter-подобные короткие заметки. Не наш use-case (у нас длинные тех-документы).

GitHub Wiki

Отклонён. Встроен в GitHub, тоже markdown в git. Минусы: - Отдельный git от основного репо (неудобно синхронизировать) - Нет RAG - Плохой UX для больших баз - Нет offline-редактирования

SilverBullet

Отклонён после короткого изучения. Node.js single-container, markdown, MCP-ready. Плюсы: близко к нашей философии, MCP из коробки. Минусы: - Молодой (2024), небольшое комьюнити - Дублирует функции Open WebUI + VS Code - Ещё один сервис для поддержки

Nextcloud Notes / Joplin

Отклонён. Для персональных заметок с sync. Не многопроектная база с RAG.


Практика — как это выглядит для разных проектов

alatyr-infra-kb (эта база)

  • Git-репо github.com/oswold1979/alatyr-infra-kb (приватный)
  • Локально: git clone в любую папку, редактировать в VS Code
  • Автосинк на ragserver: sync-to-openwebui.sh каждые 10 минут
  • Открывается: rag.alatyr-service.ru → Knowledge → collection alatyr-infra-kb

alatyr-service (CRM код + внутренняя документация)

  • Git-репо github.com/oswold1979/alatyr-service
  • Документация — в папке docs/ этого же репо
  • В sync-to-openwebui.sh добавляем ветку синка docs/ → collection alatyr-service-docs
  • Код — не синкается (не имеет смысла для RAG)

alatyr-taverna (сайт-таверна)

  • Аналогично: docs/ в репо → collection alatyr-taverna-docs

crypto-p2p-exchange и defi-arbitrage-analyzer (пока идеи)

  • Создать crypto-notes репо (или папка docs/ внутри рабочего репо когда появится)
  • Синкать в отдельные collections

Личные заметки (Роман)

  • Отдельный приватный репо github.com/oswold1979/personal-notes
  • Синкать в collection personal (доступ только у Романа)

Что делает Open WebUI и что нужно от разработчика

Разработчик делает:

  1. Пишет markdown в VS Code (плагины: Foam для [[wikilinks]], Markdown All in One для форматирования, Git Graph для истории)
  2. Коммитит в GitHub (обычный git workflow)

Всё остальное автоматически:

  • sync-to-openwebui.sh подхватывает изменения (cron */10 на ragserver)
  • Open WebUI индексирует, режет на chunks, эмбеддит через Ollama (nomic-embed-text)
  • Qdrant хранит векторы
  • Веб-интерфейс rag.alatyr-service.ru даёт поиск, чат, просмотр
  • API rag-api.alatyr-service.ru (задача 36) отдаёт данные Perplexity/Claude/Cursor

Что нужно доделать для полной картины

Эти задачи уже есть в TODO или планируются:

  • 36a · Публичный API endpoint для внешних клиентов (Perplexity, Claude) — runbook готов
  • 33 · VS Code сетап (переформулированный) — vscode-setup.md (в работе)
  • 34 · AI-инструменты редактора (Continue.dev + локальный Ollama) — планируется
  • RAG-10 · Пилот upload-with-knowledge_id — устранить double-embedding
  • новая · Расширить sync-to-openwebui.sh для мульти-репо (alatyr-service/docs, alatyr-taverna/docs)

Связанные документы