@jedylicong/dsh-xinlab 0.0.0-stage → 0.2.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.
@@ -0,0 +1,310 @@
1
+ # Generated by scripts/build-bundle.mjs. Edit managed sources, then rebuild.
2
+ - id: llm-pi-ai
3
+ name: "@deepseek-ai/dsh-llm-pi-ai"
4
+ disabled: true
5
+ - insert:
6
+ - id: xinlab-providers
7
+ name: "@jedylicong/dsh-xinlab"
8
+ config:
9
+ providers:
10
+ zai:
11
+ displayName: Z.ai
12
+ apiKeyEnv: ZAI_API_KEY
13
+ api: openai-completions
14
+ baseURL: !!js "(function normalizeBaseURL(value) {\n const url = new URL(value)\n if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password || url.search || url.hash) {\n throw new Error('供应商地址须为不含凭据、查询参数和片段的 HTTP(S) 地址')\n }\n return url.href.replace(/\\/+$/, '')\n})(process.env.DSH_ZAI_BASE_URL ?? \"https://api.z.ai/api/coding/paas/v4\")"
15
+ compat:
16
+ supportsStore: false
17
+ supportsDeveloperRole: false
18
+ supportsReasoningEffort: true
19
+ maxTokensField: max_tokens
20
+ thinkingFormat: zai
21
+ defaultContextWindow: 1000000
22
+ defaultMaxTokens: 131072
23
+ reasoning: max
24
+ models:
25
+ - id: glm-5.3
26
+ name: GLM-5.3
27
+ input:
28
+ - text
29
+ reasoningEfforts:
30
+ low: low
31
+ high: high
32
+ max: max
33
+ - id: glm-5.3-flash
34
+ name: GLM-5.3-Flash
35
+ input:
36
+ - text
37
+ - image
38
+ reasoningEfforts:
39
+ low: low
40
+ high: high
41
+ max: max
42
+ - id: glm-5.2
43
+ name: GLM-5.2
44
+ vllm:
45
+ displayName: vllm
46
+ apiKeyEnv: VLLM_API_KEY
47
+ api: openai-completions
48
+ baseURL: !!js "(function normalizeBaseURL(value) {\n const url = new URL(value)\n if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password || url.search || url.hash) {\n throw new Error('供应商地址须为不含凭据、查询参数和片段的 HTTP(S) 地址')\n }\n return url.href.replace(/\\/+$/, '')\n})(process.env.DSH_VLLM_BASE_URL ?? \"http://10.0.0.1/v1\")"
49
+ compat:
50
+ supportsDeveloperRole: false
51
+ supportsReasoningEffort: true
52
+ maxTokensField: max_tokens
53
+ reasoning: max
54
+ retryPolicy:
55
+ mode: normal
56
+ maxRetries: 3
57
+ retryableCodes:
58
+ - EMPTY_RESPONSE
59
+ models:
60
+ - id: glm-5.3-flash
61
+ name: GLM-5.3-Flash
62
+ contextWindow: 458496
63
+ input:
64
+ - text
65
+ - image
66
+ reasoningEfforts:
67
+ low: low
68
+ high: high
69
+ max: max
70
+ - id: glm-5.3-flash-uncensored
71
+ name: GLM-5.3-FLASH-UNCENSORED
72
+ contextWindow: 458496
73
+ input:
74
+ - text
75
+ - image
76
+ reasoningEfforts:
77
+ low: low
78
+ high: high
79
+ max: max
80
+ - id: deepseek-v4-flash
81
+ name: DeepSeek-V4-Flash
82
+ contextWindow: 618496
83
+ input:
84
+ - text
85
+ reasoningEfforts:
86
+ off: none
87
+ low: low
88
+ high: high
89
+ max: max
90
+ xin-lab:
91
+ displayName: XinLab
92
+ apiKeyEnv: XIN_LAB_API_KEY
93
+ api: openai-completions
94
+ baseURL: !!js "(function normalizeBaseURL(value) {\n const url = new URL(value)\n if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password || url.search || url.hash) {\n throw new Error('供应商地址须为不含凭据、查询参数和片段的 HTTP(S) 地址')\n }\n return url.href.replace(/\\/+$/, '')\n})(process.env.DSH_XINLAB_BASE_URL ?? \"https://api.xinlab-ioz.cn/v1\")"
95
+ compat:
96
+ supportsStore: false
97
+ supportsDeveloperRole: false
98
+ supportsReasoningEffort: true
99
+ maxTokensField: max_tokens
100
+ reasoning: high
101
+ models:
102
+ - id: claude-fable-5
103
+ name: Claude Fable 5
104
+ contextWindow: 1000000
105
+ maxTokens: 128000
106
+ input:
107
+ - text
108
+ - image
109
+ reasoningEfforts:
110
+ low: low
111
+ medium: medium
112
+ high: high
113
+ xhigh: xhigh
114
+ max: max
115
+ - id: claude-opus-5
116
+ name: Claude Opus 5
117
+ contextWindow: 1000000
118
+ maxTokens: 128000
119
+ input:
120
+ - text
121
+ - image
122
+ reasoningEfforts:
123
+ off: none
124
+ low: low
125
+ medium: medium
126
+ high: high
127
+ xhigh: xhigh
128
+ max: max
129
+ - id: claude-opus-4-8
130
+ name: Claude Opus 4.8
131
+ contextWindow: 1000000
132
+ maxTokens: 128000
133
+ input:
134
+ - text
135
+ - image
136
+ reasoningEfforts:
137
+ low: low
138
+ medium: medium
139
+ high: high
140
+ xhigh: xhigh
141
+ max: max
142
+ - id: claude-opus-4-7
143
+ name: Claude Opus 4.7
144
+ contextWindow: 1000000
145
+ maxTokens: 128000
146
+ input:
147
+ - text
148
+ - image
149
+ reasoningEfforts:
150
+ low: low
151
+ medium: medium
152
+ high: high
153
+ xhigh: xhigh
154
+ max: max
155
+ - id: claude-opus-4-6
156
+ name: Claude Opus 4.6
157
+ contextWindow: 1000000
158
+ maxTokens: 128000
159
+ input:
160
+ - text
161
+ - image
162
+ reasoningEfforts:
163
+ low: low
164
+ medium: medium
165
+ high: high
166
+ max: max
167
+ - id: claude-sonnet-5
168
+ name: Claude Sonnet 5
169
+ contextWindow: 1000000
170
+ maxTokens: 128000
171
+ input:
172
+ - text
173
+ - image
174
+ reasoningEfforts:
175
+ low: low
176
+ medium: medium
177
+ high: high
178
+ xhigh: xhigh
179
+ max: max
180
+ - id: claude-sonnet-4-6
181
+ name: Claude Sonnet 4.6
182
+ contextWindow: 1000000
183
+ maxTokens: 128000
184
+ input:
185
+ - text
186
+ - image
187
+ reasoningEfforts:
188
+ low: low
189
+ medium: medium
190
+ high: high
191
+ max: max
192
+ - id: claude-sonnet-4-5
193
+ name: Claude Sonnet 4.5
194
+ contextWindow: 1000000
195
+ maxTokens: 128000
196
+ input:
197
+ - text
198
+ - image
199
+ reasoningEfforts:
200
+ low: low
201
+ medium: medium
202
+ high: high
203
+ - id: gpt-5.6-sol
204
+ name: GPT 5.6 Sol
205
+ contextWindow: 1050000
206
+ maxTokens: 128000
207
+ input:
208
+ - text
209
+ - image
210
+ reasoningEfforts:
211
+ off: none
212
+ low: low
213
+ medium: medium
214
+ high: high
215
+ xhigh: xhigh
216
+ max: max
217
+ - id: gpt-5.6-terra
218
+ name: GPT 5.6 Terra
219
+ contextWindow: 1050000
220
+ maxTokens: 128000
221
+ input:
222
+ - text
223
+ - image
224
+ reasoningEfforts:
225
+ off: none
226
+ low: low
227
+ medium: medium
228
+ high: high
229
+ xhigh: xhigh
230
+ max: max
231
+ - id: glm-5.3
232
+ name: GLM 5.3
233
+ contextWindow: 1000000
234
+ maxTokens: 128000
235
+ input:
236
+ - text
237
+ reasoningEfforts:
238
+ low: low
239
+ high: high
240
+ max: max
241
+ - id: glm-5.2
242
+ name: GLM 5.2
243
+ contextWindow: 1000000
244
+ maxTokens: 128000
245
+ input:
246
+ - text
247
+ reasoningEfforts:
248
+ off: none
249
+ low: low
250
+ high: high
251
+ - id: gemini-3.5-flash
252
+ name: Gemini 3.5 Flash
253
+ contextWindow: 1048576
254
+ maxTokens: 65536
255
+ input:
256
+ - text
257
+ - image
258
+ reasoningEfforts:
259
+ off: none
260
+ minimal: minimal
261
+ low: low
262
+ medium: medium
263
+ high: high
264
+ - id: gemini-3.6-flash
265
+ name: Gemini 3.6 Flash
266
+ contextWindow: 1048576
267
+ maxTokens: 65536
268
+ input:
269
+ - text
270
+ - image
271
+ - id: deepseek-v4-pro
272
+ name: DeepSeek V4 Pro
273
+ contextWindow: 1000000
274
+ maxTokens: 128000
275
+ input:
276
+ - text
277
+ reasoningEfforts:
278
+ off: none
279
+ high: high
280
+ max: max
281
+ - id: deepseek-flash
282
+ name: DeepSeek V4.1 Flash
283
+ contextWindow: 1000000
284
+ maxTokens: 384000
285
+ input:
286
+ - text
287
+ - image
288
+ reasoningEfforts:
289
+ off: none
290
+ high: high
291
+ max: max
292
+ - id: qwen3.7-max
293
+ name: Qwen 3.7 Max
294
+ contextWindow: 1000000
295
+ maxTokens: 131072
296
+ input:
297
+ - text
298
+ - image
299
+ reasoningEfforts:
300
+ off: none
301
+ low: low
302
+ medium: medium
303
+ high: high
304
+ - id: xinlab-vllm-mm-uuid
305
+ name: "@jedylicong/dsh-xinlab/vllm-mm-uuid"
306
+ config:
307
+ endpoint: !!js "(function normalizeBaseURL(value) {\n const url = new URL(value)\n if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password || url.search || url.hash) {\n throw new Error('供应商地址须为不含凭据、查询参数和片段的 HTTP(S) 地址')\n }\n return url.href.replace(/\\/+$/, '')\n})(process.env.DSH_VLLM_BASE_URL ?? \"http://10.0.0.1/v1\") + '/chat/completions'"
308
+ stateDir: !!js "dshHomePath('plugins', 'vllm-mm-uuid')"
309
+ - id: xinlab-vllm-reasoning-only-retry
310
+ name: "@jedylicong/dsh-xinlab/vllm-reasoning-only-retry"
@@ -0,0 +1,7 @@
1
+ {
2
+ "skills/deepseek-harness-systemd/SKILL.md#zai": "04b7374b9554d5c8eb46975f008ab68506706a1854552397159ee664678cc20c",
3
+ "skills/deepseek-harness-systemd/SKILL.md#vllm": "82682371d7295a164f9b8c894bbafe63d0ba2452d3ed0cf55c261d4939063f48",
4
+ "skills/deepseek-harness-systemd/assets/providers/xinlab.json": "d4d7425e4b8ce087339a0af8759b86cf312c41c26ee30cff128b9b6e851eeaa9",
5
+ "skills/deepseek-harness-systemd/assets/plugins/vllm-mm-uuid/index.mjs": "4660618bf356228db38455870f3f730cf40281b37d3bfc4a2536097ea513d0bf",
6
+ "skills/deepseek-harness-systemd/assets/plugins/vllm-reasoning-only-retry/index.mjs": "0182b2742cc0014e26eb1c22863dbc48a95d8a52801b55cf4b538566c72aa68d"
7
+ }
package/data/vllm.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "displayName": "vllm",
3
+ "apiKeyEnv": "VLLM_API_KEY",
4
+ "api": "openai-completions",
5
+ "baseURL": "http://10.0.0.1/v1",
6
+ "compat": {
7
+ "supportsDeveloperRole": false,
8
+ "supportsReasoningEffort": true,
9
+ "maxTokensField": "max_tokens"
10
+ },
11
+ "reasoning": "max",
12
+ "retryPolicy": {
13
+ "mode": "normal",
14
+ "maxRetries": 3,
15
+ "retryableCodes": [
16
+ "EMPTY_RESPONSE"
17
+ ]
18
+ },
19
+ "models": [
20
+ {
21
+ "id": "glm-5.3-flash",
22
+ "name": "GLM-5.3-Flash",
23
+ "contextWindow": 458496,
24
+ "input": [
25
+ "text",
26
+ "image"
27
+ ],
28
+ "reasoningEfforts": {
29
+ "low": "low",
30
+ "high": "high",
31
+ "max": "max"
32
+ }
33
+ },
34
+ {
35
+ "id": "glm-5.3-flash-uncensored",
36
+ "name": "GLM-5.3-FLASH-UNCENSORED",
37
+ "contextWindow": 458496,
38
+ "input": [
39
+ "text",
40
+ "image"
41
+ ],
42
+ "reasoningEfforts": {
43
+ "low": "low",
44
+ "high": "high",
45
+ "max": "max"
46
+ }
47
+ },
48
+ {
49
+ "id": "deepseek-v4-flash",
50
+ "name": "DeepSeek-V4-Flash",
51
+ "contextWindow": 618496,
52
+ "input": [
53
+ "text"
54
+ ],
55
+ "reasoningEfforts": {
56
+ "off": "none",
57
+ "low": "low",
58
+ "high": "high",
59
+ "max": "max"
60
+ }
61
+ }
62
+ ]
63
+ }
@@ -0,0 +1,284 @@
1
+ {
2
+ "displayName": "XinLab",
3
+ "apiKeyEnv": "XIN_LAB_API_KEY",
4
+ "api": "openai-completions",
5
+ "baseURL": "https://api.xinlab-ioz.cn/v1",
6
+ "compat": {
7
+ "supportsStore": false,
8
+ "supportsDeveloperRole": false,
9
+ "supportsReasoningEffort": true,
10
+ "maxTokensField": "max_tokens"
11
+ },
12
+ "reasoning": "high",
13
+ "models": [
14
+ {
15
+ "id": "claude-fable-5",
16
+ "name": "Claude Fable 5",
17
+ "contextWindow": 1000000,
18
+ "maxTokens": 128000,
19
+ "input": [
20
+ "text",
21
+ "image"
22
+ ],
23
+ "reasoningEfforts": {
24
+ "low": "low",
25
+ "medium": "medium",
26
+ "high": "high",
27
+ "xhigh": "xhigh",
28
+ "max": "max"
29
+ }
30
+ },
31
+ {
32
+ "id": "claude-opus-5",
33
+ "name": "Claude Opus 5",
34
+ "contextWindow": 1000000,
35
+ "maxTokens": 128000,
36
+ "input": [
37
+ "text",
38
+ "image"
39
+ ],
40
+ "reasoningEfforts": {
41
+ "off": "none",
42
+ "low": "low",
43
+ "medium": "medium",
44
+ "high": "high",
45
+ "xhigh": "xhigh",
46
+ "max": "max"
47
+ }
48
+ },
49
+ {
50
+ "id": "claude-opus-4-8",
51
+ "name": "Claude Opus 4.8",
52
+ "contextWindow": 1000000,
53
+ "maxTokens": 128000,
54
+ "input": [
55
+ "text",
56
+ "image"
57
+ ],
58
+ "reasoningEfforts": {
59
+ "low": "low",
60
+ "medium": "medium",
61
+ "high": "high",
62
+ "xhigh": "xhigh",
63
+ "max": "max"
64
+ }
65
+ },
66
+ {
67
+ "id": "claude-opus-4-7",
68
+ "name": "Claude Opus 4.7",
69
+ "contextWindow": 1000000,
70
+ "maxTokens": 128000,
71
+ "input": [
72
+ "text",
73
+ "image"
74
+ ],
75
+ "reasoningEfforts": {
76
+ "low": "low",
77
+ "medium": "medium",
78
+ "high": "high",
79
+ "xhigh": "xhigh",
80
+ "max": "max"
81
+ }
82
+ },
83
+ {
84
+ "id": "claude-opus-4-6",
85
+ "name": "Claude Opus 4.6",
86
+ "contextWindow": 1000000,
87
+ "maxTokens": 128000,
88
+ "input": [
89
+ "text",
90
+ "image"
91
+ ],
92
+ "reasoningEfforts": {
93
+ "low": "low",
94
+ "medium": "medium",
95
+ "high": "high",
96
+ "max": "max"
97
+ }
98
+ },
99
+ {
100
+ "id": "claude-sonnet-5",
101
+ "name": "Claude Sonnet 5",
102
+ "contextWindow": 1000000,
103
+ "maxTokens": 128000,
104
+ "input": [
105
+ "text",
106
+ "image"
107
+ ],
108
+ "reasoningEfforts": {
109
+ "low": "low",
110
+ "medium": "medium",
111
+ "high": "high",
112
+ "xhigh": "xhigh",
113
+ "max": "max"
114
+ }
115
+ },
116
+ {
117
+ "id": "claude-sonnet-4-6",
118
+ "name": "Claude Sonnet 4.6",
119
+ "contextWindow": 1000000,
120
+ "maxTokens": 128000,
121
+ "input": [
122
+ "text",
123
+ "image"
124
+ ],
125
+ "reasoningEfforts": {
126
+ "low": "low",
127
+ "medium": "medium",
128
+ "high": "high",
129
+ "max": "max"
130
+ }
131
+ },
132
+ {
133
+ "id": "claude-sonnet-4-5",
134
+ "name": "Claude Sonnet 4.5",
135
+ "contextWindow": 1000000,
136
+ "maxTokens": 128000,
137
+ "input": [
138
+ "text",
139
+ "image"
140
+ ],
141
+ "reasoningEfforts": {
142
+ "low": "low",
143
+ "medium": "medium",
144
+ "high": "high"
145
+ }
146
+ },
147
+ {
148
+ "id": "gpt-5.6-sol",
149
+ "name": "GPT 5.6 Sol",
150
+ "contextWindow": 1050000,
151
+ "maxTokens": 128000,
152
+ "input": [
153
+ "text",
154
+ "image"
155
+ ],
156
+ "reasoningEfforts": {
157
+ "off": "none",
158
+ "low": "low",
159
+ "medium": "medium",
160
+ "high": "high",
161
+ "xhigh": "xhigh",
162
+ "max": "max"
163
+ }
164
+ },
165
+ {
166
+ "id": "gpt-5.6-terra",
167
+ "name": "GPT 5.6 Terra",
168
+ "contextWindow": 1050000,
169
+ "maxTokens": 128000,
170
+ "input": [
171
+ "text",
172
+ "image"
173
+ ],
174
+ "reasoningEfforts": {
175
+ "off": "none",
176
+ "low": "low",
177
+ "medium": "medium",
178
+ "high": "high",
179
+ "xhigh": "xhigh",
180
+ "max": "max"
181
+ }
182
+ },
183
+ {
184
+ "id": "glm-5.3",
185
+ "name": "GLM 5.3",
186
+ "contextWindow": 1000000,
187
+ "maxTokens": 128000,
188
+ "input": [
189
+ "text"
190
+ ],
191
+ "reasoningEfforts": {
192
+ "low": "low",
193
+ "high": "high",
194
+ "max": "max"
195
+ }
196
+ },
197
+ {
198
+ "id": "glm-5.2",
199
+ "name": "GLM 5.2",
200
+ "contextWindow": 1000000,
201
+ "maxTokens": 128000,
202
+ "input": [
203
+ "text"
204
+ ],
205
+ "reasoningEfforts": {
206
+ "off": "none",
207
+ "low": "low",
208
+ "high": "high"
209
+ }
210
+ },
211
+ {
212
+ "id": "gemini-3.5-flash",
213
+ "name": "Gemini 3.5 Flash",
214
+ "contextWindow": 1048576,
215
+ "maxTokens": 65536,
216
+ "input": [
217
+ "text",
218
+ "image"
219
+ ],
220
+ "reasoningEfforts": {
221
+ "off": "none",
222
+ "minimal": "minimal",
223
+ "low": "low",
224
+ "medium": "medium",
225
+ "high": "high"
226
+ }
227
+ },
228
+ {
229
+ "id": "gemini-3.6-flash",
230
+ "name": "Gemini 3.6 Flash",
231
+ "contextWindow": 1048576,
232
+ "maxTokens": 65536,
233
+ "input": [
234
+ "text",
235
+ "image"
236
+ ]
237
+ },
238
+ {
239
+ "id": "deepseek-v4-pro",
240
+ "name": "DeepSeek V4 Pro",
241
+ "contextWindow": 1000000,
242
+ "maxTokens": 128000,
243
+ "input": [
244
+ "text"
245
+ ],
246
+ "reasoningEfforts": {
247
+ "off": "none",
248
+ "high": "high",
249
+ "max": "max"
250
+ }
251
+ },
252
+ {
253
+ "id": "deepseek-flash",
254
+ "name": "DeepSeek V4.1 Flash",
255
+ "contextWindow": 1000000,
256
+ "maxTokens": 384000,
257
+ "input": [
258
+ "text",
259
+ "image"
260
+ ],
261
+ "reasoningEfforts": {
262
+ "off": "none",
263
+ "high": "high",
264
+ "max": "max"
265
+ }
266
+ },
267
+ {
268
+ "id": "qwen3.7-max",
269
+ "name": "Qwen 3.7 Max",
270
+ "contextWindow": 1000000,
271
+ "maxTokens": 131072,
272
+ "input": [
273
+ "text",
274
+ "image"
275
+ ],
276
+ "reasoningEfforts": {
277
+ "off": "none",
278
+ "low": "low",
279
+ "medium": "medium",
280
+ "high": "high"
281
+ }
282
+ }
283
+ ]
284
+ }