Как это работает

Архитектура

Приложение в трее передаёт выбор пользователя локальной службе, которая проверяет и применяет поддерживаемые изменения оборудования.

Путь управления

ПроектОтветственностьГраница доверия
OpenBlade.ContractsОпределяет версионированные IPC-сообщения профилей, состояния, возможностей и результатов.Не содержит платформенного кода или HID.
OpenBlade.ProtocolПроверяет отчёты, допускает конкретные устройства, хранит очищенные образцы, предоставляет типизированные операции HID и отрисовывает подсветку.К HID допускаются только типизированные операции, разрешённые для конкретной модели проверенной или экспериментальной областью полномочий.
OpenBlade.ServiceВладеет дескриптором управления, последовательно выполняет операции с оборудованием, управляет автоматизацией, подтверждает состояние, обрабатывает отклонения и диагностику.Работает как привилегированный IPC-сервер LocalSystem.
OpenBlade.Tray.CoreХранит состояние представления, команды, профили, настройки телеметрии и поведение клиента службы без зависимости от WinUI.Работает в пользовательском процессе без повышения прав.
OpenBlade.TrayУправляет окном WinUI 3, оформлением Mica, значком в трее, автозапуском и взаимодействием с пользователем.Работает как интерфейс текущего пользователя без повышения прав.
OpenBlade.DisplayНаходит дисплеи и применяет настройки частоты обновления, HDR и цветовых профилей Windows.Использует API текущего интерактивного сеанса.
OpenBlade.PlatformЧитает счётчики активности GPU NVIDIA в Windows, показывает и закрывает приложения, не дающие GPU перейти в сон, и применяет политику энергоэффективности процессора.Не содержит HID-кода. Работает только с процессами текущего пользователя.
OpenBlade.DeploymentРазбирает манифесты и проверяет подписи зарегистрированных локальных развёртываний для разработки.Проверяет манифесты и хеши установщиков по политике доверия локального развёртывания; установку выполняет брокер.
OpenBlade.Session / SessionAgentВыполняет задачи дисплея, ввода, звука и потоковой подсветки текущего пользователя. Автоматизация профилей, назначенные клавиши и интерактивная подсветка работают и после выхода из трея.Работает в одном экземпляре для каждого вошедшего пользователя. Служба принимает изменения оборудования только от активного консольного сеанса.
OpenBlade.CaptureПредоставляет разработчикам типизированные инструменты захвата, запросов и обратимых проверок.Этот инструмент не входит в установщик продукта; пакеты с ним отклоняются.
OpenBlade.FirmwareSmokeВыполняет обратимые проверки прошивки подключённого Blade и восстанавливает исходное состояние.Этот инструмент для разработчиков не входит в установщик продукта.
OpenBlade.DeploymentBroker / DeploymentClientУстанавливает локальные сборки OpenBlade без повторных запросов разрешения, с откатом первой установки.Только для локальной разработки после явной регистрации с разрешением для этой машины. Не входит в установщик продукта.
OpenBlade.SetupУстанавливает и удаляет приложение, управляет службой и компонентом сеанса, сохраняя профили.Запрашивает повышение прав только для изменений на уровне машины. Не заменяет более новую установленную версию.

Состояние и приоритеты

Служба выбирает настройки в порядке: ручное переопределение, временное переопределение питания, активный профиль, подтверждённое состояние прошивки. Записываются только изменившиеся значения.

Поведение прошивки зависит от модели. RZ09-0581 сообщает одно ручное состояние охлаждения для фиксированной скорости, ручной кривой и максимума. Адаптер помнит выбранный режим, подтверждая общее состояние прошивки.

Владение и конфликты

Экспериментальные полномочия

Эти пять экспериментальных профилей используют отдельный модуль на основе кода исходных проектов. Перед записью по-прежнему проверяются точная идентификация компьютера, текущее состояние, питание и конкурирующие контроллеры. Эти профили не наследуют проверенный эталон подсветки, владение режимом Driver, ручное управление вентиляторами или определение адаптера полной мощности.

Если команда могла быть отправлена, но её выполнение не подтверждено, экспериментальная запись приостанавливается. Возобновление завершает старый сеанс и заново проверяет допуск и состояние только чтением. Команда с неизвестным результатом не повторяется. Подсветка остаётся приостановленной, пока пользователь не выберет новую настройку, меняющую её состояние. Диагностика хранит ограниченную локальную историю.

Модель сбоев

Не применено

Ни одна команда не принята. Сохраните последнее подтверждённое состояние и сообщите о неудачной операции.

Результат неизвестен

Команда записи могла поступить на ноутбук, но подтвердить результат не удалось. Остановите запись и проверьте текущее состояние. Для экспериментального управления перед новым запросом нужно явно выбрать «Возобновить»; это действие выполняет только чтение.

Изменено извне

Сообщите об изменении, затем восстановите подтверждённую настройку или оставьте изменение согласно выбору пользователя. Никогда не повторяйте запись с неизвестным результатом.

Данные недоступны

Недоступные данные отображайте как недоступные. При потере температуры во время работы ручной кривой запрашивается максимальная поддерживаемая скорость вентиляторов; запись по-прежнему требует обычных проверок устройства и контроллеров.