Skip to content

Releases

v0.1.0

Choose a tag to compare

@inxups inxups released this 11 Sep 05:16

First release. A dsh plugin pair (host + browser) that adds a My installed plugins tab to the dsh web GUI under Settings → Plugins.

It lists the packages installed into each dsh profile with dsh plugin --profile <name> add, showing the install spec, on-disk version, contributed kind, and each plugin's live loader phase — things the shipped Loader inventory does not report.

What it does

  • Host half, zero runtime dependencies: scans $DSH_HOME/profiles/* and serves a read-only snapshot at GET /dsh-user-plugins/api/list.
  • Browser half, platform modules only: a tab in settings.plugins.tab built from the platform's own UI atoms (Button, Input, Tag, StateDot), so it follows the GUI's design tokens and themes.
  • Shipped @deepseek-ai/* packages are filtered out of the view; the endpoint still returns the complete snapshot.
  • Locale namespace settings.userPlugins with Chinese and English dictionaries; the tab follows a live language switch without re-registration.

Install

dsh plugin --profile web add github:inxups/dsh-user-plugins

Then restart dsh. No build step and no profile configuration are required — the client bundle ships in the repository.

Verified

  • 27 tests across three layers: 13 host (hermetic, fixture-driven), 12 client, 2 end-to-end against a real profile.
  • CI runs the suite on Node 20 and 22, and rebuilds the client bundle to fail if the committed artifact has drifted from its source.
  • Install path checked against pnpm 11 from a real git URL with no allowBuilds configuration: the package resolves and both halves load.

Notes

  • The two end-to-end tests read a real ~/.dsh; they skip themselves where no profile is installed.
  • Requires dsh with the web GUI profile, and Node 20+ to build from source.