После активации перехватывает все запросы, отправляет их Google Assistant Service и проговаривает ответы.
- Активация:
включить Google
. - Деактивация:
выключить Google
.
Если у вас уже есть google_assistant_credentials.json
(от старого\другого терминала), то просто поместите его в папку mdmTerminal2/src/data/
. Потом установите зависимости и клонируйте реп:
mdmTerminal2/env/bin/python -m pip install --upgrade google-auth-oauthlib[tool] google-assistant-grpc
cd mdmTerminal2/src/plugins
git clone https://github.com/Aculeasis/mdmt2-google-assistant
Перед установкой нужно собрать пакет grpcio
из исходников, установка бинарного пакета приведет к ошибке Illegal Instruction issue#235:
mdmTerminal2/env/bin/python -m pip install --upgrade --no-binary :all: grpcio
- Configure the Actions Console project and the Google account
- Register a new device model and download the client secrets file
- Для поддержки русского языка: В консоли
Project settings
->LANGUAGES
выбрать русский язык.
mdmTerminal2/env/bin/python -m pip install --upgrade google-auth-oauthlib[tool] google-assistant-grpc
mdmTerminal2/env/bin/google-oauthlib-tool --client-secrets path/to/client_secret_<client-id>.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
cp ~/.config/google-oauthlib-tool/credentials.json mdmTerminal2/src/data/google_assistant_credentials.json
cd mdmTerminal2/src/plugins
git clone https://github.com/Aculeasis/mdmt2-google-assistant
Добавить в файл mdmTerminal2/src/data/google_assistant_credentials.json
следующие новые ключи:
- model_id:
Model ID
из Device registration. - project_id:
Project ID
из Project Settings.
В результате файл google_assistant_credentials.json
должен содержать валидный JSON со следующими ключами:
{"refresh_token": "...", "token_uri": "...", "client_id": "...", "client_secret": "...", "scopes": ["..."], "project_id": "...", "model_id": "..."}
И перезапустить терминал.
Хранятся в mdmTerminal2/src/data/google_assistant_config.json
, файл будет создан при первом запуске:
- audio_priority: Проигрывать аудио полученное от GAS вместо текста. По умолчанию
true
. - models: Модель, список моделей или
null
. Если неnull
, плагин будет перехватывать сообщения только при активации заданными моделями игнорируяtrigger
. По умолчаниюnull
. - start_on: Плагин запустится активированным. По умолчанию
false
. - trigger: Если не пустая строка, плагин будет перехватывать только то что начинается с нее. Например если
trigger: "google"
, то фразускажи время
обработает MajorDoMo agoogle скажи время
перехватит плагин. По умолчанию""
. Можно использовать список фраз, напримерtrigger: ["google", "гугл", "печенька"]
.
- С
audio_priority: false
проговариваетsupplemental_display_text
предназначенный для вывода на экран. - Возможности Google Assistant Service ограничены.