Giter Site home page Giter Site logo

socios-linux / almond-gnome Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stanford-oval/almond-gnome

1.0 1.0 0.0 26.4 MB

The Almond Virtual Assistant, Linux desktop version

Home Page: https://flathub.org/apps/details/edu.stanford.Almond

License: Apache License 2.0

Shell 0.79% JavaScript 93.71% Python 2.43% CSS 0.88% Meson 2.19%

almond-gnome's Introduction

Almond for GNOME

Build Status Dependency Status Language grade: JavaScript Discord Discourse status

An Open Virtual Assistant

This repository contains the GNOME/Gtk platform integration layer for the Almond Open Virtual Assistant.

Almond is a Virtual Assistant that lets you connect to multiple services and devices, while respecting your privacy. Almond is also the only assistant that supports compound commands, using a powerful experimental deep-learning semantic parser. (What are compound commands?)

Almond comes in various form:

  • As a phone app, for Android
  • As an installable app for a home server
  • As a web service hosted at https://almond.stanford.edu
  • A GTK+/GNOME app for desktops (this repository)

Almond is a research project led bf prof. Monica Lam, in the Stanford University Open Virtual Assistant Lab. You can find more information at https://almond.stanford.edu.

Installation

Flatpak

Flatpak is the recommended way to install Almond. The latest stable version is available on Flathub.

To install the latest development version of Almond, use:

flatpak remote-add almond-nightly --from https://flatpak.almond.stanford.edu/almond-nightly.flatpakrepo
flatpak install edu.stanford.Almond//master

Building from Source

To build Almond from source, you should use flatpak-builder:

flatpak-builder --install --install-deps-from=flathub _app edu.stanford.Almond.json

This will automatically build and install all the dependencies, and install the Almond app.

Alternatively, you can use GNOME Builder as the IDE. GNOME Builder has native support for flatpaks. Opening the cloned repository with GNOME Builder will allow you to build and run Almond by pressing "play".

NOTE: the first build of the app can be very long, as it needs to build all the dependencies (in particular cvc4, nodejs, scipy and tensorflow). For the master branch, we provide cached binaries at https://flatpak.almond.stanford.edu/build-cache.tar.gz; unpack these in the checkout directory (it will create a single directory called .flatpak-builder) before invoking flatpak-builder.

Usage

Almond is a virtual assistant: it takes natural language commands, interprets them, and displays the result. The set of supported commands is defined in Thingpedia, and roughly covers web services, news services, and some Internet-of-Things devices.

Voice support is available as well: once opened the first time, an always listening background service can recognize voice input and reply. The default hotword is "Almond". You can disable voice input or voice output from the app settings.

Additional user documentation is available on the Almond website.

NOTE: Almond uses Genie for its natural language understanding component. Genie is an experimental deep-learning based semantic parsing toolkit. While it can understand a much larger space of commands, including notifications and complex queries, it can also behave erratically if you type commands that are not in Thingpedia. Please avoid "chatting" with Almond, it will only lead to frustration.

Contributing

Have you found a bug? A new feature? A better voice model? More skills? Almond welcomes your help! Please look at the contribution guide for details, and don't hesitate to reach out to us on our community forum.

License

Almond is free software, and is distributed under the Apache 2.0 license. See LICENSE for details.

Additionally, Almond contains a GNOME Shell extension, included in the "shell-extension" folder. That code, and only that code, is licensed under the GNU General Public License, version 2 or later.

almond-gnome's People

Contributors

aurium avatar dependabot-preview[bot] avatar dependabot[bot] avatar gcampax avatar har9862 avatar nedrichards avatar

Stargazers

 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.