@fuxi-ailabs/dsh-env-health
v1.2.0
Published
Config-driven DSH environment checks and shared managed runtime provisioning
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。
默认目录:
~/.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
| 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 等常用别名。
配置
- 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 页面会过滤为:
Insight CLI/服务
providerAuth接口
- service:
environmentHealth resolveRuntime(runtime, overrides?)ensureRuntime(runtime, overrides?, onPhase?)getRuntimeState(runtime)GET /api/dsh-env-health/reportGET /api/dsh-env-health/report?plugin=dsh-observePOST /api/dsh-env-health/report,body 为{"action":"insight-start"}或{"action":"insight-stop"}
检查不会修改插件配置。只有 Insight 的启动/停止操作会控制 Insight 实例。
