# Web Surface — запуск

## Быстрый старт (мок-режим, без агента)

```powershell
$env:WEB_PLATFORM_BACKEND="mock"
python -m adapter.web.bot
```

Открыть http://localhost:8080

## С реальным агентом

```powershell
$env:WEB_PLATFORM_BACKEND="real"
$env:AGENT_BASE_URL="http://lambda.coredump.ru:7000/agent_0"
python -m adapter.web.bot
```

## Переменные окружения

| Переменная | По умолчанию | Описание |
|---|---|---|
| `WEB_PORT` | `8080` | Порт сервера |
| `WEB_PLATFORM_BACKEND` | `mock` | `mock` — заглушка, `real` — настоящий агент |
| `AGENT_BASE_URL` | `http://127.0.0.1:8000` | URL агента (только для `real`) |
| `SURFACES_WORKSPACE_DIR` | `/workspace` | Куда сохраняются файлы |

## Фронтенд

В `adapter/web/static/index.html` — работает сразу, ванильный JS.

React-версия в `adapter/web/frontend/` — требует сборки:

```powershell
cd adapter/web/frontend
npm install
npm run build
```

После `npm run build` Vite перезапишет `adapter/web/static/` — React заменит ванильный HTML.

## История

Сообщения сохраняются на сервере (в `InMemoryStore` или `SQLiteStore`).
При переподключении история загружается автоматически. Хранится до 200 сообщений на чат.

## Команды чата

- `/start` — начать работу (регистрация)
- `/new` — создать новый чат
- `/chats` — список чатов
- `/rename <название>` — переименовать чат
- `/archive` — архивировать чат
- `/settings` — настройки (скиллы, личность, безопасность)

## Файлы

- **Загрузка**: кнопка 📎 → файл добавляется в очередь → отправляется с сообщением
- **Скачивание**: файлы от агента показываются как карточка с кнопкой "⬇ Скачать"
- **Хранение**: файлы сохраняются в `SURFACES_WORKSPACE_DIR`, доступны по `/files/{path}`
