baldovinmarques391-design/dsh-plugin-hot-reload ↗★ 0
dsh-plugin-hot-reload
Reads plugin display metadata and browser modules from disk on every query, so edits and moves apply without restarting DSH. 适合插件开发者,修改代码或配置后无需重启 DSH 即可生效。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:baldovinmarques391-design/dsh-plugin-hot-reloaddsh-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:
| Service | Why it is patched |
|---|---|
pluginPackages.metaOf | The 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.listBundles | The plugin inventory calls the Host reader directly, so it needs the same disk result even when the Host already produced a fallback. |
clientModules.resolveMeta / locatePkgJson | Verdicts 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
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 = ''
$env:DSH_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.