Единая база знаний 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 → collectionalatyr-infra-kb
alatyr-service (CRM код + внутренняя документация)¶
- Git-репо
github.com/oswold1979/alatyr-service - Документация — в папке
docs/этого же репо - В
sync-to-openwebui.shдобавляем ветку синкаdocs/→ collectionalatyr-service-docs - Код — не синкается (не имеет смысла для RAG)
alatyr-taverna (сайт-таверна)¶
- Аналогично:
docs/в репо → collectionalatyr-taverna-docs
crypto-p2p-exchange и defi-arbitrage-analyzer (пока идеи)¶
- Создать
crypto-notesрепо (или папкаdocs/внутри рабочего репо когда появится) - Синкать в отдельные collections
Личные заметки (Роман)¶
- Отдельный приватный репо
github.com/oswold1979/personal-notes - Синкать в collection
personal(доступ только у Романа)
Что делает Open WebUI и что нужно от разработчика¶
Разработчик делает:¶
- Пишет markdown в VS Code (плагины: Foam для
[[wikilinks]], Markdown All in One для форматирования, Git Graph для истории) - Коммитит в 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)
Связанные документы¶
- openwebui.md — конфигурация Open WebUI
- rag-sync.md — механика синка git → Open WebUI
- rag-platform-docker.md — docker-стек RAG
- rag-double-embedding.md — известная особенность архитектуры
- openwebui-public-api.md — публичный API для внешних клиентов