Back to home@SiriusWJ

dsh-updater-npm

DSH updater + official docs sync plugin: one-click npm update with live progress, incremental docs sync with progress, dsh_docs_search/read tools. DSH 更新器+官方文档同步器(进度显示)。

Stars
1
Language
JavaScript
Created
Aug 19, 2026
Updated
Aug 19, 2026
GitHub repo

Introduction

dsh-updater-npm

DSH 更新器 + 官方文档同步器 for DeepSeek Harness (dsh)

设置页提供两个卡片:

  • DSH 更新(npm):自动检查 @deepseek-ai/dsh 的 npm 最新版本,一键 npm install -g @deepseek-ai/dsh@latest,带实时进度显示(npm 输出流)。
  • DSH 文档(官方):把 deepseek-ai/deepseek-harness 官方 docs/ 增量同步到本地(按 GitHub blob sha 跳过未变文件),带进度条(下载 i/total + 当前文件);并提供 dsh_docs_search / dsh_docs_read 两个模型工具,开发时可直接在对话中查阅官方文档。

English · 安装 · 使用 · 运行模式 · License

安装

# 从 npm 安装(推荐)
dsh plugin --profile web add dsh-updater-npm

# 或从 GitHub 安装
dsh plugin --profile web add github:SiriusWJ/dsh-updater-npm

安装后重启 dsh web,设置页出现「DSH 更新」和「DSH 文档」两个卡片。

多语言:界面与宿主端消息支持中文 / English,自动跟随系统语言切换 (也可在 设置 → 通用 → Language 手动选择);dsh_docs_search / dsh_docs_read 工具描述与输出同样跟随系统语言。

使用

DSH 更新

DSH 更新卡片

  • 自动检查每 30 分钟一次(页面每 60 秒刷新缓存结果)。
  • 检测到新版本时,设置页左侧导航「DSH 更新」旁会显示一个红色小圆点(🔴)。
  • 点击「通过 npm 更新」执行 npm install -g @deepseek-ai/dsh@latest,期间显示实时进度(npm 输出尾部),完成后提示重启 DSH 生效。
  • 版本比较为 semver 风格:本地比远端新(如 rc.7 vs rc.6)时不会误报更新。

DSH 文档

  • 同步开关(默认关闭):设置页「DSH 文档」卡片顶部有「自动同步官方文档」开关。 关闭(默认)时不自动同步、不加载 dsh_docs_search / dsh_docs_read 工具; 开启后才自动同步(首次启动约 217 篇:英文 + 中文 .zh.md,之后每 24 小时静默增量), 并注册文档工具。开关状态保存在 $DSH_HOME/plugin-data/dsh-updater-npm/config.json
  • 点击「同步官方文档」手动同步(需先开启开关),显示进度条(已下载/总数 + 当前文件名)与阶段(获取清单 → 下载 → 重建索引)。
  • 文档区支持搜索与阅读;对话中也可直接用模型工具:
    • dsh_docs_search —— 搜索本地官方文档索引(中文查询自动优先中文文档)
    • dsh_docs_read —— 读取一篇文档(支持按章节聚焦,80KB 截断,防路径穿越)

文档存储于 $DSH_HOME/docs-sync/,索引为 $DSH_HOME/docs-sync/.index.json

运行模式

插件会自动识别当前 dsh 的运行模式并诚实处理:

模式识别依据更新方式说明
npm-globalargv[1]<install>/lib/bin.js当前运行实例自带 npm<root>/node_modules/npm/bin/npm-cli.js)执行 npm install -g @deepseek-ai/dsh@latest正常部署场景;更新只落在当前运行副本,完成后回读版本校验是否真的生效
source(源码树)argv[1]bin.ts / tsx / apps/拒绝 npm 更新并提示源码树运行(如 pnpm dsh web)时 npm -g 不影响运行实例,需 git pull 更新源码树;设置页会显示警告并禁用更新按钮

多副本保护:环境里可能有多个 dsh 副本(多个 Node 安装的全局目录、DSH profiles 等)。 插件只更新当前运行的这个:优先用当前实例所属 Node 安装自带的 npm 执行(避免 PATH 上的 npm 属于别的 Node 而把更新写到别处);/check 会列出检测到的其他副本并显示警告; 若 npm 执行成功但当前副本版本没变(更新落空),会明确报错而不是假成功。 副本检测按 realpath 去重:指向运行实例的 junction/符号链接(如 $DSH_HOME/profiles/node_modules 里的依赖镜像)不会误报为独立副本。

版本回退排查:若"更新后显示一致、重启后回到旧版",说明运行的是源码树而 npm 更新只改了全局安装。切换为 npm-global 启动(如桌面快捷方式指向 D:\tools\node22\dsh.cmd web)后更新即生效。

路由

  • GET /dsh-updater-npm/check —— 更新检查(10 分钟缓存)
  • POST /dsh-updater-npm/update —— 执行 npm 更新(同源保护)
  • GET /dsh-updater-npm/progress —— 更新/同步实时进度(轮询)
  • GET /dsh-updater-npm/docs/status —— 文档同步状态
  • POST /dsh-updater-npm/docs/sync —— 触发文档同步(同源保护)
  • GET /dsh-updater-npm/docs/search?q=&lang=&limit= —— 本地索引搜索
  • GET /dsh-updater-npm/docs/read?path=&section= —— 读取文档

License

MIT


English

dsh-updater-npm is a DSH updater + official docs sync plugin for DeepSeek Harness:

  • DSH Update (npm): check the latest @deepseek-ai/dsh on npm, one-click npm install -g @deepseek-ai/dsh@latest, with live progress (npm output stream).
  • DSH Docs (official): incrementally sync deepseek-ai/deepseek-harness docs/ to $DSH_HOME/docs-sync/ (skips unchanged files by GitHub blob sha) with a progress bar, plus dsh_docs_search / dsh_docs_read model tools for in-conversation doc lookup.

The plugin detects the run mode: npm-global (normal; npm update applies directly) or source (source-tree, e.g. pnpm dsh web; npm update is refused with a warning because it does not affect the running instance — use git pull instead).

i18n: UI and host messages support Chinese / English, following the system language automatically (or the manual choice in Settings → General → Language); the dsh_docs_search / dsh_docs_read tool descriptions and outputs follow the system language too.

Install:

dsh plugin --profile web add dsh-updater-npm
# or
dsh plugin --profile web add github:SiriusWJ/dsh-updater-npm