DeepSeek Harness 插件

dsh-updater

One-click updates for DeepSeek Harness (DSH). Community plugin — incremental npm tarballs, backup, rollback. Not official DeepSeek software.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Takinggg/dsh-updater
最近更新
2026年8月19日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Takinggg/dsh-updater
插件名:dsh-updater
作者:Takinggg

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<p align="center"> <img src="docs/logo.png" width="96" height="96" alt="dsh-updater — circular refresh icon for DeepSeek Harness"> </p>

<h1 align="center">dsh-updater</h1>

<p align="center"> <strong>One-click updates for DeepSeek Harness (DSH)</strong><br> Community plugin · incremental npm tarballs · backup &amp; rollback · like Codex </p>

<p align="center"> <a href="https://github.com/Takinggg/dsh-updater/actions/workflows/test.yml"><img src="https://github.com/Takinggg/dsh-updater/actions/workflows/test.yml/badge.svg" alt="Tests"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-white.svg" alt="MIT License"></a> <a href="https://www.npmjs.com/package/@deepseek-ai/dsh"><img src="https://img.shields.io/badge/engine-%40deepseek--ai%2Fdsh-111.svg" alt="Updates @deepseek-ai/dsh"></a> <a href="README.fr.md"><img src="https://img.shields.io/badge/docs-français-blue.svg" alt="Documentation en français"></a> <img src="https://img.shields.io/badge/community-not%20official%20DeepSeek-important.svg" alt="Community plugin, not official DeepSeek software"> </p>

<p align="center"> <a href="#install">Install</a> · <a href="#how-it-works">How it works</a> · <a href="#screenshots">Screenshots</a> · <a href="#config">Config</a> · <a href="#security">Security</a> · <a href="README.fr.md">Français</a> </p>

![Hero: HARNESS DSH UPDATER — community plugin for DeepSeek Harness](docs/hero.png)

dsh-updater adds a Settings → Updates panel and a sidebar button to DeepSeek Harness (@deepseek-ai/dsh). It checks npm next / latest, copies your current engine, downloads only packages that changed, swaps the running engine, then restarts — or tells you to quit DSH on a laptop.

It is not official DeepSeek software. It does not fork DSH, does not git pull the source, and never runs sudo or curl | bash.

Why this exists

A full npm install @deepseek-ai/dsh rebuilds a 200-package monorepo in memory and can OOM (we hit a 1 GB heap in Docker). Claude Code / Codex-style tools do not re-resolve the universe on every bump.

This plugin:

1. Reuses the engine already on disk (node_modules, native addons). 2. Fetches changed @deepseek-ai/* tarballs from the npm registry. 3. Keeps third-party deps (commander, koffi, …) when the version matches. 4. Backs up to $DSH_HOME/engine-bak and rolls back on failure. 5. Works everywhere the process is writable: Docker volume, npm -g, nvm, Windows %APPDATA%\npm, pnpm/yarn global, local node_modules, npx cache.

Install

Never dsh plugin add github:… (unpinned). Clone this repo, then add the absolute path:

git clone https://github.com/Takinggg/dsh-updater.git
dsh plugin --profile web add /absolute/path/to/dsh-updater

Windows:

dsh plugin --profile web add C:\absolute\path\to\dsh-updater

Open Settings → Updates, or the Updates control next to Settings.

Screenshots

Confirm & fetchSuccess
![Update overlay: fetch changed packages from rc.7 to rc.8](docs/overlay-update.png)![Success popup after a DeepSeek Harness update](docs/overlay-success.png)

How it works

1. Resolves @deepseek-ai/dsh by walking up from process.argv[1] (DSH_ENGINE_DIR override). 2. Reads npm dist-tags next and latest. Offers a target only if it is newer than the running engine (no accidental downgrade). 3. Backup → $DSH_HOME/engine-bak. 4. Stage on $DSH_HOME/update-stage (never Docker /tmp tmpfs). 5. Incremental tarballs into $DSH_HOME/update-cache. Registry Accept: application/json (avoids npm 406 on version URLs). npm view / npm pack fallbacks for odd registries. 6. Overlay, optional npm rebuild for native addons that actually changed. 7. Restores the dsh PATH shim when the install is a classic npm global prefix. 8. Docker / PID 1 / DSH_ENGINE_PERSIST=1: process exits 0 so Compose restarts it. A success popup is shown after reload. 9. Laptop: you quit DSH and start it again. The UI does not kill your session.

incremental-tarballs @deepseek-ai/dsh@<version> --reuse-engine --stage $DSH_HOME/update-stage

Config

VariableEffect
DSH_ENGINE_DIRForce the engine folder.
DSH_HOMEBackup / stage / cache root (default ~/.dsh).
DSH_UPDATE=0Lock updates.
DSH_UPDATE_RESTART=1 / 0Force process-exit restart, or never.
DSH_ENGINE_PERSIST=1Supervised container (exit to restart).
DSH_UPDATE_STAGEStaging directory.
DSH_UPDATE_CACHETarball cache.
DSH_UPDATE_TIMEOUT_MSWhole-job budget (default 12 minutes).
DSH_UPDATE_MODEDisplay override only.

Honors npm_config_registry, scoped npm_config_@deepseek-ai:registry, NPM_TOKEN / NODE_AUTH_TOKEN for private registries.

Security

  • Host RPC requires { confirm: true } before install.
  • Target must be a published next or latest dist-tag.
  • No sudo, no live npm -g into a Docker engine volume (that can empty the prefix).
  • Tarball paths are checked against traversal.
  • Auto-rollback from engine-bak if verify fails.

Development

npm test
npm run demo

Node 20+. Zero runtime dependencies.

Disclaimer

Community plugin — not official DeepSeek software. DeepSeek and DeepSeek Harness are marks of their owners. This repo only installs versions already published on npm as @deepseek-ai/dsh.

License

[MIT](LICENSE)