Skip to content

DSH Remote Console 0.9.0 — host list settings

Choose a tag to compare

@cccodder cccodder released this 28 Oct 03:50
3162e2e

Manage the sidebar's SSH host list from DSH itself: no more hand-editing ~/.ssh/config or hosts.tsv just to add a host to the panel.

Added

  • Plugin-row settings page "Hosts": Sidebar → Plugins → the dsh-remote-console row → configuration. One host per line — an ~/.ssh/config alias, or user@host[:port]; lines starting with # are comments. Saving writes config.hosts into that row's profile patch, and the host regenerates (or removes) the sidebar "SSH remote" launchers.
  • Host Config schema via @deepseek-ai/schemastery, with hosts as a volatile() field (only volatile fields appear in DSH's settings). New peer dependency; CI, release and the weekly compat job install the matching version.
  • bin/dsh-ssh --target <spec>: direct targets configured in the settings page skip the menu and connect straight away. Shares the user@host[:port] parser with the one-shot launcher, including the "don't split IPv6 at the last colon" rule.
  • The settings page registers only when the deployment provides ctx.configForms; without it the page is absent and the terminal keeps working.

Changed

  • Launchers now have two paths: aliases use --host, direct targets use --target. Hosts removed from the settings list are cleaned up on the next generation instead of lingering in the dropdown.

Tests

  • tests/settings-host.test.mjs (Config parsing incl. volatile refs, line filtering, launcher generation and cleanup) and tests/settings-client.test.mjs (registration with/without configForms, version consistency). 104 tests total.

Note

The settings page's rendering inside DSH's plugin page could not be checked in a real browser from the build machine — the registration logic is tested, the host-side plumbing is verified in an isolated profile. If the page does not appear, the terminal is unaffected; please report what you see.

Install / update