← Back to home@baldovinmarques391-design

dsh-plugin-hot-reload

标题、简介、图标和浏览器模块都按磁盘现读现发布:改完立即生效,不用重启 DSH。

Stars
0
Language
JavaScript
Created
Oct 17, 2026
Updated
Oct 17, 2026

Introduction

dsh-plugin-hot-reload

标题、简介、图标和浏览器模块都按磁盘现读现发布:改完立即生效,不用重启 DSH。

A DeepSeek Harness bundle. It replaces three cached resolvers with plain filesystem walks, so a plugin's display metadata and browser module follow the package on disk instead of a verdict cached for the life of the process:

ServiceWhy it is patched
pluginPackages.metaOfThe Host resolves locale/*.json and icon.svg through the Node ESM resolver. A package whose export was added after its first read stays bare until restart.
pluginManager.listBundlesThe plugin inventory calls the Host reader directly, so it needs the same disk result even when the Host already produced a fallback.
clientModules.resolveMeta / locatePkgJsonVerdicts are cached in pkgMeta, null included. Moving a linked package makes its browser half disappear.

Install it into a profile:

dsh plugin --profile web add <path-to-this-checkout>

Editing another plugin's locale/, icon.svg, or manifest then needs only a page refresh. Editing this plugin's own index.js, or adding a new importable subpath export, still needs a restart: Node caches modules by URL.

Test

$env:DSH_RUNTIME = '<dsh-runtime>'
$env:DSH_PROFILE_DIR = '<profile-dir>'
node test/live.test.mjs

The check compares this reader against the Host reader for every package the profile depends on, and reproduces the late-locale case.