Skip to content

Latest commit

 

History

History
59 lines (51 loc) · 4.52 KB

README.md

File metadata and controls

59 lines (51 loc) · 4.52 KB

Google Assistant Service plugin for mdmTerminal2

После активации перехватывает все запросы, отправляет их 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

Только для armv6l (Raspberry Pi Zero W)

Перед установкой нужно собрать пакет grpcio из исходников, установка бинарного пакета приведет к ошибке Illegal Instruction issue#235:

mdmTerminal2/env/bin/python -m pip install --upgrade --no-binary :all: grpcio

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 a google скажи время перехватит плагин. По умолчанию "". Можно использовать список фраз, например trigger: ["google", "гугл", "печенька"].

Особенности

  • С audio_priority: false проговаривает supplemental_display_text предназначенный для вывода на экран.
  • Возможности Google Assistant Service ограничены.

Ссылки