Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add @hjj345345/dsh-sm-version-display
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
中文文档 · English documentation
GitHub: hjj345/dsh-sm-version-display npm: @hjj345345/dsh-sm-version-display
Minimum supported DSH version:
v0.2.0-rc.1(inclusive). Current plugin version:v1.2.24.
Introduction
@hjj345345/dsh-sm-version-display is a client + host dual-half plugin for the DeepSeek Harness (DSH) Web interface. It displays the currently installed DSH version above the sidebar Settings button and checks npm and the official GitHub releases for newer DSH versions.
Since v1.1.0, the plugin also adds a first-level DSH Version Checker page in DSH Settings (order: 22, directly below the reference plugin). The page follows the reference plugin’s card-based design and includes the plugin switch, General settings, About, and Install Command sections. It supports Simplified Chinese, English, and Traditional Chinese. Results are cached for the DSH process and remain available when the settings dialog is reopened. When an update is found, the user can confirm a host-side exact-version update or open the complete manual steps.
The following names refer to different things:
- npm package:
@hjj345345/dsh-sm-version-display - DSH runtime plugin ID:
dsh-sm-version-display - GitHub repository:
hjj345/dsh-sm-version-display
Plugin version v1.2.24 identifies this plugin. The version shown in the card is the DSH version read at runtime; they are not the same version.
Features
- Version card: displays a rounded version card on its own row above the sidebar Settings button.
- Runtime detection: the host half reads the installed
@deepseek-ai/dshversion while rendering the page, so the card follows DSH upgrades after restart. - Safe fallback: if the host version is temporarily unavailable, the card shows “Version unavailable” instead of guessing a fixed version.
- Update checks: checks npm and GitHub releases on page load, every 30 minutes, and when the window returns to the foreground; results are cached in the DSH process.
- GitHub rate-limit fallback: falls back to the official Releases Atom Feed when the GitHub API is rate-limited, without affecting npm checks.
- Release types: classifies GitHub versions as Alpha preview, Beta, Release Candidate, or Release.
- Semantic comparison: includes a lightweight comparator for Alpha, Beta, RC, stable, and multi-digit versions.
- Manual refresh: provides a refresh button with a loading state and a native-style DSH Toast after the check completes.
- DSH settings page: registers “DSH Version Checker” below the reference plugin
sm-context-piano(order: 21), atorder: 22, using DSH’s default gear icon. - Reference-style cards: includes the plugin hero, enable switch, General settings, About, and Install Command cards.
- Three language choices: Simplified Chinese, English, and Traditional Chinese, with Simplified Chinese as the default and persisted in DSH Settings.
- Expandable check results: shows side-by-side npm and GitHub cards with versions, release types, dates, links, current installation method, and plugin manager beneath the check button.
- Two update paths: requires risk confirmation, then either runs the host-side update or opens complete commands and steps for manual execution.
- Update output: automatic updates show the command, live output, completion state, and restart reminder.
- Backup choice: updates default to creating a backup, with an explicit skip option that disables backup rollback for that update. Choose a directory on the DSH host and reuse the last location.
- Backup management: list complete, failed, and interrupted backups in the default and registered custom directories, including summed file sizes. Refresh, scan a chosen directory, and confirm selected deletions without following links into external files.
- Failure recovery: failed backups show the stop time, cause, and copied size, with a fresh-backup retry. Rollback requires a complete, validated backup belonging to the update.
- Loopback-only update: only fixed exact-version commands run on the host; GitHub source-only releases fall back to manual build steps.
- Responsive layout: shows a round version icon in the collapsed sidebar rail and wraps text when space is limited.
- Theme aware: uses DSH design-system variables and follows light and dark themes.
- Hover tooltip: the card and collapsed-rail icon show the English plugin name
dsh-sm-version-displayand the current version.
Screenshots / 实际效果截图
The directory picker browses the DSH host, not the remote browser's device. The list does not scan the entire computer; incomplete legacy backups in the default directory are included, and custom locations can be added by scanning a chosen directory. Sizes sum regular-file logical lengths, excluding link targets, and may differ from allocated disk space. Deletion is permanent; deleting the current job's complete backup removes its rollback capability. Backups in use cannot be deleted.
Sidebar version card:
Collapsed sidebar hover tooltip:
Settings page overview:
Dual-source version check results:
Update confirmation dialog:
Update execution record, About section, and install command:
Example states:
vX.Y.Z (Latest)
vX.Y.Z (Update available: vA.B.C)
Installation and removal
Install from npm (recommended)
Run this on the machine where DSH is installed:
dsh plugin --profile web add @hjj345345/dsh-sm-version-display
Restart the DSH Web service or reopen the Web interface after installation:
dsh web
To remove the plugin:
dsh plugin --profile web remove @hjj345345/dsh-sm-version-display
Link a local development directory
For local development, use link: with the plugin directory. The path below is only an example; replace it with your actual path and never commit a personal machine path to the README, source, or npm package:
dsh plugin --profile web add link:C:/path/to/dsh-sm-version-display
Use local linking only for development. Switch back to the npm package for normal use.
Settings page and DSH updates
Open DSH Settings and select DSH Version Checker. Click Check DSH version to expand the npm and GitHub results directly below the button. Results remain cached for the DSH process; clicking Collapse result keeps them collapsed until DSH is restarted.
The command dialog always distinguishes npm and npx. If the host detects a pnpm global installation, it is shown first:
# npm global install
npm install --global @deepseek-ai/dsh@<version>
# npx temporary execution
npx --yes @deepseek-ai/dsh@<version> web
# pnpm global install
pnpm add --global @deepseek-ai/dsh@<version>
npx has no global installation to replace. If a GitHub Release has no matching npm package, follow the dialog’s clone, checkout, pnpm install, build, and launch steps manually. Restart the DSH Web service after any update.
Automatic updates first show the source, target version, release type, and risks. After confirmation, the plugin backs up and checks the target. If a global or profile dependency is pinned to an older version, it provides an exact command to run after stopping DSH. Restart DSH and verify from the plugin page before the update is marked successful. Alpha, Beta, and RC releases may contain breaking changes. Back up .dsh configuration and profile data before switching channels, and use an exact older version such as @deepseek-ai/dsh@0.1.1-rc.2 to roll back.
How it works
DSH host process
lib/index.js
└─ listens to webserver/index-inject
reads version from the installed @deepseek-ai/dsh/package.json
injects globalThis["__DSH_VERSION__"], __DSH_INSTALL_INFO__, and a page token
│
▼
DSH Web browser
client/client.js
├─ registers the sidebar.footer.action card and settings.section page
├─ reads window.__DSH_VERSION__ and renders the version card
├─ GETs the local check route (host caches npm and GitHub releases)
└─ POSTs to the loopback-only update route with fixed exact-version arguments
compares the current version with both sources
Key files in the published package:
| File | Purpose |
|---|---|
lib/index.js |
Host half; injects the current DSH version |
client/client.js |
Client half; card, update checks, Toast, and styles |
cordis.patch.yml |
Mounts the plugin into the DSH profile layer |
LICENSE |
MIT open-source license |
Privacy and network behavior
- The host half reads only the version field and installation-path type from the locally installed DSH package manifest; absolute paths are not sent to the browser.
- The host half queries npm Registry and GitHub Releases and caches results in process memory; GitHub API rate limits fall back to the official Releases Atom Feed; update requests carry the page-level token injected by the host.
- The update route accepts only loopback requests with the matching token and does not accept arbitrary commands or arguments from the browser.
- The request does not include DSH credentials, conversation content, or user files; the plugin does not read chat content.
- If the registry request fails, the current version remains visible and a generic error is shown for manual checks.
- The repository and npm package exclude
.env,.npmrc, tokens, keys, certificates, logs, dependency directories, and local DSH data.
Compatibility
| Item | Requirement |
|---|---|
| DSH | >= v0.2.0-rc.1 |
| Node.js | >= 20 (host runtime) |
| Platform | DSH Web |
| Plugin version | v1.2.24 |
The plugin uses official DSH extension points: dsh.client, sidebar.footer.action, settings.section, webserver/index-inject, and ctx.slots.inject/register. The enabled state and language are stored in the DSH profile configuration. On upgrade, any legacy browser-local settings are migrated to the profile, while existing profile settings take precedence.
The plugin market reads the minimum host version from the npm package's top-level engines.dsh; this plugin currently recommends >=0.2.0-rc.1, matching the table above.
Development and local verification
This plugin uses the hand-written bundle format used by DSH client plugins: window.__ModuleLoader__.load({ id, factory }). It does not require an additional compiler or runtime dependency.
Run these commands from the project root:
npm run check
npm run build
npm run build performs host/client syntax checks, comparator self-tests, settings/update contract checks, package-integrity checks, and README checks.
Changelog
v1.2.24 - 2026-09-30
- Fixed the GitHub Actions pnpm environment so the release workflow can reliably install dependencies and run build, test, and publish steps.
- Fixed the Linux simulation environment for update-terminal tests, covering the standalone update terminal, PowerShell commands, task recovery, and output logs.
- Synchronized the current minimum DSH support version in both READMEs to
v0.2.0-rc.1, including the top badges, compatibility tables, and release-contract checks. - Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.24with release date2026-09-30.
v1.2.23 - 2026-09-30
- Refactored the standalone update terminal and task recovery flow by adding
lib/update-runtime.mjs, which provides reusable PowerShell execution, output capture, and update-task recovery. - Improved offline update handling with an independent console that streams commands and progress, plus stronger auto-continue, offline repair, post-restart recovery, and desktop-installer support.
- Updated the client confirmation modal, update board, and three-language copy for shutdown updates, auto-continue, installer downloads, and recovery actions.
- Added standalone update-terminal and task-recovery tests, expanded backup-route, UI, and release-contract checks, and added the new runtime script to the npm publish allowlist.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.23with release date2026-09-30.
v1.2.22 - 2026-09-30
- Improved offline DSH updates with a PowerShell update console that streams the current command, step, and progress for installation, dependency repair, and recovery.
- Strengthened update-worker shutdown and auto-continue handling with PowerShell console output, a desktop-installer branch, installer download/launch support, restart continuation, and an offline-repair fallback.
- Unified the DSH update confirmation modal styling and action copy, adding three-language text for desktop installation, auto-continue, shutdown updates, and restart handling.
- Updated UI self-tests, release contracts, and the npm publish allowlist so the PowerShell console script, update paths, and new package files remain covered.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.22with release date2026-09-30.
v1.2.21 - 2026-09-29
- Added DSH
0.2.0-rc.1development support: includeddsh-api-remotes, the settings controller, client modules, UI sidebar/primitives/slots, and related RC dependencies, while updating npm peerDependencies and the minimum DSH engine declaration. - Added
@deepseek-ai/dsh-api-remotesto the client injection list so the Remote Settings and DSH 0.2 client dependency chain stay aligned. - Added the pnpm lockfile and a DSH 0.2 integration contract test covering settings configuration, Remote Settings describe/update, volatile fields, UI primitive exports, and the sidebar footer slot.
- Extended release-contract checks to prevent DSH 0.2 dependency versions, lockfile contents, client injection, and npm metadata from regressing.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.21with release date2026-09-29.
v1.2.20 - 2026-09-27
- Improved the sidebar version entry layout: fixed the top ordering and width adaptation of the version capsule, refresh button, and collapsed-rail icon so narrow sidebars no longer squeeze, clip, or overflow them.
- Refined the refresh button styling with consistent control height, theme colors, disabled state, and localized text width for Simplified Chinese, English, and Traditional Chinese.
- Refreshing now synchronizes the active language and can navigate directly to the DSH plugin settings page; collapsed-rail icon clicks use the same settings navigation behavior.
- Removed the old sidebar overlay implementation in favor of lighter capsule and refresh interactions, and updated UI self-tests and CSS contract assertions.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.20with release date2026-09-27.
v1.2.19 - 2026-09-26
- Reworked the sidebar version entry: the footer slot now hosts a compact status capsule (status dot + version number) and a standalone refresh button, whose short content naturally fits any sidebar width and fully resolves the narrow-sidebar overflow and clipped refresh button.
- Clicking the capsule or the collapsed-rail icon opens a body-portal fullscreen panel showing the version, check status, npm/GitHub results, and the refresh button, decoupled from the sidebar layout chain.
- Panel and capsule styles use DSH theme variables with dark-mode overrides, rendering correctly in both light and dark modes; closing works via Esc, mask click, or the close button, and
prefers-reduced-motionis respected. - All three Tooltips switched to
side:"top": bubbles render above the anchor, clamp to a 12px viewport margin, and flip automatically when space is tight, fixing tooltips overflowing the viewport bottom when the capsule sits at the sidebar bottom. - Tests now cover the capsule structure, panel toggling, wide/narrow branch behavior, and Tooltip side assertions.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.19with release date2026-09-26.
v1.2.18 - 2026-09-26
- Fixed sidebar version card width adaptation: the slot fitting rules now all use
!importantwithflex:1 1 0%+width/max-width:100%+min-width:0, so the card width strictly follows the DSH sidebar resize and no longer overflows when overridden by new runtime styles. - The repository status line is now on its own row (
.dvd_sourceTextdisplay:block), and text wraps into multiple lines inside the card without overflowing. - Both Tooltips now use
portal:true, mounting the bubble to body and positioning it against the viewport, so it is no longer clipped or misplaced by the sidebar. - Tests add portal and hardened CSS assertions; verified in the browser at 315px/200px sidebar widths that the card fits the width and text wraps without overflow.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.18with release date2026-09-26.
v1.2.17 - 2026-09-26
- Fixed the DSH 0.1.7 sidebar version card icon crash: version card and toast icons now use the
*Regularcomponents exported by the newdsh-client-ui-primitives; the legacy*Outline16/*Outline14icons are no longer exported, and referencing them as undefined triggered React #130, crashing the wholesidebar.footer.actionslot. - Tooltip labels now use plain text strings to match the new component signature.
handleRefreshnow returns the check promise so tests can await a refresh.- Tests now cover real VersionCard rendering (wide card, tooltip, refresh button state, and the absence of legacy icon names), with fixed button node matching and hook state reset.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.17with release date2026-09-26.
v1.2.16 - 2026-09-26
- Fixed compatibility with the DSH 0.1.7 settings API: the host now registers settings configuration, and the client reads and updates profile settings through the DSH Remote Settings API.
- Added migration of legacy browser-stored preferences: enabled state and language are copied into the DSH profile only for fields not already present there; existing profile values take precedence, and legacy browser data is removed only after migration succeeds.
- Raised the npm package's minimum DSH requirement to
>=0.1.7-rc.1and synchronized the compatibility notes in both READMEs. - Added settings-migration self-tests and updated UI, route, and release-contract tests to cover profile writes, legacy-data migration, and the new settings API.
- Fixed non-editable DSH 0.1.7 settings fields, stale update boards after restart verification, and aligned local development with schemastery 3.18.4.
- Fixed Remote Settings response unwrapping, explicitly injected
remote.settings, and refreshed external settings changes.
v1.2.13 - 2026-09-25
- Improved one-click update recovery when dependency installation or repair requires DSH to be closed. The plugin presents the required steps and command, then rechecks the target version and Web profile after restart.
- Improved update-state recovery and success detection: reopening Settings restores and continues tracking an active job; success is confirmed only after installation and profile verification, and restart-pending jobs expose a re-verification action.
- Declared the minimum DSH version as
>=0.1.7-rc.1in npm package metadata and clarified the requirement in the bilingual compatibility sections. - Added three-language copy and Worker, route, and UI contract coverage for offline updates, post-restart verification, and dependency repair.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.13with release date2026-09-25.
v1.2.12 - 2026-09-24
- Added an npm Trusted Publishing workflow for
v*tag pushes and manual releases frommaster. Before publishing, it verifies that the tag or input version matchespackage.json, then runs the build, tests, and npm publish. - Fixed cross-platform backup-directory path validation and added the corresponding test coverage. The Trusted Publishing workflow also installs the host peer dependency required by route tests so CI can run the full test suite.
- Fixed timeout and list races during automatic-backup deletion: scheduled refreshes are deferred until deletion completes, preventing stale requests from restoring deleted entries; the catalog is then updated and the result is reported.
- Updated the package, client About page, release contract, and bilingual documentation to plugin version
v1.2.12with release date2026-09-24.
v1.2.11 - 2026-09-24
- Improved DSH one-click upgrade backup management with default backups, an explicit skip-backup option, a selectable DSH host directory, and reuse of the last selected backup directory; browsing stays on the DSH host, does not scan the remote browser device, and does not follow symbolic links.
- Added and refined the backup-management card: complete, failed, and interrupted backups in the default or custom directory now show file counts and logical sizes, with refresh, directory scan, and confirmed deletion; in-use, incomplete, or path-changed backups are protected.
- Strengthened failure recovery by showing the backup failure reason, stop time, and copied size, with backup retry support; rollback is allowed only for a complete, validated backup matching the current update task, and a recovery copy is retained.
- Refined the update dashboard, backup-directory chooser, and three-language copy, and added backup-manager, route, UI, and release-contract tests covering directory safety, manifests, progress, deletion protection, and recovery paths.
- Updated the package, client About page, and bilingual documentation to plugin version
v1.2.11with release date2026-09-24.
v1.2.10 - 2026-09-15
- Fixed concurrent update-state writes by giving host and update-worker processes unique temporary files containing their process IDs and random identifiers, preventing shared
.tmpfiles from overwriting one another. - Improved Windows atomic-replace reliability by retrying state-file renames for
EPERM,EACCES, andEBUSYa bounded number of times, then cleaning up the temporary file on success or failure. - Removed the duplicate state write after the Worker starts, preventing the host from overwriting the Worker’s newer upgrade state while recording its PID.
- Extended release-contract checks for host/Worker state-write retry constants,
SharedArrayBufferwaiting, and rejection of the old shared temporary-file naming pattern. - Updated the package, client About page, and bilingual documentation to plugin version
v1.2.10with release date2026-09-15.
v1.2.9 - 2026-09-15
- Improved the DSH upgrade backup-progress and heartbeat dashboard with live backup scan/copy progress, current step, target version, command, and processed-file counts for easier troubleshooting.
- Strengthened Worker heartbeats by recording the last activity time; after 10 minutes without progress the job is marked heartbeat-expired and offers continue waiting, auto repair, or rollback instead of leaving the state ambiguous.
- Improved the repair flow with a Web profile-repair step covering common failures such as profile/config export issues, port conflicts, and a still-running DSH process, with manual repair commands and guidance when needed.
- Improved update-action interaction with an update dashboard, target version, and explicit no-command-output state; wait, auto-repair, and rollback actions now stop or resume the Worker safely during transitions.
- Extended three-language copy and release-contract checks for heartbeat timeouts, progress dashboards, profile repair, update actions, and the upgrade Worker.
- Updated the package, client About page, and bilingual documentation to plugin version
v1.2.9with release date2026-09-15.
v1.2.8 - 2026-09-14
- Improved the safe DSH one-click upgrade flow with a dedicated update worker that runs backup, target-version preflight, global dependency-tree repair, target installation, and installation/profile verification as separate steps without blocking the main process.
- Added recoverable environment backups for the global DSH directory and DSH profile data, including a manifest with version, paths, file count, and byte count; directory traversal does not follow symbolic links.
- Improved failure handling by persisting worker steps, output, warnings, and state; interrupted jobs are marked failed, and completed backups enable auto repair and one-click rollback, with post-rollback version verification and a retained recovery copy.
- Improved client update interaction with backup path, backup file count, step states, and peer-dependency warnings; failed updates now offer auto repair or one-click rollback and poll the new update-action job state.
- Added
lib/update-worker.mjsto the npm publish allowlist and expanded Worker self-tests, virtual-store parsing checks, client update-action checks, and published-file contract checks. - Updated the package, client About page, and bilingual documentation to plugin version
v1.2.8with release date2026-09-14.
v1.2.7 - 2026-09-07
- Removed the
--virtual-store-dirargument, which pnpm rejects for global installs. - When the legacy global virtual-store layout is detected, the plugin first runs
pnpm install --global --force, then runs the normal DSH update command sequentially.
v1.2.6 - 2026-09-07
- Fixed failure to read
virtualStoreDirwhen PNPM stores.modules.yamlas single-line JSON, ensuring one-click updates reuse the existing global virtual-store directory. - Added self-tests for both JSON and legacy line-oriented metadata formats so the update command cannot silently fall back to the old command without the directory argument.
v1.2.5 - 2026-09-07
- Fixed PNPM global-update compatibility around the virtual store directory: the plugin now walks upward from the resolved DSH package to read and validate
virtualStoreDirfrom.modules.yaml, then passes it to the update command when available to avoid dependency-tree location mismatches. - Improved command-path handling for quoted
.modules.yamlvalues, Windows absolute paths, and a bounded search through up to 10 parent directories; arguments containing spaces,&, or quotes are safely quoted for Windowscmd.exeexecution. - Extended the release-contract checks to cover virtual-store resolution, the
--virtual-store-dirargument, and the existing client injection contract so the PNPM compatibility fix cannot regress. - Updated the package, client About page, and bilingual documentation to plugin version
v1.2.5with release date2026-09-07.
v1.2.4 - 2026-09-03
- Fixed DSH client-module loading compatibility by replacing the obsolete
@deepseek-ai/dsh-client-runtimeentry indsh.client.injectwith@deepseek-ai/dsh-client-modules, while retaining the locale, settings, slots, and UI-primitives injections. - Strengthened the release-contract checks to require
@deepseek-ai/dsh-client-modulesand reject any remaining@deepseek-ai/dsh-client-runtime, preventing the client loading entry point from regressing. - Updated the package, client About page, and bilingual documentation to plugin version
v1.2.4with release date2026-09-03.
v1.2.3 - 2026-09-03
- Added bilingual README screenshots covering the sidebar version card, collapsed-sidebar hover tooltip, settings-page overview, npm/GitHub dual-source check results, update confirmation dialog, and update execution record, About section, and install command.
- Added
images/Screenshot/to the npm publish allowlist so the package includes all 6 screenshots referenced by the READMEs. - Synchronized the release-contract checks with the screenshot publish directory and updated the current plugin version and release-date checks to keep documentation, package metadata, and published contents aligned.
- Updated the package, client About page, and bilingual documentation to plugin version
v1.2.3with release date2026-09-03.
v1.2.2 - 2026-09-02
- Fixed compatibility with newer DSH settings services by removing the direct
settingsNamespacehelper import and registering plugin settings with the namespace string, supporting newer@deepseek-ai/dsh-settingsreleases. - Extended peer dependency ranges to support
@deepseek-ai/dsh-settings0.1.2-alpha.2and0.1.2-alpha.4, plus@deepseek-ai/schemastery3.18.2, while retaining existing compatible versions. - Updated the release-contract checks to verify the new string-based namespace registration so the DSH settings compatibility fix cannot regress silently.
- Synchronized the package, client About page, and bilingual documentation to plugin version
v1.2.2with release date2026-09-02.
v1.2.1 - 2026-09-02
- Fixed GitHub version-check rate-limit handling: failed GitHub API requests now fall back to the Releases Atom Feed, with API and feed results normalized to the same version, type, tag, publication date, release link, and npm-availability fields.
- Improved GitHub check status reporting: API, fallback feed, rate-limited, and temporarily unavailable states are distinguished; the sidebar version card, tooltip, result cards, and update toast now keep npm/GitHub sources and statuses visible.
- Improved Release links: whether data comes from the GitHub API or Atom Feed, links are normalized to the official Release page and expose a localized “Click to open” action.
- Completed the three-language copy for the stable
latestchannel, update sources, check channels, feed status, rate-limit messages, and direct Release links in Simplified Chinese, English, and Traditional Chinese; the language selector consistently remains语言/Language. - Extended the release-contract checks for GitHub feed fallback, rate-limit errors, check channels, feed copy, direct Release links, and all localized keys so the new path remains covered.
- Updated the package, client About page, and bilingual documentation to plugin version
v1.2.1with release date2026-09-02.
v1.2.0 - 2026-09-01
- Reworked dual-source version checks to query the npm Registry and official GitHub Releases, showing the current and latest versions, release type, publication date, release tag, link, and npm availability.
- Improved version parsing and comparison for Alpha, Beta, RC, stable, and multi-digit versions, with distinct latest, update available, current newer, and check failed states.
- Improved check timing and caching: checks run on page load, refresh every 30 minutes, and refresh after the window returns to the foreground when the interval allows; results are cached in the DSH process to avoid duplicate requests.
- Updated the settings result UI with expandable side-by-side npm and GitHub cards, current installation method and plugin manager details, plus clear Simplified Chinese, English, and Traditional Chinese labels for the stable
latestchannel. - Added a safer update flow that shows the source, target version, release type, and risks before confirmation; only confirmed fixed-version commands are executed.
- Hardened host-side updates by requiring a loopback address, valid origin, and page-level token, validating stale targets, preventing duplicate jobs, and reporting command output, completion state, failure reasons, and restart reminders.
- Covered multiple update methods: npm and pnpm support host-side one-click updates, npx provides a temporary execution command, and GitHub releases without a matching npm package fall back to clone, checkout, install, build, and launch steps.
- Synchronized the package, About page, and bilingual documentation to plugin version
v1.2.0with release date2026-09-01, and added the corresponding build and localization contract checks.
v1.1.1 - 2026-08-29
- Added the black-and-white outlined plugin logo to both READMEs and the top of the settings page.
- Kept the reference project's 54px desktop settings-page presentation and embedded the PNG so npm installations remain self-contained.
v1.1.0 - 2026-08-29
- Added the DSH Version Checker settings section below the reference plugin, with the default gear icon.
- Added the reference-style plugin settings cards and three-language setting.
- Added expandable version results, npm/npx/pnpm distinction, and a loopback-only one-click update route.
- Unified all user-visible plugin version labels to
v1.1.0.
v1.0.1 - 2026-08-29
- Fixed the DSH bundle import name for the scoped npm package while preserving the runtime plugin ID.
v1.0.0 - 2026-08-28
- Initial release of the DSH Web version display plugin.
- Added runtime DSH version detection, npm registry update checks, manual refresh, and Toast feedback.
- Added responsive sidebar layout, light/dark theme support, and bilingual UI.
- Added semantic version comparison, request timeout handling, and a safe fallback when the version is unavailable.
Author
Author: Jack·Huang Email: jack698698@gmail.com
License
This project is released under the MIT License. Copyright © 2026 Jack·Huang.
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.