# @fuxi-ailabs/dsh-env-health 中文文档

规范地址：https://npmcn.com/package/%40fuxi-ailabs/dsh-env-health/

版本：1\.2\.1
npm 元数据更新时间：2026-11-09T10:51:31.145Z
中文译文更新时间：2026-11-15T20:28:13.130Z
软件包许可：UNLICENSED

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

原始 npm 页面：https://www.npmjs.com/package/%40fuxi-ailabs/dsh-env-health
原文对照：https://npmcn.com/package/%40fuxi-ailabs/dsh-env-health/?lang=original
项目主页：https://fuxi-ailabs.github.io/dsh-plugin-market/plugins/insight/
源码仓库：https://github.com/guixu-labs/dsh-plugin

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

- 包体积（解压后）：1.4 MB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24
- 运行依赖：0 个
- peer 依赖：@deepseek-ai/cordis ~4\.0\.5
- 首次发布：2026-10-27T03:37:19.564Z
- 最新版本发布：2026-11-09T10:51:30.948Z
- 近 30 天下载量：2656（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

配置驱动的DSH环境检查和共享管理的运行时间提供

## 安装

```sh
npm install @fuxi-ailabs/dsh-env-health
```

也可以使用：`pnpm add @fuxi-ailabs/dsh-env-health`、`yarn add @fuxi-ailabs/dsh-env-health`、`bun add @fuxi-ailabs/dsh-env-health`

## README

# @fuxi-ailabs/dsh-env-health

DSH 的配置驱动环境检查插件。根据 `plugins` 中声明的插件名，自动推导并检查其所需的命令、宿主服务、凭据和外部运行环境。

它同时提供统一的 Runtime Provisioner，供 Insight、Audit、Static Check 和 Eval 复用。

## Runtime Provisioner

`environmentHealth` 服务提供以下方法：

-   `resolveRuntime('sift' | 'insight')`：解析已有命令或返回确定性的托管路径。
-   `ensureRuntime('sift' | 'insight', overrides?, onPhase?)`：检查并按需安装。
-   `getRuntimeState('sift' | 'insight')`：读取当前安装阶段。

安装任务按 `runtime + version + installRoot` 去重：

-   同一进程内复用同一个 Promise；
-   跨进程使用 `install.lock`；
-   获得锁后再次检测，避免重复安装；
-   安装状态写入 `state.json`，日志写入 `install.log`。

默认目录：

```text
~/.dsh-sift/runtime/2.6.0-dev.558d146/
~/.dsh-insight/runtime/0.2.41/
```

## 可选扫描器安装

`aguara` 和 `skill-scanner` 是 Static Check 的可选外部扫描器。环境检查项的“安装步骤”会显示以下命令。

### Aguara

\`\`\`bash curl -fsSL [https://raw.githubusercontent.com/garagon/aguara/v0.28.0/install.sh](https://raw.githubusercontent.com/garagon/aguara/v0.28.0/install.sh)  
| VERSION=v0.28.0 sh

# 或

brew install garagon/tap/aguara

aguara version \`\`\`

默认安装到 `~/.local/bin`，必要时加入 `PATH`。

### Skill Scanner

\`\`\`bash node --version npm install -g skill-scanner command -v skill-scanner skill-scanner --help \`\`\`

Skill Scanner 需要 Node.js 18+。

## 检查规则

| 插件 | 自动检查 |
| --- | --- |
| `dsh-provider-auth` | `providerAuth` 服务和凭据配置 |
| `dsh-observe` | Insight CLI/服务，以及可选的 `providerAuth` |
| `dsh-observe-ux` | 无额外依赖 |
| `dsh-score` | Insight CLI/服务，以及可选的 `providerAuth` |
| `dsh-score-ux` | 无额外依赖 |
| `dsh-audit` | `sift`、`siftAudit`，以及可选的 `providerAuth` |
| `dsh-audit-ux` | `siftAudit` |
| `dsh-audit-flyout` | `siftAudit` |
| `dsh-eval-suite` | `sift`、`evalSuite`，以及可选的 `providerAuth` |
| `dsh-eval-ux` | `evalSuite` |
| `dsh-static-check` | `sift`、`staticCheck`、可选的 `aguara` / `skill-scanner` / `providerAuth` |
| `dsh-gateway` | 当前无外部依赖 |

也接受 `@fuxi-ailabs/dsh-observe-bundle`、`@fuxi-ailabs/dsh-score-bundle`、`observe`、`score` 等常用别名。

## 配置

```yaml
- id: dsh-env-health
  name: '@fuxi-ailabs/dsh-env-health'
  config:
    plugins:
      - dsh-provider-auth
      - dsh-observe
      - dsh-score
      - dsh-audit
      - dsh-eval-suite
      - dsh-static-check
    siftBin: sift
    insightBin: /absolute/path/to/insight-cli
    insightBase: http://127.0.0.1:21025
    aguaraBin: aguara
    skillScannerBin: skill-scanner
    runtimes:
      sift:
        version: 2.6.0-dev.558d146
        installRoot: ~/.dsh-sift/runtime
      insight:
        packageName: context-insight
        version: 0.2.41
        installRoot: ~/.dsh-insight/runtime
```

未配置插件时使用内置默认集合。配置了插件后，只检查这些插件所对应的依赖。

## 在插件配置页使用

`dsh-env-health` 不再占用左侧主面板。它通过插件管理页的公开 slot 把检查嵌入对应插件配置页：

-   `plugins.bundle.config`：Bundle 详情配置区
-   `plugins.row.config`：Bundle 内组件配置区
-   `plugins.detail.actions`：详情页“环境检查”按钮
-   `plugins.detail.badge`：环境状态标签

Insight 页面会过滤为：

```text
Insight CLI/服务
providerAuth
```

## 接口

-   service: `environmentHealth`
-   `resolveRuntime(runtime, overrides?)`
-   `ensureRuntime(runtime, overrides?, onPhase?)`
-   `getRuntimeState(runtime)`
-   `GET /api/dsh-env-health/report`
-   `GET /api/dsh-env-health/report?plugin=dsh-observe`
-   `POST /api/dsh-env-health/report`，body 为 `{"action":"insight-start"}` 或 `{"action":"insight-stop"}`

检查不会修改插件配置。只有 Insight 的启动/停止操作会控制 Insight 实例。

## 常见问题

### @fuxi-ailabs/dsh-env-health 是什么？

配置驱动的DSH环境检查和共享管理的运行时间提供

### 如何安装 @fuxi-ailabs/dsh-env-health？

在项目目录运行 npm install @fuxi-ailabs/dsh-env-health，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deepseek-ai/cordis（~4\.0\.5）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fuxi-ailabs/dsh-env-health 支持 TypeScript 吗？

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

### @fuxi-ailabs/dsh-env-health 支持 ESM 还是 CommonJS？

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

### @fuxi-ailabs/dsh-env-health 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fuxi-ailabs/dsh-env-health 可以商用吗？

@fuxi-ailabs/dsh-env-health 使用 UNLICENSED 许可。作者声明为 UNLICENSED，即不授予公开使用许可（与公共领域的 Unlicense 不同）。使用前需获得作者授权。以上为概括，不构成法律意见，请以许可原文为准。

### @fuxi-ailabs/dsh-env-health 的下载量有多少？

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

### @fuxi-ailabs/dsh-env-health 还在维护吗？

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

