The core idea of DeepSeek Harness is “everything is a plugin.” After a plugin is installed, it can be hard to notice whether it has been updated unless you actively check. dsh-update-notifier addresses this information gap by scheduling scans and asking the user for confirmation when an update is available.
What This Is¶
This is a plugin maintained by Stuart Hu, used to monitor the npm versions of installed DSH plugins. It compares the local installation with the registry’s latest tag every hour and requests approval through a UI bubble when a new version is found. It never executes upgrades itself; instead, it sends the approved instruction to the DSH Agent for execution.
Core Features¶
- Scheduled and manual checks: By default, it checks once per hour, and can also be manually triggered immediately with the
/check-updatescommand. - Approval bubble: New versions are presented as bubbles; after the user selects one, the Agent performs the upgrade.
- Remembered rejections: Versions that are not selected are recorded in
<profileDir>/.dsh-update-notifier.jsonand will not be asked about again unless the latest registry version changes. - Safe execution: The plugin does not run the package manager directly; it only sends text instructions to the Agent.
Installation and Activation¶
Install the plugin using the DSH CLI:
dsh plugin --profile web add dsh-update-notifier
After installation, restart the dsh process for it to take effect. This plugin requires a Node.js 18+ environment (for global fetch) and is compatible with dsh 0.1.0-rc.6+.
Typical Usage¶
Manual Check¶
In a DSH session, enter the following command to immediately scan for plugin updates in the current session:
/check-updates
The system returns the check results and displays an approval bubble. If the bubble cannot be displayed (for example, there is no UI environment), the results include the upgrade command directly.
Executing an Upgrade¶
- Select the plugin to upgrade in the bubble.
- The DSH Agent receives the instruction and executes a command similar to the following:
pnpm --dir <profileDir> add <pkg>@<latest>
Configuring Check Frequency¶
Configure the update-notifier node in cordis.patch.yml:
update-notifier:
interval: 3600000 # 默认 3600000ms (1小时),最小 60000ms
initialDelay: 10000 # 启动后 10 秒开始第一次检查
Applicable Scenarios and Notes¶
Applicable Scenarios¶
- DSH users who need to maintain plugin versions over the long term.
- Scenarios where you want to manage updates for multiple plugins centrally and avoid missing any.
Limitations and Notes¶
- Registry installation only: The plugin must be installed via npm into
node_modules; local links or built-in plugins are not visible. - Latest tag only: The plugin does not support pinning to
next,beta, or other pre-release versions, or to a specific version. - One bubble at a time: If a bubble is already awaiting a response, new checks are skipped or rejected.
- Opt-out mechanism: A plugin can declare
{ "dsh": { "updateNotifier": false } }in itspackage.jsonto opt out of update notifications. - Security mechanism: The plugin will not attempt to upgrade any package that has not been approved. Approved commands are executed by the Agent; the plugin layer does not operate the shell directly.
Short Conclusion¶
dsh-update-notifier addresses the pain point of manually maintaining plugin versions by integrating version checking and the approval workflow into the DSH session. It provides flexible control via the /check-updates command and configuration file, and ensures the safety of upgrade operations.