DarkRoom 1.9.2: внешнее управление через MCP

Проверено 20.10.2026
Внешний процесс MCP SDK ClientSession подключён по stdio к мосту, мост подключён к собранному desktop-приложению через loopback HTTP с ключом сеанса. В отдельной QA-базе прочитаны съёмки и кадры, подготовлено изменение рейтинга одного синтетического кадра. До подтверждения данные не менялись. После подтверждения рейтинг изменился. Повторное выполнение того же плана отклонено. Исходный рейтинг восстановлен.
Клиент Codex в этом прогоне не подключался. Настройки Codex не изменялись.

Доступно 12 инструментов
list_shoots, get_shoot_summary, list_presets, kadry_semki, sostoyanie_programmy; подготовка set_rating, set_color_label, set_adjustments, set_frame_adjustments, auto_white_balance, auto_tone; выполнение confirm_execute.
Правки ограничены явно перечисленными кадрами одной съёмки. Встроенный ИИ-провайдер не вызывается. Отдельный API-ключ ИИ для моста не нужен. Данные, которые прочитает внешний ИИ-клиент, обрабатываются по правилам этого клиента.

Граница готовности
Это управление данными приложения. Переключение панелей, чтение активного выделения, снимок окна, имитация ввода, применение пресетов, экспорт и состояние длительных задач пока не представлены через этот MCP-мост. QA умеет снимать собственное окно, но этот тестовый механизм не открыт внешнему клиенту.

Предлагаемая следующая реализация
1. Явное включение внешнего управления в программе и привязка клиента к конкретному запущенному экземпляру.
2. workspace.inspect: активная съёмка, кадр, выделение, экран, несохранённые записи, ревизия.
3. workspace.open_photo и workspace.show_panel через очередь живого frontend, подтверждение фактического состояния.
4. workspace.screenshot: собственный WebView, без доступа к другим приложениям, только по запросу пользователя.
5. presets.preview/apply и export.prepare/start/status/cancel с явной областью, operation_id, защитой от повторов и проверкой результата.
6. Один сценарий Codex: открыть фото, показать пресет, изменить экспозицию, сравнить, экспортировать выбранные кадры, получить пути и снимок результата. Всё проверять сначала на копиях.

Подключение
Официальная документация Codex: https://learn.chatgpt.com/docs/extend/mcp?surface=cli
Codex поддерживает локальные MCP-процессы stdio. Конфигурацию нужно направить на распакованный tools/mcp/temnaya_studia_mcp.py и отдельный Python с mcp==1.30.0. Сохранить структуру архива: мост читает схемы api/app/services/agent/tools.py.
Переменные: TEMNAYA_STUDIA_ADRES=http://127.0.0.1:8000; TEMNAYA_STUDIA_PAPKA=<папка профиля DarkRoom>. Для QA использовались другой порт/отдельный профиль, поэтому рабочую базу не трогали.
Пример запуска после установки SDK: python /absolute/path/tools/mcp/temnaya_studia_mcp.py
Пример установки в отдельную среду: python -m venv .venv-mcp; .venv-mcp/bin/python -m pip install mcp==1.30.0
На Windows исполняемый файл отдельной среды расположен в Scripts/python.exe.
Не хранить ключ сеанса в конфигурации: мост читает актуальный .seans при каждом запросе. Программа должна быть запущена. Для подключения использовать совместимую версию сервера 1.9.2.
