Mycroft-core: Sederhanakan perintah CLI untuk menghentikan dan memulai layanan Mycroft

Dibuat pada 15 Sep 2017  ·  8Komentar  ·  Sumber: MycroftAI/mycroft-core

_Asal: Masalah ini diangkat berdasarkan percakapan b/w @kathyreid dan @penrods dan ditujukan untuk membuat menghentikan dan memulai layanan Mycroft lebih intuitif_

Cerita pengguna

Sebagai pengembang atau pengguna baris perintah Mycroft, saya ingin proses untuk menghentikan dan memulai layanan Mycroft menjadi intuitif, sehingga saya dapat fokus pada perluasan platform daripada penggunaan dasar.

Sebagai pengelola inti Mycroft, saya ingin proses untuk menghentikan dan memulai layanan Mycroft menjadi intuitif sehingga volume pertanyaan 'Memulai' berkurang, memungkinkan saya untuk memfokuskan waktu saya untuk memperluas fungsionalitas dan men-debug masalah lanjutan

Sebagai pengembang, pengguna CLI, atau pengelola inti Mycroft, saya ingin memulai dan menghentikan layanan menjadi intuitif dan berparameter sehingga pengembangan di masa mendatang dapat dengan mudah memicu penghentian layanan, memulai, dan memulai ulang.

Kriteria penerimaan

  • Memulai, menghentikan, dan memulai ulang layanan Mycroft mengikuti sintaks standar dan intuitif. Misalnya ini dapat mencerminkan sintaks yang digunakan oleh systemctl di Ubuntu - di sepanjang baris:
$ mycroft [action] [subservice] [parameter]

misalnya.

$ mycroft start all
$ mycroft stop all
$ mycroft restart all

$ mycroft start voice
$ mycroft start all --quiet
  • Pendekatan ini harus disosialisasikan dengan, dan masukan dicari dari, komunitas Pengembang Mycroft
  • Sintaksnya harus didokumentasikan dengan jelas baik di README.md untuk repo mycroft-core, dan juga di docs.mycroft.ai (ini akan menjadi tugas @kathyreid )
medium Enhancement - proposed help wanted

Komentar yang paling membantu

Saya ingin mengusulkan agar kami melakukan ini dengan beberapa skrip yang sangat mudah ditemukan. Yaitu:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

Saat hanya menelusuri sistem file, ini akan melompat ke pemula -- "oh, begitulah cara Anda memulainya!"

Kemudian saya secara opsional mendukung nama layanan tertentu sebagai parameter. Misalnya
mycroft-start.sh [semua | suara|keterampilan|... ]
mycroft-stop.sh [semua | suara|keterampilan|... ]

Tidak perlu memulai ulang, "mulai" harus menghentikan apa pun yang sudah berjalan (kami tidak dapat mengizinkan layanan duplikat berjalan). Tidak ada layanan yang memiliki parameter sehingga kami juga tidak membutuhkannya.

Semua 8 komentar

Saya ingin mengusulkan agar kami melakukan ini dengan beberapa skrip yang sangat mudah ditemukan. Yaitu:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

Saat hanya menelusuri sistem file, ini akan melompat ke pemula -- "oh, begitulah cara Anda memulainya!"

Kemudian saya secara opsional mendukung nama layanan tertentu sebagai parameter. Misalnya
mycroft-start.sh [semua | suara|keterampilan|... ]
mycroft-stop.sh [semua | suara|keterampilan|... ]

Tidak perlu memulai ulang, "mulai" harus menghentikan apa pun yang sudah berjalan (kami tidak dapat mengizinkan layanan duplikat berjalan). Tidak ada layanan yang memiliki parameter sehingga kami juga tidak membutuhkannya.

Ini sangat masuk akal - maaf, pendapat awal saya tentang ini tidak sepenuhnya benar.

Saya mengusulkan UI sederhana. Saya adalah seorang programmer Windows .NET, WPF, dll jadi tanggapan awal saya adalah membuat UI. Bagaimana dengan sesuatu yang sederhana yang menunjukkan status dari berbagai status dan kemudian memiliki tempat untuk memasukkan teks dan menampilkan teks keluaran. Juga bisa mulai, berhenti, apa saja. Ini tidak akan berfungsi pada picroft tetapi yang dapat saya lakukan adalah memiliki backend yang dapat memiliki parameter baris perintah yang akan dibaca oleh UI. Saya tahu semua tipe Linux menyukai baris perintah tetapi untuk artis, desainer, dll. di luar sana, mereka akan menghargai UI. Python memiliki banyak kerangka kerja UI dan jika kita baru memulai dari yang kecil dan melakukan hal-hal mudah itu bisa berkembang dan akhirnya menjadi gila.. Bagaimana? Ingin saya merancang prototipe? Saya telah mencari sesuatu untuk memulai. Ini bisa menyenangkan.

Apakah mycroft ingin secara paksa menghentikan layanan apa pun yang ditemukan cocok dengan apa pun yang coba dimulainya? Apakah ini akan bermasalah dengan salah satu layanan?

Saya juga akan memilih perubahan nama untuk menjatuhkan start.sh (lipat menjadi mycroft.sh, untuk semua kebutuhan granular Anda?), Menambahkan start-mycroft.sh, dan stop-mycroft.sh.

@highjinx411 Saya kira Anda berbicara dengan saya tentang hal ini di Mattermost beberapa hari yang lalu. GUI adalah ide yang bagus, tetapi itu tidak akan menjadi bagian dari mycroft-core, yang dimaksudkan untuk menjadi lintas platform dan (dengan demikian) sebagai independen dari hal-hal seperti sistem manajemen jendela mungkin. GUI seperti yang Anda usulkan akan menjadi enklosur, seperti "enclosure-picroft", misalnya "enclosure-windows".

Jika Anda dapat membuat GUI lintas platform yang sesungguhnya, saya juga akan tertarik untuk melihatnya!

PS Saya sendiri seorang Windows lama -- Saya melakukan sebagian besar pengembangan GUI untuk AutoSketch 4 hingga AutoSketch 10 pada hari itu. Saya suka antarmuka pengguna yang bagus!

GUI lintas platform dapat dimungkinkan tetapi mungkin akan terbatas karena akan memberikan manfaat apa pun yang Anda dapatkan dari membuatnya bergantung pada platform. Jadi Anda mungkin kehilangan panggilan khusus Windows misalnya yang bisa bermanfaat jika aplikasi ada di Windows. Saya setuju bahwa itu harus menjadi bagian dari enklosur untuk memastikan itu sekaya mungkin. Bahkan mengembangkan aplikasi platform "lintas" dengan Xamarin untuk ponsel misalnya memiliki bagian di dalamnya yang bergantung pada platform dan pada akhirnya membangun executable khusus untuk setiap OS. Satu-satunya hal yang harus tersedia untuk semua GUI adalah sesuatu di inti yang mengekspos start, stop, get status dll. Jadi semua GUI dapat memanggil metode yang sama terlepas dari platform apa inti diinstal.. Sebenarnya bahkan hanya mengatakan bahwa sekarang saya tidak yakin karena Linux bekerja dengan baik dengan skrip bash tetapi windows dapat melakukannya dengan baik melalui beberapa metode lain. Jadi pertanyaannya adalah. Apakah GUI akan melihat contoh inti mycroft untuk platformnya? GUI windows hanya melihat inti windows dan GUI Linux hanya melihat inti Linux? Atau mungkinkah gui Windows dapat memiliki IP sebagai input dan mengakses inti di mana pun IP itu diinstal terlepas dari OS?

Saya percaya PR #1107 harus melakukan trik. Bagaimana menurutmu,

Setuju @penrods , tutup masalah ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat