@gehennawu/dsh-service 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -20,7 +20,6 @@ import { createSessionsRoutes } from './session-routes.js'
20
20
  import { createQuotaRoutes } from './quota-routes.js'
21
21
  import { createSubagentRoutes } from './subagent-routes.js'
22
22
  import { createBackupRoutes } from './backup-routes.js'
23
- import { collectPluginCompat, pluginCompatCheckItem } from './plugin-compat.js'
24
23
  import { collectPluginHealth, pluginCheckItem, restartPluginEntry } from './plugin-health.js'
25
24
  import {
26
25
  buildCliproxyAccountPlan as buildCliproxyAccountPlanAdapter,
@@ -3121,19 +3120,6 @@ async function collectDiagnostics(ctx, dshHome, runtimeEnv, options = {}) {
3121
3120
  checks.push(pluginCheck)
3122
3121
  }
3123
3122
 
3124
- // v1.3 插件兼容性:对照已核实的 alpha 破坏面清单(client-runtime 供应商移除、SQLite
3125
- // persistence 移除、聊天/统计条 CSS 哈希漂移、data-time-hover-root 删除)扫描启用插件的
3126
- // 清单与入口代码;loader 缺席降级为 info 检查项、不带扫描结果。退役接口(severity info)
3127
- // 单列 soft,只提示不拉高 overall。
3128
- let compatReport
3129
- try {
3130
- compatReport = await collectPluginCompat(ctx)
3131
- } catch (error) {
3132
- compatReport = { available: false, scanned: 0, issues: [], soft: [], declaredOnly: [], unknown: [] }
3133
- }
3134
- if (!compatReport.available) add('plugin-compat', 'info', 'unavailable')
3135
- else checks.push(pluginCompatCheckItem(compatReport))
3136
-
3137
3123
  // 使用统计索引(工作区实现,未发布):统计链路自身的健康度。单会话折读失败会让用量静默少算,
3138
3124
  // 此前只在模型统计页的全局警告里可见,诊断清单没有任何一项覆盖它。
3139
3125
  // 功能关闭时宿主根本不刷新索引(usage/usage-refresh 均受 modelUsage 门控),报「失败」
@@ -3148,10 +3134,10 @@ async function collectDiagnostics(ctx, dshHome, runtimeEnv, options = {}) {
3148
3134
  const indexed = index.sessions !== null && typeof index.sessions === 'object' ? Object.keys(index.sessions).length : 0
3149
3135
  const updatedAt = Number.isFinite(Number(index.updatedAt)) ? Number(index.updatedAt) : 0
3150
3136
  // updatedAt=0 = 从未建立索引(用户还没打开过模型统计页):不是故障,报 info。
3151
- // 失败会话是「部分成功」语义(沿用 usage 页同款口径):warning 而非 error——统计仍可用,
3152
- // 只是少算了这些会话,不点亮诊断标签 ⚠ 的 error 档。
3137
+ // 失败会话是「部分成功」语义:报 info 提示而非 warning——统计仍可用,
3138
+ // 只是少算了这些会话,不拉高 overall 为 warning,不点亮诊断标签 ⚠,不进概览可行动项。
3153
3139
  if (updatedAt === 0) add('usage-index', 'info', 'never')
3154
- else add('usage-index', failed > 0 ? 'warning' : 'ok', `${failed}:${indexed}:${updatedAt}`)
3140
+ else add('usage-index', failed > 0 ? 'info' : 'ok', `${failed}:${indexed}:${updatedAt}`)
3155
3141
  }
3156
3142
  }
3157
3143
 
@@ -3164,9 +3150,6 @@ async function collectDiagnostics(ctx, dshHome, runtimeEnv, options = {}) {
3164
3150
  checkedAt: Date.now(),
3165
3151
  checks,
3166
3152
  ...(pluginReport.available ? { pluginIssues: pluginReport.issues } : {}),
3167
- ...(compatReport.available
3168
- ? { pluginCompat: { scanned: compatReport.scanned, issues: compatReport.issues, soft: compatReport.soft, declaredOnly: compatReport.declaredOnly, unknown: compatReport.unknown } }
3169
- : {}),
3170
3153
  }
3171
3154
  }
3172
3155
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gehennawu/dsh-service",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "DSH Web 运维面板:安全重启、健康监控、备份和 Linux 权限维护。",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -26,7 +26,6 @@
26
26
  "subagent-routes.js",
27
27
  "backup-routes.js",
28
28
  "plugin-health.js",
29
- "plugin-compat.js",
30
29
  "client.js",
31
30
  "cordis.patch.yml",
32
31
  "README.md",
package/quota-routes.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // 额度查询(quota)的 RPC 端点:从 apply 的端点表按功能域拆出。
2
2
  // 依赖显式注入(工厂解构名单即本模块完整依赖面);handler 体与拆分前逐字一致。
3
3
  // 注意:客户端半有单产物约束,宿主半无此约束——兄弟 ESM 模块是本仓库既有惯例
4
- // (quota-adapters.js / backup-integrity.js / plugin-health.js / plugin-compat.js)。
4
+ // (quota-adapters.js / backup-integrity.js / plugin-health.js)。
5
5
 
6
6
  import { randomBytes } from 'node:crypto'
7
7
  import { resolve } from 'node:path'
package/session-routes.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // 会话管理(sessions)的 RPC 端点:从 apply 的端点表按功能域拆出。
2
2
  // 依赖显式注入(工厂解构名单即本模块完整依赖面);handler 体与拆分前逐字一致。
3
3
  // 注意:客户端半有单产物约束,宿主半无此约束——兄弟 ESM 模块是本仓库既有惯例
4
- // (quota-adapters.js / backup-integrity.js / plugin-health.js / plugin-compat.js)。
4
+ // (quota-adapters.js / backup-integrity.js / plugin-health.js)。
5
5
 
6
6
  import { randomUUID } from 'node:crypto'
7
7
  import { rm } from 'node:fs/promises'
package/skill-routes.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // 依赖显式注入(工厂解构名单即本模块完整依赖面);handler 体与拆分前一致,
3
3
  // 例外:可重赋值的 let(skillsBatch/skillsIndexPromise)以 { current } 箱体注入保活绑定。
4
4
  // 注意:客户端半有单产物约束,宿主半无此约束——兄弟 ESM 模块是本仓库既有惯例
5
- // (quota-adapters.js / backup-integrity.js / plugin-health.js / plugin-compat.js)。
5
+ // (quota-adapters.js / backup-integrity.js / plugin-health.js)。
6
6
 
7
7
  import { randomUUID } from 'node:crypto'
8
8
  import { readFile } from 'node:fs/promises'
@@ -2,7 +2,7 @@
2
2
  // 依赖显式注入(工厂解构名单即本模块完整依赖面);handler 体与拆分前一致,
3
3
  // 例外:可重赋值的 let(subagentRouteConfig/subagentSeamInstalled)以 { current } 箱体注入保活绑定。
4
4
  // 注意:客户端半有单产物约束,宿主半无此约束——兄弟 ESM 模块是本仓库既有惯例
5
- // (quota-adapters.js / backup-integrity.js / plugin-health.js / plugin-compat.js)。
5
+ // (quota-adapters.js / backup-integrity.js / plugin-health.js)。
6
6
 
7
7
  export function createSubagentRoutes({
8
8
  ctx,