Gemenskapslösning

Anpassade widgetar i ZimaOS: Vad du kan bygga idag

A ZimaOS user proposed native customizable widgets for weather, Pi-hole, memos, AI chat and API-driven cards on the home dashboard.

Aktuellt svar: Inbyggda godtyckliga HTML- eller JavaScript-widgetar är inte en publicerad ZimaOS-funktion

Förslaget från 2026 efterfrågade widgetar som kunde visa väder, Pomodoro-timers, Pi-hole-kontroller, anteckningar, AI-chatt och svar från anpassade endpoints. Nuvarande ZimaOS publicerar inbyggda systemkort och ett OpenAPI för integrationer, men dokumenterar inte någon inbyggd funktion där användare kan klistra in godtycklig HTML, CSS eller JavaScript i hemsidans instrumentpanel. Det innebär att önskemålet fortfarande är en idé för produktutveckling, medan externa instrumentpaneler som använder API:er redan är praktiskt genomförbara idag.

ZimaOS-instrumentpanel med en föreslagen anpassad widgetyta under systemets lagrings- och nätverkskort
Förslaget placerar en konfigurerbar widgetsektion under ZimaOS standardkort för system, GPU, lagring och nätverk.

Använd ZimaOS OpenAPI för data i stället för att skrapa instrumentpanelen

Nuvarande ZimaOS tillhandahåller programmerbara gränssnitt för lagring, användare och systemtjänster. En anpassad instrumentpanel kan anropa dessa API:er och visa egna kort utan att vara beroende av privata frontend-rutter. ZimaOS OpenAPI är den stabila integrationsytan.

Homarr är den snabbaste vägen till en anpassad instrumentpanel

Om målet är visuell sammansättning snarare än inbyggd integration erbjuder Homarr redan dra-och-släpp-widgetar, integrationer, ikoner och autentisering. Homarrs Docker-installation anger den aktuella distributionsmetoden. ZimaOS appkrav hjälper dig att dimensionera den extra tjänsten.

Varför godtycklig JavaScript i administrationsgränssnittet innebär hög risk

En widget som kan köra obegränsad JavaScript i den autentiserade NAS-instrumentpanelen skulle dela en mycket privilegierad origin. En skadlig eller felaktig widget skulle kunna läsa data, utlösa åtgärder eller fånga sessionsinformation. Om inbyggda widgetar införs behöver en säkrare design sandboxning, behörighetsomfattningar och ett kontrollerat widget-API.

OWASP:s risker med cross-site scripting förklarar det grundläggande säkerhetsproblemet i webbläsare.

Föredra skrivskyddade widgetar för övervakning

CPU-användning, lagringskapacitet, temperaturer, drifttid och tjänstehälsa är enklare att exponera säkert än skrivåtgärder. En knapp för att ”inaktivera Pi-hole” eller ”starta om container” kräver starkare autentisering, spårbarhet och bekräftelse eftersom ett klick i instrumentpanelen kan ändra infrastrukturens tillstånd.

Fråga effektivt i stället för varannan sekund

Frekvent avfrågning skapar ständiga bakgrundsbegäranden på en server med låg energiförbrukning. För lagring, temperaturer och tjänstehälsa räcker ofta 30–60 sekunder. Väder kan behöva uppdateras bara med flera minuters mellanrum. Använd händelsestyrda uppdateringar när det är möjligt i stället för att fråga efter allt med samma intervall.

Håll hemligheter på serversidan

Om en widget behöver en API-token för väder, Pi-hole, AI eller någon annan tjänst ska du inte bädda in den i JavaScript som körs i webbläsaren. Använd en backend-proxy eller en integration på serversidan som håller autentiseringsuppgifter utanför klientpaketet. ZimaOS HTTPS-proxy är användbar när tjänster behöver åtkomst via webbläsaren.

Använd en separat instrumentpanel när du vill ha maximal frihet

En fristående instrumentpanel i en container ger full kontroll över layout och integrationer utan att ZimaOS behöver ändras. Den klarar också ombyggnader av ZimaOS frontend bättre. Länka tillbaka till den inbyggda administrationsinstrumentpanelen för privilegierade uppgifter i stället för att kopiera alla systemkontroller till ett anpassat lager.

Vad ett säkert inbyggt widgetsysteм skulle behöva

En robust implementation skulle definiera widgetmanifest, begärda behörigheter, isolerad rendering, hastighetsbegränsningar, versionskompatibilitet, hemligheter på serversidan och en tydlig skillnad mellan skrivskyddade widgetar och widgetar som ändrar tillstånd. Den bästa delen av det ursprungliga önskemålet är behovet av en förstklassig utbyggnadsyta, inte obegränsad kodkörning.

Versionshantera din anpassade instrumentpanel separat från ZimaOS

Håll widgetkod, API-adaptrar och konfiguration i versionshantering. När ZimaOS ändrar en API-version eller ett autentiseringsflöde kan du uppdatera integrationen medvetet i stället för att förlora ett handredigerat skript i en container. Ett litet kompatibilitetslager gör också att samma instrumentpanel kan kommunicera med flera ZimaOS-enheter utan duplicerad kod.

Vanliga frågor

Kan jag lägga till anpassade widgetar direkt i ZimaOS?

Det aktuella offentliga materialet dokumenterar inte godtyckliga användardefinierade HTML- eller JavaScript-widgetar som en inbyggd funktion.

Kan jag bygga en ZimaOS-instrumentpanel med OpenAPI?

Ja. Externa instrumentpaneler kan använda stödda ZimaOS-API:er och visa egna widgetar.

Bör widgetar lagra API-nycklar i JavaScript?

Nej. Håll tjänsternas autentiseringsuppgifter på serversidan.

Är Homarr ett bra alternativ?

Ja, när målet är en anpassningsbar instrumentpanel snarare än att ändra det inbyggda ZimaOS-gränssnittet.

Varför inte tillåta godtycklig JavaScript?

Instrumentpanelen är en autentiserad administrationsyta, så obegränsade skript skulle skapa stora XSS- och privilegierisker.