zhengjy01/dsh-updater ↗★ 0

@zhengjunyao/dsh-updater

监测版本源并分级展示更新风险,支持一键路径与渠道化更新决策 适合运维与测试人员,需在配置中定义更新通道与风险展示策略。

包名
@zhengjunyao/dsh-updater
兼容性
待验证
Harness 依赖范围
^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.1 || ^0.1.5-rc.1
Cordis 依赖范围
^4.0.1
版本
0.1.0
许可证
MIT
最近更新
2026年9月13日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhengjy01/dsh-updater

Configuration

File: DSH_HOME/dsh-updater/config.json (default ~/.dsh/dsh-updater/config.json, mode 0600). It is seeded once from the plugin's composition row; after that the file wins (it is re-read before every update).

FieldTypeDefaultMeaning
enabledbooleantrueMaster switch; when false the routes and tools stay unmounted
announceToAgentbooleantrueAnnounce the plugin (tools and behaviour) in the agent system prompt
entry'sidebar' | 'ball' | 'both' | 'off''sidebar'Where the panel entry lives in the GUI
channel'latest' | 'next' | 'alpha''latest'Which npm dist-tag to follow when resolving the target version
checkIntervalMinutesnumber180Background re-check interval in minutes (0 disables the timer)
checkOnBootbooleantrueRun one check shortly after the host boots
registrystring'https://registry.npmjs.org'npm registry base URL
apiBasestring'https://api.github.com'GitHub API base URL
githubTokenstring''Optional GitHub token — raises the 60 req/h unauthenticated release limit
cacheTtlMinutesnumber30How long a cached registry/releases fetch stays fresh (minutes)
npmArgsExtrastring[][]Extra arguments appended to the npm install command (at most 20)
backupWhenUpdatingbooleantrueTake a full backup of the current install before replacing it
backupCountnumber3How many pre-update backups to keep
autoRollbackbooleantrueRestore the backup automatically when the new version fails to boot
confirmOn'warn' | 'high' | 'never''high'Risk levels that require an explicit confirmation before updating
fallbackPortnumber3098Port for the detached recovery console (tries +9 further when busy)
bootTimeoutMsnumber180000How long the new host may take to answer before the attempt fails
maxAttemptsnumber2Install attempts per update request (1 = no automatic retry)
killGraceMsnumber6000Grace period after SIGTERM before the helper SIGKILLs the old host
portFreeTimeoutMsnumber25000How long to wait for the old host to release its port
lingerMsnumber4000How long the helper keeps its console up after success before exiting
readyConfirmMsnumber4000How long a boot that answers the port must hold before it is called ready
bootWatchMsnumber30000How long a host that reported ready is still watched afterwards
installTimeoutMsnumber600000How long the npm install itself may run
logLinesnumber400Lines of log kept for display
autoReloadbooleantrueAuto-reload the page once the new host answers
showOverlaybooleantrueShow the full-screen overlay while waiting
probeIntervalMsnumber1200Reconnect probe interval (ms)
historyLimitnumber40Update records kept in history.json

Every field is clamped to a sane range (maxAttempts 1–5, backupCount 0–20, installTimeoutMs 30000–3600000, …); illegal values silently fall back to the defaults, so the config file can never make the plugin throw.