dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Claude Code / Codex CLI update detection, prompting, and one-click channel updates for DeepSeek Harness
English | 简体中文
Agent harness updates for DeepSeek Harness. Detects the locally installed Claude Code and Codex CLI, compares them against the latest published versions, prompts in the DSH web UI, and — on your explicit click — runs the correct channel-specific upgrade command.
Inspired by the provider maintenance model of T3 Code.
PATH (Windows .cmd/.ps1 shim aware) and probes
<harness> --version with a bounded timeout.registry.npmjs.org/<pkg>/latest) for the latest version with a
4 s timeout and a 1 h cache. Fully disabled via settings when offline.current → latest and an in-place Update button. Under DSH
Native it also shows the native app's own self-update status.succeeded, unchanged, or failed.| Detected channel | Update command |
|---|---|
| Claude native (~/.local/bin/claude*) | claude update |
| npm global | npm install -g <pkg>@latest |
| pnpm global | pnpm add -g <pkg>@latest |
| bun global | bun install -g <pkg>@latest |
| Homebrew | brew upgrade claude-code / brew upgrade --cask codex |
| anything else (WinGet, standalone installers) | manual: copyable hint, no one-click |
The updater invokes npm with explicit arguments and lets npm run the package lifecycle required to install the CLI.
DISABLE_UPDATES=1 in the Harness environment blocks all automatic paths.Reference the plugin from your DSH profile:
// ~/.dsh/profiles/web/package.json
"dependencies": { "dsh-harness-updater": "link:C:/path/to/dsh-harness-updater" }
Add the bundled patch entry (the repo's cordis.patch.yml inserts it), run
pnpm install in the profile, then restart DSH Web (host half).
pnpm install
pnpm check # typecheck + build + test
All fields are editable in DSH Settings → Plugins → Harness updater (restart applies):
| Field | Default | Meaning |
|---|---|---|
| enableUpdateChecks | true | Query npm for latest versions |
| statusRefreshIntervalMs | 900000 | Background status poll interval (min 60000) |
| hoverRefreshMinAgeMs | 30000 | Min age before a forced refresh is allowed (min 5000) |
| probeTimeoutMs | 5000 | Timeout for each --version probe (min 1000) |
| latestTimeoutMs | 4000 | Timeout for each registry lookup (min 1000) |
| latestVersionTtlMs | 3600000 | Registry result cache lifetime (min 30000) |
| updateTimeoutMs | 300000 | Hard timeout for an update command (min 30000) |
| claudeCommand / codexCommand / npmCommand | claude/codex/npm | Executables to use |