Skip to content

Aculeasis/mdmt2-google-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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 ограничены.

Ссылки