Skip to content

Architecture RU

Svwergio_mel edited this page Nov 12, 2026 · 1 revision

Архитектура

Как связаны три репозитория Chat Export на вашей машине: расширение Chrome (вкладки провайдеров под вашей сессией), локальный MCP-сервер на 127.0.0.1 и опциональный дашборд оператора. Автоматизация идёт через мост расширения MV3 в профиле Chrome — без Chrome DevTools MCP и без облачных API вендоров для операций с чатами.

См. также: Установка и быстрый старт · Нативный деплой, Docker и Kubernetes · Дашборд и безопасность · Сценарии использования · EN

Стек продукта (расширение + сервер + агент)

Расширение добавляет UI экспорта и при включённом мосте соединяется по WebSocket с сервером. MCP-клиенты (Cursor, Claude Desktop, Open WebUI, локальные LLM и т.д.) вызывают HTTP MCP на том же хосте. Статический дашборд раздаётся сервером по /dashboard/ при встраивании submodule.

flowchart LR
  subgraph browser [Ваш Chrome]
    EXT[Расширение Chat Export]
    TABS[Вкладки провайдеров]
    TABS <--> EXT
  end
  subgraph local [127.0.0.1]
    SRV[chat-export-server]
    DASH[Дашборд /dashboard]
    SRV --- DASH
  end
  subgraph agent [Ваша IDE]
    MCP[Cursor / MCP-клиент]
  end
  EXT <-->|WebSocket ceb_| SRV
  MCP <-->|HTTP MCP cem_/cek_| SRV
Loading

Токены: ceb_ — WebSocket расширения (/ws); cem_ / cek_ — MCP (/mcp). Plaintext MCP-ключей показывается один раз; на сервере хранятся только хеши.

Хаб сервера (очереди, кеш, MCP, API дашборда)

Browser hub принимает до двух профилей Chrome (ceb_), ставит длительные задачи в очереди по браузерам, ведёт SQLite-кеш чатов, отдаёт MCP-инструменты и API дашборда.

flowchart TB
  EXT[Расширение Chrome] <-->|WS ceb_| HUB[Browser hub]
  HUB --> Q[Очереди по браузерам]
  Q --> MCP[MCP /mcp]
  MCP --> AGENT[Cursor и др.]
  HUB --> API[/dashboard/api]
  API --> UI[Дашборд]
  Q --> DB[(SQLite)]
Loading

Типовые эндпоинты: /ws, /ext — расширение; /mcp — MCP; /health — проверка; /dashboard/ — UI; /dashboard/api — RPC дашборда с сессией.

Дашборд оператора (панель управления)

Дашборд — статический React в дереве сервера. Браузер оператора грузит ассеты; cookie сессии ce_dash_sid защищает вызовы API на том же origin.

flowchart LR
  USER[Браузер оператора]
  USER --> DASH[/dashboard/]
  DASH --> API[/dashboard/api/]
  API --> SRV[chat-export-server]
  SRV --> EXT[Расширение]
Loading

Путь данных (текстом)

  1. Ручной экспорт — content scripts читают DOM во вкладках; сохранение через chrome.downloads. Сервер не нужен.
  2. MCP-автоматизация — MCP-клиент → Streamable HTTP на /mcp → очередь на сервере → RPC по WebSocket в расширение → действия во вкладке (list, get, export, create, ask, delete с ограничениями).
  3. Дашборд — сессия на /dashboard/ → API /dashboard/api → тот же процесс, что и MCP (мониторинг, браузеры, токены).

Схемы протокола: packages/protocol/ в chat-export-server.

Варианты деплоя

Вариант Документация
Нативный CLI (chat-export-server start) Установка и быстрый старт, README сервера
Docker / Colima Нативный деплой, Docker и Kubernetes
Kubernetes (deploy/k8s) Нативный деплой, Docker и Kubernetes, deploy/k8s/README.md сервера
Раздельный nginx-фронт Дашборд и безопасность, README dashboard

Право и ToS

Двухуровневое согласие в расширении (LEGAL.md): базовый дисклеймер экспорта и отдельное согласие на MCP/автоматизацию. См. Home-RU — правовая информация.

Clone this wiki locally