スキルソースの実際のチェックは、スキル名の形式を決定する進行中の議論(少なくともこれらが実装されたときに戻った)のために実装されていません。
スキルIDは、speakメタデータで報告されるものですが、動作ファイルの書き込みにはあまり適していません。 したがって、ある種の翻訳が必要です。スキルID->きれいな名前。 これを反映した問題を追加します。
推奨されるルックアップ:
@forslund理解するために、「かわいい名前」とはどういう意味ですか、「スキルID」とはどういう意味ですか?
本当の例を教えていただけますか?
私はあなたをフォローしていることを確認したいです。
スキルIDが間違っていました。 システムは、スキルに明示的に提供できるスキルとしてself.name
を使用するか、名前としてスキルクラス名を使用します。
「プリティネーム」は「マイクロフトウェザー」や「ウェザースキル」のような自然なテキストでうまく機能するものです。 スキルメタが使用する「きれいな名前」は、home.mycroft.aiのスキルページに表示されるスキル名です。
@ krisgesling 、 @ chrisveilleux 、 @ dschweppeは、vwhatが「きれいな名前」であり、実装についても意見を持っている可能性があります。
ああ、わかりました。
私は新しく、mycroftが毎日どのように機能するかを理解していますが、スキルIDに関するメタデータには何も表示されませんでした。
私の意見では、テストでスキル名( self.name
)を使用する方がより適切で便利です。
私がスキルを書く場合、私はそれを知る必要があり、またより簡単に私のスキルの名前クラスを覚えておいてください( self.name
)
私の意見では、同じスキルについて別の名前を使用して、あなたがそれを呼んだようなきれいな名前を参照すると、より多くの間違いや混乱を引き起こす可能性があります。
最初の問題を修正して更新しました
スキル設定から名前フィールドを削除したため、これは改善されたと思いますが、さらに作業が必要です。 例:Hello Worldスキル:
self.name
=> "HelloWorldSkill"
Selene表示(READMEタイトルより)⇒「Hello World」
ファイルシステム(リポジトリスラッグからだと思いますか?)=> "mycroft-hello-world.mycroftai"
スキル名が少し違う方法で使われているところが他にあるとしても、私は驚かないでしょう。 これを最初の2つに減らすことができれば良いでしょう。 スキルにreadmeがない場合を考慮する必要があるかもしれませんが。
行動ベースのテストの背後にある考え方の一部は、非開発者によるものも含めて、人間が読み取れる(そして書き込むことができる)ということです。 個人的には、このために「かわいい名前」と「クラス名」( self.name
)の両方をサポートする価値があると思います。
実際、 self.name
より読み取り/書き込み可能にするために、名前をcamel_case_split()
、HelloWorldSkill-> Hello WorldSkillで実行した後に比較を行うこともできます。
問題の説明に提案するスキルフォルダ名を追加します。