Code Monkey home page Code Monkey logo

skill-installer's Introduction

Installer

Add and remove Mycroft Skills

About

Add and remove Skills using your voice or from the Marketplace. You can also assist skill authors in testing new versions of their skills by using "install prevew version" to gain access to skills still under development and testing. If you do this, please be consicious the skill may be in an unstable development state and report issues to the author appropriately.

You can also install Skills that are not officially released by entering the Skill's GitHub repository URL in the Installer's web user interface.

Skills are ultimately installed using the Mycroft Skill Manager (msm). If verbally installing, Mycroft will speak a list of possible matches for ambiguous names -- just pick the skill you want from the list read to you.

Examples

  • "Install coin flip"
  • "Install the preview version of coin flip "
  • "Uninstall coin flip"
  • "Remove coin flip"
  • "Download custom skill"

Credits

Mycroft AI (@MycroftAI)

Category

Configuration

Tags

#install #installer #download #add-skill #skill #skills #msm #system

skill-installer's People

Contributors

aleale99 avatar augustnmonteiro avatar chrisveilleux avatar devs-mycroft avatar e-gor avatar forslund avatar gras64 avatar kathyreid avatar kfezer avatar krisgesling avatar lcipria avatar learnedvector avatar luke5sky avatar matthewscholefield avatar penrods avatar spagy avatar thorstenmueller avatar tony763 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skill-installer's Issues

Line 96, TypeError: cannot use a string pattern on a bytes-like object

Hi folks,

First of all, thanks for your work on Mycroft. I just found out about the platform yesterday and am very intrigued. I'm using mycroft-core as packaged here: https://git.covolunablu.org/portaloffreedom/mycroft-core-PKGBUILD/

Whenever I try to install a skill, I am getting a Python TypeError:

>>> systemctl status --user mycroft-skills                                                                                                                                                                                                                                                        
● mycroft-skills.service - Mycroft skills provider
   Loaded: loaded (/usr/lib/systemd/user/mycroft-skills.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-14 16:47:31 EDT; 6min ago
 Main PID: 22185 (mycroft-skills)
    CGroup: /user.slice/user-1000.slice/[email protected]/mycroft-skills.service
           └─22185 /usr/bin/python3 /usr/bin/mycroft-skills

Mar 14 16:54:07  mycroft-skills[22185]:   File "/home/user/.mycroft/skills/skill-installer/__init__.py", line 96, in get_skill_list
Mar 14 16:54:07  mycroft-skills[22185]:     self.ansi_escape.sub('', check_output([BIN, 'list'])).split('\n')
Mar 14 16:54:07  mycroft-skills[22185]: TypeError: cannot use a string pattern on a bytes-like object

About my system:

  • Python 3.6.4
  • Linux 4.15.7-1-MANJARO
  • x86_64
  • KDE Plasma

Install vs Uninstall *skill*

I was wondering why installing does not require the vocabulary "skill", where uninstalling does.
Are there other parts of Mycroft we are able to uninstall with a voice command? "Hey Mycroft, uninstall core"?

FEATURE REQUEST: Disable ...

Support "Disable ...", which would add the skill to a USER level blacklist.

The default config looks like this

  "skills": {
    "blacklisted_skills": ["skill-media", "send_sms", "skill-wolfram-alpha"],
  }

We'd want to do some magic to merge the SYSTEM level list. This allows even Default skills to be turned off.

Index Out of Range

Getting below error when trying to use skill, appears there might be a code issue here.

2017-09-21 14:41:22,148 - mycroft.skills.core - ERROR - An error occurred while processing a request in SkillInstallerSkill
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/mycroft_core-0.8.22-py2.7.egg/mycroft/skills/core.py", line 356, in wrapper
    handler(message)
  File "/opt/mycroft/skills/skill-installer/__init__.py", line 55, in install
    elif text.splitlines()[2] == "Skill installed!":
IndexError: list index out of range

py_msm

what about migrating this to the new py_msm package?

i would be more than happy to make any needed changes to the package itself if needed, this is the exact use case i have for it

instead of making my own skill i wanted your opinion about this

Add acknowledgement response after confirm install dialogue

Is your feature request related to a problem? Please describe.
I'm always frustrated when installing a new skill from the Marketplace and MyCroft asks for my confirmation that I want to install a skill, but I can't tell that it heard me and it started to install the requested skill. The only acknowledgement to a user after a request to install is when the skill install completes. Depending on the network, size and complexity of the skill to be installed, and processing of device an intermediary acknowledgement would be useful to make the install more intuitive. Right now the lack of an acknowledgement leaves too long a gap between the confirmation and install which can feel like the device did not hear the confirmation to install the skill and that it fell back to listening for a new command instead of installing.

Describe the solution you'd like
Add an acknowledgement response between the "install.confirm.dialog" of "Confirming: Shall I install {{skill}} by {{author}}." and "install.complete.dialog" - "{{skill}} is now installed and ready for use". Ideally with a state indicator that an install is in progress. An acknowledgement should

Solution 1. add "I'm now installing {{skill}} and will let you know when it is ready." and a install progress indicator on the device screen or lights (Mark1 & Mark2 - could display "installing {{skill name}}" as text)
Solution 2. add "I'm now installing {{skill}} and will let you know when it is ready."

Responds, but nothing is installed

On my Mark1, when I say install ping Mycoft says Installing... but then nothing seems to happen (looking at ps faux I don't see anything, and looking in the skills directory nothing appears).

Missing build_msm_config

When loading, this message shows app in debug (sorry for my English, i`m from Argentina).

File "/opt/mycroft/skills/skill-installer/__init__.py", line 34, in <module> from mycroft.skills.msm_wrapper import build_msm_config, create_msm ImportError: cannot import name 'build_msm_config'

It looks like build_msm_config is not defined in msm_wrapper.py, as i can confirm by opening that file and reading code. Hope it helps!! Thank you!

Ubuntu Mate 18.04
Mycroft by Git, stable branch

Skill not load (ValueError: too many values to unpack (expected 2))

I have the following message on my devices for several days. whether Raspberry pi or Ubuntu Desktop can no longer install skills. my systems used core version 18.2.9 i have no idea what to do

01:47:17.661 - SkillInstallerSkill - INFO - Installer Skill web settings have changed
01:47:17.661 - mycroft.skills.core:load_skill:144 - ERROR - Failed to load skill: mycroft-installer.mycroftai
Traceback (most recent call last):
File "/home/pi/mycroft-core/mycroft/skills/core.py", line 127, in load_skill
skill.initialize()
File "/opt/mycroft/skills/mycroft-installer.mycroftai/init.py", line 36, in initialize
self.install_word, self.remove_word = self.translate_list('action')
ValueError: too many values to unpack (expected 2)

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.