DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-harness-updater

l

dsh-harness-updater

Manifest valid

Claude Code / Codex CLI update detection, prompting, and one-click channel updates for DeepSeek Harness

UI (client)hasBundlePatch

dsh-harness-updater

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.

What it does

  1. Detects each harness on PATH (Windows .cmd/.ps1 shim aware) and probes <harness> --version with a bounded timeout.
  2. Classifies the install channel from the resolved binary path: native installer, npm / pnpm / bun global, Homebrew, or manual-only.
  3. Checks npm (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.
  4. Prompts: a persistent Updates card in DSH Settings → Plugins lists each harness with current → latest and an in-place Update button. Under DSH Native it also shows the native app's own self-update status.
  5. Updates on click only — never silently. The runner serializes per channel lock, enforces a hard timeout with process-tree termination, caps captured output, then re-probes to verify and reports succeeded, unchanged, or failed.
Detected channelUpdate command
Claude native (~/.local/bin/claude*)claude update
npm globalnpm install -g <pkg>@latest
pnpm globalpnpm add -g <pkg>@latest
bun globalbun install -g <pkg>@latest
Homebrewbrew 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.

Safety model

  • Every route is loopback + same-origin gated; updates are POST-only mutations.
  • One update per harness at a time; updates sharing a package manager queue behind a shared lock instead of racing.
  • DISABLE_UPDATES=1 in the Harness environment blocks all automatic paths.
  • Child processes are killed as a tree on timeout (Unix signals / taskkill /t /f).
  • Updates are never started without a user click; nothing runs on a timer.

Install (local development)

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).

Development

pnpm install
pnpm check        # typecheck + build + test

Configuration

All fields are editable in DSH Settings → Plugins → Harness updater (restart applies):

FieldDefaultMeaning
enableUpdateCheckstrueQuery npm for latest versions
statusRefreshIntervalMs900000Background status poll interval (min 60000)
hoverRefreshMinAgeMs30000Min age before a forced refresh is allowed (min 5000)
probeTimeoutMs5000Timeout for each --version probe (min 1000)
latestTimeoutMs4000Timeout for each registry lookup (min 1000)
latestVersionTtlMs3600000Registry result cache lifetime (min 30000)
updateTimeoutMs300000Hard timeout for an update command (min 30000)
claudeCommand / codexCommand / npmCommandclaude/codex/npmExecutables to use

License

MIT

Comments

Loading…

Similar plugins

dsh-hooks-pack

by chenzhi-clude

One-click Claude Code and Codex hooks for DeepSeek Harness: auto-discovers your existing hooks config and runs it on the official bridge plugins.

Tools & CapabilitiesManifest valid

★ 0

↓ 42/wk

MIT

JavaScript

Aug 25, 2026

dsh plugin --profile web add dsh-hooks-pack

by cogine-ai

Claude-Code-Styled TUI for DeepSeek Harness

Desktop clientsManifest valid

★ 8

↓ 126/wk

MIT

TypeScript

Sep 17, 2026

dsh plugin --profile web add dsh-claude-tui

by patrick1099

Loads Claude-style plugins into DeepSeek Harness (dsh): discovers skills, commands and optional SessionStart hooks from Claude plugin directories, with hot command reload and uninstall cleanup.

Development & InfrastructureManifest valid

★ 1

↓ 53/wk

MIT

JavaScript

Aug 31, 2026

dsh plugin --profile web add dsh-claude-plugin-loader

by aa2246740

Continue Codex, Claude Code, Cursor, Grok, and Pi work in DeepSeek Harness.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 4

↓ 17/wk

Apache-2.0

Python

Sep 29, 2026

dsh plugin --profile web add dsh-resume

by sjh9714

Try DeepSeek Harness with your existing Claude Code setup. Preview skills and configuration before applying. Codex and OpenCode supported.

Security & AuditDevelopment & InfrastructureManifest valid

★ 14

MIT

JavaScript

Sep 28, 2026

dsh plugin --profile web add dsh-movein

by Leshm0321

Drive the Claude Code and Codex installations already on your machine from the DeepSeek Harness browser UI.

Manifest valid

★ 0

MIT

TypeScript

Sep 28, 2026

dsh plugin --profile web add dsh-plugin-local-agent-bridge