@dsh-plus/llm-pi 0.1.22 → 0.1.24
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/lib/client.js +4 -61802
- package/lib/index.js +2 -0
- package/package.json +27 -27
- package/src/profiles.ts +6 -0
- package/lib/style.css +0 -1639
package/lib/index.js
CHANGED
|
@@ -1435,6 +1435,7 @@ function resolveProfilesFallback(providers, deps) {
|
|
|
1435
1435
|
if (factory === void 0) invalid(provider, `api ${JSON.stringify(api)} 本插件无法服务(支持:openai-completions/openai-responses/anthropic-messages)`);
|
|
1436
1436
|
if (source.baseURL === void 0) invalid(provider, "需要 baseURL:官方 schema 无模型级端点,端点只能 route 级表达");
|
|
1437
1437
|
const configuredMaxTokens = /* @__PURE__ */ new Map();
|
|
1438
|
+
const modelErrors = /* @__PURE__ */ new Map();
|
|
1438
1439
|
const seen = /* @__PURE__ */ new Set();
|
|
1439
1440
|
const models = (source.models ?? []).map((entry) => {
|
|
1440
1441
|
if (entry.id.length === 0) invalid(provider, "存在空 id 的模型条目");
|
|
@@ -1474,6 +1475,7 @@ function resolveProfilesFallback(providers, deps) {
|
|
|
1474
1475
|
...rest.headers === void 0 ? {} : { headers: { ...rest.headers } },
|
|
1475
1476
|
...rest.thinkingBudgets === void 0 ? {} : { thinkingBudgets: { ...rest.thinkingBudgets } },
|
|
1476
1477
|
configuredMaxTokens,
|
|
1478
|
+
modelErrors,
|
|
1477
1479
|
piProvider: deps.createProvider({
|
|
1478
1480
|
id: provider,
|
|
1479
1481
|
name: displayName,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-plus/llm-pi",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
4
4
|
"description": "dsh-plus service+ui plugin: 基于 PiAiAdapter 的自定义 LLM 路由(全量 compat、模型继承、models.dev 目录兜底)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -31,41 +31,41 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@dsh-plus/shared": "0.1.
|
|
34
|
+
"@dsh-plus/shared": "0.1.13",
|
|
35
35
|
"https-proxy-agent": "^9.1.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
39
|
-
"@deepseek-ai/dsh-anonymous-user-id": "
|
|
40
|
-
"@deepseek-ai/dsh-credentials": "
|
|
41
|
-
"@deepseek-ai/dsh-home-paths": "
|
|
42
|
-
"@deepseek-ai/dsh-host-webserver": "
|
|
43
|
-
"@deepseek-ai/dsh-launch-environment": "
|
|
44
|
-
"@deepseek-ai/dsh-llm": "
|
|
45
|
-
"@deepseek-ai/dsh-llm-deepseek": "
|
|
46
|
-
"@deepseek-ai/dsh-llm-pi-ai": "
|
|
47
|
-
"@deepseek-ai/dsh-settings": "
|
|
48
|
-
"@deepseek-ai/dsh-util-values": "
|
|
39
|
+
"@deepseek-ai/dsh-anonymous-user-id": "^0.1.5-alpha.2",
|
|
40
|
+
"@deepseek-ai/dsh-credentials": "^0.1.5-alpha.2",
|
|
41
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.5-alpha.2",
|
|
42
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.5-alpha.2",
|
|
43
|
+
"@deepseek-ai/dsh-launch-environment": "^0.1.5-alpha.2",
|
|
44
|
+
"@deepseek-ai/dsh-llm": "^0.1.5-alpha.2",
|
|
45
|
+
"@deepseek-ai/dsh-llm-deepseek": "^0.1.5-alpha.2",
|
|
46
|
+
"@deepseek-ai/dsh-llm-pi-ai": "^0.1.5-alpha.2",
|
|
47
|
+
"@deepseek-ai/dsh-settings": "^0.1.5-alpha.2",
|
|
48
|
+
"@deepseek-ai/dsh-util-values": "^0.1.5-alpha.2",
|
|
49
49
|
"@deepseek-ai/schemastery": "^3.18.2",
|
|
50
50
|
"@earendil-works/pi-ai": "^0.84.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@deepseek-ai/cordis": "4.0.2",
|
|
54
|
-
"@deepseek-ai/dsh-anonymous-user-id": "0.1.5-alpha.
|
|
55
|
-
"@deepseek-ai/dsh-atomic-write": "0.1.5-alpha.
|
|
56
|
-
"@deepseek-ai/dsh-attachment": "0.1.5-alpha.
|
|
57
|
-
"@deepseek-ai/dsh-credentials": "0.1.5-alpha.
|
|
58
|
-
"@deepseek-ai/dsh-home-paths": "0.1.5-alpha.
|
|
59
|
-
"@deepseek-ai/dsh-host-webserver": "0.1.5-alpha.
|
|
60
|
-
"@deepseek-ai/dsh-launch-environment": "0.1.5-alpha.
|
|
61
|
-
"@deepseek-ai/dsh-llm": "0.1.5-alpha.
|
|
62
|
-
"@deepseek-ai/dsh-llm-deepseek": "0.1.5-alpha.
|
|
63
|
-
"@deepseek-ai/dsh-llm-pi-ai": "0.1.5-alpha.
|
|
64
|
-
"@deepseek-ai/dsh-settings": "0.1.5-alpha.
|
|
65
|
-
"@deepseek-ai/dsh-timeout": "0.1.5-alpha.
|
|
66
|
-
"@deepseek-ai/dsh-typert-protocol": "0.1.5-alpha.
|
|
67
|
-
"@deepseek-ai/dsh-util-crypto": "0.1.5-alpha.
|
|
68
|
-
"@deepseek-ai/dsh-util-values": "0.1.5-alpha.
|
|
54
|
+
"@deepseek-ai/dsh-anonymous-user-id": "0.1.5-alpha.2",
|
|
55
|
+
"@deepseek-ai/dsh-atomic-write": "0.1.5-alpha.2",
|
|
56
|
+
"@deepseek-ai/dsh-attachment": "0.1.5-alpha.2",
|
|
57
|
+
"@deepseek-ai/dsh-credentials": "0.1.5-alpha.2",
|
|
58
|
+
"@deepseek-ai/dsh-home-paths": "0.1.5-alpha.2",
|
|
59
|
+
"@deepseek-ai/dsh-host-webserver": "0.1.5-alpha.2",
|
|
60
|
+
"@deepseek-ai/dsh-launch-environment": "0.1.5-alpha.2",
|
|
61
|
+
"@deepseek-ai/dsh-llm": "0.1.5-alpha.2",
|
|
62
|
+
"@deepseek-ai/dsh-llm-deepseek": "0.1.5-alpha.2",
|
|
63
|
+
"@deepseek-ai/dsh-llm-pi-ai": "0.1.5-alpha.2",
|
|
64
|
+
"@deepseek-ai/dsh-settings": "0.1.5-alpha.2",
|
|
65
|
+
"@deepseek-ai/dsh-timeout": "0.1.5-alpha.2",
|
|
66
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.5-alpha.2",
|
|
67
|
+
"@deepseek-ai/dsh-util-crypto": "0.1.5-alpha.2",
|
|
68
|
+
"@deepseek-ai/dsh-util-values": "0.1.5-alpha.2",
|
|
69
69
|
"@deepseek-ai/schemastery": "3.18.2",
|
|
70
70
|
"@earendil-works/pi-ai": "0.84.4",
|
|
71
71
|
"@types/react": "~18.3.31",
|
package/src/profiles.ts
CHANGED
|
@@ -568,6 +568,11 @@ export function resolveProfilesFallback(
|
|
|
568
568
|
// 模型物化:全显式条目 + route 级 api/baseURL(官方 resolveRouteModels 镜像,
|
|
569
569
|
// 无目录继承——归一化已把继承值落定在条目里)
|
|
570
570
|
const configuredMaxTokens = new Map<string, number>()
|
|
571
|
+
// 官方 0.1.5-alpha.2(llm-pi-ai)adapter 读取 profile.modelErrors/catalogError:
|
|
572
|
+
// 本 fallback 对条目严格校验、坏条目整体拒绝(不产生"条目级不可服务"的
|
|
573
|
+
// deferred 诊断),故补空表保持与官方 profile 形状一致——缺失会让
|
|
574
|
+
// PiAiAdapter.modelOf 读 modelErrors.get 时以 TypeError 打崩。
|
|
575
|
+
const modelErrors = new Map<string, string>()
|
|
571
576
|
const seen = new Set<string>()
|
|
572
577
|
const models = (source.models ?? []).map((entry) => {
|
|
573
578
|
if (entry.id.length === 0) invalid(provider, '存在空 id 的模型条目')
|
|
@@ -617,6 +622,7 @@ export function resolveProfilesFallback(
|
|
|
617
622
|
? {}
|
|
618
623
|
: { thinkingBudgets: { ...rest.thinkingBudgets } }),
|
|
619
624
|
configuredMaxTokens,
|
|
625
|
+
modelErrors,
|
|
620
626
|
piProvider: deps.createProvider({
|
|
621
627
|
id: provider,
|
|
622
628
|
name: displayName,
|