313 lines
16 KiB
Markdown
313 lines
16 KiB
Markdown
# VoIdea — План реализации
|
|
|
|
**Версия:** 1.0.0
|
|
**Дата:** 2026-05-10
|
|
**Статус:** Черновик
|
|
|
|
---
|
|
|
|
## Содержание
|
|
|
|
1. [Обзор проекта](#1-обзор-проекта)
|
|
2. [Фазы разработки](#2-фазы-разработки)
|
|
3. [Детальный план по блокам](#3-детальный-план-по-блокам)
|
|
4. [Агенты](#4-агенты)
|
|
5. [Инфраструктура](#5-инфраструктура)
|
|
6. [Приоритеты](#6-приоритеты)
|
|
|
|
---
|
|
|
|
## 1. Обзор проекта
|
|
|
|
### Описание
|
|
|
|
**VoIdea** — гибридное приложение (мобильное + веб) для фиксации и проработки идей с помощью группового ИИ-анализа.
|
|
|
|
### Ключевые требования
|
|
|
|
- Работа в условиях нестабильного интернета или оффлайн
|
|
- Максимальная защита данных пользователя
|
|
- Гибкий выбор ИИ-моделей (локальных и облачных)
|
|
- Синхронизация данных между устройствами через VPS
|
|
|
|
### Технологический стек
|
|
|
|
| Компонент | Технология |
|
|
|-----------|------------|
|
|
| Backend | Python FastAPI |
|
|
| Database | PostgreSQL |
|
|
| Cache/Queue | Redis + Celery |
|
|
| Frontend | React + TypeScript + Tailwind CSS (PWA) |
|
|
| Mobile | iOS/Android (параллельно с вебом) |
|
|
| Server | VPS Ubuntu, Port 8020 |
|
|
|
|
---
|
|
|
|
## 2. Фазы разработки
|
|
|
|
`
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 1: FOUNDATION ║
|
|
║ (2-3 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ 00-rules.md — Адаптация правил VoIdea ║
|
|
║ ✓ 01-core — Конфиги, модели, base классы ║
|
|
║ ✓ 02-data — PostgreSQL миграции, модели БД ║
|
|
║ ✓ 08-devops — CI/CD, контейнеры ║
|
|
║ ✓ PROJECT_GUIDE.md — Корневой файл ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
↓
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 2: API & AUTH ║
|
|
║ (2-3 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ 03-api — Endpoints (users, ideas, agents) ║
|
|
║ ✓ OAuth — Яндекс, Google ║
|
|
║ ✓ JWT — Аутентификация ║
|
|
║ ✓ 05-services — Бизнес-логика ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
↓
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 3: AI AGENTS ║
|
|
║ (3-4 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ 05-bis-ai-agents — Спецификация агентов ║
|
|
║ ✓ app/agents/ — Код 11 агентов ║
|
|
║ ✓ Prompt templates — agent_prompts.yaml ║
|
|
║ ✓ Fallback chain — Yandex → GigaChat → error ║
|
|
║ ✓ SpecAgent, EvolutionAgent ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
↓
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 4: FRONTEND ║
|
|
║ (3-4 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ 04-webui — React/Tailwind приложение ║
|
|
║ ✓ Design system — 3 темы (system/dark/light) ║
|
|
║ ✓ PWA — Service Worker, оффлайн ║
|
|
║ ✓ Hotkeys — Настраиваемые горячие клавиши ║
|
|
║ ✓ Admin panel — Управление, логи, статусы агентов ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
↓
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 5: INTEGRATION ║
|
|
║ (2-3 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ 05-ter-voice — Web Speech API, Whisper ║
|
|
║ ✓ 05-quater-sync — Синхронизация устройств ║
|
|
║ ✓ 06-security — Шифрование, SecurityAgent ║
|
|
║ ✓ Backlog заметки — rate limiting (позже) ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
↓
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 6: TESTING & AGENTS ║
|
|
║ (2-3 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ 07-testing — Методология тестирования ║
|
|
║ ✓ QATesterAgent — Функциональное тестирование ║
|
|
║ ✓ FixAgent — Исправление багов ║
|
|
║ ✓ UITestAgent — Визуальное тестирование ║
|
|
║ ✓ ObserverAgent — Наблюдение за пользователями ║
|
|
║ ✓ RolloutAgent — Постепенное развёртывание ║
|
|
║ ✓ AuditAgent, BacklogAgent, DocAgent, SecurityAgent ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
↓
|
|
╔═══════════════════════════════════════════════════════════════════╗
|
|
║ ФАЗА 7: DEPLOYMENT ║
|
|
║ (1-2 недели) ║
|
|
╠═══════════════════════════════════════════════════════════════════╣
|
|
║ ✓ Установка на VPS: Ubuntu + PostgreSQL + Redis + Nginx ║
|
|
║ ✓ SSL (Let's Encrypt) — после получения домена ║
|
|
║ ✓ Постепенное развёртывание: 3→1%→5%→15%→100% ║
|
|
║ ✓ Runbook, мониторинг ║
|
|
╚═══════════════════════════════════════════════════════════════════╝
|
|
`
|
|
|
|
---
|
|
|
|
## 3. Детальный план по блокам
|
|
|
|
### Block 0: Rules & Conventions
|
|
|
|
- [x] Адаптация под VoIdea
|
|
- [ ] Интеграция с AI-агентами
|
|
- [ ] Автоматическое обновление при изменениях
|
|
|
|
### Block 1: Core
|
|
|
|
- [ ] pp/core/config.py — Конфигурация из переменных окружения
|
|
- [ ] pp/core/base.py — Базовые классы (BaseModel, BaseService)
|
|
- [ ] pp/core/exceptions.py — Исключения приложения
|
|
- [ ] pp/core/dependencies.py — FastAPI dependencies
|
|
- [ ] pp/core/security.py — JWT, password hashing
|
|
|
|
### Block 2: Data
|
|
|
|
- [ ] pp/models/user.py — Модель пользователя
|
|
- [ ] pp/models/idea.py — Модель идеи
|
|
- [ ] pp/models/agent.py — Настройки агентов
|
|
- [ ] pp/models/backlog.py — Отложенные задачи
|
|
- [ ] pp/models/log.py — Логи
|
|
- [ ] Миграции Alembic
|
|
|
|
### Block 3: API
|
|
|
|
- [ ] /api/v1/auth/ — Авторизация, OAuth
|
|
- [ ] /api/v1/users/ — CRUD пользователей
|
|
- [ ] /api/v1/ideas/ — CRUD идей
|
|
- [ ] /api/v1/agents/ — Управление агентами
|
|
- [ ] /api/v1/sync/ — Синхронизация
|
|
- [ ] /api/v1/admin/ — Админ-панель
|
|
|
|
### Block 4: WebUI
|
|
|
|
- [ ] React приложение (Vite)
|
|
- [ ] Tailwind CSS + дизайн-система
|
|
- [ ] Компоненты: IdeaCard, AgentPanel, SettingsPage, AdminPanel
|
|
- [ ] PWA: Service Worker, IndexedDB
|
|
- [ ] Hotkeys система
|
|
- [ ] Темы: system/dark/light
|
|
|
|
### Block 5: Services
|
|
|
|
- [ ] pp/services/idea_service.py — Логика идей
|
|
- [ ] pp/services/agent_service.py — Работа с ИИ-агентами
|
|
- [ ] pp/services/sync_service.py — Синхронизация
|
|
- [ ] pp/services/notification_service.py — Email уведомления
|
|
- [ ] pp/services/logging_service.py — Логирование
|
|
|
|
### Block 5-bis: AI Agents
|
|
|
|
- [ ] Унифицированный интерфейс pp/integrations/ai/base.py
|
|
- [ ] Yandex GPT интеграция
|
|
- [ ] GigaChat интеграция
|
|
- [ ] Fallback chain
|
|
- [ ] 11 ролей с промптами
|
|
|
|
### Block 5-ter: Voice
|
|
|
|
- [ ] Web Speech API integration
|
|
- [ ] Whisper API (опционально)
|
|
- [ ] Оффлайн режим (Vosk — roadmap)
|
|
|
|
### Block 5-quater: Sync
|
|
|
|
- [ ] Кросс-платформенная синхронизация
|
|
- [ ] Brotli сжатие
|
|
- [ ] Разрешение конфликтов
|
|
- [ ] Очередь задач (Celery)
|
|
|
|
### Block 6: Security
|
|
|
|
- [ ] AES-256 шифрование (roadmap)
|
|
- [ ] SecurityAgent
|
|
- [ ] Rate limiting
|
|
- [ ] WAF правила
|
|
|
|
### Block 7: Testing
|
|
|
|
- [ ] Методология
|
|
- [ ] QATesterAgent
|
|
- [ ] FixAgent
|
|
- [ ] UITestAgent
|
|
|
|
### Block 8: DevOps
|
|
|
|
- [ ] Docker (для VPS)
|
|
- [ ] CI/CD (GitHub Actions)
|
|
- [ ] Мониторинг
|
|
- [ ] Бэкапы
|
|
|
|
---
|
|
|
|
## 4. Агенты
|
|
|
|
### Системные агенты (11)
|
|
|
|
| Агент | Файл | Статус |
|
|
|-------|------|--------|
|
|
| DocAgent | pp/agents/doc_agent.py | Roadmap |
|
|
| AuditAgent | pp/agents/audit_agent.py | Roadmap |
|
|
| SecurityAgent | pp/agents/security_agent.py | Roadmap |
|
|
| SpecAgent | pp/agents/spec_agent.py | Roadmap |
|
|
| ObserverAgent | pp/agents/observer_agent.py | Roadmap |
|
|
| QATesterAgent | pp/agents/qa_tester_agent.py | Roadmap |
|
|
| FixAgent | pp/agents/fix_agent.py | Roadmap |
|
|
| UITestAgent | pp/agents/ui_test_agent.py | Roadmap |
|
|
| RolloutAgent | pp/agents/rollout_agent.py | Roadmap |
|
|
| EvolutionAgent | pp/agents/evolution_agent.py | Roadmap |
|
|
| BacklogAgent | pp/agents/backlog_agent.py | Roadmap |
|
|
|
|
### ИИ-агенты (11 ролей)
|
|
|
|
| Роль | Промпт | Статус |
|
|
|------|--------|--------|
|
|
| Координатор | ✓ | |
|
|
| Организатор задач | ✓ | |
|
|
| Бизнес-аналитик | ✓ | |
|
|
| Юрист | ✓ | |
|
|
| Финансовый консультант | ✓ | |
|
|
| Архитектор решений | ✓ | |
|
|
| Тестировщик | ✓ | |
|
|
| UI-дизайнер | ✓ | |
|
|
| SMM-специалист | ✓ | |
|
|
| Лайф-коуч | ✓ | |
|
|
| Эксперт по доступности | ✓ | |
|
|
|
|
---
|
|
|
|
## 5. Инфраструктура
|
|
|
|
### Локальная разработка (Windows)
|
|
|
|
`
|
|
Python 3.12+
|
|
PostgreSQL (установлен локально)
|
|
Redis (Windows compatible)
|
|
`
|
|
|
|
### VPS (Ubuntu)
|
|
|
|
`
|
|
Server: 0.0.0.0:8020 (временно IP:8020)
|
|
PostgreSQL: localhost:5432
|
|
Redis: localhost:6379
|
|
Nginx: порт 80/443 (после домена)
|
|
SSL: Let's Encrypt (после домена)
|
|
`
|
|
|
|
---
|
|
|
|
## 6. Приоритеты
|
|
|
|
### Критический путь (MVP)
|
|
|
|
1. Block 0 (Rules) — завершён
|
|
2. Block 1 (Core) — начать сразу
|
|
3. Block 2 (Data) — модели БД
|
|
4. Block 3 (API) — базовые endpoints
|
|
5. Block 5 (Services + AI) — ядро функционала
|
|
6. Block 4 (WebUI) — интерфейс
|
|
|
|
### Roadmap (после MVP)
|
|
|
|
- Мобильные приложения (iOS/Android)
|
|
- Car integration (ГУ автомобиля)
|
|
- Локальные ИИ-модели
|
|
- Расширенная аналитика
|
|
|
|
---
|
|
|
|
## Чеклист начала работ
|
|
|
|
- [ ] Установить PostgreSQL локально
|
|
- [ ] Создать виртуальное окружение Python
|
|
- [ ] Настроить requirements.txt
|
|
- [ ] Запустить Block 1: Core
|
|
- [ ] Проверить работу API
|
|
|
|
---
|
|
|
|
*Документ создан: 2026-05-10*
|
|
*Обновляется системными агентами автоматически*
|