{"id":50941204,"url":"https://github.com/marcimastro98/xenon","last_synced_at":"2026-06-17T15:01:21.562Z","repository":{"id":354925085,"uuid":"1225546034","full_name":"marcimastro98/Xenon","owner":"marcimastro98","description":"A 100% local, all-in-one dashboard for the CORSAIR Xeneon Edge (and any Windows browser). System monitor, media \u0026 mic, a voice AI that can build dashboard pages for you, a Stream-Deck grid, RGB lighting, and Twitch/OBS control. Free, open-source, no account.","archived":false,"fork":false,"pushed_at":"2026-06-17T13:27:08.000Z","size":19077,"stargazers_count":20,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-17T15:00:16.020Z","etag":null,"topics":["ai-assistant","corsair","dashboard","free","gemini","icue","local-ai","nodejs","obs","ollama","open-source","rgb","stream-deck","system-monitor","twitch","xeneon-edge"],"latest_commit_sha":null,"homepage":"https://marcimastro98.github.io/Xenon/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcimastro98.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/supporters-overrides.json","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"marcimastro98","buy_me_a_coffee":"marcimastro98"}},"created_at":"2026-04-30T11:45:32.000Z","updated_at":"2026-06-17T13:24:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"b2d24e19-091d-4994-baf6-ec58b2fb4ed6","html_url":"https://github.com/marcimastro98/Xenon","commit_stats":null,"previous_names":["marcimastro98/xeneonedgewidget","marcimastro98/xenon"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/marcimastro98/Xenon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcimastro98%2FXenon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcimastro98%2FXenon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcimastro98%2FXenon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcimastro98%2FXenon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcimastro98","download_url":"https://codeload.github.com/marcimastro98/Xenon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcimastro98%2FXenon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34453438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","corsair","dashboard","free","gemini","icue","local-ai","nodejs","obs","ollama","open-source","rgb","stream-deck","system-monitor","twitch","xeneon-edge"],"created_at":"2026-06-17T15:00:46.615Z","updated_at":"2026-06-17T15:01:21.551Z","avatar_url":"https://github.com/marcimastro98.png","language":"JavaScript","funding_links":["https://github.com/sponsors/marcimastro98","https://buymeacoffee.com/marcimastro98","https://www.buymeacoffee.com/marcimastro98"],"categories":[],"sub_categories":[],"readme":"# Xenon\n\nA polished, all-in-one dashboard for the **CORSAIR Xeneon Edge 14.5\" LCD touchscreen** — and any browser on Windows.\nMonitor your PC, control media and audio, mute your mic, manage your day, talk to a built-in AI assistant, drive your RGB lighting, and more — all from one glanceable screen.\n\nEverything runs **100% locally**: no cloud, no telemetry, no account required.\n\n![platform](https://img.shields.io/badge/platform-Windows%2010%2F11-0078D6)\n![node](https://img.shields.io/badge/node-%E2%89%A5%2018.15-brightgreen)\n![license](https://img.shields.io/badge/license-non--commercial-blue)\n![version](https://img.shields.io/badge/version-3.2.0-informational)\n\n![Xenon dashboard overview](docs/images/overview.png)\n\n---\n\n## Built for the Xeneon Edge — great in any browser\n\nXenon is **optimized for the CORSAIR Xeneon Edge** 14.5\" touchscreen: dense, glanceable tiles, comfortable touch targets, and a layout tuned for that display.\n\nBut it is **just a local web app**, so it works just as well in any Chromium-based browser (Edge, Chrome) on a normal monitor — touchscreen or not. Every control works with a mouse, and the layout reflows to fit landscape, portrait, large desktop windows, and the Xeneon Edge's short screen. Use it as a second-monitor dashboard, a browser tab, or an embedded panel in iCUE — same features everywhere.\n\n\u003e **Note:** This is **not a native iCUE widget**. It runs as a tiny local Node.js server and is displayed inside iCUE via an **iFrame**. A native iCUE widget version is in development.\n\n---\n\n## What's inside\n\nA quick tour — see **[FEATURES.md](FEATURES.md)** for the full breakdown with screenshots.\n\n- **Customizable, multi-page dashboard** — modular Bento grid with drag-and-drop layout, resizable tiles, tab-grouping, widget duplication, savable layout presets, and up to 8 pages.\n- **System \u0026 network monitor** — CPU, GPU, RAM, disks, throughput, ping/jitter, and real in-game FPS (PresentMon).\n- **Media** — now-playing from any SMTC app, transport controls, album art, per-source volume.\n- **Audio \u0026 microphone** — output/input device pickers, master volume, mute, and a per-app mixer with real app icons.\n- **Xenon AI** — a voice + vision + chat assistant that can control the whole dashboard. Runs on **Google Gemini (cloud)** or a **free local provider (Ollama)**.\n- **Advanced AI features** *(opt-in)* — **Genesis** (ask the AI to compose a dashboard page for you), **Game Companion** (in-game overlay with FPS, session time and AI screen insights), **Guardian** (PC health history with AI analysis — and viewable trend charts on the System tile), and **Ambient presence** (proactive greetings and alerts).\n- **RGB lighting bridge** — drive Corsair/iCUE LEDs from real data (CPU temp, timers, volume, album art), coexisting with iCUE — plus network lights **Govee, LIFX, WLED, Philips Hue and Nanoleaf** (local, key-free).\n- **Deck** — a programmable, Stream Deck-style key grid (apps, media, OBS, hotkeys, webhooks, soundboard, AI, and more).\n- **Productivity** — calendar (with external Outlook/Google `.ics` sync), tasks, countdown timers, notes.\n- **Weather** — current conditions, forecast, and an hourly timeline.\n- **Focus lock screen** — a distraction-free overlay with clock, now-playing, events, and weather.\n- **Streaming** — Twitch, YouTube, and OBS widgets and Deck actions.\n- **Remote PC control** — turn your phone into a remote for your PC (Sunshine + Tailscale + Moonlight).\n- **Browser** — a live, interactive web page inside a tile (real headless Edge, so framing-blocked sites work too); local-only, streams only while on screen.\n- **Second screen** — a genuine extra Windows desktop inside a tile you can see and control; one-click virtual-display setup, instant resolution (incl. ultra-wide), touch-or-mouse control.\n- **Performance Mode** — game mode auto-pauses ambient effects during full-screen play, plus on-demand, fully reversible system optimization (power plan, priority boost, closing background apps) and optional pausing of heavy live tiles (Browser, Second screen) while gaming or optimizing.\n- **App switcher** — every open window at a glance, tap to focus, with favourite app shortcuts.\n- **Settings** — Light/Dark/Auto theme, accent colours, ambient backgrounds, language (EN/IT/KO/JA/ZH), custom backgrounds, a cinematic daily greeting, optional auto-open at logon, and more.\n\n---\n\n## Installation\n\nXenon runs as a small local Node.js server on `http://127.0.0.1:3030/` and works in any browser. On the Xeneon Edge it is embedded in iCUE as an **iFrame**.\n\n### Step 1 — Run the installer (once)\n\n1. Download the ZIP from **[Releases](https://github.com/marcimastro98/Xenon/releases/latest)** and extract it anywhere.\n2. Open the extracted folder.\n3. Double-click **`INSTALL.bat`**.\n4. If Windows asks permission, click **Yes** (it needs admin rights for hardware sensors and the startup task).\n\nThe installer automatically:\n\n- installs **Node.js LTS** if missing;\n- installs **FFmpeg** if missing (so MP4 backgrounds can be converted for iCUE);\n- installs **LibreHardwareMonitor** and **PawnIO** (CPU/disk temperature sensors);\n- downloads **PresentMon** into `server/presentmon/` (real in-game FPS counter);\n- registers the server to **start silently with Windows** (no terminal, no tray icon);\n- starts the server and opens `http://127.0.0.1:3030/` so you can confirm it works.\n\n\u003e The installer **does not** download the free local-AI components (Ollama / Whisper) — that keeps first-time setup fast. You set those up on demand from **Settings → Xenon AI** only if you switch to the local provider. See [FEATURES.md](FEATURES.md#xenon-ai).\n\n### Step 2 — Use it\n\n**In a browser (any monitor, touch or not):**\nJust open **`http://127.0.0.1:3030/`**.\n\n**On the Xeneon Edge (via iCUE):**\n\n1. Open **CORSAIR iCUE**.\n2. On your Xeneon Edge dashboard, add an **iFrame** widget.\n3. Paste this tag and save:\n\n   ```html\n   \u003ciframe src=\"http://127.0.0.1:3030/\" width=\"100%\" height=\"100%\" frameborder=\"0\"\u003e\u003c/iframe\u003e\n   ```\n\n   Size **XL** is recommended.\n\n### Every time you start your PC after that\n\n\u003e **Nothing.** The server starts silently in the background and iCUE remembers your layout — the dashboard is live before you even open iCUE.\n\nTo remove the startup entry, double-click **`UNINSTALL.bat`**.\n\n---\n\n## Requirements\n\n- **Windows 10 or 11 (x64)**\n- **[Node.js 18.15+](https://nodejs.org/)** — installed automatically by `INSTALL.bat`\n- **[FFmpeg](https://ffmpeg.org/)** — installed automatically; used for MP4 → WebM background conversion\n- **[LibreHardwareMonitor](https://github.com/LibreHardwareMonitor/LibreHardwareMonitor)** + **[PawnIO](https://github.com/namazso/PawnIO)** — installed automatically; CPU/disk temperatures (degrades gracefully if absent)\n- **[PresentMon](https://github.com/GameTechDev/PresentMon)** — downloaded automatically; real in-game FPS (falls back to a DWM reading if unavailable)\n- **[NirCmd](https://www.nirsoft.net/utils/nircmd.html)** — bundled; used for screen capture (Xenon AI vision)\n- **[SoundVolumeView](https://www.nirsoft.net/utils/sound_volume_view.html)** — bundled (NirSoft freeware, unmodified); audio device control\n\n**Optional:**\n\n- A free **[Gemini API key](https://aistudio.google.com)** for Xenon AI (cloud) — everything else works without it.\n- **[Ollama](https://ollama.com)** + **[Whisper.cpp](https://github.com/ggerganov/whisper.cpp)** for the free local AI provider — set up on demand from Settings.\n- **[Sunshine](https://github.com/LizardByte/Sunshine)** + **[Tailscale](https://tailscale.com/)** for Remote Control — installed for you when you opt in; you use **[Moonlight](https://moonlight-stream.org/)** on your phone.\n- `nvidia-smi` is auto-detected for NVIDIA GPU usage/temperature.\n\n---\n\n## Background videos in iCUE\n\niCUE's embedded WebView can reject some MP4 files even when they play fine in Chrome. Xenon handles this for you:\n\n- Upload **JPG, PNG, WebP, GIF, MP4, or WebM** from **Settings → Background media** (up to **200 MB**).\n- When you upload an **MP4**, the server converts it to **WebM (VP8, 30 FPS)** when FFmpeg is available.\n- If you run the server manually without FFmpeg, install it once:\n\n  ```powershell\n  winget install --id Gyan.FFmpeg.Essentials --exact --source winget --accept-package-agreements --accept-source-agreements\n  ```\n\n  Then restart the server and re-upload the MP4. (Existing uploads are not converted retroactively.)\n\n---\n\n## Troubleshooting\n\n- **`node` not recognised** — install Node.js 18+ and reopen your terminal.\n- **Port 3030 already in use** — close any other instance, or change the port in `server/server.js`.\n- **No CPU temperature** — rerun `INSTALL.bat` and accept the admin prompt so it can install LibreHardwareMonitor/PawnIO and register the elevated startup task.\n- **Mic mute does nothing on first launch** — wait a second or two; the device cache populates right after startup.\n\n---\n\n## Documentation\n\n- **[FEATURES.md](FEATURES.md)** — the complete feature guide, with screenshots.\n- **[DEVELOPER.md](DEVELOPER.md)** — developer quick start, HTTP API, file layout, and architecture.\n- **[CHANGELOG.md](CHANGELOG.md)** — full version history.\n- **[docs/streaming-setup.md](docs/streaming-setup.md)** — Twitch \u0026 YouTube connection guide.\n\n---\n\n## Support\n\n**Found a bug?** Open a [Bug Report](https://github.com/marcimastro98/Xenon/issues/new?template=bug_report.md) with your Windows version, what you did and what happened, and any error text from `INSTALL.bat`.\n\n**Have an idea?** Open a [Feature Request](https://github.com/marcimastro98/Xenon/issues/new?template=feature_request.md) — all feedback is welcome.\n\n**If this saved you some time** — no pressure, always appreciated:\n\n\u003ca href=\"https://www.buymeacoffee.com/marcimastro98\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy me a coffee\" height=\"50\" width=\"210\"\u003e\u003c/a\u003e\n\n---\n\n## A note on AI assistance\n\nThis project was built with AI assistance throughout — architecture, code, debugging, and documentation. Every feature was designed, tested, and iterated on hands-on: the ideas, product direction, and every decision about what ships are mine. AI was a tool, not the author.\n\n---\n\n## License\n\n**Custom non-commercial license.** © 2026 Marcello Mastroeni ([marcimastro98](https://github.com/marcimastro98)) — all rights reserved.\n\nXenon is **free for personal, non-commercial use**, and you're welcome to read, run, and modify it for yourself. What is **not** allowed without the author's written permission: selling or monetizing it, integrating it into a commercial product, redistributing or repackaging it as your own work, or using the **Xenon** name and branding for another product. Any permitted fork or redistribution must keep attribution to the original author. See **[LICENSE](LICENSE)** for the full terms.\n\nIncludes [SoundVolumeView](https://www.nirsoft.net/utils/sound_volume_view.html) © Nir Sofer (freeware, redistributed unmodified).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcimastro98%2Fxenon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcimastro98%2Fxenon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcimastro98%2Fxenon/lists"}