OPEN · ALWAYS-ON · BUILT ON FLUE

A sensor-style deck for a
durable Flue agent.

GitHub on the left, an always-on chat harness on the right, a live terminal status line across the bottom. Tuned for the ultrawide Corsair Xeneon Edge, fully configurable for any display.

$ npm create neondeck@latest

The deck, live.

Corsair Xeneon Edge, 2560 x 720, 32:9. The default layout is a 12-column surface with a PR queue, Flue sessions, and sensor data designed to stay visible all day.

neondeck v0.4.1CPU 12%MEM 8.4/32GGPU 41%54°CNET ↓1.2 ↑0.3flue:online14:32:07
● GITHUB · @you4 OPEN PRs

flue/harness#1284 · 2h

fix: retry durable steps on cold start● checks pass◆ 2 review

neondeck/core#312 · 5h

feat: configurable statusline sensors● 1 failing△ draft

neondeck/panels#88 · 1d

add github review-requests panel● checks pass↻ rebase
● FLUE AGENT · triage.tsdurable · ctx 18k
What needs my attention this morning?
workflow triage_prs › step 2/4 · github.list_prs()
3 of your 4 open PRs are green. neondeck/core #312 has 1 failing check. flue/harness #1284 has 2 reviewers waiting on you.
yes, re-run it
Message neondeck...Enter send · Ctrl K tools

Built for work in progress.

neondeck keeps deterministic signals and agent conversations in one stable view without turning the companion display into another browser tab.

GitHub work queue

See authored, assigned, and review-requested pull requests without exposing your GitHub token to the browser.

Durable Flue chat

Persistent Flue sessions survive local restarts through SQLite-backed runtime state.

Sensor statusline

CPU, memory, network, and best-effort GPU or temperature readings are normalized behind one local API.

Config-first layout

Panels are typed plugins selected by local JSON config. Change spans, sessions, and panel settings without rebuilding the app.

Local-first runtime

Runs on your machine with your provider keys, your GitHub token, and your SOUL.md agent personality file.

Themeable surface

The Miami tiger-stripe palette ships as the first preset, with light and dark tokens from the start.

CONFIG · NOT A BUILDER

The layout is a file.

Start with the Xeneon Edge preset, then change regions and plugin config in `config/dashboard.json`. The goal is reliable structure first, a drag editor later.

{
  "display": { "width": 2560, "height": 720 },
  "theme": "dark",
  "layout": {
    "columns": 12,
    "rows": 6,
    "regions": [
      { "id": "statusline", "pluginId": "host-metrics", "columnSpan": 12 },
      { "id": "github", "pluginId": "github-pr-list", "columnSpan": 4 },
      { "id": "chat", "pluginId": "flue-chat", "columnSpan": 8 }
    ]
  }
}