@turmind/halo 1.5.11 → 1.6.1

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 (75) hide show
  1. package/README.md +2 -2
  2. package/admin-out/404.html +1 -1
  3. package/admin-out/_next/static/chunks/{941-4719e7343b54b9bd.js → 147-d4200c70445aabb6.js} +1 -1
  4. package/admin-out/_next/static/chunks/58.d26b1c4f14404226.js +1 -0
  5. package/admin-out/_next/static/chunks/989-ddba0eb72566da23.js +1 -0
  6. package/admin-out/_next/static/chunks/app/{layout-5ec6c5f713a8562b.js → layout-ea161287d934ba96.js} +1 -1
  7. package/admin-out/_next/static/chunks/app/page-be47983ba8ff20b1.js +1 -0
  8. package/admin-out/_next/static/chunks/webpack-74f577c1b094f942.js +1 -0
  9. package/admin-out/_next/static/css/3b4dcd0ac6b8eae8.css +1 -0
  10. package/admin-out/_next/static/css/7b736202f0b1dbfd.css +1 -0
  11. package/admin-out/index.html +1 -1
  12. package/admin-out/index.txt +6 -5
  13. package/bundled-docs/design/a2a.md +286 -0
  14. package/bundled-docs/design/agent.md +6 -4
  15. package/bundled-docs/design/agentcore.md +194 -122
  16. package/bundled-docs/design/architecture.md +2 -2
  17. package/bundled-docs/design/canvas-extensions.md +59 -12
  18. package/bundled-docs/design/cron.md +22 -11
  19. package/bundled-docs/design/observability.md +12 -4
  20. package/bundled-docs/design/prompt-system.md +10 -5
  21. package/bundled-docs/design/relay.md +1 -1
  22. package/bundled-docs/design/session.md +7 -2
  23. package/bundled-docs/design/storage.md +40 -10
  24. package/bundled-docs/design/web.md +5 -56
  25. package/bundled-docs/design/ws.md +1 -1
  26. package/bundled-docs/dev/add-model-provider.md +15 -9
  27. package/bundled-docs/dev/api.md +93 -14
  28. package/bundled-docs/dev/deploy.md +5 -1
  29. package/bundled-docs/dev/desktop-packaging.md +11 -5
  30. package/bundled-docs/dev/env.md +9 -5
  31. package/bundled-docs/dev/previews.md +26 -0
  32. package/bundled-docs/dev/tools.md +93 -3
  33. package/bundled-docs/guide/agents.md +6 -6
  34. package/bundled-docs/guide/channels/web.md +0 -26
  35. package/bundled-docs/guide/cli.md +45 -8
  36. package/bundled-docs/guide/delegation-and-access.md +3 -2
  37. package/bundled-docs/guide/skills.md +13 -7
  38. package/bundled-docs/guide/workspace.md +1 -1
  39. package/bundled-docs/requirements/agent.md +6 -1
  40. package/bundled-docs/requirements/chat.md +9 -3
  41. package/bundled-docs/requirements/command.md +4 -0
  42. package/bundled-docs/requirements/editor.md +28 -8
  43. package/bundled-docs/requirements/skill.md +15 -9
  44. package/bundled-docs/requirements/workspace.md +6 -0
  45. package/dist/index.js +6081 -3013
  46. package/package.json +1 -1
  47. package/templates/models/anthropic.yaml +109 -13
  48. package/templates/models/aws-bedrock-claude-invoke.yaml +76 -11
  49. package/templates/models/aws-bedrock-mantle.yaml +60 -28
  50. package/templates/models/aws-bedrock-openai.yaml +146 -29
  51. package/templates/models/deepseek.yaml +7 -3
  52. package/templates/models/doubao.yaml +72 -20
  53. package/templates/models/hunyuan.yaml +74 -14
  54. package/templates/models/kimi.yaml +63 -3
  55. package/templates/models/mimo-token-plan-china.yaml +9 -1
  56. package/templates/models/minimax.yaml +9 -3
  57. package/templates/models/openai.yaml +120 -17
  58. package/templates/models/qwen.yaml +90 -4
  59. package/templates/models/zhipu.yaml +9 -1
  60. package/templates/prompts/all/RUNTIME.md +2 -1
  61. package/templates/schema.sql +1 -1
  62. package/templates/skills/cron/SKILL.md +38 -2
  63. package/templates/skills/cron/manage-cron.py +115 -7
  64. package/templates/skills/send-file/SKILL.md +1 -1
  65. package/templates/skills/send-file/a2a.md +13 -0
  66. package/templates/skills/skill/SKILL.md +22 -11
  67. package/templates/skills/workspace/share.md +5 -2
  68. package/templates/skills/workspace/stage.py +51 -14
  69. package/admin-out/_next/static/chunks/220.7566bc89f3d98993.js +0 -1
  70. package/admin-out/_next/static/chunks/989-86b0f677f69ccf3b.js +0 -1
  71. package/admin-out/_next/static/chunks/app/page-4792aa1c79f7e7f1.js +0 -1
  72. package/admin-out/_next/static/chunks/webpack-efd27999305b080a.js +0 -1
  73. package/admin-out/_next/static/css/97f3ac570664d044.css +0 -3
  74. /package/admin-out/_next/static/{GO2W5JoiC46FIxLjtFAXx → j6buZnQDPISEFgtAuTGyl}/_buildManifest.js +0 -0
  75. /package/admin-out/_next/static/{GO2W5JoiC46FIxLjtFAXx → j6buZnQDPISEFgtAuTGyl}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
1
  id: aws-bedrock-openai
2
2
  runtime: bedrock-mantle
3
- revision: 2026100501
4
- displayName: AWS Bedrock OpenAI-compatible (GPT-6.1 / 6 / 5.6 · Grok 4.6 · Kimi K3)
5
- displayName_zh: AWS Bedrock OpenAI 兼容接口(GPT-6.1 / 6 / 5.6 · Grok 4.6 · Kimi K3)
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.6, Moonshot Kimi K3. Cross-Region inference profiles (global.*) only — every region serves every model, no region split. No server-side web_search (that is Mantle-only).
7
- description_zh: 通过 bedrock-runtime 端点的 OpenAI Responses API(/openai/v1)调用 Bedrock 上的前沿模型——OpenAI GPT-6.1 Sol、GPT-6(Astra / Sol / Luna)与 GPT-5.6(Sol / Terra / Luna)、xAI Grok 4.6、月之暗面 Kimi K3。仅支持跨区域推理 profile(global.*)——每个区域都能调所有模型,无区域分裂。不支持服务端 web_search(那是 Mantle 独有)。
3
+ revision: 2026101005
4
+ displayName: AWS Bedrock OpenAI-compatible (GPT-6.1 / 6 / 5.6 · Grok 4.7 / 4.6 · Kimi K3 · GLM 5.3)
5
+ displayName_zh: AWS Bedrock OpenAI 兼容接口(GPT-6.1 / 6 / 5.6 · Grok 4.7 / 4.6 · Kimi K3 · GLM 5.3)
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).
7
+ description_zh: 通过 bedrock-runtime 端点的 OpenAI Responses API(/openai/v1)调用 Bedrock 上的前沿模型——OpenAI GPT-6.1 Sol、GPT-6(Astra / Sol / Luna)与 GPT-5.6(Sol / Terra / Luna)、xAI Grok 4.7 / 4.6、月之暗面 Kimi K3、智谱 GLM 5.3。仅支持跨区域推理 profile(global.*)——每个区域都能调所有模型,无区域分裂。不支持服务端 web_search(那是 Mantle 独有)。
8
8
  # Why a second Bedrock/OpenAI provider next to aws-bedrock-mantle: this is the
9
9
  # bedrock-runtime host (https://bedrock-runtime.<region>.amazonaws.com/openai/v1),
10
10
  # which AWS now recommends for new applications; bedrock-mantle is the legacy
@@ -17,7 +17,8 @@ description_zh: 通过 bedrock-runtime 端点的 OpenAI Responses API(/openai/
17
17
  # - live-probed 2026-09-24 with SigV4: all nine global.* ids below return
18
18
  # 200 (gpt-6.1-sol probed 2026-09-30) in us-east-1 / us-west-2 /
19
19
  # eu-west-1 / ap-northeast-1 alike, so the endpoint is purely a latency /
20
- # data-residency pick — unlike Mantle's per-region GPT matrix.
20
+ # data-residency pick — unlike Mantle's per-region GPT matrix. Grok 4.7
21
+ # and GLM 5.3 (probed 2026-10-08) are bedrock-runtime-only, same rule.
21
22
  # - requests are always synchronous and there are NO server-side tools:
22
23
  # `tools:[{type:'web_search'}]` → 400 "web search is not supported for
23
24
  # this request" (verified). MantleAgent never sends those, but the
@@ -60,8 +61,9 @@ secrets:
60
61
  models:
61
62
  # OpenAI GPT-6.1 / GPT-6 / GPT-5.6 — the same seven models as
62
63
  # aws-bedrock-mantle.yaml (see that file for the per-model background:
63
- # 1,050,000 / 128,000 for GPT-6, 272,000 / 64,000 for 5.6, 2x input price
64
- # 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
65
67
  # requests: every one (except GPT-6.1 Sol, below) lists reasoning.effort
66
68
  # none/low/medium/high/xhigh/max in its own validation error and accepts
67
69
  # text.verbosity low/medium/high — identical surface, so presets are copied
@@ -71,6 +73,8 @@ models:
71
73
  displayName: GPT-6 Sol
72
74
  maxOutputTokens: 128000
73
75
  contextWindow: 272000
76
+ maxContextWindow: 1050000
77
+ compressAt: 0.9
74
78
  capabilities:
75
79
  image: true
76
80
  video: false
@@ -82,7 +86,7 @@ models:
82
86
  thinking:
83
87
  mode: adaptive
84
88
  defaultEnabled: true
85
- default: medium
89
+ default: xhigh
86
90
  effortPresets:
87
91
  - { value: low, label: Low }
88
92
  - { value: medium, label: Medium }
@@ -90,7 +94,7 @@ models:
90
94
  - { value: xhigh, label: XHigh }
91
95
  - { value: max, label: Max }
92
96
  verbosity:
93
- default: low
97
+ default: medium
94
98
  presets:
95
99
  - { value: low, label: Low }
96
100
  - { value: medium, label: Medium }
@@ -100,11 +104,13 @@ models:
100
104
  # with SigV4: 200 from all four endpoint presets like the other global.* ids.
101
105
  # reasoning.effort accepts low/medium/high/xhigh/max — `none` 400s, unlike
102
106
  # GPT-6 Sol, so no "none" preset; text.verbosity low/medium/high; image input
103
- # OK; 1,050,000 / 128,000 per the OpenAI model page.
107
+ # OK; 1M context / 131,072 output per the Bedrock model card.
104
108
  - id: global.openai.gpt-6.1-sol
105
109
  displayName: GPT-6.1 Sol
106
- maxOutputTokens: 128000
110
+ maxOutputTokens: 131072
107
111
  contextWindow: 272000
112
+ maxContextWindow: 1000000
113
+ compressAt: 0.9
108
114
  capabilities:
109
115
  image: true
110
116
  video: false
@@ -116,7 +122,7 @@ models:
116
122
  thinking:
117
123
  mode: adaptive
118
124
  defaultEnabled: true
119
- default: medium
125
+ default: xhigh
120
126
  effortPresets:
121
127
  - { value: low, label: Low }
122
128
  - { value: medium, label: Medium }
@@ -124,7 +130,7 @@ models:
124
130
  - { value: xhigh, label: XHigh }
125
131
  - { value: max, label: Max }
126
132
  verbosity:
127
- default: low
133
+ default: medium
128
134
  presets:
129
135
  - { value: low, label: Low }
130
136
  - { value: medium, label: Medium }
@@ -134,6 +140,8 @@ models:
134
140
  displayName: GPT-6 Astra
135
141
  maxOutputTokens: 128000
136
142
  contextWindow: 272000
143
+ maxContextWindow: 1050000
144
+ compressAt: 0.9
137
145
  capabilities:
138
146
  image: true
139
147
  video: false
@@ -145,7 +153,7 @@ models:
145
153
  thinking:
146
154
  mode: adaptive
147
155
  defaultEnabled: true
148
- default: medium
156
+ default: xhigh
149
157
  effortPresets:
150
158
  - { value: low, label: Low }
151
159
  - { value: medium, label: Medium }
@@ -153,7 +161,7 @@ models:
153
161
  - { value: xhigh, label: XHigh }
154
162
  - { value: max, label: Max }
155
163
  verbosity:
156
- default: low
164
+ default: medium
157
165
  presets:
158
166
  - { value: low, label: Low }
159
167
  - { value: medium, label: Medium }
@@ -163,6 +171,8 @@ models:
163
171
  displayName: GPT-6 Luna
164
172
  maxOutputTokens: 128000
165
173
  contextWindow: 272000
174
+ maxContextWindow: 1050000
175
+ compressAt: 0.9
166
176
  capabilities:
167
177
  image: true
168
178
  video: false
@@ -174,7 +184,7 @@ models:
174
184
  thinking:
175
185
  mode: adaptive
176
186
  defaultEnabled: true
177
- default: medium
187
+ default: xhigh
178
188
  effortPresets:
179
189
  - { value: low, label: Low }
180
190
  - { value: medium, label: Medium }
@@ -182,7 +192,7 @@ models:
182
192
  - { value: xhigh, label: XHigh }
183
193
  - { value: max, label: Max }
184
194
  verbosity:
185
- default: low
195
+ default: medium
186
196
  presets:
187
197
  - { value: low, label: Low }
188
198
  - { value: medium, label: Medium }
@@ -192,6 +202,8 @@ models:
192
202
  displayName: GPT-5.6 Sol
193
203
  maxOutputTokens: 64000
194
204
  contextWindow: 272000
205
+ maxContextWindow: 1050000
206
+ compressAt: 0.9
195
207
  capabilities:
196
208
  image: true
197
209
  video: false
@@ -203,7 +215,7 @@ models:
203
215
  thinking:
204
216
  mode: adaptive
205
217
  defaultEnabled: true
206
- default: medium
218
+ default: xhigh
207
219
  effortPresets:
208
220
  - { value: low, label: Low }
209
221
  - { value: medium, label: Medium }
@@ -211,7 +223,7 @@ models:
211
223
  - { value: xhigh, label: XHigh }
212
224
  - { value: max, label: Max }
213
225
  verbosity:
214
- default: low
226
+ default: medium
215
227
  presets:
216
228
  - { value: low, label: Low }
217
229
  - { value: medium, label: Medium }
@@ -221,6 +233,8 @@ models:
221
233
  displayName: GPT-5.6 Terra
222
234
  maxOutputTokens: 64000
223
235
  contextWindow: 272000
236
+ maxContextWindow: 1050000
237
+ compressAt: 0.9
224
238
  capabilities:
225
239
  image: true
226
240
  video: false
@@ -232,7 +246,7 @@ models:
232
246
  thinking:
233
247
  mode: adaptive
234
248
  defaultEnabled: true
235
- default: medium
249
+ default: xhigh
236
250
  effortPresets:
237
251
  - { value: low, label: Low }
238
252
  - { value: medium, label: Medium }
@@ -240,7 +254,7 @@ models:
240
254
  - { value: xhigh, label: XHigh }
241
255
  - { value: max, label: Max }
242
256
  verbosity:
243
- default: low
257
+ default: medium
244
258
  presets:
245
259
  - { value: low, label: Low }
246
260
  - { value: medium, label: Medium }
@@ -250,6 +264,8 @@ models:
250
264
  displayName: GPT-5.6 Luna
251
265
  maxOutputTokens: 64000
252
266
  contextWindow: 272000
267
+ maxContextWindow: 1050000
268
+ compressAt: 0.9
253
269
  capabilities:
254
270
  image: true
255
271
  video: false
@@ -261,7 +277,7 @@ models:
261
277
  thinking:
262
278
  mode: adaptive
263
279
  defaultEnabled: true
264
- default: medium
280
+ default: xhigh
265
281
  effortPresets:
266
282
  - { value: low, label: Low }
267
283
  - { value: medium, label: Medium }
@@ -269,15 +285,62 @@ models:
269
285
  - { value: xhigh, label: XHigh }
270
286
  - { value: max, label: Max }
271
287
  verbosity:
272
- default: low
288
+ default: medium
289
+ presets:
290
+ - { value: low, label: Low }
291
+ - { value: medium, label: Medium }
292
+ - { value: high, label: High }
293
+
294
+ # Grok 4.7 (Bedrock launch 2026-09-28; global. / us. profiles only, no
295
+ # in-Region id) — self-verification on long tasks, better use of its 500K
296
+ # context. bedrock-runtime only: the model card lists no bedrock-mantle and
297
+ # Mantle 404s it in us-east-1 / us-east-2 / us-west-2 (live-probed
298
+ # 2026-10-08), so it isn't in aws-bedrock-mantle.yaml. Max output isn't
299
+ # disclosed (the endpoint accepts any max_output_tokens) — 64000 carried
300
+ # over from Grok 4.6. Live-probed 2026-10-08: reasoning.effort accepts ONLY
301
+ # low/medium/high/xhigh (`none` and `max` → 400 "unsupported"), same as
302
+ # 4.6 — so no Max preset; the card's server default is high, the form
303
+ # default stays medium like 4.6. text.verbosity low/medium/high, image
304
+ # input OK ("Red"), function_call OK, implicit caching OK (run 2-3
305
+ # cached_tokens 8448 of 8531). Reachable from all four presets. Launch-week
306
+ # capacity is flaky: many calls 500/503, or stream an `error` +
307
+ # `response.failed` frame (server_error / rate_limit_exceeded) right after
308
+ # response.in_progress, and succeed on a resend. Global CRIS
309
+ # pricing $2.00 / $6.00 per 1M (cache read $0.50); US Geo $2.20 / $6.60
310
+ # (cache read $0.55).
311
+ - id: global.xai.grok-4.7
312
+ displayName: Grok 4.7
313
+ maxOutputTokens: 64000
314
+ contextWindow: 272000
315
+ maxContextWindow: 500000
316
+ compressAt: 0.9
317
+ capabilities:
318
+ image: true
319
+ video: false
320
+ audio: false
321
+ promptCaching:
322
+ default: 5m
323
+ ttlPresets:
324
+ - { value: 5m, label: 5min }
325
+ thinking:
326
+ mode: adaptive
327
+ defaultEnabled: true
328
+ default: xhigh
329
+ effortPresets:
330
+ - { value: low, label: Low }
331
+ - { value: medium, label: Medium }
332
+ - { value: high, label: High }
333
+ - { value: xhigh, label: XHigh }
334
+ verbosity:
335
+ default: medium
273
336
  presets:
274
337
  - { value: low, label: Low }
275
338
  - { value: medium, label: Medium }
276
339
  - { value: high, label: High }
277
340
 
278
341
  # Grok 4.6 (Bedrock launch 2026-08-18). 500K context per the Bedrock model
279
- # card and xAI's model page (input beyond 200K bills at 2x — cap
280
- # 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
281
344
  # disclosed by either (the endpoint accepts any max_output_tokens without
282
345
  # validation) — 64000 is the same conservative carry-over used for GPT-5.6.
283
346
  # Live-probed 2026-09-24: reasoning.effort accepts ONLY low/medium/high/xhigh
@@ -288,6 +351,8 @@ models:
288
351
  displayName: Grok 4.6
289
352
  maxOutputTokens: 64000
290
353
  contextWindow: 272000
354
+ maxContextWindow: 500000
355
+ compressAt: 0.9
291
356
  capabilities:
292
357
  image: true
293
358
  video: false
@@ -299,14 +364,14 @@ models:
299
364
  thinking:
300
365
  mode: adaptive
301
366
  defaultEnabled: true
302
- default: medium
367
+ default: xhigh
303
368
  effortPresets:
304
369
  - { value: low, label: Low }
305
370
  - { value: medium, label: Medium }
306
371
  - { value: high, label: High }
307
372
  - { value: xhigh, label: XHigh }
308
373
  verbosity:
309
- default: low
374
+ default: medium
310
375
  presets:
311
376
  - { value: low, label: Low }
312
377
  - { value: medium, label: Medium }
@@ -325,6 +390,8 @@ models:
325
390
  displayName: Kimi K3
326
391
  maxOutputTokens: 131072
327
392
  contextWindow: 272000
393
+ maxContextWindow: 1000000
394
+ compressAt: 0.9
328
395
  capabilities:
329
396
  image: true
330
397
  video: false
@@ -336,7 +403,57 @@ models:
336
403
  thinking:
337
404
  mode: adaptive
338
405
  defaultEnabled: true
406
+ default: xhigh
407
+ effortPresets:
408
+ - { value: low, label: Low }
409
+ - { value: medium, label: Medium }
410
+ - { value: high, label: High }
411
+ - { value: xhigh, label: XHigh }
412
+ - { value: max, label: Max }
413
+ verbosity:
339
414
  default: medium
415
+ presets:
416
+ - { value: low, label: Low }
417
+ - { value: medium, label: Medium }
418
+ - { value: high, label: High }
419
+
420
+ # GLM 5.3 on Bedrock (launch 2026-10-05; global. / us. profiles only, no
421
+ # in-Region id) — Z.AI's 744B-total / ~40B-active MoE for agentic coding.
422
+ # The native API is in zhipu.yaml; this is the Bedrock route. Serving
423
+ # surface, live-probed 2026-10-08: bedrock-runtime /openai/v1 Responses
424
+ # (200 from all four presets, streaming + function_call OK) — Mantle 404s
425
+ # it in every region (the card lists no bedrock-mantle either), Converse /
426
+ # Invoke / chat-completions exist too but MantleAgent needs only Responses.
427
+ # reasoning.effort: the validation error lists none/low/medium/high/xhigh/
428
+ # max and all six return 200, reasoning_tokens rising with effort on a
429
+ # primality prompt (0 / 398 / 458 / 454 / 634 / 792) — unlike the native
430
+ # API's low/high/max. `none` gets no preset (MantleAgent maps it to high);
431
+ # Thinking off omits the field and the model still thinks. text.verbosity
432
+ # low/medium/high. Text-only: an input_image part isn't rejected but the
433
+ # model says it can't see it, so image: false. Card: 1M context, 128K max
434
+ # output (the endpoint doesn't validate max_output_tokens). Implicit
435
+ # caching OK (run 1 cache_write_tokens 9023, runs 2-3 cached_tokens 9023).
436
+ # The card marks access as limited to eligible customers (this account
437
+ # has it). Pricing not yet in the AWS Price List API — see the Bedrock
438
+ # pricing page.
439
+ - id: global.zai.glm-5.3
440
+ displayName: GLM 5.3
441
+ maxOutputTokens: 128000
442
+ contextWindow: 272000
443
+ maxContextWindow: 1000000
444
+ compressAt: 0.9
445
+ capabilities:
446
+ image: false
447
+ video: false
448
+ audio: false
449
+ promptCaching:
450
+ default: 5m
451
+ ttlPresets:
452
+ - { value: 5m, label: 5min }
453
+ thinking:
454
+ mode: adaptive
455
+ defaultEnabled: true
456
+ default: xhigh
340
457
  effortPresets:
341
458
  - { value: low, label: Low }
342
459
  - { value: medium, label: Medium }
@@ -344,7 +461,7 @@ models:
344
461
  - { value: xhigh, label: XHigh }
345
462
  - { value: max, label: Max }
346
463
  verbosity:
347
- default: low
464
+ default: medium
348
465
  presets:
349
466
  - { value: low, label: Low }
350
467
  - { value: medium, label: Medium }
@@ -1,6 +1,6 @@
1
1
  id: deepseek
2
2
  runtime: deepseek
3
- revision: 2026100501
3
+ revision: 2026101002
4
4
  displayName: DeepSeek
5
5
  displayName_zh: DeepSeek
6
6
  description: DeepSeek V4 via OpenAI-compatible chat completions API
@@ -30,6 +30,8 @@ models:
30
30
  displayName: DeepSeek V4 Pro
31
31
  maxOutputTokens: 65536
32
32
  contextWindow: 272000
33
+ maxContextWindow: 1000000
34
+ compressAt: 0.9
33
35
  capabilities:
34
36
  image: false
35
37
  video: false
@@ -40,7 +42,7 @@ models:
40
42
  - { value: 5m, label: 5min }
41
43
  thinking:
42
44
  defaultEnabled: true
43
- default: medium
45
+ default: xhigh
44
46
  effortPresets:
45
47
  - { value: low, label: Low }
46
48
  - { value: medium, label: Medium }
@@ -56,6 +58,8 @@ models:
56
58
  displayName: DeepSeek Flash
57
59
  maxOutputTokens: 65536
58
60
  contextWindow: 272000
61
+ maxContextWindow: 1000000
62
+ compressAt: 0.9
59
63
  capabilities:
60
64
  image: true
61
65
  video: false
@@ -66,7 +70,7 @@ models:
66
70
  - { value: 5m, label: 5min }
67
71
  thinking:
68
72
  defaultEnabled: true
69
- default: medium
73
+ default: xhigh
70
74
  effortPresets:
71
75
  - { value: low, label: Low }
72
76
  - { value: medium, label: Medium }
@@ -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: 2026101003
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,37 @@ 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: no official per-model number found (search-only claims of
46
+ # 64K, unconfirmed: https://www.tencentcloud.com/techpedia/147980); the
47
+ # gateway accepted max_tokens 2,000,000 without error, so it isn't a hard
48
+ # check either — maxOutputTokens stays at the conservative 16384.
34
49
  models:
35
- - id: hy3-preview
36
- displayName: Hunyuan Hy3 Preview
50
+ - id: hy3
51
+ displayName: Hunyuan Hy3
37
52
  maxOutputTokens: 16384
38
- contextWindow: 256000
53
+ contextWindow: 262144
54
+ maxContextWindow: 262144
55
+ compressAt: 0.9
39
56
  capabilities:
40
57
  image: false
41
58
  video: false
@@ -53,7 +70,50 @@ models:
53
70
  # we expose Off / Low / High since "Off" is the natural opposite of
54
71
  # an enable toggle.
55
72
  defaultEnabled: true
56
- default: low
73
+ default: high
74
+ effortPresets:
75
+ - { value: low, label: Low }
76
+ - { value: high, label: High }
77
+
78
+ - id: hy4-preview
79
+ displayName: Hunyuan Hy4 Preview
80
+ maxOutputTokens: 16384
81
+ contextWindow: 272000
82
+ maxContextWindow: 1048576
83
+ compressAt: 0.9
84
+ capabilities:
85
+ image: false
86
+ video: false
87
+ audio: false
88
+ promptCaching:
89
+ default: 5m
90
+ ttlPresets:
91
+ - { value: 5m, label: 5min }
92
+ thinking:
93
+ defaultEnabled: true
94
+ default: high
95
+ effortPresets:
96
+ - { value: low, label: Low }
97
+ - { value: high, label: High }
98
+
99
+ # --- superseded by hy3 (GA); dropped from /v1/models, no retirement date published ---
100
+ - id: hy3-preview
101
+ displayName: Hunyuan Hy3 Preview
102
+ maxOutputTokens: 16384
103
+ contextWindow: 262144
104
+ maxContextWindow: 262144
105
+ compressAt: 0.9
106
+ capabilities:
107
+ image: false
108
+ video: false
109
+ audio: false
110
+ promptCaching:
111
+ default: 5m
112
+ ttlPresets:
113
+ - { value: 5m, label: 5min }
114
+ thinking:
115
+ defaultEnabled: true
116
+ default: high
57
117
  effortPresets:
58
118
  - { value: low, label: Low }
59
119
  - { value: high, label: High }