Git Product home page Git Product logo

macassistant's Introduction

MacAssistant

Github All Releases Swift GitHub license Twitter Build Status

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

Building MacAssistant

  • Clone the project using git clone https://github.com/vanshg/MacAssistant.git
  • Open the MacAssistant.xcworkspace file (not xcproject) 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 the gen_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 the googleapis submodule

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

macassistant's People

Contributors

agucova avatar dhughes-xumak avatar harens avatar karol-depka avatar ryanku98 avatar sahilmgandhi avatar vanshg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.