This commit is contained in:
commit
46af290db3
100 files changed
+16663
No files matched your search
+49
@@ -0,0 +1,49 @@
|
||||
# Writer IDE: Архитектурная спецификация
|
||||
|
||||
## 🎯 Видение проекта
|
||||
Создание локально-ориентированного веб-приложения (IDE для писателей), которое объединяет мощь rich-text редактирования, структурированное управление сюжетом (Story Bible) и бесшовную интеграцию AI-ассистента для генерации, редактуры и анализа текста. Приложение должно давать пользователю полный контроль над данными (локальное хранение) и гибкость в выборе AI-моделей (OpenRouter для качества, Ollama для приватности).
|
||||
|
||||
## 🛠️ Технологический стек
|
||||
|
||||
### Frontend
|
||||
- **Фреймворк**: Next.js 14+ (App Router, TypeScript)
|
||||
- **Стилизация**: Tailwind CSS (строгое использование utility-классов, никаких inline-styles)
|
||||
- **Редактор**: Tiptap (Headless wrapper вокруг ProseMirror)
|
||||
- **Управление состоянием**: Zustand (легковесный, без бойлерплейта Redux)
|
||||
- **Иконки**: Lucide React
|
||||
- **HTTP-клиент**: Axios (с типизацией ответов)
|
||||
|
||||
### Backend
|
||||
- **Фреймворк**: FastAPI (Python 3.10+)
|
||||
- **Валидация**: Pydantic V2
|
||||
- **Асинхронность**: Строгое использование `async`/`await`
|
||||
- **Хранение**: Локальная файловая система (JSON/Markdown файлы в директории проекта пользователя)
|
||||
|
||||
### AI Интеграция (Внутренняя логика приложения)
|
||||
- **Роутинг**: Абстрактный сервис, поддерживающий как OpenRouter API, так и локальный Ollama (`http://localhost:11434`).
|
||||
- **Пресеты**: Жесткое разделение параметров генерации (`temperature`, `top_p`) в зависимости от действия (Creative Draft, Editor, Brainstorm).
|
||||
|
||||
## 📁 Структура проекта
|
||||
```text
|
||||
writer-ide/
|
||||
├── PROJECT.md # Этот файл
|
||||
├── TASKS.md # Пошаговый план разработки
|
||||
├── AGENTS.md # Стратегия выбора AI-моделей
|
||||
├── .cursorrules # Правила для AI-ассистента в IDE
|
||||
│
|
||||
├── frontend/ # Next.js приложение
|
||||
│ ├── src/
|
||||
│ │ ├── app/ # Next.js App Router (pages, layout)
|
||||
│ │ ├── components/ # UI компоненты
|
||||
│ │ │ ├── editor/ # Tiptap редактор, Toolbar, AI-меню
|
||||
│ │ │ ├── sidebar/ # FileExplorer, StoryExplorer
|
||||
│ │ │ └── ui/ # Переиспользуемые кнопки, инпуты
|
||||
│ │ ├── lib/ # Утилиты, конфигурация axios, типы
|
||||
│ │ └── stores/ # Zustand stores (appStore, editorStore)
|
||||
│ └── package.json
|
||||
│
|
||||
└── backend/ # FastAPI сервер
|
||||
├── main.py # Точка входа, настройка CORS
|
||||
├── routers/ # API эндпоинты (projects, documents, ai)
|
||||
├── services/ # Бизнес-логика (file_ops, llm_router)
|
||||
└── models/ # Pydantic схемы запросов/ответов
|
||||
Reference in new issue
Block a user