@turmind/halo 1.6.0 → 1.6.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.
Files changed (59) hide show
  1. package/admin-out/404.html +1 -1
  2. package/admin-out/_next/static/chunks/58.d26b1c4f14404226.js +1 -0
  3. package/admin-out/_next/static/chunks/989-ddba0eb72566da23.js +1 -0
  4. package/admin-out/_next/static/chunks/app/page-1d27029caba48956.js +1 -0
  5. package/admin-out/_next/static/chunks/webpack-74f577c1b094f942.js +1 -0
  6. package/admin-out/_next/static/css/3b4dcd0ac6b8eae8.css +1 -0
  7. package/admin-out/index.html +1 -1
  8. package/admin-out/index.txt +5 -5
  9. package/bundled-docs/design/agent.md +6 -4
  10. package/bundled-docs/design/canvas-extensions.md +30 -4
  11. package/bundled-docs/design/cron.md +24 -11
  12. package/bundled-docs/design/prompt-system.md +10 -5
  13. package/bundled-docs/design/session.md +4 -1
  14. package/bundled-docs/design/storage.md +36 -11
  15. package/bundled-docs/design/ws.md +7 -5
  16. package/bundled-docs/dev/add-model-provider.md +17 -11
  17. package/bundled-docs/dev/api.md +25 -12
  18. package/bundled-docs/dev/deploy.md +3 -0
  19. package/bundled-docs/dev/desktop-packaging.md +11 -5
  20. package/bundled-docs/dev/env.md +1 -1
  21. package/bundled-docs/dev/previews.md +26 -0
  22. package/bundled-docs/guide/agents.md +6 -6
  23. package/bundled-docs/guide/cli.md +5 -4
  24. package/bundled-docs/guide/skills.md +12 -6
  25. package/bundled-docs/guide/workspace.md +1 -1
  26. package/bundled-docs/requirements/agent.md +5 -0
  27. package/bundled-docs/requirements/chat.md +9 -5
  28. package/bundled-docs/requirements/command.md +4 -0
  29. package/bundled-docs/requirements/editor.md +20 -6
  30. package/bundled-docs/requirements/session.md +1 -1
  31. package/bundled-docs/requirements/skill.md +15 -9
  32. package/dist/index.js +2332 -1348
  33. package/package.json +1 -1
  34. package/templates/models/anthropic.yaml +109 -13
  35. package/templates/models/aws-bedrock-claude-invoke.yaml +39 -13
  36. package/templates/models/aws-bedrock-mantle.yaml +60 -28
  37. package/templates/models/aws-bedrock-openai.yaml +52 -29
  38. package/templates/models/deepseek.yaml +19 -10
  39. package/templates/models/doubao.yaml +72 -20
  40. package/templates/models/hunyuan.yaml +79 -15
  41. package/templates/models/kimi.yaml +63 -3
  42. package/templates/models/mimo-token-plan-china.yaml +9 -1
  43. package/templates/models/minimax.yaml +9 -3
  44. package/templates/models/openai.yaml +120 -17
  45. package/templates/models/qwen.yaml +103 -6
  46. package/templates/models/zhipu.yaml +9 -1
  47. package/templates/schema.sql +1 -1
  48. package/templates/skills/cron/SKILL.md +40 -3
  49. package/templates/skills/cron/manage-cron.py +140 -15
  50. package/templates/skills/skill/SKILL.md +22 -11
  51. package/templates/skills/workspace/share.md +5 -2
  52. package/templates/skills/workspace/stage.py +51 -14
  53. package/admin-out/_next/static/chunks/220.7566bc89f3d98993.js +0 -1
  54. package/admin-out/_next/static/chunks/989-a7f752480eaaa2dc.js +0 -1
  55. package/admin-out/_next/static/chunks/app/page-8173112f256bc483.js +0 -1
  56. package/admin-out/_next/static/chunks/webpack-dc73047e0279979b.js +0 -1
  57. package/admin-out/_next/static/css/981c9e5610ce535a.css +0 -1
  58. /package/admin-out/_next/static/{_F_Fkyh9PainUNY82EEjY → VgAe62AuGEiYrF4JQ7WQe}/_buildManifest.js +0 -0
  59. /package/admin-out/_next/static/{_F_Fkyh9PainUNY82EEjY → VgAe62AuGEiYrF4JQ7WQe}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  id: aws-bedrock-openai
2
2
  runtime: bedrock-mantle
3
- revision: 2026100801
3
+ revision: 2026101005
4
4
  displayName: AWS Bedrock OpenAI-compatible (GPT-6.1 / 6 / 5.6 · Grok 4.7 / 4.6 · Kimi K3 · GLM 5.3)
5
5
  displayName_zh: AWS Bedrock OpenAI 兼容接口(GPT-6.1 / 6 / 5.6 · Grok 4.7 / 4.6 · Kimi K3 · GLM 5.3)
6
6
  description: Frontier models on Amazon Bedrock via the bedrock-runtime endpoint's OpenAI Responses API (/openai/v1) — OpenAI GPT-6.1 Sol, GPT-6 (Astra / Sol / Luna) and GPT-5.6 (Sol / Terra / Luna), xAI Grok 4.7 / 4.6, Moonshot Kimi K3, Z.AI GLM 5.3. Cross-Region inference profiles (global.*) only — every region serves every model, no region split. No server-side web_search (that is Mantle-only).
@@ -61,8 +61,9 @@ secrets:
61
61
  models:
62
62
  # OpenAI GPT-6.1 / GPT-6 / GPT-5.6 — the same seven models as
63
63
  # aws-bedrock-mantle.yaml (see that file for the per-model background:
64
- # 1,050,000 / 128,000 for GPT-6, 272,000 / 64,000 for 5.6, 2x input price
65
- # past 272K). Live-probed 2026-09-24 on this host with invalid-value
64
+ # 1,050,000 context for GPT-6 and 5.6 per the Bedrock model cards, 128,000 /
65
+ # 64,000 max output, 2x input price past 272K — hence contextWindow 272000
66
+ # as the new-agent default, maxContextWindow the real limit). Live-probed 2026-09-24 on this host with invalid-value
66
67
  # requests: every one (except GPT-6.1 Sol, below) lists reasoning.effort
67
68
  # none/low/medium/high/xhigh/max in its own validation error and accepts
68
69
  # text.verbosity low/medium/high — identical surface, so presets are copied
@@ -72,6 +73,8 @@ models:
72
73
  displayName: GPT-6 Sol
73
74
  maxOutputTokens: 128000
74
75
  contextWindow: 272000
76
+ maxContextWindow: 1050000
77
+ compressAt: 0.9
75
78
  capabilities:
76
79
  image: true
77
80
  video: false
@@ -83,7 +86,7 @@ models:
83
86
  thinking:
84
87
  mode: adaptive
85
88
  defaultEnabled: true
86
- default: medium
89
+ default: xhigh
87
90
  effortPresets:
88
91
  - { value: low, label: Low }
89
92
  - { value: medium, label: Medium }
@@ -91,7 +94,7 @@ models:
91
94
  - { value: xhigh, label: XHigh }
92
95
  - { value: max, label: Max }
93
96
  verbosity:
94
- default: low
97
+ default: medium
95
98
  presets:
96
99
  - { value: low, label: Low }
97
100
  - { value: medium, label: Medium }
@@ -101,11 +104,13 @@ models:
101
104
  # with SigV4: 200 from all four endpoint presets like the other global.* ids.
102
105
  # reasoning.effort accepts low/medium/high/xhigh/max — `none` 400s, unlike
103
106
  # GPT-6 Sol, so no "none" preset; text.verbosity low/medium/high; image input
104
- # OK; 1,050,000 / 128,000 per the OpenAI model page.
107
+ # OK; 1M context / 131,072 output per the Bedrock model card.
105
108
  - id: global.openai.gpt-6.1-sol
106
109
  displayName: GPT-6.1 Sol
107
- maxOutputTokens: 128000
110
+ maxOutputTokens: 131072
108
111
  contextWindow: 272000
112
+ maxContextWindow: 1000000
113
+ compressAt: 0.9
109
114
  capabilities:
110
115
  image: true
111
116
  video: false
@@ -117,7 +122,7 @@ models:
117
122
  thinking:
118
123
  mode: adaptive
119
124
  defaultEnabled: true
120
- default: medium
125
+ default: xhigh
121
126
  effortPresets:
122
127
  - { value: low, label: Low }
123
128
  - { value: medium, label: Medium }
@@ -125,7 +130,7 @@ models:
125
130
  - { value: xhigh, label: XHigh }
126
131
  - { value: max, label: Max }
127
132
  verbosity:
128
- default: low
133
+ default: medium
129
134
  presets:
130
135
  - { value: low, label: Low }
131
136
  - { value: medium, label: Medium }
@@ -135,6 +140,8 @@ models:
135
140
  displayName: GPT-6 Astra
136
141
  maxOutputTokens: 128000
137
142
  contextWindow: 272000
143
+ maxContextWindow: 1050000
144
+ compressAt: 0.9
138
145
  capabilities:
139
146
  image: true
140
147
  video: false
@@ -146,7 +153,7 @@ models:
146
153
  thinking:
147
154
  mode: adaptive
148
155
  defaultEnabled: true
149
- default: medium
156
+ default: xhigh
150
157
  effortPresets:
151
158
  - { value: low, label: Low }
152
159
  - { value: medium, label: Medium }
@@ -154,7 +161,7 @@ models:
154
161
  - { value: xhigh, label: XHigh }
155
162
  - { value: max, label: Max }
156
163
  verbosity:
157
- default: low
164
+ default: medium
158
165
  presets:
159
166
  - { value: low, label: Low }
160
167
  - { value: medium, label: Medium }
@@ -164,6 +171,8 @@ models:
164
171
  displayName: GPT-6 Luna
165
172
  maxOutputTokens: 128000
166
173
  contextWindow: 272000
174
+ maxContextWindow: 1050000
175
+ compressAt: 0.9
167
176
  capabilities:
168
177
  image: true
169
178
  video: false
@@ -175,7 +184,7 @@ models:
175
184
  thinking:
176
185
  mode: adaptive
177
186
  defaultEnabled: true
178
- default: medium
187
+ default: xhigh
179
188
  effortPresets:
180
189
  - { value: low, label: Low }
181
190
  - { value: medium, label: Medium }
@@ -183,7 +192,7 @@ models:
183
192
  - { value: xhigh, label: XHigh }
184
193
  - { value: max, label: Max }
185
194
  verbosity:
186
- default: low
195
+ default: medium
187
196
  presets:
188
197
  - { value: low, label: Low }
189
198
  - { value: medium, label: Medium }
@@ -193,6 +202,8 @@ models:
193
202
  displayName: GPT-5.6 Sol
194
203
  maxOutputTokens: 64000
195
204
  contextWindow: 272000
205
+ maxContextWindow: 1050000
206
+ compressAt: 0.9
196
207
  capabilities:
197
208
  image: true
198
209
  video: false
@@ -204,7 +215,7 @@ models:
204
215
  thinking:
205
216
  mode: adaptive
206
217
  defaultEnabled: true
207
- default: medium
218
+ default: xhigh
208
219
  effortPresets:
209
220
  - { value: low, label: Low }
210
221
  - { value: medium, label: Medium }
@@ -212,7 +223,7 @@ models:
212
223
  - { value: xhigh, label: XHigh }
213
224
  - { value: max, label: Max }
214
225
  verbosity:
215
- default: low
226
+ default: medium
216
227
  presets:
217
228
  - { value: low, label: Low }
218
229
  - { value: medium, label: Medium }
@@ -222,6 +233,8 @@ models:
222
233
  displayName: GPT-5.6 Terra
223
234
  maxOutputTokens: 64000
224
235
  contextWindow: 272000
236
+ maxContextWindow: 1050000
237
+ compressAt: 0.9
225
238
  capabilities:
226
239
  image: true
227
240
  video: false
@@ -233,7 +246,7 @@ models:
233
246
  thinking:
234
247
  mode: adaptive
235
248
  defaultEnabled: true
236
- default: medium
249
+ default: xhigh
237
250
  effortPresets:
238
251
  - { value: low, label: Low }
239
252
  - { value: medium, label: Medium }
@@ -241,7 +254,7 @@ models:
241
254
  - { value: xhigh, label: XHigh }
242
255
  - { value: max, label: Max }
243
256
  verbosity:
244
- default: low
257
+ default: medium
245
258
  presets:
246
259
  - { value: low, label: Low }
247
260
  - { value: medium, label: Medium }
@@ -251,6 +264,8 @@ models:
251
264
  displayName: GPT-5.6 Luna
252
265
  maxOutputTokens: 64000
253
266
  contextWindow: 272000
267
+ maxContextWindow: 1050000
268
+ compressAt: 0.9
254
269
  capabilities:
255
270
  image: true
256
271
  video: false
@@ -262,7 +277,7 @@ models:
262
277
  thinking:
263
278
  mode: adaptive
264
279
  defaultEnabled: true
265
- default: medium
280
+ default: xhigh
266
281
  effortPresets:
267
282
  - { value: low, label: Low }
268
283
  - { value: medium, label: Medium }
@@ -270,7 +285,7 @@ models:
270
285
  - { value: xhigh, label: XHigh }
271
286
  - { value: max, label: Max }
272
287
  verbosity:
273
- default: low
288
+ default: medium
274
289
  presets:
275
290
  - { value: low, label: Low }
276
291
  - { value: medium, label: Medium }
@@ -297,6 +312,8 @@ models:
297
312
  displayName: Grok 4.7
298
313
  maxOutputTokens: 64000
299
314
  contextWindow: 272000
315
+ maxContextWindow: 500000
316
+ compressAt: 0.9
300
317
  capabilities:
301
318
  image: true
302
319
  video: false
@@ -308,22 +325,22 @@ models:
308
325
  thinking:
309
326
  mode: adaptive
310
327
  defaultEnabled: true
311
- default: medium
328
+ default: xhigh
312
329
  effortPresets:
313
330
  - { value: low, label: Low }
314
331
  - { value: medium, label: Medium }
315
332
  - { value: high, label: High }
316
333
  - { value: xhigh, label: XHigh }
317
334
  verbosity:
318
- default: low
335
+ default: medium
319
336
  presets:
320
337
  - { value: low, label: Low }
321
338
  - { value: medium, label: Medium }
322
339
  - { value: high, label: High }
323
340
 
324
341
  # Grok 4.6 (Bedrock launch 2026-08-18). 500K context per the Bedrock model
325
- # card and xAI's model page (input beyond 200K bills at 2x — cap
326
- # context.maxTokens in agent.yaml unless that's intended). Max output isn't
342
+ # card and xAI's model page (input beyond 200K bills at 2x — lower
343
+ # context.maxTokens in agent.yaml if that matters). Max output isn't
327
344
  # disclosed by either (the endpoint accepts any max_output_tokens without
328
345
  # validation) — 64000 is the same conservative carry-over used for GPT-5.6.
329
346
  # Live-probed 2026-09-24: reasoning.effort accepts ONLY low/medium/high/xhigh
@@ -334,6 +351,8 @@ models:
334
351
  displayName: Grok 4.6
335
352
  maxOutputTokens: 64000
336
353
  contextWindow: 272000
354
+ maxContextWindow: 500000
355
+ compressAt: 0.9
337
356
  capabilities:
338
357
  image: true
339
358
  video: false
@@ -345,14 +364,14 @@ models:
345
364
  thinking:
346
365
  mode: adaptive
347
366
  defaultEnabled: true
348
- default: medium
367
+ default: xhigh
349
368
  effortPresets:
350
369
  - { value: low, label: Low }
351
370
  - { value: medium, label: Medium }
352
371
  - { value: high, label: High }
353
372
  - { value: xhigh, label: XHigh }
354
373
  verbosity:
355
- default: low
374
+ default: medium
356
375
  presets:
357
376
  - { value: low, label: Low }
358
377
  - { value: medium, label: Medium }
@@ -371,6 +390,8 @@ models:
371
390
  displayName: Kimi K3
372
391
  maxOutputTokens: 131072
373
392
  contextWindow: 272000
393
+ maxContextWindow: 1000000
394
+ compressAt: 0.9
374
395
  capabilities:
375
396
  image: true
376
397
  video: false
@@ -382,7 +403,7 @@ models:
382
403
  thinking:
383
404
  mode: adaptive
384
405
  defaultEnabled: true
385
- default: medium
406
+ default: xhigh
386
407
  effortPresets:
387
408
  - { value: low, label: Low }
388
409
  - { value: medium, label: Medium }
@@ -390,7 +411,7 @@ models:
390
411
  - { value: xhigh, label: XHigh }
391
412
  - { value: max, label: Max }
392
413
  verbosity:
393
- default: low
414
+ default: medium
394
415
  presets:
395
416
  - { value: low, label: Low }
396
417
  - { value: medium, label: Medium }
@@ -419,6 +440,8 @@ models:
419
440
  displayName: GLM 5.3
420
441
  maxOutputTokens: 128000
421
442
  contextWindow: 272000
443
+ maxContextWindow: 1000000
444
+ compressAt: 0.9
422
445
  capabilities:
423
446
  image: false
424
447
  video: false
@@ -430,7 +453,7 @@ models:
430
453
  thinking:
431
454
  mode: adaptive
432
455
  defaultEnabled: true
433
- default: medium
456
+ default: xhigh
434
457
  effortPresets:
435
458
  - { value: low, label: Low }
436
459
  - { value: medium, label: Medium }
@@ -438,7 +461,7 @@ models:
438
461
  - { value: xhigh, label: XHigh }
439
462
  - { value: max, label: Max }
440
463
  verbosity:
441
- default: low
464
+ default: medium
442
465
  presets:
443
466
  - { value: low, label: Low }
444
467
  - { value: medium, label: Medium }
@@ -1,6 +1,6 @@
1
1
  id: deepseek
2
2
  runtime: deepseek
3
- revision: 2026100501
3
+ revision: 2026101101
4
4
  displayName: DeepSeek
5
5
  displayName_zh: DeepSeek
6
6
  description: DeepSeek V4 via OpenAI-compatible chat completions API
@@ -15,9 +15,18 @@ secrets:
15
15
  secret: true
16
16
 
17
17
  # Capabilities verified via live probes (2026-05-27, re-probed 2026-09-24).
18
- # reasoning_effort accepts { low, medium, high, max, xhigh } — bogus values
19
- # 400 with the full valid list in the error. Caching is automatic;
20
- # cached_tokens shows up from turn 2.
18
+ # Caching is automatic; cached_tokens shows up from turn 2.
19
+ #
20
+ # Thinking (re-probed 2026-10-11, api-docs.deepseek.com/guides/thinking_mode +
21
+ # GET /models): `thinking:{type:enabled|disabled}` toggles, on by default;
22
+ # `reasoning_effort` grades it. The API's real levels are low / high / max
23
+ # (/models `effort.supported_levels`, default high); it also accepts none /
24
+ # minimal / medium / xhigh / ultra and folds them itself (minimal→low,
25
+ # medium/xhigh→high, ultra→max) — all 200 live, a bogus value 422s with that
26
+ # list. So the presets are the three real levels and deepseek-agent.ts passes
27
+ # the label through unmapped: an older agent.yaml with medium / xhigh keeps
28
+ # working at high. Before 2026-10-11 the runtime sent no reasoning_effort at
29
+ # all (every agent ran at the API default, high).
21
30
  #
22
31
  # Vision is per model: `image_url` blocks are no longer rejected at the
23
32
  # deserialize layer on either id, but only `deepseek-flash` (V4.1-Flash,
@@ -30,6 +39,8 @@ models:
30
39
  displayName: DeepSeek V4 Pro
31
40
  maxOutputTokens: 65536
32
41
  contextWindow: 272000
42
+ maxContextWindow: 1000000
43
+ compressAt: 0.9
33
44
  capabilities:
34
45
  image: false
35
46
  video: false
@@ -40,13 +51,11 @@ models:
40
51
  - { value: 5m, label: 5min }
41
52
  thinking:
42
53
  defaultEnabled: true
43
- default: medium
54
+ default: high
44
55
  effortPresets:
45
56
  - { value: low, label: Low }
46
- - { value: medium, label: Medium }
47
57
  - { value: high, label: High }
48
58
  - { value: max, label: Max }
49
- - { value: xhigh, label: XHigh }
50
59
 
51
60
  # DeepSeek retired the versioned flash ids (deepseek-v4-flash,
52
61
  # deepseek-v4-flash-vision-exp) in favour of a rolling `deepseek-flash`
@@ -56,6 +65,8 @@ models:
56
65
  displayName: DeepSeek Flash
57
66
  maxOutputTokens: 65536
58
67
  contextWindow: 272000
68
+ maxContextWindow: 1000000
69
+ compressAt: 0.9
59
70
  capabilities:
60
71
  image: true
61
72
  video: false
@@ -66,10 +77,8 @@ models:
66
77
  - { value: 5m, label: 5min }
67
78
  thinking:
68
79
  defaultEnabled: true
69
- default: medium
80
+ default: high
70
81
  effortPresets:
71
82
  - { value: low, label: Low }
72
- - { value: medium, label: Medium }
73
83
  - { value: high, label: High }
74
84
  - { value: max, label: Max }
75
- - { value: xhigh, label: XHigh }
@@ -1,12 +1,12 @@
1
1
  id: doubao
2
2
  runtime: doubao
3
- revision: 2026100501
3
+ revision: 2026101005
4
4
  displayName: Doubao (Volcengine)
5
5
  displayName_zh: 豆包(火山方舟)
6
- description: ByteDance Doubao Seed-2.0 family on Volcengine Ark — pro / lite / mini / code, OpenAI-compatible
7
- description_zh: 字节豆包 Seed-2.0 系列(火山方舟),OpenAI 兼容协议
6
+ description: ByteDance Doubao Seed-2.1 / 2.0 family on Volcengine Ark — pro / lite / mini / code, OpenAI-compatible
7
+ description_zh: 字节豆包 Seed-2.1 / 2.0 系列(火山方舟),OpenAI 兼容协议
8
8
  defaultEndpoint: https://ark.cn-beijing.volces.com/api/v3
9
- defaultModelId: doubao-seed-2-0-pro-260215
9
+ defaultModelId: doubao-seed-2-1-pro-260628
10
10
 
11
11
  secrets:
12
12
  - key: api_key
@@ -32,19 +32,34 @@ secrets:
32
32
  # N+1 misses, turn N+2 hits again) — not stable steady-state.
33
33
  # Treat the cache as opportunistic; UI badges are accurate when shown.
34
34
  # - Tool calls return standard OpenAI tool_calls shape.
35
- # - Image: pro/lite/mini all accepted image_url blocks; in our smoke
36
- # test all four answered "Black" for what was actually a red 64×64 PNG,
37
- # so reliability is uncertain. We default image:false; user can flip
38
- # after their own verification.
35
+ # - Image: the 2.0 models accepted image_url blocks, but all four answered
36
+ # "Black" for a red 64×64 PNG, so they stay image:false (halo then
37
+ # drops user images with a notice and doesn't offer view_image). Only
38
+ # 2.1-pro-260628 is image:true — doubao-agent sends images as content
39
+ # parts (halo 1.6.1+; earlier versions dropped them).
39
40
  # - Doubao 2.0 docs aren't fully published; model id strings sourced
40
41
  # from the Volcengine Ark console (the activated-model list).
42
+ # 2026-10-10 census: limits are the Ark `GET /api/v3/models` token_limits
43
+ # (== the official model list, docs/82379/1330310): 2.1-pro-260628 and the
44
+ # 2.0 pro / code 260215 → 262144 ctx; 2.0 lite / mini 260428 → 262144 ctx but
45
+ # 229376 max input, so contextWindow = 229376; every 2.x model takes up to
46
+ # 131072 output (max_tokens 131073 → 400) and Ark trims the reply to the
47
+ # remaining quota instead of erroring. 2.1-pro-260628 live-probed: thinking
48
+ # enabled/disabled, tool calls, image. Not carried: 2.1-pro / lite-260915 and
49
+ # doubao-seed-evolving (1M ctx) return ModelNotOpen on our account — add them
50
+ # after a live probe on an account that has them activated; 2.1-turbo-260628
51
+ # likewise. Ark's newer `reasoning_effort` knob (deep-thinking doc) is not
52
+ # wired — doubao-agent still sends only thinking:{type}.
41
53
  models:
42
- - id: doubao-seed-2-0-pro-260215
43
- displayName: Doubao Seed 2.0 Pro
44
- maxOutputTokens: 16384
45
- contextWindow: 256000
54
+ - id: doubao-seed-2-1-pro-260628
55
+ displayName: Doubao Seed 2.1 Pro
56
+ maxOutputTokens: 131072
57
+ contextWindow: 262144
58
+ maxContextWindow: 262144
59
+ compressAt: 0.9
46
60
  capabilities:
47
- image: false
61
+ # Live probe 2026-10-10: named the red 64×64 PNG correctly.
62
+ image: true
48
63
  video: false
49
64
  audio: false
50
65
  promptCaching:
@@ -69,8 +84,10 @@ models:
69
84
 
70
85
  - id: doubao-seed-2-0-lite-260428
71
86
  displayName: Doubao Seed 2.0 Lite
72
- maxOutputTokens: 16384
73
- contextWindow: 256000
87
+ maxOutputTokens: 131072
88
+ contextWindow: 229376
89
+ maxContextWindow: 229376
90
+ compressAt: 0.9
74
91
  capabilities:
75
92
  image: false
76
93
  video: false
@@ -94,8 +111,10 @@ models:
94
111
 
95
112
  - id: doubao-seed-2-0-mini-260428
96
113
  displayName: Doubao Seed 2.0 Mini
97
- maxOutputTokens: 16384
98
- contextWindow: 256000
114
+ maxOutputTokens: 131072
115
+ contextWindow: 229376
116
+ maxContextWindow: 229376
117
+ compressAt: 0.9
99
118
  capabilities:
100
119
  image: false
101
120
  video: false
@@ -117,10 +136,43 @@ models:
117
136
  effortPresets:
118
137
  - { value: medium, label: On }
119
138
 
139
+ # --- deprecated: retires 2026-11-24 14:00 CST (https://www.volcengine.com/docs/82379/1350667) — remove after cutoff ---
140
+ - id: doubao-seed-2-0-pro-260215
141
+ displayName: Doubao Seed 2.0 Pro (deprecated 2026-11-24)
142
+ maxOutputTokens: 131072
143
+ contextWindow: 262144
144
+ maxContextWindow: 262144
145
+ compressAt: 0.9
146
+ capabilities:
147
+ image: false
148
+ video: false
149
+ audio: false
150
+ promptCaching:
151
+ # Doubao caches automatically (no cache_control parameter needed
152
+ # in the request). The badge is just a visibility hint — UI shows
153
+ # the read/write counts so users see when cache is helping.
154
+ # Doc says default TTL is the platform default; observed empirically
155
+ # to behave like ~5min ephemeral. Cache only kicks in for prompts
156
+ # above ~4096 tokens; first 1-3 turns of a fresh prompt commonly
157
+ # miss while the cache is warming up.
158
+ default: 5m
159
+ ttlPresets:
160
+ - { value: 5m, label: 5min }
161
+ thinking:
162
+ defaultEnabled: true
163
+ default: medium
164
+ # effort label is Halo-side only — Doubao only sees enabled/disabled.
165
+ # We still expose Off/On as toggles by mapping both options to the
166
+ # same flag (keeps the form consistent across providers).
167
+ effortPresets:
168
+ - { value: medium, label: On }
169
+
120
170
  - id: doubao-seed-2-0-code-preview-260215
121
- displayName: Doubao Seed 2.0 Code Preview
122
- maxOutputTokens: 16384
123
- contextWindow: 256000
171
+ displayName: Doubao Seed 2.0 Code Preview (deprecated 2026-11-24)
172
+ maxOutputTokens: 131072
173
+ contextWindow: 262144
174
+ maxContextWindow: 262144
175
+ compressAt: 0.9
124
176
  capabilities:
125
177
  image: false
126
178
  video: false
@@ -1,17 +1,17 @@
1
1
  id: hunyuan
2
2
  runtime: hunyuan
3
- revision: 2026100501
3
+ revision: 2026101101
4
4
  displayName: Hunyuan (Tencent)
5
5
  displayName_zh: 混元(腾讯)
6
- description: Tencent Hunyuan Hy3 preview — 295B/21B MoE, agent-oriented with no_think / think_low / think_high modes
7
- description_zh: 腾讯混元 Hy3 preview,295B/21B 激活 MoE,面向 Agent 工作负载,支持 no_think / think_low / think_high 三档思考
6
+ description: Tencent Hunyuan Hy4 preview / Hy3 on TokenHub — agent-oriented MoE with no_think / think_low / think_high modes
7
+ description_zh: 腾讯混元 Hy4 preview / Hy3(TokenHub),面向 Agent 的 MoE 模型,支持 no_think / think_low / think_high 三档思考
8
8
  defaultEndpoint: https://tokenhub.tencentmaas.com/v1
9
- defaultModelId: hy3-preview
9
+ defaultModelId: hy3
10
10
 
11
11
  secrets:
12
12
  - key: api_key
13
- description: Tencent Hunyuan Hy3 API Key. Format starts with sk-.
14
- description_zh: 腾讯混元 Hy3 API Key,sk- 开头
13
+ description: Tencent Hunyuan (TokenHub) API Key. Format starts with sk-.
14
+ description_zh: 腾讯混元(TokenHub)API Key,sk- 开头
15
15
  default: <<HUNYUAN_API_KEY>>
16
16
  secret: true
17
17
 
@@ -22,20 +22,41 @@ secrets:
22
22
  # system prompt across turns shows usage.prompt_tokens_details
23
23
  # .cached_tokens > 0 from turn 2 onward.
24
24
  # - Thinking modes per Hy3 product naming → `reasoning_effort`:
25
- # no_think → omit reasoning_effort (zero reasoning_tokens)
25
+ # no_think → reasoning_effort: 'none' (zero reasoning_tokens)
26
26
  # think_low → reasoning_effort: 'low'
27
27
  # think_high → reasoning_effort: 'high'
28
- # hunyuan-agent.ts maps thinking.enabled=false → no_think (no field),
28
+ # hunyuan-agent.ts maps thinking.enabled=false → 'none',
29
29
  # thinking.enabled=true + effort=low|medium|high → reasoning_effort.
30
30
  # - Image input: gateway accepts image_url blocks but model says "I don't
31
31
  # see an image" — image:false.
32
- # - 256K context per product description (not enforced here; model just
33
- # accepts long inputs).
32
+ # 2026-10-10 census (TokenHub `GET /v1/models` + live probes):
33
+ # - Lineup: Hy4 preview (2026-08-28, 770B/49B MoE, 1M context — official
34
+ # release https://www.tencent.com/tencent-releases-and-open-sources-tencent-hy4-preview/,
35
+ # HF config max_position_embeddings 1048576) and Hy3 GA (2026-07-06,
36
+ # "building on Hy3 preview", 256K — https://www.tencent.com/en-us/tencent-hunyuan-officially-releases-hy3-advancing-agent-capabilities-and-deeper-product-integration/,
37
+ # HF config 262144). Both listed `online`; hy3-preview is no longer listed
38
+ # but still answers — no retirement date published, kept at the tail.
39
+ # - hy3 / hy4-preview think by DEFAULT when reasoning_effort is omitted
40
+ # (reasoning_tokens > 0; hy3-preview still doesn't), so "off" must send
41
+ # reasoning_effort:'none' — verified 0 reasoning tokens on all three.
42
+ # - Caching re-verified on hy3 / hy4-preview (turn 2 cached_tokens ≈ prompt).
43
+ # - Tool calls verified on hy3 / hy4-preview. Image: hy3 / hy4-preview both
44
+ # answered wrongly about a solid red PNG — keep image:false.
45
+ # - Max output: the gateway accepted max_tokens 2,000,000 without error, so
46
+ # a rejection probe proves nothing.
47
+ # 2026-10-11: the TokenHub model list (cloud.tencent.com/document/product/1823/130051,
48
+ # updated 2026-09-28, 语言模型 table: 上下文窗口 / 最大输入 / 最大输出) gives
49
+ # Hy4 preview 1M / 960k / 64k and Hy3 256k / 192k / 128k → maxOutputTokens
50
+ # 65536 / 131072. hy3-preview is not on that page → stays at 16384. (One
51
+ # long-output run on hy3 with max_tokens 200000 stopped at 147,389 completion
52
+ # tokens, finish_reason length — above the doc figure; the doc value is used.)
34
53
  models:
35
- - id: hy3-preview
36
- displayName: Hunyuan Hy3 Preview
37
- maxOutputTokens: 16384
38
- contextWindow: 256000
54
+ - id: hy3
55
+ displayName: Hunyuan Hy3
56
+ maxOutputTokens: 131072
57
+ contextWindow: 262144
58
+ maxContextWindow: 262144
59
+ compressAt: 0.9
39
60
  capabilities:
40
61
  image: false
41
62
  video: false
@@ -53,7 +74,50 @@ models:
53
74
  # we expose Off / Low / High since "Off" is the natural opposite of
54
75
  # an enable toggle.
55
76
  defaultEnabled: true
56
- default: low
77
+ default: high
78
+ effortPresets:
79
+ - { value: low, label: Low }
80
+ - { value: high, label: High }
81
+
82
+ - id: hy4-preview
83
+ displayName: Hunyuan Hy4 Preview
84
+ maxOutputTokens: 65536
85
+ contextWindow: 272000
86
+ maxContextWindow: 1048576
87
+ compressAt: 0.9
88
+ capabilities:
89
+ image: false
90
+ video: false
91
+ audio: false
92
+ promptCaching:
93
+ default: 5m
94
+ ttlPresets:
95
+ - { value: 5m, label: 5min }
96
+ thinking:
97
+ defaultEnabled: true
98
+ default: high
99
+ effortPresets:
100
+ - { value: low, label: Low }
101
+ - { value: high, label: High }
102
+
103
+ # --- superseded by hy3 (GA); dropped from /v1/models, no retirement date published ---
104
+ - id: hy3-preview
105
+ displayName: Hunyuan Hy3 Preview
106
+ maxOutputTokens: 16384
107
+ contextWindow: 262144
108
+ maxContextWindow: 262144
109
+ compressAt: 0.9
110
+ capabilities:
111
+ image: false
112
+ video: false
113
+ audio: false
114
+ promptCaching:
115
+ default: 5m
116
+ ttlPresets:
117
+ - { value: 5m, label: 5min }
118
+ thinking:
119
+ defaultEnabled: true
120
+ default: high
57
121
  effortPresets:
58
122
  - { value: low, label: Low }
59
123
  - { value: high, label: High }