initial commit
Build and Push Docker Images / build-and-push (push) Failing after 3m33s

This commit is contained in:
admin committed 2026-11-07 16:39:43 +03:00
commit 46af290db3
100 files changed
+16663

No files matched your search

+144
View File
@@ -0,0 +1,144 @@
📊 Writer IDE — Summary проекта
🎯 Видение проекта
Локально-ориентированное веб-приложение (IDE для писателей), объединяющее rich-text редактирование, структурированное управление сюжетом и бесшовную интеграцию AI-ассистента для генерации, редактуры и анализа текста.
🛠️ Технологический стек
Frontend: Next.js 14+ (App Router), TypeScript, Tailwind CSS, Tiptap (редактор), Zustand (state management)
Backend: FastAPI (Python), Pydantic, Uvicorn
AI Интеграция: Ollama (локально), OpenRouter API (облачные модели)
Разработка: Zed IDE + AI-агенты (Qwen 2.5 Coder 7b/32b через OpenRouter)
✅ Что уже сделано (Этап 1: Фундамент)
Задача
Статус
Что реализовано
1.1 Инициализация Frontend
✅ Выполнено
Next.js + Tailwind + Tiptap + Zustand установлены
1.2 Zustand Store
✅ Выполнено
appStore.ts с управлением документами (id, title, content, type)
1.3 Layout (3 колонки)
✅ Выполнено
FileExplorer (слева), StoryExplorer (посередине), Editor (справа)
1.4 Tiptap Editor
✅ Выполнено
Rich-text редактор с расширениями: TextStyle, Color, Underline, Blockquote, интеграция с Zustand
1.5 Toolbar
✅ Выполнено
Панель форматирования: Bold, Italic, Underline, Quote, Color picker, Clear formatting, Font family, Font size
1.6 Backend инициализация
✅ Выполнено
FastAPI с CORS, health check endpoint, структура папок (routers, services, models)
1.7 Frontend-Backend интеграция
✅ Выполнено
API endpoints для документов, автосохранение с debounce, персистентность данных
Итог Этапа 1: Рабочее приложение с rich-text редактором, трехколоночным интерфейсом и синхронизацией с backend.
🟡 Что планируется (Этап 2: AI Интеграция)
Задача
Статус
Что будет реализовано
2.1 Backend AI сервис
⏳ Готово к началу
LLMRouter для Ollama и OpenRouter, эндпоинт /api/ai/generate
2.2 Система пресетов
⏳ Ожидает
Пресеты: Creative Draft (temp 0.85), Editor (temp 0.3), Brainstorm (temp 1.0)
2.3 Frontend AI клиент
⏳ Ожидает
Типизированный API клиент ai-api.ts для вызова генерации
2.4 Inline AI меню
⏳ Ожидает
Всплывающее меню при выделении текста с действиями: Переписать, Расширить, Упростить
2.5 Diff view
⏳ Ожидает
Визуальное сравнение оригинального текста и AI-предложения с кнопками Accept/Reject
2.6 Интеграция AI действий
⏳ Ожидает
Связывание AIMenu + AIDiffView + API для полноценного AI-редактирования
Цель Этапа 2: Пользователь может выделить текст, выбрать AI действие, увидеть предпросмотр изменений в diff view и принять/отклонить.
🟠 Что планируется (Этап 3: Контекст и Story Bible)
Автоматическое извлечение сущностей (персонажи, локации) из текста
Панель Story Bible для управления контекстом
Умная подача контекста в промпты для консистентности повествования
Фоновый агент для обновления Story Bible при сохранении глав
🔴 Что планируется (Этап 4: Экспорт)
Экспорт в PDF с форматированием (шрифты, отступы, оглавление)
Экспорт в EPUB/FB2 для читалок
Генерация иллюстраций (опционально)
🎯 Ключевые архитектурные решения
Local First: Данные пользователя хранятся локально (backend как прокси к файловой системе)
AI Router: Абстракция над Ollama и OpenRouter для гибкого переключения между локальными и облачными моделями
Presets System: Жесткое разделение параметров генерации в зависимости от задачи (творчество vs анализ)
Inline AI: AI-действия не прерывают поток писателя (встроенные меню, diff view вместо чата)
Type Safety: Строгая типизация на frontend (TypeScript) и backend (Pydantic)
📁 Структура проекта
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
🚀 Следующий шаг (завтра)
Задача 2.1: Backend AI сервис
Модель: qwen/qwen-2.5-coder-32b-instruct (через OpenRouter)
Что сделать: Создать backend/services/llm_router.py с поддержкой Ollama и OpenRouter
Критерий успеха: Эндпоинт POST /api/ai/generate принимает промпт и возвращает сгенерированный текст
💡 Важные заметки
Python 3.14 на сервере — используем пакеты без жестких версий в requirements.txt
Zed IDE вместо VS Code для экономии памяти (16 GB RAM)
Для разработки используем OpenRouter (Qwen 2.5 Coder), для тестирования функционала — локальную Ollama