Капитал
Данные профиля
Используются для подписей в интерфейсе. Серверная регистрация в Phase 1 не выполняется.
Профиль отображения и пресеты
Встроенные и пользовательские наборы: фильтры портфелей и классов, дата слоя, параметры риска. Применяются ко всей сводке и портфелю.
Выберите профиль для автоматической настройки фильтров и режима отображения.
Тема оформления
Тёмная тема задаёт переменные интерфейса; графики подстраиваются под контраст.
Плотность интерфейса
Служебные разделы в меню
Скрытие пунктов уменьшает отвлечения; сбросить можно, снова включив здесь или через полный сброс.
Подсказки
Краткие пояснения к возможностям приложения. Закрытую подсказку можно снова включить кнопкой ниже.
Числа и формат
Подключение к серверу
По умолчанию используется URL из конфигурации приложения. Здесь можно задать свой backend для этой копии в браузере.
Оставьте пустым, чтобы брать значение из system_settings.js.
Подключение брокеров (API)
Т-Банк: токен OpenAPI — только для Т-Инвестиций (брокерский счёт). Дебетовая карта — через «Загрузить данные» → Т-Банк → Карта и счёт (выписка).
Синхронизация warehouse
Если на сервере задан INVESTR_API_KEY, укажите тот же секрет. Хранится в браузере: —
JWT (N5): тот же токен, что и в разделе Staff only — ключ localStorage —. Роль operator не выполняет factory-reset.
Импорт из терминала / приложения
Вставка колонки с экрана Позиции (Альфа-Инвест, СберИнвест) перенесена на вкладку Портфель блок Импорт позиций: отдельная карточка на источник и своё поле ввода на каждый счёт.
Напоминания (локально)
Флаги сохраняются в браузере. Отправка push/e-mail в Phase 1 не подключена — это заготовка под будущий сервис.
Сброс локальных данных
Удаляет всё, что investR хранит в этом браузере: профиль («DEMO» и имя), пресеты фильтров, раскладку дашборда, ключи API/JWT, режим разработчика и демо, настройки таблицы.
Склад портфеля (IR_EVA / data_vault.path) и файлы на диске не затрагиваются. После сброса страница перезагрузится — портфель снова подтянется со склада, если он подключён.
Аварийный сброс («как при продаже БУ телефона»)
Удаляет все локальные данные в браузере и, если доступен backend, обнуляет склад в подключённом data_vault (сейчас это может быть IR_EVA). Для очистки только браузера без склада используйте блок выше — «Сбросить локальные данные».
Требуется подтверждение текстом RESET и тот же API-ключ, что для sync, если на сервере задан INVESTR_API_KEY.
Документация (Staff only)
Технические детали, ТЗ и журнал задач sync — на вкладке «Staff only» и «Журнал».
Режим разработчика, демо-данные и презентация
Параметры хранятся в localStorage (—). Презентационный режим скрывает «Журнал» и «Staff only» у зрителя и принудительно включает демо-warehouse.
asset_state_warehouse.json):Финансовая иерархия (roadmap)
Подготовка к подключению брокеров, банков, криптобирж и мобильных приложений. Канонический реестр: ui/data/sources_registry.js.
Схема потока данных (для разработки и сопровождения)
Цепочка от источников до аналитики в UI. Подписи и ссылки — ориентир по файлам репозитория (откроются в браузере, если сервер отдаёт статику).
Метаданные warehouse (API)
GET /warehouse/meta — активный источник (postgres / sqlite / file / empty), rowCount, layerDates, updatedAt, warehouseDocumentVersion, warehouseTableName, lastSyncAggregate (в т.ч. lastAttemptDurationMs, platformsFailedCount, byPlatform[].message), плюс syncJobsLogUpdatedAt и recentSyncJobs (до 5 задач, lastAttemptDurationMs, platformResults). Сверка слоёв с селектором «Дата слоя». При демо-складе UI — учебный набор; ответ API — реальный backend.
—
Сводка журнала sync — объект syncLogSummary из ответа GET /health (jobsLoggedCount, последний jobId / статус / finishedAt). Не загружает warehouse.
—
О программе
- Назначение: локальная аналитика и управление состоянием инвестиционных портфелей.
- Текущий режим: модульный шаблон `v2` для отладки структуры и pipeline.
- Ключевой источник состояния: `asset_state_warehouse.json`.
Функциональные модули
- `Главная`: агрегаты, диаграммы, динамика.
- `Портфель`: таблица позиций, фильтры по портфелю и классу активов.
- `Кабинет`: профиль, оформление, данные/sync, уведомления, конфиденциальность.
- `Staff only`: документация структуры, правил и связей.
Слои архитектуры
- Данные: `asset_state_warehouse.json`, `ui/data/*.js`, `data_sources/*`.
- Алгоритмы: `warehouse_tools/pipeline/*`, `ui/widgets/widget-data-bridge.js`.
- Оформление: `ui/styles/design-tokens.css`, `ui/styles/app.css`, `ui/widgets/widget-styles.css`.
- Виджеты/фильтры: `ui/widgets/widget-*.js`.
Схемы Sync / Agent (Mermaid)
Поток данных и Alfa Agent — вкладка Staff only. Отключение: chart_flags.js → mermaid: false.
Структура файлов
- `data_sources/` — база исходников после распознавания + индекс.
- `warehouse_tools/ingest/` — распознавание и подготовка источников.
- `warehouse_tools/pipeline/` — наполнение и валидация warehouse.
- `ui/data/` — справочники и snapshot для UI.
- `ui/widgets/` — виджеты, мост данных, стили виджетов.
- `backend/` — каркас сервисной части Phase 1.
- `platforms/registry.json` + `platforms/*/config.json` — реестр и конфиги MVP платформ.
- `infra/queue`, `infra/storage` — контракты очереди и хранилищ.
- `docs/` — правила, архитектура, протоколы, `ТЗ_ENTERPRISE_ARCHITECTURE_v1_0.html`.
Поток данных (коротко)
- Источник (`pdf/xlsx/screenshot`) -> `data_sources/inbox|recognized`.
- Распознавание/нормализация -> `warehouse_tools/tmp/normalized/*.json`.
- Upsert в `asset_state_warehouse.json`.
- Отладка (разработчик): прямой импорт JSON склада из файла во вкладке «Staff only» — только в памяти вкладки, см. `showDebugWarehouseFileUpload`.
- Чтение через `WidgetDataBridge` -> фильтры/графики/таблица.
Протоколы проверки
- Схема warehouse: `warehouse_tools/pipeline/validate_warehouse_schema.py`.
- Индекс источников: `data_sources/index/recognized_index.json`.
- Отчет импорта: `warehouse_tools/tests/ingest_protocol_report_2026-05-07.md`.
Правило формирования этой вкладки
- Файл правила: `docs/ПРАВИЛО_ВКЛАДКИ_НАСТРОЙКИ.md`.
- Стандарт документов: `СТАНДАРТ_ОФОРМЛЕНИЯ_ДОКУМЕНТОВ.md`.
- План перехода: `docs/PHASE_1_IMPLEMENTATION_PLAN.md`.
- Протокол шагов: `docs/ПРОТОКОЛ_ВНЕДРЕНИЯ_PHASE1.md`.
- Требование: блоки `details/summary`, короткие списки, только конкретика.
- Связи фиксировать как цепочку: источник -> инструмент -> warehouse -> UI.
Пользовательский склад данных
Портфели, источники, журнал операций и отчёты можно вынести в отдельную папку (INVESTR_DATA_ROOT или data_vault.path). Код, виджеты и протоколы ingest остаются в INVESTR — другой пользователь подключает свой склад без переустановки программы.
Документация: docs/ПОЛЬЗОВАТЕЛЬСКИЙ_СКЛАД.md Миграция: link_data_vault.bat или python warehouse_tools/migrate_to_data_vault.py --target
—
Ключ API синхронизации (backend)
Если на сервере задан INVESTR_API_KEY, введите тот же секрет — он отправляется заголовком X-InvestR-Key при защищённых POST (sync, сброс). Хранится только в браузере (localStorage: —).
Этап N5: при INVESTR_JWT_SECRET и PyJWT сервер выдаёт JWT через POST /auth/token; клиент подставляет Authorization: Bearer … (ключ —). Роль operator не допускает factory-reset; admin — допускает.
Системный профиль и соответствие ТЗ
ui/data/system_settings.js Аудит: docs/АУДИТ_СООТВЕТСТВИЯ_ТЗ.md
- Загрузка системного профиля...
Управление пользователями invest₽. Создание аккаунта обязательно с email и именем; после создания — рассылка временного пароля и ссылки на вход.
Сейчас реестр хранится в браузере (investR.admin.accounts.v1); прод-контур: POST /admin/users, POST /admin/users/:id/invite.
Сводка по использованию системы. Чужие счета, позиции, суммы и токены брокеров не показываются.
Демо-пользователь
Включает профиль Иванов Петр Сергеевич: демо-портфель (~2 года срезов), журнал операций и полный UI.
Условные источники и позиции из warehouse_demo_main.js — не ваши брокеры и не IR_EVA.
Склад данных пользователя
Подключить папку со складом (например IR_EVA) или загрузить JSON по ссылке. После подключения перезагрузите страницу (F5).
Текущий склад: …
В папке должны быть manifest.json или warehouse/asset_state_warehouse.json.
Поддерживается прямая ссылка на asset_state_warehouse.json или manifest.json investR.
Создать аккаунт
Все поля с пометкой * обязательны. Без email аккаунт не создаётся.
Доступ новому пользователю
Скопируйте текст или отправьте через почтовый клиент. Временный пароль хранится только до смены пользователем.
| Пользователь | Роль | Статус | Создан | Активность | Действия | |
|---|---|---|---|---|---|---|
| Загрузка… | ||||||
ui/data/changelog_entries.js Правило: docs/ЖУРНАЛ_ИЗМЕНЕНИЙ_И_ВЕРСИИ.md