neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Your coding agent needs you, a build fails, a long command ends — and your keyboard, light bar, smart lights or screen edge say so. Local, no account.
Developer toolsPython · JavaScriptGitHub @BrxerqOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Something happens on your computer, the devices around you react. RGB keyboards, light bars, smart lights, screen and notifications for Claude Code, Codex, builds and scripts.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Something happens on your computer → the devices around you react.
Lumen is a universal device-feedback layer for developers. Your AI coding agent finishes a task, a build fails, a deploy lands, a long command ends — and your keyboard flashes, your light bar changes color, your smart lights pulse, your screen edge glows, or you simply get a notification and a sound. Whatever hardware you have, Lumen finds the best way to tell you.Read the full README ↗Lumen is a universal device-feedback layer for developers. Your AI coding agent finishes a task, a build fails, a deploy lands, a long command ends — and your keyboard flashes, your light bar changes color, your smart lights pulse, your screen edge glows, or you simply get a notification and a sound. Whatever hardware you have, Lumen finds the best way to tell you.
five_hour_used >= 90).WHEN agent.finished THEN keyboard → flash green ×2 AND notification. A visual rule builder, no config files.127.0.0.1. No accounts, no cloud, no telemetry: the dashboard loads nothing from the internet, fonts included.macOS and Linux
curl -fsSL https://brxerq.github.io/lumen/install.sh | sh
Windows (PowerShell)
irm https://brxerq.github.io/lumen/install.ps1 | iex
Then run lumen. Both lines fetch the standalone build for your platform from the
latest release, check it against the
published SHA-256, and put it on your PATH — no Python, no toolchain. After that Lumen
updates itself from Settings → About. You can also download the binary by hand from
the releases page.
Mac downloads are architecture-specific: lumen-macos for Apple Silicon and
lumen-macos-x86_64 for Intel. The installer and in-app updater select the
matching build. Both builds have CI checks on macOS 15; physical keyboard
backlight support still depends on the Mac model and macOS version.
pip install git+https://github.com/Brxerq/lumen
lumen
Or from a clone, for development (see docs/DEVELOPMENT.md):
git clone https://github.com/Brxerq/lumen lumen && cd lumen
pip install -e .
lumen
pip install --upgrade git+https://github.com/Brxerq/lumen re-resolves from this repository.
Install from this repository, not from PyPI: the name
lumenthere belongs to an unrelated project.
The first run opens the dashboard at http://127.0.0.1:6733 and walks you through it: scan for hardware, test each device, connect your agents, choose what happens when a task finishes, fire a test. Enable Start at login in Settings and forget about it — Lumen lives in the tray.
| Devices | Automations |
|---|---|
| Integrations — both agents' limits, resets and events |
|---|
| Device | Adapter | Capabilities | Notes |
|---|---|---|---|
| ASUS Aura laptops — ROG, TUF, Zephyrus (keyboard zones + light bar) | asus_aura | color, zones | Raw HID, no vendor software. Verified on ROG Strix G513RM; other Aura Core models are detected and marked unverified. |
| Most other RGB laptops and boards — Razer, Corsair, Logitech, SteelSeries, MSI, HyperX, ASUS Aura, Gigabyte, RAM, strips, fans… | openrgb | color, zones (per-key wave on keyboards) | Anything OpenRGB drives. Install OpenRGB and enable its SDK server; Lumen launches it if needed. |
| Linux laptop keyboard backlights | linux_backlight | brightness | /sys/class/leds/*kbd_backlight*. Pulses/blinks brightness. |
| MacBook keyboard backlight | mac_backlight | brightness | Private CoreBrightness framework, no helper to install. Apple Silicon and Intel. Pulses/blinks brightness. |
| Philips Hue | hue | color, brightness | Bridge found automatically; pair from the Devices page. Restores the previous light state after an effect. |
| Govee lights | govee | color, brightness | LAN API (enable LAN Control in the Govee app). No cloud key. |
| Screen edge glow | screen | color | Thin always-on-top border on any OS. Transient effects only unless targeted explicitly. |
| Notch status tab | notch | color, zones | Dark tab hanging from the top of the screen; one lit bar per open agent tab that fills with its context window, plus your Claude and Codex 5-hour / 7-day usage; hover for details, click a row to jump to that terminal. Hidden when idle or during full-screen apps; position and on/off in Settings. |
| System notifications | notification | notify | Windows toast, macOS notification center, notify-send. |
| System sounds | sound | sound | Eight tones — chime, blip, knock, descend, bell, ping, fanfare, alert — synthesised on first use, so every platform sounds the same and nothing is licensed from anyone. Pick one per automation; the slider on the Devices page is the volume. |
Effects degrade gracefully: a flash on a brightness-only backlight becomes a blink, wave on a single-zone light becomes a pulse. The rule builder only offers what a device can do.
Want your hardware here? See docs/PLUGINS.md — most adapters are under 100 lines — or open a device request.
| Source | How | Events |
|---|---|---|
| Claude Code (CLI, VS Code, Cursor, JetBrains, desktop) | One-click hook install, plus a hook-free transcript fallback | agent.running, agent.needs_input, agent.finished, agents.status, agents.sessions (the open tabs share the keyboard zones), claude.usage (5-hour, 7-day and per-model limits) |
| Codex (CLI, VS Code, desktop) | Hook install + rollout fallback | same, plus codex.usage |
| GitHub Actions | Polls gh run list for the repos you choose | github.workflow.succeeded / .failed |
| Terminal & scripts | lumen exec -- <cmd>, lumen emit <type>, lumen timer 25m, shell snippet for slow commands | command.*, timer.finished, anything |
| Webhook | POST /api/events {"type": "build.failed"} | anything |
lumen exec -- npm run build # command.succeeded / command.failed
lumen emit deploy.succeeded --data name=api
lumen timer 25m --name pomodoro
curl -X POST localhost:6733/api/events -d '{"type":"build.failed","data":{"name":"web"}}'
Rules are WHEN an event (optionally filtered on its data) THEN one or more actions. Actions are an effect on a device or on all compatible devices:
| Effect | Needs | Persistent? |
|---|---|---|
| Set color / Turn off | color | yes — stays until another rule changes it |
| Flash, Pulse | color | no — plays for a few seconds, then the base color returns |
| Wave | zones | no |
| Pulse / Blink brightness | brightness | no |
| Notification | notify | — |
| Sound | sound | — |
The defaults mirror your agents' overall status (red = waiting for you, amber = working, green = idle), flash green twice when a task finishes, and flash red when a build fails. Reduce flashing in Settings turns every flash into a smooth pulse no faster than 2 Hz.
lumen run the daemon (tray icon + dashboard)
lumen run --no-tray same, in the foreground
lumen scan list detected devices
lumen test <device> [effect] [#rrggbb]
lumen emit <type> [--data k=v]
lumen exec -- <command>
lumen timer 25m [--name x]
lumen connect claude|codex install agent hooks (disconnect to remove)
lumen autostart on|off
lumen open open the dashboard
integrations ──emit──▶ EventBus ──▶ rules ──▶ EffectPlayer ──▶ devices
claude, codex, │ │ asus_aura, openrgb, hue,
github, terminal, └── activity log └── base color + transient effects,
webhook 30 fps, writes only on change
Read docs/ARCHITECTURE.md for the full picture and docs/API.md for the local HTTP API the dashboard uses.
Issues and pull requests are welcome — see CONTRIBUTING.md, the roadmap and the plugin guide. Good first contributions: a device adapter for hardware you own, a new integration, or a screenshot from a setup we haven't seen.
pip install -e ".[dev]"
pytest
MIT licensed — see LICENSE.