Awesome
MacAssistant
NOTE: There is a very limited number of API requests Google is willing to grant me. Please use your own OAuth credentials by following the instructions below.
A project that integrates the Google Assistant into macOS, using the Google Assistant SDK.
"Google Assistant is now on over 500 million devices” - Scott Huffman @ Google I/O 2018
MacAssistant can bring that number up to 600 million
Download
Downloads are listed under the Releases
tab.
Click here to directly download the latest version.
MacAssistant is currently in Beta.
Example Queries
- What's the weather today?
- My agenda for tomorrow
- When was Benedict Cumberbatch born?
- Does the President of the United States have any children?
Build Instructions
MacAssistant is built using Swift 4.2 and Xcode 10
Get OAuth Credentials
You will need OAuth credentials from the Google Developer Console.
- Create a new project in the Google Developer Console
- Enable the Google Assistant API for that project
- Generate an OAuth credential
- Select the application type of
Other UI
- State that you will be using
User Data
- Download the JSON file
- Rename the file to
google_oauth.json
- Place it in your project at
./MacAssistant/Config/google_oauth.json
- Select the application type of
Building MacAssistant
- Clone the project using
git clone https://github.com/vanshg/MacAssistant.git
- Open the
MacAssistant.xcworkspace
file (notxcproject
) in Xcode - Make sure you've obtained the OAuth Credentials as defined above
- Hit the Play button on the top left
Updating the Assistant SDK Version
- If you would like to contribute and the Assistant SDK version needs to be updated, clone the repository with the
--recursive
option - Update
VERSION
found at the top of thegen_swift_proto.sh
as necessary - Run
./gen_swfit_proto.sh
- This will build the
grpc-swift
module, and then generate the appropriate Swift files from the.proto
definitions found in thegoogleapis
submodule
- This will build the
Contributing
Please feel free to contribute to this project. I welcome all contributions and pull requests. There is a list of pending things that need to be worked on in the TODO file. Please follow the Code of Conduct.
License
This project is licensed under the MIT License - see the LICENSE file for details