Files
2025-08-10 00:02:03 +04:00

9.7 KiB
Raw Permalink Blame History

created, updated, tags, parent, status, priority
created updated tags parent status priority
2024-12-19 2024-12-19
планирование
roadmap
развитие
улучшения
Second Mind Pipeline/index активный средний

🚀 План развития Second Mind Pipeline

🎯 Практические цели развития

Фокус на улучшении личной системы работы с заметками, без коммерциализации и лишней сложности.

Основные направления развития

  1. Переписать webhook на Go

    • Улучшение производительности
    • Более надежная обработка Git событий
    • Упрощение деплоя
  2. Кастомизация Quartz

    • Настройка под личные потребности
    • Улучшение внешнего вида
    • Оптимизация для русского языка
  3. Обработка Dataview запросов

    • Парсинг dataview синтаксиса
    • Генерация динамических списков
    • Поддержка сложных запросов
  4. Контроль видимости контента

    • Скрытие служебных папок (Templates, Private)
    • Фильтрация черновиков
    • Настраиваемые правила публикации
  5. Инкрементальная сборка

    • Анализ Git diff для определения изменений
    • Пересборка только измененных страниц
    • Кеширование неизмененного контента
  6. AI-помощник для заметок

    • Чатбот для поиска по заметкам
    • Помощь в создании связей
    • Предложения по структурированию

📅 Практический роадмап

Фаза 1: Улучшение backend (1-2 месяца)

Переписывание webhook на Go

  • Неделя 1-2: Базовая структура Go сервиса

    • Создание Go модуля для webhook
    • HTTP сервер с обработкой Git webhook'ов
    • Базовое логирование и health checks
  • Неделя 3-4: Интеграция с Git и Quartz

    • Парсинг Git webhook payload
    • Запуск Quartz сборки из Go
    • Миграция с Node.js на Go в Docker

Настройка инкрементальной сборки

  • Неделя 5-6: Анализ Git изменений

    • Получение diff'а между коммитами
    • Определение измененных markdown файлов
    • Маппинг файлов на страницы сайта
  • Неделя 7-8: Кеширование и селективная сборка

    • Кеш-система для неизмененных страниц
    • Сборка только затронутых страниц
    • Обновление индексов и навигации

Фаза 2: Кастомизация Quartz (2-3 недели)

Персональные настройки

  • Неделя 1: Базовые настройки

    • Настройка русской локализации
    • Кастомные CSS стили
    • Логотип и брендинг
  • Неделя 2: Скрытие служебного контента

    • Исключение папок Templates, Private из сборки
    • Фильтр файлов по паттернам
    • Настройка правил видимости
  • Неделя 3: Улучшение навигации

    • Кастомная структура меню
    • Breadcrumbs для заметок
    • Теги и категории

Фаза 3: Dataview интеграция (3-4 недели)

Парсинг Dataview запросов

  • Неделя 1-2: Базовый парсер

    • Распознавание dataview блоков в markdown
    • Парсинг простых LIST и TABLE запросов
    • Извлечение метаданных из frontmatter
  • Неделя 3-4: Генерация динамического контента

    • Выполнение dataview запросов
    • Генерация HTML таблиц и списков
    • Интеграция в процесс сборки Quartz

Фаза 4: AI-помощник (1-2 месяца)

MVP чатбота

  • Неделя 1-2: Базовая архитектура

    • Telegram бот или веб-интерфейс
    • Индексация содержимого заметок
    • Простой поиск по тексту
  • Неделя 3-4: Умный поиск

    • Семантический поиск (embedding)
    • Поиск по связям между заметками
    • Контекстные ответы
  • Неделя 5-6: Расширенные функции

    • Предложения новых связей
    • Анализ структуры заметок
    • Помощь в создании контента

📊 Личные метрики успеха

Производительность системы

  • Время сборки: с 45s до <10s (инкрементальная сборка)
  • Время отклика сайта: <100ms
  • Стабильность: 99%+ uptime
  • Объем кеша: эффективное использование дискового пространства

Удобство использования

  • Скорость публикации: от commit'а до обновления сайта <30s
  • Качество поиска: точность результатов AI-помощника
  • Покрытие Dataview: поддержка 90%+ используемых запросов
  • Мобильность: корректное отображение на всех устройствах

🔧 Технические детали реализации

Go webhook сервис

// Примерная структура Go сервиса
type WebhookServer struct {
    gitRepo    *git.Repository
    quartzPath string
    cache      *BuildCache
}

func (w *WebhookServer) handleWebhook(payload GitPayload) {
    changedFiles := w.getChangedFiles(payload.Before, payload.After)
    if w.needsRebuild(changedFiles) {
        w.incrementalBuild(changedFiles)
    }
}

Dataview парсер

// Парсинг dataview запросов
type DataviewQuery struct {
    Type   string // LIST, TABLE, TASK
    From   string // источник данных
    Where  string // условия фильтрации
    Sort   string // сортировка
}

func parseDataviewBlock(markdown string) []DataviewQuery {
    // Извлечение и парсинг dataview блоков
}

Правила видимости

# Конфигурация исключений
exclude_paths:
  - "📋 Templates/"
  - "Private/"
  - "Draft/"
  
exclude_patterns:
  - "*.private.md"
  - "temp-*"
  
include_only_published: true

🎯 Приоритеты реализации

Первоочередные задачи

  1. Go webhook - основа для всех улучшений
  2. Инкрементальная сборка - критично для производительности
  3. Скрытие служебных папок - важно для чистоты публикации

Вторичные задачи

  1. Dataview поддержка - расширение функциональности
  2. Кастомизация Quartz - улучшение внешнего вида
  3. AI-помощник - качественное улучшение workflow

Опциональные улучшения

  1. Расширенная аналитика использования
  2. Дополнительные форматы экспорта
  3. Интеграция с другими сервисами

📋 Конкретные следующие шаги

Немедленно (эта неделя)

  • Создать Go модуль для webhook сервиса
  • Настроить базовую структуру проекта
  • Реализовать простейший HTTP сервер
  • Протестировать получение webhook'ов от Gitea

Ближайшие 2 недели

  • Завершить базовый Go webhook сервис
  • Интегрировать с существующим Git репозиторием
  • Добавить запуск Quartz сборки из Go
  • Начать работу над Git diff анализом

Ближайший месяц

  • Реализовать инкрементальную сборку
  • Настроить исключение служебных папок
  • Оптимизировать кеширование
  • Начать работу над Dataview парсером

Ближайшие 3 месяца

  • Полная поддержка Dataview запросов
  • Кастомизация Quartz под личные потребности
  • MVP AI-помощника для поиска
  • Все основные функции работают стабильно

Связано с: Second Mind Pipeline/index Последнее обновление: 2024-12-19