Абстрактная матрица покрытия команд
June 29, 2026
Абстрактная матрица покрытия команд
Назначение: зафиксировать языковой контракт генератора команд без привязки к конкретному умному дому, device id, комнатам пользователя или статистике сгенерированных команд.
Документ отвечает на вопрос: какие абстрактные формы русских команд должны пониматься системой, какие есть синонимы действий, какие слоты подставляются и где требуется контекст.
Слоты и обозначения
| Слот |
Значение |
Примеры формы |
<object> |
Устройство, alias устройства или generic concept |
***, свет, шторы, телевизор |
<object_acc> |
Объект в винительном падеже |
***, шторы, лампу |
<object_gen> |
Объект в родительном падеже |
***, света, телевизора |
<room> |
Комната или зона |
*** |
<room_ref> |
Комната с предлогом или bare-форма |
в ***, на ***, *** |
<percent> |
Процент яркости/громкости текстом |
ноль процентов, пятьдесят процентов, сто процентов |
<number> |
Число текстом |
десять, пятьдесят, сто |
<channel> |
Номер канала текстом |
первый, второй, пятый, десятый |
<temperature> |
Температура текстом |
восемнадцать, двадцать два, двадцать четыре |
<item> |
Товар или alias товара |
*** |
<playlist> |
Плейлист или alias плейлиста |
*** |
<suffix> |
Эмоциональный/срочный хвост |
срочно, быстро, блять |
Общие варианты
| ID |
Шаблон |
Слоты |
Контекст |
Ограничения |
| common.object.room.suffix |
<command> <room_ref> |
room |
Нет |
Для шаблонов с RoomRule != none; комната фильтрует цель. |
| common.object.room.prefix |
<room_ref> <command> |
room |
Нет |
Только для шаблонов с prefix/both placement. |
| common.direct.alias.on |
<custom_on_phrase> |
Нет |
Нет |
Пользовательский alias из ON:...; исполняет конкретный on intent. |
| common.direct.alias.off |
<custom_off_phrase> |
Нет |
Нет |
Пользовательский alias из OFF:...; исполняет конкретный off intent. |
| common.frustrated |
<command> <suffix> |
suffix |
Нет |
Добавляется к многим smart-home фразам; noise-варианты не должны быть train/Vosk subset. |
| common.context.short |
<short_command> |
last_devices |
Да |
Исполняется только через сохраненный контекст, не расширяется на всю комнату. |
Включение
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| on.object |
<on_verb> <object_acc> |
включи, включить, вруби, врубай |
object |
Нет |
<object> должен поддерживать on_off; шторы используют отдельный open-блок. |
| on.object.room |
<on_verb> <object_acc> <room_ref> |
включи, включить, вруби, врубай |
object, room |
Нет |
Комната уточняет область поиска. |
| on.room.only.light |
<on_verb> <room_ref> |
включи |
room |
Нет |
Только для light-like объектов; команда без имени объекта. |
| on.short |
<on_verb> |
включи, включить, вруби, врубай |
last_devices |
Да |
Только после контекста. |
| on.state.light |
<light_on_state> [<room_ref>] |
темно, темновато, ничего не видно |
room |
Нет |
Только для light-like объектов. |
| on.state.heat |
<heat_on_state> [<room_ref>] |
холодно, холодновато, прохладно |
room |
Нет |
Для heating/thermostat-like объектов. |
| on.state.cool |
<cool_on_state> [<room_ref>] |
жарко, жарковато, душно |
room |
Нет |
Для AC/cooling-like объектов. |
Выключение
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| off.object |
<off_verb> <object_acc> |
выключи, выключить, отключи, выруби, вырубай |
object |
Нет |
<object> должен поддерживать on_off; шторы используют отдельный close-блок. |
| off.object.room |
<off_verb> <object_acc> <room_ref> |
выключи, выключить, отключи, выруби, вырубай |
object, room |
Нет |
Комната уточняет область поиска. |
| off.room.only.light |
<off_verb> <room_ref> |
выключи |
room |
Нет |
Только для light-like объектов; команда без имени объекта. |
| off.short |
<off_verb> |
выключи, выключить, отключи, выруби, вырубай |
last_devices |
Да |
Только после контекста; может конфликтовать с music_stop. |
| off.state.cool |
<cool_off_state> [<room_ref>] |
холодно, холодновато, прохладно |
room |
Нет |
Для AC/cooling-like объектов: выключить охлаждение. |
Открытие и закрытие
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| open.object |
<open_verb> <object_acc> |
открой |
object |
Нет |
Только openable-объекты, сейчас curtains/blinds-like. |
| open.generic |
<open_verb> шторы [<room_ref>] |
открой |
room |
Нет |
Generic concept для штор. |
| open.blinds.up |
подними <object_acc> [<room_ref>] |
подними |
object, room |
Нет |
Только blinds/roller-shutter-like имена. |
| close.object |
<close_verb> <object_acc> |
закрой |
object |
Нет |
Только openable-объекты, сейчас curtains/blinds-like. |
| close.generic |
<close_verb> шторы [<room_ref>] |
закрой |
room |
Нет |
Generic concept для штор. |
| close.blinds.down |
опусти <object_acc> [<room_ref>] |
опусти |
object, room |
Нет |
Только blinds/roller-shutter-like имена. |
Яркость
| ID |
Шаблон |
Синонимы |
Значение |
Контекст |
Ограничения |
| brightness.set.object |
<brightness_set> яркость <object_acc> на <percent> |
установи, сделай, включи |
0..100% |
Нет |
Объект должен поддерживать brightness. |
| brightness.set.genitive |
<brightness_set> яркость <object_gen> на <percent> |
установи, сделай, включи |
0..100% |
Нет |
Альтернативная падежная форма объекта. |
| brightness.statement |
яркость <object_acc|object_gen> <percent> |
Нет явного глагола |
0..100% |
Нет |
Объект должен поддерживать brightness. |
| brightness.object.max |
<object_acc> на максимум |
на максимум, на полную |
100% |
Нет |
Объект должен поддерживать brightness. |
| brightness.group.max |
свет на максимум |
на максимум, на полную, яркость света на максимум |
100% |
Нет |
Light-like concept. |
| brightness.group.medium |
свет на среднюю яркость |
на среднюю яркость, на половину |
50% |
Нет |
Light-like concept. |
| brightness.group.min |
свет на минимум |
на минимум, яркость света на минимум |
10% |
Нет |
Light-like concept. |
| brightness.up.object |
<brightness_up> <object_acc|object_gen> |
сделай ярче, прибавь яркость, увеличь яркость |
+10 |
Нет |
Объект должен поддерживать brightness. |
| brightness.up.generic |
сделай свет ярче [<room_ref>] |
ярче, поярче, сделай ярче |
+10 |
Нет |
Light-like concept; комната может уточнять цель. |
| brightness.down.object |
<brightness_down> <object_acc|object_gen> |
сделай тусклее, убавь яркость, уменьши яркость, приглуши |
-10 |
Нет |
Объект должен поддерживать brightness. |
| brightness.down.generic |
приглуши свет [<room_ref>] |
темнее, тусклее, потусклее, приглуши свет |
-10 |
Нет |
Light-like concept; комната может уточнять цель. |
| brightness.short.up |
<brightness_up_short> |
сделай ярче, прибавь яркость, ярче, прибавь, увеличь яркость |
+10 |
Да |
Только после контекста. |
| brightness.short.down |
<brightness_down_short> |
сделай тусклее, убавь яркость, тусклее, убавь, уменьши яркость, темнее, приглуши, приглуши свет |
-10 |
Да |
Только после контекста. |
| brightness.short.max |
<brightness_max_short> |
на максимум, на полную, максимальная яркость |
100% |
Да |
Только после контекста. |
| brightness.short.min |
<brightness_min_short> |
на минимум, минимальная яркость |
Минимум |
Да |
Только после контекста. |
Громкость
| ID |
Шаблон |
Синонимы |
Значение |
Контекст |
Ограничения |
| volume.set.object |
громкость <object_acc|object_gen> <number> |
громкость |
0..100 |
Нет |
Объект должен поддерживать volume. |
| volume.set.verb |
поставь громкость <object_acc|object_gen> на <number> |
поставь |
0..100 |
Нет |
Только если capability поддерживает random access. |
| volume.up.object |
<volume_up> <object_acc|object_gen> |
сделай громче, прибавь громкость, увеличь громкость |
Шаг вверх |
Нет |
Объект должен поддерживать volume. |
| volume.up.telegraph |
<object_acc> громче |
громче, погромче |
Шаг вверх |
Нет |
Telegraph/STT-friendly форма. |
| volume.down.object |
<volume_down> <object_acc|object_gen> |
сделай тише, убавь громкость, уменьши громкость |
Шаг вниз |
Нет |
Объект должен поддерживать volume. |
| volume.down.telegraph |
<object_acc> тише |
тише, потише |
Шаг вниз |
Нет |
Telegraph/STT-friendly форма. |
| volume.short.up |
<volume_up_short> |
сделай громче, прибавь звук, громче, увеличь громкость |
Шаг вверх |
Да |
Только после контекста или music-context. |
| volume.short.down |
<volume_down_short> |
сделай тише, убавь звук, тише, уменьши громкость |
Шаг вниз |
Да |
Только после контекста или music-context. |
| volume.short.max |
<volume_max_short> |
на максимум, максимальная громкость |
100 |
Да |
Только после контекста. |
| volume.short.min |
<volume_min_short> |
выключи звук, без звука |
0 |
Да |
Может пересекаться с mute. |
Каналы
| ID |
Шаблон |
Синонимы |
Значение |
Контекст |
Ограничения |
| channel.set.on |
включи <channel> канал на <object> |
включи |
1, 2, 5, 10 |
Нет |
Объект должен поддерживать channel. |
| channel.set.switch |
переключи <object> на <channel> канал |
переключи |
1, 2, 5, 10 |
Нет |
Объект должен поддерживать channel. |
| channel.statement |
<channel> канал на <object> |
Нет явного глагола |
1, 2, 5, 10 |
Нет |
Объект должен поддерживать channel. |
| channel.next.object |
переключи <object> на следующий канал |
следующий |
+1 |
Нет |
Объект должен поддерживать channel. |
| channel.prev.object |
переключи <object> на предыдущий канал |
предыдущий |
-1 |
Нет |
Объект должен поддерживать channel. |
| channel.short.next |
<channel_next_short> |
следующий канал, переключи канал, дальше |
+1 |
Да |
Только после контекста; дальше может пересекаться с music next. |
| channel.short.prev |
<channel_prev_short> |
предыдущий канал, назад |
-1 |
Да |
Только после контекста; назад может пересекаться с music prev. |
Температура
| ID |
Шаблон |
Синонимы |
Значение |
Контекст |
Ограничения |
| temperature.set.object |
установи температуру <object_acc|object_gen> на <temperature> градусов |
установи |
18, 20, 22, 24 |
Нет |
Объект должен поддерживать range temperature. |
| temperature.statement |
температура <object_acc|object_gen> <temperature> |
Нет явного глагола |
18, 20, 22, 24 |
Нет |
Не путать с property-запросом температуры. |
| temperature.up.object |
<temperature_up> <object_acc> |
сделай теплее, прибавь температуру |
+2 |
Нет |
Объект должен поддерживать range temperature. |
| temperature.down.object |
<temperature_down> <object_acc> |
сделай холоднее, убавь температуру |
-2 |
Нет |
Объект должен поддерживать range temperature. |
| temperature.short.up |
<temperature_up_short> |
сделай теплее, теплее, прибавь температуру |
+2 |
Да |
Только после контекста. |
| temperature.short.down |
<temperature_down_short> |
сделай холоднее, холоднее, убавь температуру |
-2 |
Да |
Только после контекста. |
Цветовая температура света
| ID |
Шаблон |
Синонимы |
Значение |
Контекст |
Ограничения |
| color_temperature.up.object |
сделай <object_acc> теплее |
теплее, более теплый свет |
+500K |
Нет |
Объект должен поддерживать color_temperature или temperature_k. |
| color_temperature.up.generic |
сделай свет теплее [<room_ref>] |
свет теплее, теплее свет |
+500K |
Нет |
Light-like concept. |
| color_temperature.down.object |
сделай <object_acc> холоднее |
холоднее, более холодный свет |
-500K |
Нет |
Объект должен поддерживать color_temperature или temperature_k. |
| color_temperature.down.generic |
сделай свет холоднее [<room_ref>] |
свет холоднее, холоднее свет |
-500K |
Нет |
Light-like concept. |
| color_temperature.short.up |
<warm_light_short> |
свет теплее, теплее свет, сделай свет теплее |
+500K |
Да |
Только после контекста. |
| color_temperature.short.down |
<cold_light_short> |
свет холоднее, холоднее свет, сделай свет холоднее |
-500K |
Да |
Только после контекста. |
Режимы, toggle и RGB
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| mode.fan.high |
<fan_high_phrase> <object> |
включи высокую скорость, максимальная скорость, на максимум |
object |
Нет |
mode.fan_speed=high. |
| mode.fan.medium |
<fan_medium_phrase> <object> |
включи среднюю скорость, средняя скорость, на средней |
object |
Нет |
mode.fan_speed=medium. |
| mode.fan.low |
<fan_low_phrase> <object> |
включи низкую скорость, минимальная скорость, на минимум |
object |
Нет |
mode.fan_speed=low. |
| toggle.mute.object |
<mute_phrase> <object> |
выключи звук, включи звук, без звука, отключи звук |
object |
Нет |
toggle.mute. |
| toggle.mute.short |
<mute_short> |
переключи звук, звук, выключи звук, включи звук |
last_devices |
Да |
Только после контекста. |
| toggle.default.short |
<toggle_short> |
переключи, переключить |
last_devices |
Да |
Для toggle без специализированного шаблона. |
| color.rgb.named |
сделай <object> <color> |
красным, синим, зеленым |
object, color |
Нет |
color_setting.rgb. |
| color.rgb.white |
поставь белый цвет <object> |
белый цвет |
object |
Нет |
color_setting.rgb. |
| color.rgb.change |
измени цвет <object> |
измени цвет |
object |
Нет |
color_setting.rgb; без явного значения цвета. |
Показания датчиков
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| property.temperature |
<temperature_query> [<room_ref>] [у <object>] |
какая температура, сколько градусов, температура, что с температурой, покажи температуру |
room, object |
Нет |
Property query, не range set. |
| property.humidity |
<humidity_query> [<room_ref>] [у <object>] |
какая влажность, влажность, что с влажностью, покажи влажность, сколько процентов влажности |
room, object |
Нет |
Float property humidity. |
| property.co2 |
<co2_query> [<room_ref>] [у <object>] |
какой уровень co2, уровень углекислого газа, что с co2, покажи уровень co2, co2, со2 |
room, object |
Нет |
Однословные co2/со2 только с комнатным вариантом. |
| property.pressure |
<pressure_query> [<room_ref>] [у <object>] |
какое давление, давление, что с давлением, покажи давление |
room, object |
Нет |
Float property pressure. |
| property.pm25 |
<pm25_query> [<room_ref>] [у <object>] |
какой уровень PM2.5, PM2.5, загрязнение воздуха, что с PM2.5 |
room, object |
Нет |
Float property PM2.5. |
| property.battery |
<battery_query> [<room_ref>] [у <object>] |
какой заряд батареи, уровень заряда, батарея, заряд |
room, object |
Нет |
Battery property. |
| property.illumination |
<illumination_query> [<room_ref>] [у <object>] |
какая освещенность, освещенность, уровень света |
room, object |
Нет |
Illumination property. |
| property.water |
<water_query> [<room_ref>] [у <object>] |
какой уровень воды, уровень воды, что с водой |
room, object |
Нет |
Water level property. |
Покупки
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| shopping.add.catalog |
<shopping_add_verb> <item> <shopping_context> |
добавь, добавьте, занеси, внеси, запиши, положи |
item |
Нет |
Только при активной shopping-list интеграции и наличии товара/alias. |
| shopping.add.catalog.polite |
<shopping_add_verb> <item> <shopping_context> пожалуйста |
Те же |
item |
Нет |
Вежливый вариант catalog-команды. |
| shopping.add.custom |
<shopping_custom_phrase> |
добавь что-нибудь, добавь товар, занеси продукт, запиши новый продукт |
Нет |
Нет |
Для свободной позиции без конкретного catalog item. |
| shopping.detect.input |
<shopping_add_keyword> ... <shopping_context_keyword> |
добавить, запишите, добавляй, список покуп, покупки |
item |
Нет |
Pre-router detection, шире генераторных фраз. |
<shopping_context>: в список покупок, в покупки, к покупкам, для покупок.
Музыка
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
| music.play |
<music_play_phrase> |
включи музыку, вруби музыку, поставь музыку, включай музыку |
Нет |
Нет |
Исполняется music executor, не Yandex Smart Home API. |
| music.pause |
<music_pause_phrase> |
пауза, поставь на паузу, поставь музыку на паузу, поставь на паузу музыку |
Нет |
Нет |
Music domain. |
| music.resume |
<music_resume_phrase> |
продолжай, сними с паузы, продолжи, продолжи музыку, включи музыку обратно |
Нет |
Нет |
Music domain. |
| music.next |
<music_next_phrase> |
дальше, следующий, следующую, следующий трек, следующая песня |
Нет |
Music context желателен |
Конфликтует с channel next. |
| music.prev |
<music_prev_phrase> |
назад, предыдущий, предыдущую, прошлый, прошлую, предыдущий трек, прошлый трек |
Нет |
Music context желателен |
Конфликтует с channel prev. |
| music.volume.up |
<music_volume_up_phrase> |
громче, сделай громче, прибавь звук, увеличь громкость |
Нет |
Music context желателен |
Конфликтует с smart-home volume. |
| music.volume.down |
<music_volume_down_phrase> |
тише, сделай тише, убавь звук, уменьши громкость |
Нет |
Music context желателен |
Конфликтует с smart-home volume. |
| music.stop |
<music_stop_phrase> |
выключи музыку, останови музыку, выруби музыку, стоп, останови, хватит, грубые stop-формы |
Нет |
Music context желателен |
Короткое выключи конфликтует с smart-home off. |
| music.playlist |
<playlist_play_verb> [плейлист] <playlist> |
включи, поставь |
playlist |
Нет |
Плейлист берется из catalog title/alias. |
| music.playlist.direct |
<custom_playlist_on_phrase> |
Пользовательские ON: aliases |
Нет |
Нет |
Direct phrase для конкретного playlist id. |
Диалоговый режим
| ID |
Шаблон |
Синонимы |
Слоты |
Контекст |
Ограничения |
|
| dialog.on |
<dialog_on_phrase> |
поболтаем, давай поговорим, давай поболтаем |
Нет |
Нет |
Переключает voice session в dialog mode. |
|
| command-coverage-matrix.md |
dialog.off |
<dialog_off_phrase> |
давай закончим, закончим, закончим разговор, хватит, хватит болтать, стоп диалог, заткнись, заткнись нахуй, заткнись блять, выключи диалог |
Нет |
Dialog mode желателен |
В активном диалоге должен иметь приоритет над другими доменами. |
Чек-лист покрытия
| Семейство |
Абсолютное значение |
Относительное значение |
Комната |
Short/context |
Статус |
on/off |
Не нужно |
Не нужно |
Да |
Да |
Покрыто |
open/close |
Не нужно |
Не нужно |
Да |
Нет |
Покрыто для openable curtains/blinds-like |
brightness |
Да |
Да |
Да |
Да |
Покрыто |
volume |
Да |
Да |
Да |
Да |
Покрыто |
channel |
Да |
Да |
Да |
Да |
Покрыто |
temperature |
Да |
Да |
Да |
Да |
Покрыто |
color_temperature |
Нет |
Да |
Да |
Да |
Покрыто для relative warm/cold |
mode.fan_speed |
Да через mode value |
Нет |
Да |
Нет |
Частично, только high/medium/low |
toggle.mute |
Toggle |
Не нужно |
Да |
Да |
Покрыто |
color.rgb |
Частично |
Нет |
Да |
Нет |
Покрыто базовыми цветами |
properties |
Query |
Не нужно |
Да |
Нет |
Покрыто для перечисленных float properties |
shopping |
Не применимо |
Не применимо |
Нет |
Нет |
Покрыто при активной интеграции |
music |
Не применимо |
Да для next/prev/volume |
Нет |
Через music context |
Покрыто словарем music-фраз |
dialog |
Не применимо |
Не применимо |
Нет |
Через активный dialog mode |
Покрыто |
Неоднозначности
| Фраза/класс |
Возможные домены |
Правило ожидания |
выключи |
smart-home off, music stop |
Без smart-home context нельзя расширять на все устройства; при music context может быть stop. |
громче / тише |
smart-home volume, music volume |
Music context должен приоритизировать music; smart-home context - last_devices. |
дальше / назад |
music next/prev, channel next/prev |
Music context против device/channel context. |
теплее / холоднее |
temperature range, color temperature |
Контекст объекта определяет: климат или свет. |
температура |
property query, temperature range |
Без числового значения это query; с <temperature> и объектом - set/range. |
на максимум |
brightness, volume, fan_speed |
Требует контекста объекта/capability. |