A new mycroft command line interface, that is ment to be decoupled from any one particular mycroft instance.
The goals are:
- Accomplish most of the features found in mycroft/bin in one utility
- Be able to use it on remote mycroft instances
- Keep as much of the utility to work with posix shell features for easy scripting
- Give easier access to the message bus features for outside programs (with a blender plugin and skill being one of those things). As this can be used as an funtional python api as well as in the command line.
This is very much still a work in progress, but I am excited to keep making progress on it.
Dependencies:
pip install websocket
Getting started useing this tool:
git clone https://github.com/FruityWelsh/mycroft-cl.git
cd mycroft-cl
if you are running this for a local mycroft instance then you can run it with no added steps for example:
./mycroftcl.py speak hello
Otherwise you can change the IP target address and port by change the MYCROFT_ADDR
and MYCROFT_PORT
env vars.
This can be done prior to use like:
export MYCROFT_ADDR='localhost'
export MYCROFT_PORT='8181'
or by adding those lines (but with your new values) to your ${HOME}/.profile
config file.
ENV VARS: MYCROFTCL_LOGGING ## if unset = 'WARN', other options include 'DEBUG|INFO|WARN|ERROR' MYCROFT_ADDR ## if unset = "localhost", can be any valid address of a mycroft instance MYCROFT_PORT ## if unset = "8181", can be any valid port to a mycroft instance MYCROFT_JSON_DIR ## if unset = {local_file_path}/mycroft-json-messages, can be any valid directory LANG ## if unset = "en-us"
Setup for development:
I currently use poetry for dependency managment.
I also use black and mypy for code linting and include pre-commit hooks for them.
- speak
- say-to
- stop
- increase-volume
- decrease-volume
-
mycroft-speak
asmycroftcl.py speak
-
mycroft-say-to
asmycroftcl.py say-to
- [ ? ]
mycroft-listen
asmycroftcl.py listen
-
mycroft-cli-client
-
mycroft-msm
unsure if needed in this util -
mycroft-start
This one may be very hard to implement as there are some many different mycroft setups -
mycroft-stop
see above -
mycroft-pip
unsure if needed in this util -
mycroft-venv-activate
unsure if needed in this util -
mycroft-venv-deactivate
unsure if needed in this util -
mycroft-msk
unsure if needed in this util -
mycroft-skill-testrunner
unsure if needed in this util -
mycroft-config
I would absolute love to include this one if possible -
mycroft-mic-test
unsure if needed in this util -
mycroft-help
ideally intergrated into the util it's self see issue: #1