Mycroft-core: أوامر Ubuntu CLI

تم إنشاؤها على ٣١ مايو ٢٠٢٠  ·  13تعليقات  ·  مصدر: MycroftAI/mycroft-core

مرحبًا ، أحب أن Mycroft يعمل على Kubuntu 18.10. اضطررت فقط إلى العبث مع pulseaudio (إعادة التشغيل؟) للحصول على الصوت يعمل (على الرغم من نجاح اختبار الصوت). لقد كنت أحاول تشغيل الأوامر الصوتية لسنوات ، بدءًا من WSP و Vocola و Dragonfly على Windows ، لكن Winapi ومثل هذه المكالمات محدودة للغاية وموثقة بشكل سيئ. إنه لأمر رائع أن Kubuntu يمكنه استخدام مكالمات Python.

لذا فإن أول شيء أردت القيام به هو / هو التحكم في الصوت Vim (كما في هذا الفيديو القديم باستخدام .NET؟ https://www.youtube.com/watch؟v=TEBMlXRjhZY) أو على الأقل تشغيل بعض أوامر CLI. لسوء الحظ ، يبدو أن استخدام KDE Plasmoid هو الطريقة الوحيدة للقيام بذلك؟ أرجوا أن تصحح لي إذا كنت مخطئا. أرى أن هناك عناصر تحكم للتنقل في Windows مع مهارة التحكم في سطح المكتب (هل يعتبر البلازمويد ضروريًا لهذا؟ ألا يجب أن تكون هناك طريقة لاستخدام أوامر التحكم في سطح المكتب عبر سطر الأوامر بدون ميزة البلازمويد بالكامل؟) ، والتي ستكون مفيدة ، ولكن لا أستطيع على ما يبدو الحصول على تركيب البلازميد. لذلك إذا كانت هناك طريقة مباشرة للربط بإخراج Mycroft وإعادة توجيهه إلى bash أو أي شكل أساسي آخر ، فسيكون هذا هو الحل الأبسط بالنسبة لي. لقد استخدمت أداة تصحيح أخطاء CLI وهي رائعة ، لكن لا أرى كيف يمكن إعادة توجيه ذلك حتى الآن. أدرك أن Mycroft قد تم تصميمه للعمل على أجهزة بدون لوحات مفاتيح ، ولكن الإخراج كنص لأوامر CLI يبدو وكأنه أداة أساسية أساسية ، حتى بالنسبة للحلول البديلة مثل عدم تثبيت البلازميد.

تثبيت plasmoid معلق على "Installing ../ lottie / qmldir" وكان به خطأان في تثبيت الحزمة لـ qtdeclarative5-qtquick2-plugin و qtdeclarative5-Models-plugin. مشابهة لهذه المشكلة للتثبيت على دبيان (https://github.com/MycroftAI/installers/issues/9) ، باستثناء Im باستخدام Kubuntu 18.10 Cosmic الذي لا يحتوي على هذه الحزم في مستودعاته. لست متأكدًا مما إذا كان بإمكاني تثبيتها يدويًا. لقد كنت أستخدم مثبت appimage ، لكنني سأحاول التثبيت اليدوي لـ Debian مرة أخرى. لا ، انتهى ذلك في الواقع حيث تقول التعليمات "sudo chmod + x /usr/share/plasma/plasmoids/org.kde.plasma.mycroftplasmoid/contents/code/startservice.sh" لأنه لم يتم إنشاء دليل "رمز" ، والذي سيكون لديها البرامج النصية ليتم تشغيلها يدويًا بشكل متساوٍ. لست متأكدًا مما إذا كنت بحاجة إلى هذه البرامج النصية ، ولكن بعد تثبيت التطبيق المعلق ، لدي بلازميد ، والذي يعطي هذا الخطأ:

"Error loading QML file: file:///usr/share/plasma/plasmoids/org.kde.plasma.mycroftplasmoid/contents/ui/main.qml:33:34: Type FullRepresentation unavailable
file:///usr/share/plasma/plasmoids/org.kde.plasma.mycroftplasmoid/contents/ui/FullRepresentation.qml:31:1: module "Mycroft" is not installed"

قد أحاول إعادة التشغيل بعد الانتهاء من المهام المتبقية في نوافذ المتصفح ، ولكني أحب مسارًا للأمام لا يتطلب أي بلازميد وجميع التبعيات التي يتم تثبيتها المطلوبة. شكرا على أي مؤشرات.

ال 13 كومينتر

أيضًا ، هذا يجعلني أتساءل عما إذا كان سيتم تثبيت البلازمويد على 20.04 LTS الجديد.

أرى أن مهارة أوامر سطح المكتب تستخدم Python pyautogui هنا: https://github.com/TREE-Ind/desktop-control/blob/e3eaa3827f4644d5c4d5fc1b878ba7bb83aae657/__init__.py ، والتي يمكن استخدامها في نص شل أو مباشرة في Bash. إذا كانت هذه الأوامر القليلة هي كل ما يلزم تحويله إلى تكامل قائم على CLI ، فإنني أقترح جعل هذا التكامل المتمحور حول CLI مركزيًا وجعل البلازميد يدمجه لاستخدامه الخاص. وبهذه الطريقة يمكن أن يعمل كمستودع أكثر شمولية للإجراءات القائمة على الكمبيوتر الشخصي ليضيف إليها المجتمع. ربما مجلد لكل نظام تشغيل.

عند العمل على حل ، يعمل هذا حتى الآن على التقاط الإخراج ، واستخراج الأمر من مدونة الصوت:
tail -f -n 1 /var/log/mycroft/voice.log | grep --line-buffered -Po "(?<=').*?(?=')" | xargs -t -n1 -d '\n' echo
سيؤدي هذا في الواقع إلى تنفيذ الأمر المنطوق:
tail -f -n 1 /var/log/mycroft/voice.log | grep --line-buffered -Po "(?<=').*?(?=')" | xargs -t -n1 -d'\n' -I {} sh -c "{}"
تحتاج إلى إنشاء مهارة قيادة CLI تتعرف على كلمة رئيسية مثل "أمر" أو "باش" لاسترداد العبارة الأخيرة والمثارة. تريد أيضًا تكرار الحلقة مرتين قبل الاستسلام بعد انتهاء مهلة التسجيل.

أهلا،

من أجل "إعادة توجيه" الأوامر من CLI ، ربما تريد إلقاء نظرة على MessageBus وعميل العينة المتاح لدينا:

بدلاً من ذلك ، يمكنك إنشاء Mycroft Skill واستدعاء أوامر bash من Python.

بالنسبة إلى Plasmoid ومهارة التحكم في سطح المكتب ، فمن الأفضل طرح المشكلات مباشرة على هذا المشروع.

حسنًا ، شكرًا krisgesling. رأيت أن النشاط على هؤلاء كان أقدم بكثير من ذلك الموجود هنا في الريبو الرئيسي ، لذلك اعتقدت أنني سأحاول التواصل.

إنني أعمل على إنشاء مهارة لهذا ، وقد فوجئت قليلاً بأنها ليست هنا بالفعل ؛) ، ولكن ما زلت أعمل من خلال الأساسيات. سأقوم عند @ you في المنتدى بمناقشة خلل وجدته في اللصق من المنتدى .. لست متأكدًا مما إذا كان ذلك ينتقل إلى GitHub أو ما يتعلق بخط المنتدى.

لقد رأيت للتو كيفية التثبيت باستخدام mycroft-pip خاص (مثير للاهتمام؟) هنا mycroft-pip install mycroft-messagebus-client من هذا الرابط الذي كنت أقرأ منه ، لكنه لا يعمل. يجب أن أحتاج إلى استخدام venv الصحيح ، لكن لا أعرف أين هو .. آه ، لقد وجدت الأمر في ~ / mycroft-core / venv-activate.sh source venv-activate.sh ، لنشر ذلك للآخرين الذين يتابعون ذلك.

نعم يستحق المحاولة. لم أر المنتدى شيء من قبل. يحاول الخطاب القيام ببعض الأشياء غير التقليدية التي لا أتفق معها دائمًا (مثل الاستيلاء على اختصار لوحة المفاتيح ctrl + F). لذلك قد يكون هذا مرتبطًا بشيء هناك.

يتوفر الأمر mycroft-pip إذا سمحت للمثبت بالإضافة إلى $ PATH. إنه مجرد اختصار بدلاً من تنشيط venv وتشغيل تثبيت النقطة يدويًا ، لذا فإن القيام بما قمت بنشره هو الحال أيضًا.

لقد نجح أمر الاختبار (الأول على هذا paeg) بعد تنشيط venv: python3 -m mycroft.messagebus.send 'speak' '{ "utterance": "test"}''

في الواقع من هذه الصفحة: https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mycroft-core/message-types

krisgesling ، أقوم بإيقاف الإعداد الأساسي ، لكن أحد الإعدادات التي تبدو مخيفة هي كلمة التنبيه المخصصة. حتى سؤال "noob" أدناه يبدو أنه يتضمن تدريب نموذج صوتي. ألا توجد طريقة لإضافة "كلمة تشغيل" (أو أن ذلك مختلف) استنادًا إلى الأصوات الأساسية؟

آسف فقط رأيت ما يلي .. محاولة تشغيل جزء الإعداد من هذا:

The simplest method to add a custom Wake Word to Mycroft is to use PocketSphinx. This is done by defining the phonemes that make up the Wake Word. It does not require any training, however is less reliable than a well-trained Precise Wake Word.

https://mycroft-ai.gitbook.io/docs/using-mycroft-ai/customizations/wake-word
https://community.mycroft.ai/t/custom-wake-word-for-noobs/7252

ربما يمكنك إغلاق هذا لأنني فتحت مشكلة (https://github.com/MycroftAI/installers/issues/12 أعلاه) لأن تثبيت plasmoid لا يعمل.

بالنسبة لسطر الأوامر ، يمكنك وضعه كطلب ميزة. لست بعيدًا عن إنهاء مهارة يمكن تضمينها إذا أحبها الناس. وسوف يقدم تقريرا هنا مرة أخرى عند الانتهاء.

إليك مهارة العمل الأساسية المسماة "SealEyeCommand". يمكنك اختباره من CLI باستخدام python3 -m mycroft.messagebus.send 'recognizer_loop:utterance' '{ "utterances": ["command echo test"]}' .

from mycroft import MycroftSkill, intent_file_handler
import subprocess

class SealEyeCommand(MycroftSkill):
    def __init__(self):
        MycroftSkill.__init__(self)

    @intent_file_handler('command.cli.intent')
    def handle_testa(self, message):
        utterance = message.data.get('utterance')
        if not ' '  in utterance:  
            self.speak('please say your command')
            return True
        commandL = utterance.split(' ', 1)
        #self.log.info("commandList: "+str(commandL))
        command = utterance.split(' ', 1)[1]
        #self.log.info("command: "+str(command))
        process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
        output, error = process.communicate()
        output = output.decode('UTF-8')
        self.log.info("Output: "+str(output))
        self.log.info("Error: "+str(error))
        self.speak(str(output))

def create_skill():
    return SealEyeCommand()
 17:28:17.947 | INFO     | 21095 | Testa | commandList: ['command', 'echo test']
 17:28:17.947 | INFO     | 21095 | Testa | command: echo test
 17:28:17.957 | INFO     | 21095 | Testa | Output: test
 17:28:17.958 | INFO     | 21095 | Testa | Error: None

https://mycroft-ai.gitbook.io/docs/skill-development/marketplace-submission

لقد كنت أحاول إيجاد طريقة لإطلاق عنصر واجهة مستخدم البلازما ولم أتمكن من ذلك. مبتدئ هنا. لكنني أطلقت تطبيق mycroft qtapplicsation لكن ذلك لن يتصل. عمل mycroft على كونسول بالرغم من ذلك. الدردشة على أحدث kubuntu. أعلم أنه قيل إنها ليست مشكلة أساسية في mycroft ولكن هذا كان الأقرب إلى الموضوع آسف. ربما شخص ما يمكن أن يساعدني أو يوجهني إلى الطريق؟

watchdominiondotcom ، أود أيضًا أن أطرح مشكلة على https://github.com/MycroftAI/installers/issues ، لأنهم الأشخاص الرئيسيون الذين يتعاملون مع البلازمويد. لم أسمع أي رد على مشكلتي بالرغم من ذلك.

ما الذي تحاول استخدام القطعة من أجله؟ ربما يمكننا العمل على الحصول على الوظيفة للعمل مع مهارة Mycroft العادية .. لقد انتهيت للتو من الحصول على مهارة قيادة CLI والتي من الناحية النظرية يجب أن تفعل أي شيء تريده على سطح المكتب. أنا على وشك المحاولة والبدء في النقل عبر النافذة الأساسية المتحركة ، وما إلى ذلك ، وظائف من الأداة ومهارة مشغل سطح المكتب .. لا ينبغي أن تكون صعبة للغاية

https://github.com/MycroftAI/skill-desktop-launcher

watchdominiondotcom يمكنه حتى الآن تصغير النافذة واستعادتها ، وكذلك القيام بالإملاء الأساسي:
https://github.com/MycroftAI/mycroft-skills/issues/1343

إغلاق هذا كما أضفته في نموذج الإصدار في mycroft-Skills

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

tmajibon picture tmajibon  ·  9تعليقات

ChanceNCounter picture ChanceNCounter  ·  8تعليقات

tiagochiavericosta picture tiagochiavericosta  ·  6تعليقات

krisgesling picture krisgesling  ·  5تعليقات

fermulator picture fermulator  ·  6تعليقات