इस प्रोजेक्ट के बारे में
Bose ने SoundTouch क्लाउड बंद कर दिया, जिससे स्पीकर में Bluetooth, AUX, AirPlay और मल्टीरूम ज़ोन तो रहे, लेकिन इंटरनेट रेडियो, प्रीसेट, ब्राउज़िंग और Alexa नहीं रहे। यह रिपॉज़िटरी एक Claude Code कौशल है जो उपयोगकर्ता को उसके स्पीकर को स्वयं-होस्टेड प्रतिस्थापन सेवा की ओर इंगित करने और रेडियो तथा प्रीसेट वापस पाने में मार्गदर्शन करता है। यह एक गैर-तकनीकी उपयोगकर्ता को मान लेता है: कौशल निर्देश देने के बजाय पूछता है, स्वतंत्र रूप से पढ़ता है, और स्पीकर पर कुछ भी बदलने से पहले पुष्टि की आवश्यकता रखता है।
प्रतिस्थापन सेवा gesellix (Bose-SoundTouch) द्वारा AfterTouch है, जिसे कौशल ground truth के रूप में श्रेय देता है; यह रिपॉज़िटरी एक कौशल है, फोर्क नहीं, और प्रकाशित कंटेनर इमेज इंस्टॉल करती है। आवश्यकताएँ हैं: स्थानीय नेटवर्क पर एक या अधिक SoundTouch स्पीकर, उसी नेटवर्क पर Docker-सक्षम मशीन (NAS, Raspberry Pi, छोटा Linux बॉक्स) जिसका पता स्थिर हो, साथ ही Python 3.11+, uv और compose प्लगइन वाला Docker। कौशल का पहला चरण इन्हें स्वयं जाँचता है और जो अनुपलब्ध है उसे इंस्टॉल पंक्तियों के साथ बताता है।
इंस्टॉलेशन Claude Code प्लगइन मार्केटप्लेस के माध्यम से है:
/plugin marketplace add bitranox/soundtouch-decloud
/plugin install soundtouch-decloud
इसे समस्या को सरल शब्दों में बताकर भी ट्रिगर किया जा सकता है, या नाम से आमंत्रित किया जा सकता है। कार्यप्रवाह चरणों में चेक-इन के साथ चलता है: पूर्वापेक्षा जाँच और इंस्टॉलेशन सहायता, स्पीकर खोज, सेवा खड़ी करना, किसी भी बदलाव से पहले हर स्पीकर का बैकअप, चार सेवा URL का पुनर्लेखन, रेडियो स्रोतों की प्रतीक्षा, स्टेशनों की पुनर्प्राप्ति और सत्यापन, प्रीसेट लिखना, और अंत में गिनने के बजाय सुनकर प्लेबैक सिद्ध करना।
कौशल पाँच संदर्भ फ़ाइलें और चार स्क्रिप्ट शिप करता है। हर स्क्रिप्ट एक JSON envelope प्रिंट करती है और सुसंगत exit codes का उपयोग करती है (0 हाँ, 1 नहीं, 2 बता नहीं सके); स्पीकर बदलने वाली किसी भी चीज़ के लिए स्पष्ट --confirm आवश्यक है, इसलिए read-only संचालन हमेशा सुरक्षित रहते हैं। स्क्रिप्ट में preflight जाँच, Docker/compose सत्यापन और सेवा स्वास्थ्य, नेटवर्क खोज, नैदानिक SSH पोर्ट पर URL पुनर्लेखन और रीबूट के साथ onboarding, और प्रीसेट backup/harvest/validate/check/restore/relativize शामिल हैं।
दस्तावेज़ीकरण उन विफलता मोडों को उजागर करता है जिनका गलत निदान आसान है: bridge नेटवर्किंग इंस्टॉल दिखती है पर कुछ नहीं खोजती (host नेटवर्किंग आवश्यक है); केवल account URL का पुनर्लेखन ऐसा स्पीकर देता है जो रजिस्टर और सिंक करता है पर कुछ नहीं बजाता; URL लेखन क्रम भार-वहन करता है क्योंकि लिखने से पहले persist करने से पुराने मान सहेजे जाते हैं जबकि कमांड अभी भी OK उत्तर देते हैं; प्रीसेट में raw stream URL स्वीकार किए जाते हैं पर कभी नहीं बजते, इसलिए प्रीसेट AfterTouch के सापेक्ष रूप का उपयोग करते हैं; कॉपी की गई सेवा settings.json server_url के माध्यम से पुराना पता रखती है; और DHCP-निर्धारित सेवा पता बाद में एक साथ हर स्पीकर को तोड़ देता है।
स्टेशन पुनर्प्राप्ति चार-चरणीय प्रक्रिया है: माइग्रेशन-पूर्व प्रीसेट से stream URL harvest करें (सेवा उन्हें नहीं रखती, इसलिए बैकअप पहले चलता है), मालिक से पूछें कि क्या पुरानी स्टेशन सूची अभी भी चाहिए, शेष स्टेशनों के लिए वर्तमान direct stream endpoints खोजें, और सेवा होस्ट से सत्यापित करें। सत्यापन प्रति बटन रिपोर्ट करता है: audio, playlist, hls, not-audio, dead, या missing। दस्तावेज़ नोट करते हैं कि स्टेशन स्थानांतरित होते हैं और मर जाते हैं, और .m3u प्लेलिस्ट एक naive audio जाँच पास कर सकती है जबकि उसमें कोई ऑडियो न हो।
निरंतर संचालन के लिए, कौशल प्रत्येक स्पीकर के प्रीसेट का off-service स्नैपशॉट, एक one-shot restore, और निर्धारित अलार्मिंग के लिए उपयुक्त read-only जाँच जोड़ता है। यह जानबूझकर ऐसा कुछ भी इंस्टॉल नहीं करता जो स्वयं लिखता हो, क्योंकि AfterTouch v0.137.0 एक account पर स्पीकरों के बीच प्रीसेट साझा करता है। दस्तावेज़ मापे गए डेटा का हवाला देते हैं: 18.7 दिनों में दो मिनट का restore लूप 11692 बार चला और प्रीसेट एक बार लिखे, और एक सोते हुए WiFi स्पीकर ने 1303 अपठनीय रीडिंग दीं जबकि प्रीसेट की कमी कभी नहीं हुई। अलार्म missing प्रीसेट को अनुत्तरदायी स्पीकर से अलग करता है।
स्क्रिप्ट केवल मानक लाइब्रेरी की हैं ताकि वे ऐसी मशीन पर चलें जिसमें कुछ भी इंस्टॉल न हो; pytest एकमात्र परीक्षण निर्भरता है। एक रिपॉज़िटरी कन्वेंशन चेकर manifests, skill frontmatter, शिप की गई स्क्रिप्ट की परीक्षण कवरेज और line endings को मान्य करता है, Linux, Windows और macOS पर CI के साथ। MIT लाइसेंस।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.