dsh-vscode-mode 0.5.0 → 0.5.2

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/src/shared/ai.ts CHANGED
@@ -77,6 +77,31 @@ export interface AiConfigPatch {
77
77
  effort?: string
78
78
  }
79
79
 
80
+ /**
81
+ * 已从官方默认模型列表下架的模型标识(依据 DSH 0.1.6-alpha.2 release notes:
82
+ * 「默认模型列表移除 V4 Flash 和 V4 Flash Vision Exp」)。
83
+ *
84
+ * 用途:用户此前保存过这些模型时,配置仍指向它们,而新版模型目录不再列出 →
85
+ * 需给出可读降级提示(而非静默失败)。按模型名小写子串匹配,
86
+ * 因为 provider 前缀与具体版本后缀(如 -exp)在不同部署下写法不一。
87
+ */
88
+ export const DELISTED_MODEL_MARKERS: readonly string[] = ['v4-flash']
89
+
90
+ /**
91
+ * 配置指向的模型是否已被官方下架(G7)。
92
+ *
93
+ * 语义:仅当确实指定了 model(非空 = 非自动路由)且命中下架标识时返回 true。
94
+ * 空 model 表示「自动取首个可用模型」,不构成问题,故不提示。
95
+ * @author ddj 2026年09月18号
96
+ * @param model 配置中的模型标识(可空)
97
+ * @returns 是否已下架
98
+ */
99
+ export function isDelistedModel(model: unknown): boolean {
100
+ const text = typeof model === 'string' ? model.trim().toLowerCase() : ''
101
+ if (!text) return false
102
+ return DELISTED_MODEL_MARKERS.some((marker) => text.includes(marker))
103
+ }
104
+
80
105
  /**
81
106
  * 按 AI_PREFIX_MAX/AI_SUFFIX_MAX 裁剪前后缀(client 侧发请求前调用)。
82
107
  * @author ddj