Full docs at: https://docs.mycroft.ai
Pair Mycroft instance with Cerberus Account Management Service: https://cerberus.mycroft.ai
Join the Mycroft Slack(chat) channel: http://mycroft-ai-slack-invite.herokuapp.com/
- run
build_host_setup.sh
(installs debian packages with apt-get, please read it) - run
dev_setup.sh
(feel free to read it, as well) - Restart session (reboot computer, or logging out and back in might work).
The following packages are required for setting up the development environment,
and are what is installed by build_host_setup.sh
git
python 2
python-setuptools
python-virtualenv
pygobject
virtualenvwrapper
libtool
libffi
openssl
autoconf
bison
swig
glib2.0
s3cmd
portaudio19
mpg123
Mycroft AI, Inc. - the company behind Mycroft maintains the Cerberus device and account management system. Developers can sign up at https://cerberus.mycroft.ai
By default the Mycroft software is configured to use Cerberus, upon any request such as "Hey Mycroft, what is the weather?", you will be informed that you need to pair and Mycroft will speak a 6-digit code, which you enter into the pairing page on the Cerberus site.
Once signed and a device is paired, the unit will use our API keys for services, such as the STT (Speech-to-Text) API. It also allows you to use our API keys for weather, Wolfram-Alpha, and various other skills.
Pairing information generated by registering with Cerberus is stored in:
~/.mycroft/identity/identity.json
<-- DO NOT SHARE THIS WITH OTHERS!
It's useful to know the location of the identity file when troubleshooting device pairing issues.
If you do not wish to use our service, you may insert your own API keys into the configuration files listed below in configuraion.
The place to insert the API key looks like the following:
[WeatherSkill]
api_key = ""
Put the relevant key in between the quotes and Mycroft Core should begin to use the key immediately.
These are the keys currently in use in Mycroft Core.
Mycroft configuration consists of 3 possible config files.
defaults.ini
, which lives inside the mycroft codebase/distribution/etc/mycroft/mycroft.ini
$HOME/.mycroft/mycroft.ini
When the configuration loader starts, it looks in those locations in that order, and loads ALL configuration. Keys that exist in multiple config files will be overridden by the last file to contain that config value. This results in a minimal amount of config being written for a specific device/user, without modifying the distribution files.
Mycroft provides start.sh
to run a large number of common tasks. This script uses the virtualenv created by dev_setup.sh
. The usage statement lists all run targets, but to run a Mycroft stack out of a git checkout, the following processes should be started:
- run
./start.sh service
- run
./start.sh skills
- run
./start.sh voice
Note: The above scripts are blocking, so each will need to be run in a separate terminal session.
Activate your virtualenv.
With virtualenv-wrapper:
workon mycroft
Without virtualenv-wrapper:
source ~/.virtualenvs/mycroft/bin/activate
- run
PYTHONPATH=. python client/speech/main.py
# the main speech detection loop, which prints events to stdout and broadcasts them to a message bus - run
PYTHONPATH=. python client/messagebus/service/main.py
# the main message bus, implemented via web sockets - run
PYTHONPATH=. python client/skills/main.py
# main skills executable, loads all skills under skills dir
Note: The above scripts are blocking, so each will need to be run in a separate terminal session. Each terminal session will require that the virtualenv be activated. There are very few reasons to use this method.