Disappointing start: a lot of skills are not properly working


#1

Hello,

I have installed Mycroft from github on my Ubuntu 16.04 machine, following the instructions under “getting started”.

Then I tried some things (typed in, so this is not about hotword detection or speech-to-text), and it was mostly disappointing.
Even some things that were supposed to work did not.
Is the documentation outdated, are those bugs in the skills, or do I need to change something about my configuration?

What do I need to do so that it works?
I am willing to file issues, extend regular expressions, write code, create pull requests – whatever it takes!

Q: Hello
A: I’m not sure I understood you.
Comment: OK, not such a good start :wink:

Q: Help
A: I don’t understand, but I’m learning new things everyday.
C: Would expect some instructions/examples on what I could say.

Q: list skills
A: I’m not sure I understood you.
C: I would expect it would tell me which skills are installed (or how many)

Q: What’s the weather?
A: You might have to say that a different way.
C: This one is actually documented, and I am encouraged by the “Home” website to ask it. Why does it not work?

Q: How is the weather?
A: I don’t know what that means.

Q: Hey Mycroft, what’s the weather?
A: verb, face and withstand with courage,
C: Something is broken here …

Q: my mycroft, what’s up?
A: Hello, human.
C: I did a typo here, but at least it works :wink:

Q: hey mycroft, what’s up?
A: Hello, human.
C: Now without the typo.

Q: Hey Mycroft, how long is a marathon?
A: (42.15 to 42.24) km (kilometers), (according to IAAF standard)
C: OK, this works. However “km kilometers” sounds weird, and IAAF is pronounced incorrectly.

Q: tell me about sandwiches
A: I’m checking Wikipedia for sandwiches
A sandwich is a food typically consisting of vegetables …
C: Cool, that works!

Q: What is the value of pi?
A: Sorry, I didn’t catch that.

Q: How long is an ironman?
A: I don’t know what that means.
C: Tried a transfer from marathon …

Q: What is an ironman?
A: I don’t understand, but I’m learning new things everyday.

Q: tell me about Ironman
A: I’m checking Wikipedia for ironman
would you like to hear about Brett Favre, Travis Fulton, Sardar Vallabhbhai Patel, Cal Ripken, Jr. or Ivan Stewart
C: OK, it recognizes the disambiguation page on WP, but only takes the first section into account.

Q: tell me about ironman triathlon
A: Let me look up ironman triathlon
An Ironman Triathlon is one of a series of long-distance triathlon races organized by
the World Triathlon Corporation , consisting of a 2.4-mile swim, a 112-mile bicycle
ride and a marathon 26.22-mile run, raced in that order and without a break.
C: OK, now that works.

Q: How long is an ironman triathlon?
A: You might have to say that a different way.
C: Well, would be nice to somehow get it. Maybe WikiData queries could be used for such (and many other) queries?

Q: How far is Berlin from Hamburg?
A: I’m not sure I understood you.

Q: Which skills do you have?
A: I’m sorry, I don’t understand.

Q: What else can I ask you?
A: I’m not sure I understood you.

Q: help me, Mycroft
A: I don’t understand, but I’m learning new things everyday.

Q: install basic help skill
A: I didn’t find any skill name basic help skill.
C: Trying skills listed on https://mycroft.ai/documentation/skills/#community-developed-skills

Q: Tell me a joke
A: There are 2 types of people: those who can interpret incomplete data sets…
Q: Tell me another joke
A: How come there is not obfuscated Perl contest? Because everyone would win.
Q: another one
A: I’m sorry, I don’t understand.
C: The joke skill taken the context (last request) into account would be great.

Q: install better jokes
A: I didn’t find any skill name better jokes.

Q: what time is it?
A: It’s nine twenty three
C: Does not take local time into account, it was 16:23 in Berlin at that time, and the information is available from the system.

Q: open firefox
A: I’m sorry, I don’t understand.
C: This is a documented core skill, why doesn’t it work?

Q: what is frankenstein
A: I’m sorry, I don’t understand.
C: Again, a documented core skill …


#2

Edit: Even If the some of the errors are fixed by switching to the master branch…

This kind of QA feedback is priceless.

There should be a formal or automated way to submit the errors and have them addressed by category by Mycroft or the community.


A Voice UI for Mycroft that would inform users on how to use Mycroft and help users to submit errors and suggest improvements for…

Persona - Casual chit chat with Mycroft

Skills - How to use skills and recommend skills Skill-Recommendation-Skill

Help - FAQ/QA for new users


Fact retrieval and parsing of API results seems to be an ongoing battle.


Human rescursive self improvement :grinning:


#3

Thanks @Zeno_Gantner for that feedback. We’ve had several similar reports of this nature over the last couple of days from people who have fresh Linux installs using the git clone method. The root cause of the issue is that the mycroft-core default branch is dev rather than master. We’re doing a lot of work in dev at the moment to move from Python 2.7 to Python 3.4+, and part of that work changes the way msm and Skills installation works. Which is why it isn’t working.

If you do git pull origin master from within your mycroft-core directory then run ./update-dev.sh it should work for you.

Best, Kathy


#4

I’d suggest you add the command to switch to the master branch in your installation instructions, I’ve just found out myself (I was on the dev branch before) which is simply git clone -b (branch) (address)


#5

Good call @Old-Lodge-Skins - we accept Issues and PRs on docs-rewrite - if you wanted to write an Issue for this then I won’t forget it.


#6

Hello, thank you for the responses.
I am now running Mycroft from the master branch.

I said “Hey Mycroft, what’s the weather?”

19:32:00.239 - __main__:handle_wakeword:56 - INFO - Wakeword Detected: hey mycroft
19:32:02.014 - __main__:handle_utterance:61 - INFO - Utterance: [u'the weather']
I'm not sure I understood you.

On startup, I got plenty of warnings:

19:31:43.987 - mycroft.skills.core:load_skill:106 - INFO - ATTEMPTING TO LOAD SKILL: fallback-unknown.mycroftai with ID 4592314002753225598
/opt/mycroft/skills/fallback-unknown.mycroftai/__init__.py:15: RuntimeWarning: Parent module 'fallback-unknown' not found while handling absolute import
from os.path import join
/opt/mycroft/skills/fallback-unknown.mycroftai/__init__.py:16: RuntimeWarning: Parent module 'fallback-unknown' not found while handling absolute import
from mycroft.skills.core import FallbackSkill
/opt/mycroft/skills/fallback-unknown.mycroftai/__init__.py:17: RuntimeWarning: Parent module 'fallback-unknown' not found while handling absolute import
from mycroft.util.parse import normalize
19:31:43.995 - mycroft.skills.core:load_skill:124 - INFO - Loaded fallback-unknown.mycroftai
19:31:43.997 - mycroft.skills.core:load_skill:106 - INFO - ATTEMPTING TO LOAD SKILL: mycroft-naptime.mycroftai with ID -6232656834462942501
/opt/mycroft/skills/mycroft-naptime.mycroftai/__init__.py:15: RuntimeWarning: Parent module 'mycroft-naptime' not found while handling absolute import
from adapt.intent import IntentBuilder
/opt/mycroft/skills/mycroft-naptime.mycroftai/__init__.py:17: RuntimeWarning: Parent module 'mycroft-naptime' not found while handling absolute import
from mycroft import MycroftSkill, intent_handler
/opt/mycroft/skills/mycroft-naptime.mycroftai/__init__.py:18: RuntimeWarning: Parent module 'mycroft-naptime' not found while handling absolute import
from mycroft.messagebus.message import Message
/opt/mycroft/skills/mycroft-naptime.mycroftai/__init__.py:19: RuntimeWarning: Parent module 'mycroft-naptime' not found while handling absolute import
from mycroft.audio import wait_while_speaking
/opt/mycroft/skills/mycroft-naptime.mycroftai/__init__.py:21: RuntimeWarning: Parent module 'mycroft-naptime' not found while handling absolute import
import time
19:31:44.002 - mycroft.skills.core:load_skill:124 - INFO - Loaded mycroft-naptime.mycroftai
19:31:44.004 - mycroft.skills.core:load_skill:106 - INFO - ATTEMPTING TO LOAD SKILL: mycroft-timer.mycroftai with ID 4622552063409481092
/opt/mycroft/skills/mycroft-timer.mycroftai/__init__.py:15: RuntimeWarning: Parent module 'mycroft-timer' not found while handling absolute import
import time
/opt/mycroft/skills/mycroft-timer.mycroftai/__init__.py:17: RuntimeWarning: Parent module 'mycroft-timer' not found while handling absolute import
from adapt.intent import IntentBuilder
/opt/mycroft/skills/mycroft-timer.mycroftai/__init__.py:18: RuntimeWarning: Parent module 'mycroft-timer' not found while handling absolute import
from mycroft.skills.core import (
/opt/mycroft/skills/mycroft-timer.mycroftai/__init__.py:22: RuntimeWarning: Parent module 'mycroft-timer' not found while handling absolute import
from mycroft.util.log import LOG
/opt/mycroft/skills/mycroft-timer.mycroftai/__init__.py:23: RuntimeWarning: Parent module 'mycroft-timer' not found while handling absolute import

19:31:44.023 - mycroft.skills.core:load_skill:106 - INFO - ATTEMPTING TO LOAD SKILL: mycroft-personal.mycroftai with ID -6638984081336391494
/opt/mycroft/skills/mycroft-personal.mycroftai/__init__.py:15: RuntimeWarning: Parent module 'mycroft-personal' not found while handling absolute import
from os.path import dirname
/opt/mycroft/skills/mycroft-personal.mycroftai/__init__.py:17: RuntimeWarning: Parent module 'mycroft-personal' not found while handling absolute import
from adapt.intent import IntentBuilder
/opt/mycroft/skills/mycroft-personal.mycroftai/__init__.py:18: RuntimeWarning: Parent module 'mycroft-personal' not found while handling absolute import
from mycroft.skills.core import MycroftSkill
/opt/mycroft/skills/mycroft-personal.mycroftai/__init__.py:19: RuntimeWarning: Parent module 'mycroft-personal' not found while handling absolute import
from mycroft.util.log import getLogger
19:31:44.032 - mycroft.skills.core:load_skill:124 - INFO - Loaded mycroft-personal.mycroftai
19:31:44.033 - mycroft.skills.core:load_skill:106 - INFO - ATTEMPTING TO LOAD SKILL: mycroft-fallback-duck-duck-go.mycroftai with ID 1409275767528477626
/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai/__init__.py:14: RuntimeWarning: Parent module 'mycroft-fallback-duck-duck-go' not found while handling absolute import
import re
/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai/__init__.py:15: RuntimeWarning: Parent module 'mycroft-fallback-duck-duck-go' not found while handling absolute import
import sys
/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai/__init__.py:17: RuntimeWarning: Parent module 'mycroft-fallback-duck-duck-go' not found while handling absolute import
from mycroft.skills.core import FallbackSkill
/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai/__init__.py:18: RuntimeWarning: Parent module 'mycroft-fallback-duck-duck-go' not found while handling absolute import
from mycroft.util import LOG
/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai/__init__.py:23: RuntimeWarning: Parent module 'mycroft-fallback-duck-duck-go' not found while handling absolute import
import duckduckgo as ddg
19:31:44.036 - mycroft.skills.core:load_skill:143 - ERROR - Failed to load skill: mycroft-fallback-duck-duck-go.mycroftai
Traceback (most recent call last):
File "/home/zgantner/src/mycroft-core/mycroft/skills/core.py", line 111, in load_skill
skill_descriptor["name"] + MainModule, *skill_descriptor["info"])
File "/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai/__init__.py", line 23, in <module>

… etc.

Those are the steps that I did:

git clone https://github.com/MycroftAI/mycroft-core.git
cd mycroft-core/
git checkout master
bash dev_setup.sh
./start-mycroft.sh debug

Again, maybe I missed an important step?


#7

No I don’t think you’ve missed a step - @forslund can you see anything amiss here? Is this a Python 3 glitch?


#8

As that’s on master it shouldn’t be related to python3.

It looks a bit like the python environment is not quite alright.

I can’t see a missed step. can you check git status to see that the directory is clean?


#9
> git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

> python --version
Python 2.7.12

> python3 --version
Python 3.5.2

> printenv | grep PY
PYENV_VIRTUALENV_INIT=1
PYENV_SHELL=bash
PYTHONPATH=./plugins/

#10

How do I find out if my Python environment is “not quite alright”?

All other Python software (2 and 3) runs okay on my machine.


#11

To be able to install different versions of modules than are found on the system mycroft creates a virtualenvironment when dev_setup.sh is run (residing in ~/.virtualenvs/mycroft).

The virtualenv is then invoked by the start_mycroft-script

If I were you I’d try to remove ~/.virtualenvs/mycroft and then run dev_setup.sh again to have it recreated just to be sure.

/Åke