편집자 노트

HarryLi-7/dsh-update-checker

DSH (DeepSeek Harness) profile plugin: checks the npm registry for newer @deepseek-ai/dsh releases at startup and shows a quiet, GUI-styled notice in the web sidebar when an update is available — click it to copy the update command or open the npm page.

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.

dsh-update-checker

DSH (DeepSeek Harness) profile plugin: checks the npm registry for newer @deepseek-ai/dsh releases at startup and shows a quiet, GUI-styled notice in the web sidebar when an update is available — click it to copy the update command or open the npm page.

Features

  • Checks registry.npmjs.org/@deepseek-ai/dsh at startup (fire-and-forget, never blocks boot), cached for 6 hours; re-polls every 30 min in the GUI
  • Only appears when a newer version actually exists — silent otherwise
  • Sidebar footer item (expanded: icon + "vX.Y.Z 可用"; collapsed: icon only)
  • Popover with: current/latest version, one-click copy of the update command, npm link, and 忽略此版本 (dismiss per version)
  • Style tokens from the DSH GUI (--dsw-* design system) — auto-adapts to light/dark themes
  • Zero disk footprint: host side is pure in-memory; the only persistent state is a single localStorage key (dismissed version, a few bytes, overwritten — never grows)
  • Fail-safe: registry unreachable or network errors → nothing is shown, nothing crashes

Install

This is an official DSH bundle (dsh.bundle manifest + in-package cordis.patch.yml), so it installs through the standard plugin command:

# from the directory that contains the plugin checkout:
dsh plugin --profile web add ./dsh-update-checker

dsh plugin (requires pnpm) links the package into the profile, appends the bundle to dsh.profile.bundles, and the bundle's own patch layer mounts the plugin. Verify without booting, then boot/restart:

dsh --profile web --dump-config   # shows a "# == dsh-update-checker" layer
dsh --profile web

Remove with dsh plugin --profile web remove dsh-update-checker.

For a running harness the bundle takes effect on the next restart — profile package.json is not hot-reloaded (only cordis.patch.yml is). Older DSH versions without dsh plugin: copy the package into $DSH_HOME/profiles/packages/, link it into $DSH_HOME/profiles/node_modules/, and insert update-checker in the profile's cordis.patch.yml.

How it works

SideFileRole
Hostlib/index.jsRegisters GET /dsh-update-checker/check; queries the npm registry on startup and on stale reads (6 h TTL); semver comparison (prerelease-aware); local version read from the running @deepseek-ai/dsh package
Clientlib/client.jsSidebar footer slot item; polls the endpoint every 30 min; popover with copy/npm/dismiss actions; dismissal persisted per version in localStorage

Update command

The popover copies:

npx --yes @deepseek-ai/dsh@latest --profile web

Stop the running harness first, run it in a terminal, then reopen the GUI.

Uninstall

  • Remove the update-checker entry from cordis.patch.yml
  • Remove ~/.dsh/profiles/node_modules/dsh-update-checker and ~/.dsh/profiles/packages/dsh-update-checker
  • Optional: delete the dsh-update-checker.dismissed key from browser localStorage

License

MIT

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.