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

База знаний (KB)

Этот самый сайт — операционный центр всей работы. Единый интерфейс для видения проектов, задач, стратегии, инфраструктуры и личных дел.

Роль в системе

  • Показ структурированного видения всех проектов
  • Управление задачами через веб (чекбоксы, создание, редактирование)
  • Быстрый inbox для идей
  • Источник для RAG-индексации
  • Обеспечение перемещаемости проектов между категориями

Как это устроено

  • Источник правды: git-репозиторий alatyr-infra-kb
  • Отображение: MkDocs Material
  • Правка через веб: Decap CMS с GitHub OAuth
  • Хостинг: Docker Compose на ragserver
  • Доступ: поддомен kb.alatyr-service.ru с TLS от Let's Encrypt, только через LAN 192.168.1.0/24 и AmneziaWG (без проброса наружу)
  • CI: GitHub Actions пересобирает сайт при коммите
  • RAG-индексация: через существующий sync-to-openwebui.sh

Структура сайта

  • Фундамент — инфраструктура
  • Стратегия — концепция, roadmap
  • Проекты — активные и долгосрочные
  • Личное — финансы, здоровье, интересы
  • Справочники — юрлица и другие статические данные
  • Inbox — быстрые идеи до разбора

Структура проекта

projects/<slug>/
  index.md              # видение, статус, зависимости, юрлицо-исполнитель
  <subsection>/         # подразделы для крупных проектов
    index.md
    tasks/              # задачи в отдельных файлах
      <ulid>.md
  tasks/                # для простых проектов без подразделов
    <ulid>.md

Идентификаторы задач

ULID как стабильный внутренний ключ + человекочитаемый алиас (CRM-64, KOZHA-05) для отображения. При переносе задачи между проектами алиас регенерируется, ULID остаётся.

RAG-интеграция по этапам

  • Сейчас: пассивная индексация через sync-to-openwebui.sh
  • После запуска: виджет «спросить у ИИ» на страницах проектов с фильтрацией по проекту
  • В перспективе: двусторонняя интеграция, RAG предлагает задачи

Задачи в TODO

  • INF-05 (P1, Этап 0) — реализация KB-сайта, ~15 ч
  • INF-06 (P1, Этап 1-2) — виджет «спросить у ИИ», ~12 ч
  • INF-07 (Later) — двусторонняя интеграция, ~30+ ч

Стек в деталях

  • MkDocs 1.6 + Material 9.7 — генерация статики из markdown
  • Плагины: search (ru+en), awesome-pages, glightbox
  • Расширения: pymdownx (details, tabs, tasklist, highlight), admonition, toc, footnotes, mermaid
  • Docker: двухэтапный build (python→nginx-alpine) — python:3.12-slim builder собирает HTML, nginx:1.27-alpine runtime отдаёт на 8080
  • Docker Compose: в /opt/alatyr-kb/deploy/, контейнер слушает 127.0.0.1:8081
  • Хостовой nginx: reverse proxy 443 → 8081, TLS-терминация, security headers (HSTS, X-Frame-Options, noindex)
  • DNS: в LAN и через VPN резолвится в 192.168.1.200, снаружи — не открывается (нет проброса 443 на роутере)

Ссылки