Airmetro/dsh-update-checker ↗★ 4
dsh-update-checker
Auto-check DeepSeek Harness and third-party plugin updates, notify in the Web GUI, one-click update with restart watchdog.
AI 分析
自动检测DSH核心及第三方插件的更新,并在Web界面提供一键更新与自动重启。适合需要保持系统和插件处于最新状态的DSH Web端用户。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Airmetro/dsh-update-checkerドキュメント
README 全文を読む ↗Configuration & portability
All paths are auto-detected at runtime — nothing is hardcoded, so the same package works on any machine:
- Plugin / profile directory (
$DSH_HOME/profiles/node_modules): derived from the plugin's own install location (import.meta.url), walking up to the enclosingnode_modules. No configuration needed. $DSH_HOME: derived as the parent of theprofilesroot (state file, backups, and restart log all live there).- Composition file (
cordis.patch.yml): defaults to$DSH_HOME/profiles/web/cordis.patch.yml; if absent, any othercordis.patch.ymlunder$DSH_HOME/profiles/containing the plugin id is used. - Deployment root: detected in two strategies, in order:
- Junction resolution — on machines where
profiles/node_modules/@deepseek-ai/dshis a junction (the common "save C-drive" setup),realpath()yields/node_modules/@deepseek-ai/dsh, so the deployment root is derived automatically. - Fallback candidates — environment variable
DSH_DEPLOY_ROOT, thenprocess.cwd()(launchers usuallycdinto the deployment directory). To point elsewhere, setDSH_DEPLOY_ROOTor append toDEPLOY_ROOT_CANDIDATESat the top oflib/index.js.
- Junction resolution — on machines where
- Restart launcher: self-adapting — probes common names (
start-dsh.cmd,启动 dsh.bat,start-dsh.bat, …) under the detected deployment root; the web port is read from the runningwebServer.port. No machine-specific paths are hardcoded in the restart flow. - Persisted state (suppression flag, backups) lives under the detected
$DSH_HOME— machine-independent.