Integrate backend APIs and move review to center editor tab

This commit is contained in:
2026-02-24 14:22:39 +03:00
parent fe67753f74
commit 91a0a50b04
13 changed files with 1010 additions and 152 deletions

View File

@@ -1,6 +1,10 @@
# Web MVP: AI Project Editor (Frontend-only)
# Web MVP: AI Project Editor (Frontend)
Локальный frontend MVP без backend API.
## Текущий режим
Frontend подключен к реальному backend API (без mock-клиентов).
По умолчанию используется `http://localhost:8081`.
## Что реализовано
@@ -17,51 +21,37 @@
- Центральная панель: только вкладки открытых файлов и просмотр содержимого.
- Правая панель: чат + ревью изменений (diff, accept/reject/apply).
- Ресайз 3 колонок с дефолтными ширинами `15% / 65% / 20%`.
- Темная тема по умолчанию (темно-синий акцент).
- Mock индексация: snapshot/changes статусы в UI.
- Mock чат-агент:
- `/demo-update <path>` генерирует `update` для файла.
- `/changeset { ... }` принимает raw JSON и строит review.
- Интеграция с backend:
- `POST /api/rag/sessions` + polling `GET /api/rag/sessions/{rag_session_id}/jobs/{index_job_id}`
- `POST /api/chat/dialogs`
- `POST /api/chat/messages` + polling `GET /api/tasks/{id}`
- Валидация `changeset` по обязательным полям (`create/update/delete`).
- Статусы review: `pending`, `accepted_partial`, `accepted_full`, `rejected`, `conflict`, `applied`.
- `Apply accepted` с повторной hash-проверкой до записи и подтверждением удаления.
- Без git-операций и без автоприменения правок.
## Запуск через Docker Compose
## Запуск
1. Запустите backend:
```bash
cd "/Users/alex/Dev_projects_v2/ai driven app process/v2/agent"
docker compose up --build
```
2. Запустите web_app:
```bash
cd "/Users/alex/Dev_projects_v2/ai driven app process/v2/web_app"
docker compose up --build
```
Открыть: `http://localhost:8080`
Открыть frontend: `http://localhost:8080`
## Локальный запуск без Docker
```bash
cd "/Users/alex/Dev_projects_v2/ai driven app process/v2/web_app"
python3 -m http.server 8080
```
Проект разработан при помощи codex 2026.02.23
Автор проекта Семенов Семен
новые изменения
Открыть: `http://localhost:8080`
## Пример changeset
```json
{
"changeset": [
{
"op": "create",
"path": "notes/new_doc.md",
"proposed_content": "# New doc\\nhello",
"reason": "demo"
}
]
}
```
В чат отправить:
```text
/changeset {"changeset":[{"op":"create","path":"notes/new_doc.md","proposed_content":"# New doc\\nhello","reason":"demo"}]}
```