Skip to content

dsh-weather

Verified

@dennisrongo/dsh-weather · v0.4.0 · MIT · Web UI

Weather bar for DeepSeek Harness (dsh) — current conditions at the bottom of the web UI via Open-Meteo, rendered into shell.overlay

Install

dsh plugin add @dennisrongo/dsh-weather

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Readme

dsh-weather

npm

npm: @dennisrongo/dsh-weather · source: dennisrongo/dsh-plugins

Weather bar for the DeepSeek Harness web UI — current conditions, a short hourly outlook, humidity and wind, pinned across the top of the page.

  • Data: Open-Meteo (free, no API key) via the browser.
  • Location: localStorage["dsh-weather:location"] = "Your City" if set, else a coarse IP-geolocation provider chain, else New York.
  • Placement: drag the pill anywhere. Until you move it, it stays centred on the space the shell has actually left it, not on the viewport — it measures the shell frame's content box (which already excludes dsh-mission-control's docked rail) and subtracts any overlay flying a data-dsh-overlay-claim="right" marker, today dsh-plan-board's plan panel. After a drag the spot is remembered (cookie dsh-weather-pos, with localStorage["dsh-weather:pos"] as a fallback) so it survives a web UI or DSH Desktop restart. Click the temperature to toggle units; that does not start a drag.
  • Mount point: additive shell.overlay slot — pure-consumer client plugin, empty host half.
  • Units: Fahrenheit by default — click the temperature to toggle °F/°C. The choice is remembered in localStorage["dsh-weather:unit"].
  • Refresh: every 15 min, plus a manual ⟳ button.

Build

pnpm install
pnpm build
pnpm test

Use in a dsh profile

{ "dependencies": { "@dennisrongo/dsh-weather": "file:../dsh-weather" } }
# cordis.patch.yml
- insert:
    - id: dsh-weather
      name: '@dennisrongo/dsh-weather'

Restart the profile; the bar appears across the top of the web UI.