How to Install Google Assistant on Windows 10

How to Install Google Assistant on Windows 10: Google Assistant is a virtual personal assistant rolled out by Google to Android devices to enter the AI assistants’ market. Today, many AI assistants are claiming to be the best, like Siri, Amazon Alexa, Cortana, etc. However, by far, Google Assistant is one of the best available on the market. The only problem with Google Assistant is that it’s not available on PC, as it is only available on mobile and smart home devices.

How to Install Google Assistant on Windows 10

To get Google Assistant on PC, you need to follow command-line instructions, which is the only way to get it on PC. Anyway, without wasting any time, let’s see How to Get Google Assistant on Windows 10 with the below-listed guide’s help.

How to Install Google Assistant on Windows 10

Make sure to create a restore point just in case something goes wrong.

Prerequisites:

1. First, you need to download Python on your PC.

2. Download Python 3.6.4 from the link, then double-click on python-3.6.4.exe to run the setup.

3. Checkmark “Add Python 3.6 to PATH,” then click on Customize installation.

Checkmark 'Add Python 3.6 to PATH' then click on Customize installation

4. Make sure everything is checked in the window, then click Next.

Make sure everything is checked in the window then click Next

5. On the next screen, just make sure to checkmarkAdd Python to environment variables.”

Checkmark Add Python to environment variables and click Install

6. Click Install, then wait for Python to get installed on your PC.

Click Install then wait for Python to get installed on your PC

7. Once the installation is complete, restart your PC.

8. Now, press Windows Key + X, then select Command Prompt (Admin).

Right-click on Windows Button and select Command Prompt (Admin)

9. Type the following command into cmd and hit Enter:

python

Type python in command prompt and it should return the python version installed on your PC

10. If the above command will return the current Python version on your computer, then you have successfully installed Python NumPy on your PC.

Step 1: Configure the Google Assistant API

With this step, you can use Google Assistant on Windows, Mac, or Linux. Just install the python on each of these OS to properly configure Google Assistant API.

1. First, go to the Google Cloud Platform Console website and click on CREATE PROJECT. 

Note: You might need to sign in with your Google account.

On Google Cloud Platform Console website click CREATE PROJECT

2. Name your project appropriately, then click on Create.

Note: Make sure to note down the project ID, in our case, its windows10-201802. 

Name your project appropriately then click on Create

3. Wait till your new project is created (you will notice a spinning circle on the bell icon at the top right corner).

Wait till your new project is created

4. Once the process is done click on the bell icon and select your project.

Click on the bell icon and select your project

5. On the project page, from the left-hand menu, click on APIs & Services, then select Library.

Click on APIs & Services then select Library

6. On the library page, search for “Google Assistant” (without quotes) in the search console.

On library page search for Google Assistant in the search console

7. Click on Google Assistant API search result and then click on Enable.

Click on Google Assistant from search result then click on Enable

8. Now, from the left-hand menu, click on Credentials, then click “Create credentials” and then select Help me choose.

From the left-hand menu click on Credentials then click Create credentials

9. Choose the following information on the “Add credentials to your project” screen:

Question: Which API are you using? 
Answer: Google Assistant API

Question: Where will you be calling the API form?
Answer: Other UI (e.g. Windows, CLI tool)

Question: What data will you be accessing?
Answer: User data

10. After answering all of the above questions, click on “What credentials do I need?“.

Click on What credentials do I need

11. Select Set up consent screen and choose the Application type to Internal. Type the project name in the Application name and click Save.

12. Again, go back to the “Add credentials to your project” screen, then click on Create Credentials and select Help me choose. Follow the same instructions as you did on step 9 and proceed forward.

13. Next, type the name of the Client ID (name it anything you like) to create OAuth 2.0 client ID and click on the Create Client ID button.

Next type the name of the Client ID and click Create Client ID

14. Click Done, then open a new tab and go to Activity controls from this link.

Make sure all the toggles are turned ON in Activity Controls page

15. Make sure all the toggles are turned ON and then go back to the Credentials tab.

16. Click the download icon in the far right of the screen to download the credentials.

Click the download icon in the far right of the screen to download the credentials

Note: Save the credentials file somewhere easily accessible.

Step 2: Install Google Assistant Sample Python Project

1. Press Windows Key + X then select Command Prompt (Admin).

Right-click on Windows Button and select Command Prompt (Admin)

2. Type the following command into cmd and hit Enter after each one:

py -m pip install google-assistant-sdk[samples]

Use install pip command into Command Prompt

3. Once the above command finishes executing, type the below command and hit Enter.

pip install --upgrade google-auth-oauthlib[tool]

4. Navigate to the JSON file location that you downloaded earlier and right-click on it and select Properties. In the name field, copy the file name and paste it inside notepad.

5. Now enter the below command but make sure to replace the “path/to/client_secret_XXXXX.json” with the actual path of your JSON file which you copied above:

google-oauthlib-tool --client-secrets path/to/client_secret_XXXXX.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

Authorize the URL by visiting & then enter the authorization code

6. Once the above command finishes processing, you get a URL as the output. Make sure to copy this URL as you will require it in the next step. 

Note: Don’t close the Command Prompt just yet.

Authorize the URL by visiting & then enter the authorization code

7. Open your Web browser and navigate to this URL, then select the same Google account that you used to configure the Google Assistant API.

Select the same Google account that you used to configure the Google Assistant API

8. Make sure to click on Allow to grant the necessary permission to run Google Assitant.

9. On the next page, you will see some code that will be your client’s Access Token.

On the next page you will see Client’s Access Token

10. Now switch back to the Command prompt and copy this code & paste it into cmd. If everything goes alright you see an output that says that your credentials have been saved.

If everything goes alright you see an output which says that your credentials have been saved

Step 3: Testing Google Assistant on Windows 10 PC

1. Press Windows Key + X then select Command Prompt (Admin).

Right-click on Windows Button and select Command Prompt (Admin)

2. Now we need to test if Google Assistant can properly access your microphone. Type the below command into cmd and hit Enter, which will start a 5-second audio recording:

py -m googlesamples.assistant.grpc.audio_helpers

3. If you can successfully hear the 5-second audio recording back, you can move to the next step.

Note: You can also use the below command as an alternative:

googlesamples-assistant-audiotest --record-time 10

Record 10 seconds of audio samples and play them back

4. You need to Register your Device before you can start using Google Assistant on Windows 10 PC.

5. Next, type the below command and press Enter:

cd C:\GoogleAssistant

6. Now type the following command but replace the “project-id” with the actual project id that you have created in the first step. In our case it was windows10-201802.

googlesamples-assistant-devicetool --project-id register-model --manufacturer "Assistant SDK developer" --product-name "Assistant SDK light" --type LIGHT --model "GA4W"

successfully register the device model

7. Next, to enable Google Assistant Push to Talk (PTT) capabilities, enter the below command below but make sure to replace “project-id” with the actual project id:

py -m googlesamples.assistant.grpc.pushtotalk --device-model-id “GA4W” --project-id

Note: The Google Assistant API supports every command that Google Assistant supports on Android and Google Home.

You have successfully installed & configured Google Assistant on your Windows 10 PC. Once you enter the above command, simply press Enter and you can ask any questions directly to Google Assistant without having to say “OK, Google” command.

Recommended:

We hope this guide was helpful and you were able to install Google Assistant on Windows 10 PC without any issues. But if you still have any questions regarding this guide, then feel free to ask them in the comment section.

36 thoughts on “How to Install Google Assistant on Windows 10”

  1. Avatar photo
    Bhanu Prakash

    In step 10 : Testing the google assistant
    on hitting enter after the first cmd :”pip install –upgrade google-assistant-sdk[samples] ”
    I am getting “no such option : -u”
    in next step iam getting “no such option: -r”;
    what to do?

  2. Hi there ! There is a bug when i type this : “googlesamples-assistant-devicetool register-model –manufacturer “Assistant SDK developer” –product-name “Assistant SDK light” –type LIGHT –model Name_Anything” it said Error: Missing option “–project-id”. can somebody help me please ?

  3. Hello there! I had the same problem but I solved it:
    googlesamples-assistant-devicetool –project-id ###### register-model –manufacturer ”
    Assistant SDK developer” –product-name “Assistant SDK light” –type LIGHT –model ModelName
    With ###### the first numbers (the numbers before the first ‘-‘) from your Client ID from the Google Platform from earlier

  4. I tried Yero’s suggestion

    PS C:\Users\$$$\Downloads> googlesamples-assistant-devicetool register-model manufacturer “Assistant SDK developer” –product-name “Assistant SDK light” –type LIGHT –model asst –project-id ######
    Usage: googlesamples-assistant-devicetool [OPTIONS] COMMAND [ARGS]…

    Error: Missing option “–project-id”.

    AND

    PS C:\Users\$$$\Downloads> googlesamples-assistant-devicetool register-model –manufacturer “Assistant SDK developer” –
    product-name “Assistant SDK light” –type LIGHT –model asst -project-id ######
    Usage: googlesamples-assistant-devicetool [OPTIONS] COMMAND [ARGS]…

    Error: Missing option “–project-id”.

    Using my project number from earlier

    Any ideas?

  5. I was able to get the command to work using the following syntax

    googlesamples-assistant-devicetool –project-id ##### register-model –model ‘asst’ –manufacturer “Assistant SDK developer” –product-name “Assistant SDK light” –type LIGHT

  6. googlesamples-assistant-pushtotalk –project-id ###### –device-model-id asst

    Fails with

    INFO:root:Connecting to embeddedassistant.googleapis.com
    WARNING:root:Device config not found: [Errno 2] No such file or directory: ‘C:\\Users\\$$$$\\AppData\\Roaming\\googlesamples-assistant\\device_config.json’
    INFO:root:Registering device
    ERROR:root:Failed to register device: {
    “error”: {
    “code”: 400,
    “message”: “Could not create the device instance. Project_id from side channel and project_id from url do not match.”,
    “status”: “INVALID_ARGUMENT”
    }
    }

  7. When running the google-oauthlib-tool –client-secrets pathtoclient_secret_XXXX.json –scope –save –headless command, it returns Error: Missing option “–scope”
    I’m unsure of what to do, because I definitely have the –scope command in my argument. Any suggestions?

  8. C:\WINDOWS\system32>python -m install –upgrade pip
    C:\Program Files\Python36\python.exe: No module named install
    when I type this command:
    py -m pip install google-assistant-sdk[samples]
    please help!!!!!!!!!!!!!!!

  9. Hi
    great guide. I almost made it to the end then for googlesamples-assistant-pushtotalk –project-id #Value# –device-model-id Name_Anything and googlesamples-assistant-pushtotalk I get this error – any idea what’s wrong? Thanks

    ERROR:grpc._channel:Exception iterating requests!
    Traceback (most recent call last):
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\googlesamples\assistant\grpc\audio_helpers.py", line 338, in __iter__
    raise StopIteration
    StopIteration

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\grpc\_channel.py", line 180, in consume_request_iterator
    request = next(request_iterator)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\googlesamples\assistant\grpc\pushtotalk.py", line 131, in iter_log_assist_requests
    for c in self.gen_assist_requests():
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\googlesamples\assistant\grpc\pushtotalk.py", line 217, in gen_assist_requests
    for data in self.conversation_stream:
    RuntimeError: generator raised StopIteration
    INFO:root:Transcript of user request: "what time is it".
    Traceback (most recent call last):
    File "c:\users\user\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
    File "c:\users\user\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
    File "C:\Users\user\AppData\Local\Programs\Python\Python37\Scripts\googlesamples-assistant-pushtotalk.exe\__main__.py", line 9, in
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\click\core.py", line 722, in __call__
    return self.main(*args, **kwargs)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\click\core.py", line 697, in main
    rv = self.invoke(ctx)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\click\core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\googlesamples\assistant\grpc\pushtotalk.py", line 458, in main
    continue_conversation = assistant.assist()
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\tenacity\__init__.py", line 241, in wrapped_f
    return self.call(f, *args, **kw)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\tenacity\__init__.py", line 330, in call
    start_time=start_time)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\tenacity\__init__.py", line 279, in iter
    return fut.result()
    File "c:\users\user\appdata\local\programs\python\python37\lib\concurrent\futures\_base.py", line 425, in result
    return self.__get_result()
    File "c:\users\user\appdata\local\programs\python\python37\lib\concurrent\futures\_base.py", line 384, in __get_result
    raise self._exception
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\tenacity\__init__.py", line 333, in call
    result = fn(*args, **kwargs)
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\googlesamples\assistant\grpc\pushtotalk.py", line 139, in assist
    self.deadline):
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\grpc\_channel.py", line 345, in __next__
    return self._next()
    File "c:\users\user\appdata\local\programs\python\python37\lib\site-packages\grpc\_channel.py", line 328, in _next
    raise self
    grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
    status = StatusCode.UNKNOWN
    details = "Exception iterating requests!"
    debug_error_string = "None"

  10. Hi,
    When I am busy with the “How to Install Google Assistant on Windows 10: Install the Google Assistant Sample Python Project” part of the installation, specifically entering “google-oauthlib-tool –client-secrets path/to/client_secret_XXXXX.json –scope –save –headless” part, I get the following error message at the end of the script – “PermissionError: [Errno 13] Permission denied: ‘C:\Users\XXXX\Python'”
    Any Ideas?

  11. i Am stuck on step 14.
    C:WINDOWSsystem32>google-oauthlib-tool –client-secrets C:UsersjohnkDownloads –scope –save –headless
    Traceback (most recent call last):
    File “c:usersjohnkappdatalocalprogramspythonpython37-32librunpy.py”, line 193, in _run_module_as_main
    “__main__”, mod_spec)
    File “c:usersjohnkappdatalocalprogramspythonpython37-32librunpy.py”, line 85, in _run_code
    exec(code, run_globals)
    File “C:UsersjohnkAppDataLocalProgramsPythonPython37-32Scriptsgoogle-oauthlib-tool.exe__main__.py”, line 9, in
    File “c:usersjohnkappdatalocalprogramspythonpython37-32libsite-packagesclickcore.py”, line 722, in __call__
    return self.main(*args, **kwargs)
    File “c:usersjohnkappdatalocalprogramspythonpython37-32libsite-packagesclickcore.py”, line 697, in main
    rv = self.invoke(ctx)
    File “c:usersjohnkappdatalocalprogramspythonpython37-32libsite-packagesclickcore.py”, line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “c:usersjohnkappdatalocalprogramspythonpython37-32libsite-packagesclickcore.py”, line 535, in invoke
    return callback(*args, **kwargs)
    File “c:usersjohnkappdatalocalprogramspythonpython37-32libsite-packagesgoogle_auth_oauthlibtool__main__.py”, line 100, in main
    scopes=scope
    File “c:usersjohnkappdatalocalprogramspythonpython37-32libsite-packagesgoogle_auth_oauthlibflow.py”, line 171, in from_client_secrets_file
    with open(client_secrets_file, ‘r’) as json_file:
    PermissionError: [Errno 13] Permission denied: ‘C:\Users\johnk\Downloads’
    This is what I keep comong up with.
    Please help.. Thanks

  12. Why is this so hard? Google works fine on Windows. Chrome works without any extra steps. Why are we stuck with Cortana who sounds nice, but doesn’t do very much?

  13. I tried yeros suggestion as well C:\Users\Crisco\Downloads>googlesamples-assistant-devicetool –project-id “2148
    23” register-model –manufacturer “Assistant SDK developer” –product-name “Assi
    stant SDK light” –type LIGHT –model aelita
    Error: no such option: —

    and thats what i got

    1. update: i got passed that part but now i have another problem C:\Users\Criso\Downloads>googlesamples-assistant-devicetool –project-id ‘lola
      polooza-214823’ register-model –product-name ‘Android-SDK-light’ –type LIGHT –model
      ‘Aelita’ –manufacturer ‘Android-sdk-developer’
      Creating new device model
      Error: Failed to register model: 400
      Could not create the device model. Check that the request contains the required
      field device_model_id with a valid format in the request payload. See https://de
      velopers.google.com/assistant/sdk/reference/device-registration/model-and-instan
      ce-schemas for more information.

  14. Hi, I have completed installations. google assistant hear me and understand, but does not answer. Voice turn unfortunately does not exist. Could you help?

    INFO:root:Recording audio request.
    INFO:root:Transcript of user request: “what”.
    INFO:root:Transcript of user request: “what time”.
    INFO:root:Transcript of user request: “what time is”.
    INFO:root:Transcript of user request: “what time is”.
    INFO:root:Transcript of user request: “what time is it”.
    INFO:root:Transcript of user request: “what time is it”.
    INFO:root:End of audio request detected.
    INFO:root:Stopping recording.
    ERROR:grpc._channel:Exception iterating requests!
    Traceback (most recent call last):
    File “c:\users\XXXX\appdata\local\programs\python\python37\lib\site-packages\googlesamples\assistant\grpc\audio_helpers.py”, line 338, in __iter__
    raise StopIteration
    StopIteration

    grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
    status = StatusCode.UNKNOWN
    details = "Exception iterating requests!"
    debug_error_string = "None"

  15. Mustafa, I am getting the same, it’s understanding what I am saying, then I get a load of errors similar to yours.

  16. I had the same problem “Exception iterating requests” as Mustafa. But it finally worked for me ==> I uninstalled python 3.7 and tried to install python 3.6.5 as shown in the instructions. I ended up installing python 3.6.6 32 bits because I could not find 3.6.5. Since I already had my credential files and already registered my unique model id. I just made sure python 3.6 32 bit code was used (by windows command where). It then worked with some dependency warning messages. But it worked with the command:
    googlesamples-assistant-pushtotalk –project-id “windows10-xxxxxx” –device-model-id “yyyyyy”

  17. Thanks Catherine C!
    Installing Python 3.6.7 instead of 3.7.1 made all things work smoothly.
    (Just unistalled 3.7, installed 3.6 and did [i]py -m pip install google-assistant-sdk[samples][/i])

    (Note)
    I had to go in the python script library to execute [i]googlesamples-assistant-pushtotalk.exe[/i].
    Sounds strange, because I added the sript directory at the system path. (in fact even autocomplile for googlesample-stuff doesn’t work)

  18. I have tried with double — and I ended to
    Error: Missing option “–product-name”.
    PS D:\> googlesamples-assistant-devicetool –project-id “sina the beast” register-model –model ‘asst’ –manufacturer “Assistant SDK developer” –product-name “Assistant SDK light” –type LIGHT
    Creating new device model
    this is not working!

  19. Ok it’s taken me some time as this is my first time using python.. ever LOL. Anyway. I’ve gotten all the wait through device coregistration. When I went to test it with the googlesamples-assistant-pushtotalk command and got the following error asking for a device_config.json file

    INFO:root:Connecting to embeddedassistant.googleapis.com
    WARNING:root:Device config not found: [Errno 2] No such file or directory: ‘C:\\Users\\cash america\\AppData\\Roaming\\googlesamples-assistant\\device_config.json’
    INFO:root:Registering device
    ERROR:root:Option –device-model-id required when registering a device instance.

    Can someone please give me some direction here. Thanks

  20. Got it all working, but its a bit rubbish

    I think I’ll wait for Google to integrate with chrome – not sure about how i feel about my mic being on all the time and it not being an official Google release – wireshark looked quite worrying

  21. On How to Install Google Assistant on Windows 10: Testing Google Assistant on PC step 3 when trying to test the recording I get sounddevice.PortAudioError: Error opening RawStream: Device unavailable [PaErrorCode -9985]. I have a microphone plugged in. What do I need to do to get it recognized?

  22. In the end, after a lot of modification, it finally worked for me. The greatest difficulty I had was with the sounddevice dependency which refused to work with my headset microphone.

  23. Avatar photo
    Rodney Pillsbury

    This command worked:

    googlesamples-assistant-devicetool –project-id [PROJECT ID FROM GOOGLE CLOUD PLATFORM] register-model –manufacturer “Assistant SDK developer” –product-name “Assistant SDK light” –type LIGHT –model “[PROJECT NAME FROM GOOGLE CLOUD PLATFORM]”
    ______________________________________________________________________________________________________
    Substitute [PROJECT ID FROM GOOGLE CLOUD PLATFORM] with the name issued from the Google platform. Do not include the bracket symbols – “[” or “]” – just use the name only.

    Substitute [PROJECT NAME FROM GOOGLE CLOUD PLATFORM] with the name issued from the Google platform. Do not include the bracket symbols – “[” or “]” – just use the name only.

  24. getting this on the last step

    INFO:root:Registering device
    ERROR:root:Failed to register device: {
    “error”: {
    “code”: 403,
    “message”: “The caller does not have permission”,
    “status”: “PERMISSION_DENIED”
    }
    }

  25. you cannot set the application type to internal, as directed in step 11, without a Gsuite account. will the External option work as well?

  26. Getting this error:

    INFO:root:Connecting to embeddedassistant.googleapis.com
    WARNING:root:Device config not found: [Errno 2] No such file or directory: ‘C:\\Users\\myuser\\AppData\\Roaming\\googlesamples-assistant\\device_config.json’
    INFO:root:Registering device
    ERROR:root:Failed to register device: {
    “error”: {
    “code”: 400,
    “message”: “Request contains an invalid argument.”,
    “status”: “INVALID_ARGUMENT”

Leave a Comment

Your email address will not be published. Required fields are marked *