CLI Almond Virtual Assistant
npm install almond-cmdlineThis repository contains the command line version of Almond, the end user programmable
assistant.
It is a full featured version, although it is mainly useful for development
and testing.
Almond is part of Open Thing Platform, a research project led by
prof. Monica Lam, from Stanford University. You can find more
information at
```
npm install -g almond-cmdline
You can then run it with almond from the command line.
The code depends on nodejs (>= 6.10), cvc4 (any version, although >= 1.5 is recommended).
Acquire the dependencies with:
``
git submodule update --init --recursive
Then you can install the dependencies with a standard npm install, or with yarn install.
NOTE: npm >= 5 is known NOT to work. For best results, use the npm that came with node 6.10 LTS,
or use yarn.
Start Almond with node ./main.js
Follow the instructions to complete set up.
You can then type a sentence to instruct your virtual assistant.
Special commands are available using \. For the full list, use \?.\q
To quit, use or Ctrl-D (EOF).
To set up a device that uses OAuth, say
``
\d start-oauth
where is the identifier of the device you want, e.g. \d start-oauth com.twitter.
Copy the resulting URL in your browser and authenticate. The browser will redirect you
to a broken page under http://127.0.0.1:3000. Copy that and type:
``
\d complete-oauth
If you're a Thingpedia developer using Command Line Almond for testing, you can
enable developer mode with the following commands:
``
\= developer-key "
\= developer-dir "
Note that quotes are significant, so the commands look like:
``
\= developer-key "123456789...ABCDEF"
\= developer-dir "/home/bob/Projects/thingpedia-devices"
If, say, inside the "thingpedia-devices" directory is a subdirectory called com.foomanifest.tt
containing a file, that device will be loaded from the local path instead
of Thingpedia.
If you don't specify a developer-dir but you specify a developer-key, Almond
will access unapproved devices from your account, and download them automatically.
Almond uses a cached version of any Thingpedia device, which is periodically updated.
You can force an update with:
``
\d update
(e.g. \d update com.foo).
You can also remove the cache directory entirely with:
```
rm -fr ~/.cache/almond-cmdline
At the next restart, Almond will download the code again from Thingpedia.