# @chendaleiq/dsh-plugin-auto-update 中文文档

规范地址：https://npmcn.com/package/%40chendaleiq/dsh-plugin-auto-update/

版本：0\.2\.2
npm 元数据更新时间：2026-11-06T05:58:08.834Z
中文译文更新时间：2026-11-09T18:23:28.845Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40chendaleiq/dsh-plugin-auto-update
原文对照：https://npmcn.com/package/%40chendaleiq/dsh-plugin-auto-update/?lang=original
项目主页：https://github.com/chendaleiQ/dsh-plugin-auto-update#readme
源码仓库：https://github.com/chendaleiQ/dsh-plugin-auto-update

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：100 kB，15 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：@deepseek-ai/schemastery \*
- 首次发布：2026-10-27T08:28:56.383Z
- 最新版本发布：2026-11-06T05:58:08.504Z
- 近 30 天下载量：1961（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 8 个）

## 中文简介

通过插件管理器自动更新您在 DeepSeek Harness 中选择的插件捆绑

## 安装

```sh
npm install @chendaleiq/dsh-plugin-auto-update
```

也可以使用：`pnpm add @chendaleiq/dsh-plugin-auto-update`、`yarn add @chendaleiq/dsh-plugin-auto-update`、`bun add @chendaleiq/dsh-plugin-auto-update`

## README

# dsh-plugin-auto-update

给 DSH 插件做**按包白名单的自动更新**：在插件页打开开关、勾选允许自动升级的插件即可。

[![npm](https://img.shields.io/npm/v/@chendaleiq%2Fdsh-plugin-auto-update)](https://www.npmjs.com/package/@chendaleiq/dsh-plugin-auto-update) [![license](https://img.shields.io/npm/l/@chendaleiq%2Fdsh-plugin-auto-update)](https://npmcn.com/package/%40chendaleiq/dsh-plugin-auto-update/LICENSE) [![DeepSeek Harness plugin](https://img.shields.io/badge/DSH-plugin-4D6BFE)](https://github.com/chendaleiQ/dsh-plugin-auto-update)

![勾选允许升级的包、按计划检查 npm、结果写进日志](https://raw.githubusercontent.com/chendaleiQ/dsh-plugin-auto-update/main/assets/demo.gif)

_（上图是示意图，不是录屏）_

## 它做什么

-   按计划去 npm 查已安装插件的**最新版本**
-   只更新你勾选的包；本地 `link:` / `file:` 安装、锁定版本、报错的包一律跳过
-   默认**不跨大版本**、**不装预发布**
-   更新走 profile 里运行中的官方 `pluginManager`：profile 写锁、pnpm 执行、bundle 补丁校验、HMR 重载都由它负责；安装失败会把**旧版本装回去**
-   每次更新都记进**更新记录**：插件页里直接看「谁、从哪个版本、到哪个版本、什么时候、成没成」

## 安装

插件页 → 安装 → 填包名：

```
@chendaleiq/dsh-plugin-auto-update
```

装完**重启 DSH**（宿主半边需要新代际才加载）。也可以填 GitHub 地址或本地目录的绝对路径。

## 配置：插件页里的面板

插件 → **DSH 插件自动更新** → 详情页底部：

-   **启用自动更新** —— 总开关，默认关
-   **升级范围** —— 允许跨大版本 / 允许预发布
-   **自动更新的插件** —— 列出所有从注册表安装的插件，逐个勾选；「全部可更新的插件」= 通配
-   不能更新的包会置灰并说明原因（本地安装 / 锁定版本 / 存在错误）

改动即时生效，不需要重启。

## 更新记录

详情页底部的第二块就是**更新记录**：按时间倒序列出每次真正发生的动作。

-   一行一条：时间、包名、`旧版本 → 新版本`、结果（已更新 / 更新失败 / 可升级（演练））
-   失败的记录带上回滚说明和原因（鼠标悬停可看完整原因）；更新了宿主半边会标「需重启生效」
-   **刷新** 重新读一次；**清空记录** 需要点两次确认（几秒内不点第二次就自动取消）
-   记录只记「和版本有关」的动作：`current`（已经是最新）和 `error`（查不到版本）不写进来，免得记录被刷成流水账
-   同一个包重复出现相同结果（同一个版本反复升级失败、演练反复看到同一个可升级版本）只记一次

数据存在 `~/.dsh/plugin-auto-update-history.json`，最多保留 200 条（`historyLimit` 可改）。面板通过宿主半边提供的 `GET /dsh-plugin-auto-update/history` 读取，删除走同一个地址的 `DELETE`；没有 web server 的部署（headless）里这块会提示接口不可用，记录仍写进日志。

## 语言

跟随 DSH 的语言设置：默认中文，切英文后插件页和面板文案同步变英文。

## 日志

`~/.dsh/plugin-auto-update.log`，每行一个 JSON：

```json
{"at":"…","kind":"cycle","decisions":[{"name":"dsh-plugin-desktop-notify","action":"updated","installed":"0.5.6","latest":"0.5.7"}]}
```

`action` 有 `current` / `would-update` / `updated` / `failed` / `error`。

## 边界（有意为之）

-   只碰「从注册表安装、且依赖写成范围（`^` `~` `*` `latest`）」的包
-   随 DSH 自带的 bundle 不动；不修改你的其它配置
-   网络或插件管理器出错只记录，不中断其它包
-   宿主半边更新后需要重启应用；渲染层由 HMR 直接换掉

## 高级配置

面板没覆盖的字段（`intervalHours` 默认 6 小时、`initialDelayMinutes`、`maxUpdatesPerRun`、`dryRun`、`registry`、`timeoutMs`、`logPath`、`historyPath`、`historyLimit`）写在 profile patch 的 `config` 里，或覆盖 `~/.dsh/profiles/<profile>/cordis.patch.yml` 的同一行。改完需要重启。

## 开发

```bash
node test/index.test.mjs    # 宿主半边：检查、更新循环、更新记录的去重与上限
node test/client.test.mjs   # 渲染层：插槽注册、远端信封、置灰原因、记录接口
```

## 协议

MIT · 仓库 [https://github.com/chendaleiQ/dsh-plugin-auto-update](https://github.com/chendaleiQ/dsh-plugin-auto-update)

## 常见问题

### @chendaleiq/dsh-plugin-auto-update 是什么？

通过插件管理器自动更新您在 DeepSeek Harness 中选择的插件捆绑

### 如何安装 @chendaleiq/dsh-plugin-auto-update？

在项目目录运行 npm install @chendaleiq/dsh-plugin-auto-update，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deepseek-ai/schemastery（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @chendaleiq/dsh-plugin-auto-update 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/chendaleiq\_\_dsh-plugin-auto-update 是否存在。

### @chendaleiq/dsh-plugin-auto-update 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @chendaleiq/dsh-plugin-auto-update 可以商用吗？

@chendaleiq/dsh-plugin-auto-update 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @chendaleiq/dsh-plugin-auto-update 的下载量有多少？

根据 npm 官方下载统计，@chendaleiq/dsh-plugin-auto-update 在 2026/10/10 – 2026/11/08 这 30 天内被下载 1,961 次，日均约 65 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @chendaleiq/dsh-plugin-auto-update 还在维护吗？

最新版本 0\.2\.2 发布于 2026/11/06（3 天前）；至今共发布 8 个版本，其中过去 12 个月发布了 8 个；首次发布于 2026/10/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

