Google Assistant Unofficial Desktop Client
Google Assistant Unofficial Desktop Client is a cross-platform desktop client for Google Assistant based on Google Assistant SDK.
The "Google Assistant Unofficial Desktop Client" is under development. So, if you find any bugs or have any suggestion, feel free to post an issue or a pull request.
The design is inspired by Google Assistant in Chrome OS and comes in both Light Mode (beta) and Dark Mode
In order to use the client, you must have a "Key File" and "Token" for authentication which you can get by going through Device Registration process. You can go through the wiki given below to get started.
"Setup Authentication for Google Assistant Unofficial Desktop Client" Wiki (For both Device Registration & Authentication help):
If you want a user friendly registration method, use Device Registration UI:
If you want to use a CLI tool to complete the Device Registration and Authentication process manually, read the following:
After you have registered your device and downloaded the required authentication files, you can head on to Settings and set the "Key File Path" and "Saved Tokens Path" to the location where the respective files are located.
Want to Contribute?
You are more than welcome to contribute to all kinds of contributions:
🤔Request/Suggest a feature 🐛Report a bug 📖Make this documentation better 💻Contribute with the code
Before you start, we highly recommend you check the Google Assistant Unofficial Desktop Client's contributing guidelines.
How to Build?
# Get dependencies from npm npm install # Run the Assistant npm start # Build the Assistant npm run dist
# Get dependencies from npm registry yarn install # Run the Assistant yarn start # Build the Assistant yarn dist
If you don't want to build the project for yourself, you can download the Assistant Setup/Installer for the respective platform from here (releases)
If you are a linux user,
Snap build is recommended over
AppImage. You can download the snap from snapstore.
Default Keyboard Shortcut
- Windows: Win + Shift + A
- MacOS: Cmd + Shift + A
- Linux: Super + Shift + A
Note: Keyboard shortcut is configurable in the settings
buildfor Mac and Linux in package.json
- Create Config File
- Remove 'auth' from the
- Respond to "Ok Google" or "Hey Google"
- Activate Mic for
continuousConverstiononly when audio output is done
- Use different dependency for audio recording
- Improve Carousel UI Rendering in the
- Improve Error Handling
- Improve Assistant Audio Output
- Turn off
- "Enable Audio Output" in Settings
- Divide Settings into sections
- Don't accept empty queries
- Info for each Setting
- Animation while talking
- Ping when activating mic
- Welcome screen for first-time users
- Display images from Google Images
- Option to disable auto-scaling
- Cleanup CSS
soxas a dependency
Other Libraries Used
- For visualization purpose when the user speaks through mic.
- Link: https://p5js.org/
- For playing audio through speakers.
- Link: https://github.com/ItsWendell/google-assistant-desktop-client/blob/develop/src/renderer/providers/assistant/player.js
- For recording audio using Web API.
- Link: https://github.com/ItsWendell/google-assistant-desktop-client/blob/develop/src/renderer/providers/assistant/microphone.js
- Node.js implementation of the Google Assistant SDK
- Link: https://github.com/endoplasmic/google-assistant
- A minimalist hotword / wake word for the web, based on Porcupine
- Link: https://github.com/jaxcore/bumblebee-hotword