@turmind/halo 0.2.6 → 1.0.0
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/README.md +5 -5
- package/admin-out/404.html +1 -1
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +1 -1
- package/bundled-docs/design/agent.md +12 -2
- package/bundled-docs/design/session.md +9 -0
- package/bundled-docs/design/ws.md +4 -0
- package/bundled-docs/dev/add-model-provider.md +17 -9
- package/bundled-docs/dev/api.md +4 -0
- package/bundled-docs/dev/deploy.md +4 -8
- package/bundled-docs/dev/env.md +9 -4
- package/bundled-docs/dev/tools.md +4 -3
- package/bundled-docs/guide/cli.md +1 -0
- package/dist/index.js +189 -120
- package/package.json +1 -1
- package/templates/models/anthropic.yaml +1 -0
- package/templates/models/aws-bedrock-claude-invoke.yaml +7 -0
- package/templates/models/aws-bedrock-mantle.yaml +51 -11
- package/templates/models/deepseek.yaml +2 -0
- package/templates/models/doubao.yaml +4 -0
- package/templates/models/hunyuan.yaml +1 -0
- package/templates/models/kimi.yaml +49 -13
- package/templates/models/mimo-token-plan-china.yaml +2 -0
- package/templates/models/minimax.yaml +37 -5
- package/templates/models/openai.yaml +1 -0
- package/templates/models/qwen.yaml +2 -0
- /package/admin-out/_next/static/{TmICbj6oGkbeEcs8tFjd3 → gzvax-Lg7K157j0rQJHje}/_buildManifest.js +0 -0
- /package/admin-out/_next/static/{TmICbj6oGkbeEcs8tFjd3 → gzvax-Lg7K157j0rQJHje}/_ssgManifest.js +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
id: aws-bedrock-mantle
|
|
2
2
|
displayName: AWS Bedrock Mantle (OpenAI GPT-5.x)
|
|
3
3
|
displayName_zh: AWS Bedrock Mantle(OpenAI GPT-5.x)
|
|
4
|
-
description: OpenAI GPT-5.
|
|
5
|
-
description_zh: 通过 Bedrock Mantle 端点调用 OpenAI GPT-5.
|
|
4
|
+
description: OpenAI GPT-5.6 (Sol / Terra / Luna) on Amazon Bedrock via the bedrock-mantle endpoint (OpenAI Responses API only — not Converse/InvokeModel).
|
|
5
|
+
description_zh: 通过 Bedrock Mantle 端点调用 OpenAI GPT-5.6(Sol / Terra / Luna)(仅 OpenAI Responses API,不支持 Converse/InvokeModel)。
|
|
6
6
|
# Mantle is a distinct endpoint from bedrock-runtime; the OpenAI surface lives
|
|
7
|
-
# under /openai/v1.
|
|
8
|
-
# but
|
|
7
|
+
# under /openai/v1. Regions: us-east-2 serves ALL models below; us-west-2
|
|
8
|
+
# additionally serves Terra / Luna but NOT Sol. We ship the us-east-2
|
|
9
|
+
# endpoint that covers everything.
|
|
9
10
|
defaultEndpoint: https://bedrock-mantle.us-east-2.api.aws/openai/v1
|
|
10
11
|
endpointPresets:
|
|
11
12
|
- https://bedrock-mantle.us-east-2.api.aws/openai/v1
|
|
12
13
|
|
|
13
|
-
defaultModelId: openai.gpt-5.
|
|
14
|
+
defaultModelId: openai.gpt-5.6-sol
|
|
14
15
|
|
|
15
16
|
# Auth: a Bedrock long-term API key passed as a Bearer token. Generate at
|
|
16
17
|
# console → Bedrock → API keys → long-term. The default placeholder reads the
|
|
@@ -30,11 +31,19 @@ secrets:
|
|
|
30
31
|
# is sent and there's no 1h option — single 5m preset reflects reality, the
|
|
31
32
|
# runtime never writes cache control, it only reads cached_tokens back.
|
|
32
33
|
# - thinking: adaptive via reasoning.effort = low|medium|high (no budget_tokens
|
|
33
|
-
# mode; xhigh/max would be mapped down to high by the runtime).
|
|
34
|
+
# mode; xhigh/max would be mapped down to high by the runtime). Note: Mantle
|
|
35
|
+
# never surfaces reasoning summaries — output[].reasoning.summary stays empty
|
|
36
|
+
# even with reasoning.summary=detailed (verified against the live endpoint;
|
|
37
|
+
# reasoning_tokens > 0 proves thinking runs). So no thinking text is shown in
|
|
38
|
+
# the UI; that's upstream behavior, not a parsing gap.
|
|
39
|
+
# - maxOutputTokens for the 5.6 variants: not disclosed in the 5.6 model card —
|
|
40
|
+
# conservatively carried over from GPT-5.5's 64000.
|
|
34
41
|
models:
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
# GPT-5.6 flagship.
|
|
43
|
+
- id: openai.gpt-5.6-sol
|
|
44
|
+
displayName: GPT-5.6 Sol
|
|
37
45
|
maxOutputTokens: 64000
|
|
46
|
+
contextWindow: 272000
|
|
38
47
|
capabilities:
|
|
39
48
|
image: true
|
|
40
49
|
video: false
|
|
@@ -61,9 +70,11 @@ models:
|
|
|
61
70
|
- { value: medium, label: Medium }
|
|
62
71
|
- { value: high, label: High }
|
|
63
72
|
|
|
64
|
-
-
|
|
65
|
-
|
|
73
|
+
# GPT-5.6 balanced — official line: GPT-5.5-level performance at half the price.
|
|
74
|
+
- id: openai.gpt-5.6-terra
|
|
75
|
+
displayName: GPT-5.6 Terra
|
|
66
76
|
maxOutputTokens: 64000
|
|
77
|
+
contextWindow: 272000
|
|
67
78
|
capabilities:
|
|
68
79
|
image: true
|
|
69
80
|
video: false
|
|
@@ -80,7 +91,36 @@ models:
|
|
|
80
91
|
- { value: low, label: Low }
|
|
81
92
|
- { value: medium, label: Medium }
|
|
82
93
|
- { value: high, label: High }
|
|
83
|
-
# See GPT-5.
|
|
94
|
+
# See GPT-5.6 Sol above — final-answer length, default low, per-agent overridable.
|
|
95
|
+
verbosity:
|
|
96
|
+
default: low
|
|
97
|
+
presets:
|
|
98
|
+
- { value: low, label: Low }
|
|
99
|
+
- { value: medium, label: Medium }
|
|
100
|
+
- { value: high, label: High }
|
|
101
|
+
|
|
102
|
+
# GPT-5.6 fast / low-cost.
|
|
103
|
+
- id: openai.gpt-5.6-luna
|
|
104
|
+
displayName: GPT-5.6 Luna
|
|
105
|
+
maxOutputTokens: 64000
|
|
106
|
+
contextWindow: 272000
|
|
107
|
+
capabilities:
|
|
108
|
+
image: true
|
|
109
|
+
video: false
|
|
110
|
+
audio: false
|
|
111
|
+
promptCaching:
|
|
112
|
+
default: 5m
|
|
113
|
+
ttlPresets:
|
|
114
|
+
- { value: 5m, label: 5min }
|
|
115
|
+
thinking:
|
|
116
|
+
mode: adaptive
|
|
117
|
+
defaultEnabled: true
|
|
118
|
+
default: medium
|
|
119
|
+
effortPresets:
|
|
120
|
+
- { value: low, label: Low }
|
|
121
|
+
- { value: medium, label: Medium }
|
|
122
|
+
- { value: high, label: High }
|
|
123
|
+
# See GPT-5.6 Sol above — final-answer length, default low, per-agent overridable.
|
|
84
124
|
verbosity:
|
|
85
125
|
default: low
|
|
86
126
|
presets:
|
|
@@ -22,6 +22,7 @@ models:
|
|
|
22
22
|
- id: deepseek-v4-pro
|
|
23
23
|
displayName: DeepSeek V4 Pro
|
|
24
24
|
maxOutputTokens: 65536
|
|
25
|
+
contextWindow: 1000000
|
|
25
26
|
capabilities:
|
|
26
27
|
image: false
|
|
27
28
|
video: false
|
|
@@ -43,6 +44,7 @@ models:
|
|
|
43
44
|
- id: deepseek-v4-flash
|
|
44
45
|
displayName: DeepSeek V4 Flash
|
|
45
46
|
maxOutputTokens: 65536
|
|
47
|
+
contextWindow: 1000000
|
|
46
48
|
capabilities:
|
|
47
49
|
image: false
|
|
48
50
|
video: false
|
|
@@ -40,6 +40,7 @@ models:
|
|
|
40
40
|
- id: doubao-seed-2-0-pro-260215
|
|
41
41
|
displayName: Doubao Seed 2.0 Pro
|
|
42
42
|
maxOutputTokens: 16384
|
|
43
|
+
contextWindow: 256000
|
|
43
44
|
capabilities:
|
|
44
45
|
image: false
|
|
45
46
|
video: false
|
|
@@ -67,6 +68,7 @@ models:
|
|
|
67
68
|
- id: doubao-seed-2-0-lite-260428
|
|
68
69
|
displayName: Doubao Seed 2.0 Lite
|
|
69
70
|
maxOutputTokens: 16384
|
|
71
|
+
contextWindow: 256000
|
|
70
72
|
capabilities:
|
|
71
73
|
image: false
|
|
72
74
|
video: false
|
|
@@ -91,6 +93,7 @@ models:
|
|
|
91
93
|
- id: doubao-seed-2-0-mini-260428
|
|
92
94
|
displayName: Doubao Seed 2.0 Mini
|
|
93
95
|
maxOutputTokens: 16384
|
|
96
|
+
contextWindow: 256000
|
|
94
97
|
capabilities:
|
|
95
98
|
image: false
|
|
96
99
|
video: false
|
|
@@ -115,6 +118,7 @@ models:
|
|
|
115
118
|
- id: doubao-seed-2-0-code-preview-260215
|
|
116
119
|
displayName: Doubao Seed 2.0 Code Preview
|
|
117
120
|
maxOutputTokens: 16384
|
|
121
|
+
contextWindow: 256000
|
|
118
122
|
capabilities:
|
|
119
123
|
image: false
|
|
120
124
|
video: false
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
id: kimi
|
|
2
2
|
displayName: Kimi (Moonshot AI)
|
|
3
3
|
displayName_zh: Kimi(月之暗面)
|
|
4
|
-
description: Kimi K2.6 via OpenAI-compatible chat completions API
|
|
5
|
-
description_zh: Kimi K2.6,通过 OpenAI 兼容的 chat completions API 调用
|
|
4
|
+
description: Kimi K3 / K2.6 via OpenAI-compatible chat completions API
|
|
5
|
+
description_zh: Kimi K3 / K2.6,通过 OpenAI 兼容的 chat completions API 调用
|
|
6
6
|
defaultEndpoint: https://api.moonshot.cn/v1
|
|
7
7
|
|
|
8
8
|
secrets:
|
|
@@ -12,18 +12,53 @@ secrets:
|
|
|
12
12
|
default: <<KIMI_API_KEY>>
|
|
13
13
|
secret: true
|
|
14
14
|
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
15
|
+
# Capability notes (per-model specifics live on each entry):
|
|
16
|
+
# - Caching is automatic on both models; cached_tokens shows up reliably
|
|
17
|
+
# from turn 2 once the prompt is long enough (~2K+).
|
|
18
|
+
# - Thinking control is TWO separate mechanisms depending on generation:
|
|
19
|
+
# K3 uses the top-level `reasoning_effort` field (enum currently only
|
|
20
|
+
# "max" per the official OpenAPI schema); K2.x uses the
|
|
21
|
+
# `thinking:{type:'enabled'|'disabled'}` toggle and has NO
|
|
22
|
+
# reasoning_effort field at all (OpenAPI marks it unsupported for
|
|
23
|
+
# k2.6). An earlier comment here claiming K2.6 accepts
|
|
24
|
+
# reasoning_effort { minimal, low, medium, high } was wrong.
|
|
22
25
|
models:
|
|
26
|
+
- id: kimi-k3
|
|
27
|
+
displayName: Kimi K3
|
|
28
|
+
# Official default output cap; the model can go up to 1M but we don't max out.
|
|
29
|
+
maxOutputTokens: 131072
|
|
30
|
+
contextWindow: 1048576
|
|
31
|
+
capabilities:
|
|
32
|
+
# K3 itself also supports video input, but Halo has no video upload
|
|
33
|
+
# path yet — keep video:false until one exists. Image input is
|
|
34
|
+
# base64-only (public URLs are not supported); kimi-agent happens to
|
|
35
|
+
# send only base64 data URLs, so it's naturally compatible.
|
|
36
|
+
image: true
|
|
37
|
+
video: false
|
|
38
|
+
audio: false
|
|
39
|
+
promptCaching:
|
|
40
|
+
# Automatic caching, hint-only (prompt_cache_key) — same as K2.6.
|
|
41
|
+
default: 5m
|
|
42
|
+
ttlPresets:
|
|
43
|
+
- { value: 5m, label: 5min }
|
|
44
|
+
thinking:
|
|
45
|
+
# K3 thinking is ALWAYS ON server-side — there is no off switch.
|
|
46
|
+
# The only knob is the top-level `reasoning_effort` field, whose
|
|
47
|
+
# enum currently contains just "max" (confirmed in the official
|
|
48
|
+
# OpenAPI schema). Do NOT send the K2.x `thinking` parameter to K3.
|
|
49
|
+
defaultEnabled: true
|
|
50
|
+
default: max
|
|
51
|
+
effortPresets:
|
|
52
|
+
- { value: max, label: Max }
|
|
53
|
+
|
|
23
54
|
- id: kimi-k2.6
|
|
24
55
|
displayName: Kimi K2.6
|
|
25
56
|
maxOutputTokens: 32768
|
|
57
|
+
contextWindow: 262144
|
|
26
58
|
capabilities:
|
|
59
|
+
# Verified 2026-05-27 via live probes: kimi-k2.6 returns "prepare
|
|
60
|
+
# image failed" on image_url blocks despite past docs claiming
|
|
61
|
+
# vision — keep image:false.
|
|
27
62
|
image: false
|
|
28
63
|
video: false
|
|
29
64
|
audio: false
|
|
@@ -32,10 +67,11 @@ models:
|
|
|
32
67
|
ttlPresets:
|
|
33
68
|
- { value: 5m, label: 5min }
|
|
34
69
|
thinking:
|
|
70
|
+
# K2.6 has NO reasoning_effort field — its only reasoning control is
|
|
71
|
+
# the top-level `thinking:{type:'enabled'|'disabled'}` on/off toggle.
|
|
72
|
+
# The effort label below is Halo-side only (doubao precedent):
|
|
73
|
+
# kimi-agent just maps enabled → omit / disabled → thinking:disabled.
|
|
35
74
|
defaultEnabled: true
|
|
36
75
|
default: medium
|
|
37
76
|
effortPresets:
|
|
38
|
-
- { value:
|
|
39
|
-
- { value: low, label: Low }
|
|
40
|
-
- { value: medium, label: Medium }
|
|
41
|
-
- { value: high, label: High }
|
|
77
|
+
- { value: medium, label: On }
|
|
@@ -19,6 +19,7 @@ models:
|
|
|
19
19
|
- id: mimo-v2.5-pro
|
|
20
20
|
displayName: MiMo v2.5 Pro
|
|
21
21
|
maxOutputTokens: 131072
|
|
22
|
+
contextWindow: 1048576
|
|
22
23
|
capabilities:
|
|
23
24
|
image: false
|
|
24
25
|
video: false
|
|
@@ -41,6 +42,7 @@ models:
|
|
|
41
42
|
- id: mimo-v2.5
|
|
42
43
|
displayName: MiMo v2.5
|
|
43
44
|
maxOutputTokens: 131072
|
|
45
|
+
contextWindow: 1048576
|
|
44
46
|
capabilities:
|
|
45
47
|
image: true
|
|
46
48
|
video: false
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
id: minimax
|
|
2
2
|
displayName: MiniMax
|
|
3
3
|
displayName_zh: MiniMax
|
|
4
|
-
description: MiniMax M2.7 family via the Anthropic-compatible Messages API
|
|
5
|
-
description_zh: MiniMax M2.7 系列,通过 Anthropic 兼容的 Messages API 调用
|
|
4
|
+
description: MiniMax M3 / M2.7 family via the Anthropic-compatible Messages API
|
|
5
|
+
description_zh: MiniMax M3 / M2.7 系列,通过 Anthropic 兼容的 Messages API 调用
|
|
6
6
|
defaultEndpoint: https://api.minimaxi.com/anthropic
|
|
7
|
-
defaultModelId: MiniMax-
|
|
7
|
+
defaultModelId: MiniMax-M3
|
|
8
8
|
|
|
9
9
|
secrets:
|
|
10
10
|
- key: api_key
|
|
@@ -16,11 +16,12 @@ secrets:
|
|
|
16
16
|
# Capability notes for MiniMax M2.7 family — verified against
|
|
17
17
|
# platform.minimaxi.com/docs/api-reference/text-anthropic-api on 2026-05-26
|
|
18
18
|
# plus live probes against MiniMax-M2.7:
|
|
19
|
-
# - image / video / audio: documented as not supported
|
|
19
|
+
# - image / video / audio: documented as not supported (M2.x; M3 differs —
|
|
20
|
+
# see its entry)
|
|
20
21
|
# - thinking: forced on — `thinking:{type:'disabled'}` and omitting the
|
|
21
22
|
# field both still produce thinking blocks; only budget_tokens influences
|
|
22
23
|
# output. So we don't expose an off toggle.
|
|
23
|
-
# - cache_control: both models support caching. Doc says TTL is 5min,
|
|
24
|
+
# - cache_control: both M2.7 models support caching. Doc says TTL is 5min,
|
|
24
25
|
# refreshing automatically on each hit. cache_control:{type:'ephemeral'}
|
|
25
26
|
# is the only shape — no longer-TTL knob exposed by MiniMax.
|
|
26
27
|
# - MiniMax-M2.7-highspeed: turn 1 reports cache_creation_input_tokens=N,
|
|
@@ -35,9 +36,39 @@ secrets:
|
|
|
35
36
|
# observed to truncate the run with stop=max_tokens before any thinking
|
|
36
37
|
# completes — leaving it out of the preset list. medium/high are safe.
|
|
37
38
|
models:
|
|
39
|
+
- id: MiniMax-M3
|
|
40
|
+
displayName: MiniMax M3
|
|
41
|
+
# Official recommended value; hard cap is 524288 but we don't max out.
|
|
42
|
+
maxOutputTokens: 131072
|
|
43
|
+
contextWindow: 1000000
|
|
44
|
+
capabilities:
|
|
45
|
+
# M3 also supports video input, but Halo has no video upload path yet —
|
|
46
|
+
# keep video:false until one exists. Image rides the Anthropic-compatible
|
|
47
|
+
# API's standard image blocks; minimax-agent passes this.messages
|
|
48
|
+
# straight through, so no agent code change is needed.
|
|
49
|
+
image: true
|
|
50
|
+
video: false
|
|
51
|
+
audio: false
|
|
52
|
+
# No promptCaching key on purpose: both official caching docs agree
|
|
53
|
+
# that explicit caching (cache_control) is only supported on the
|
|
54
|
+
# M2.7/M2.5/M2.1/M2 families — NOT M3. M3 only has passive automatic
|
|
55
|
+
# caching (no parameter; usage reports cache_read, which the agent
|
|
56
|
+
# already reads). Omitting the key keeps the UI toggle away so users
|
|
57
|
+
# can't configure the unsupported M3+cache_control combination.
|
|
58
|
+
thinking:
|
|
59
|
+
# M3 thinking is off by default; enabling sends
|
|
60
|
+
# thinking:{type:'adaptive'} — no low/medium/high grading and no
|
|
61
|
+
# budget_tokens. This is the opposite of M2.x's manual+budget scheme.
|
|
62
|
+
mode: adaptive
|
|
63
|
+
defaultEnabled: true
|
|
64
|
+
default: adaptive
|
|
65
|
+
effortPresets:
|
|
66
|
+
- { value: adaptive, label: Adaptive }
|
|
67
|
+
|
|
38
68
|
- id: MiniMax-M2.7
|
|
39
69
|
displayName: MiniMax M2.7
|
|
40
70
|
maxOutputTokens: 16384
|
|
71
|
+
contextWindow: 204800
|
|
41
72
|
capabilities:
|
|
42
73
|
image: false
|
|
43
74
|
video: false
|
|
@@ -62,6 +93,7 @@ models:
|
|
|
62
93
|
- id: MiniMax-M2.7-highspeed
|
|
63
94
|
displayName: MiniMax M2.7 Highspeed
|
|
64
95
|
maxOutputTokens: 16384
|
|
96
|
+
contextWindow: 204800
|
|
65
97
|
capabilities:
|
|
66
98
|
image: false
|
|
67
99
|
video: false
|
|
@@ -38,6 +38,7 @@ models:
|
|
|
38
38
|
- id: qwen3.7-max
|
|
39
39
|
displayName: Qwen3.7 Max
|
|
40
40
|
maxOutputTokens: 16384
|
|
41
|
+
contextWindow: 1000000
|
|
41
42
|
capabilities:
|
|
42
43
|
image: false
|
|
43
44
|
video: false
|
|
@@ -60,6 +61,7 @@ models:
|
|
|
60
61
|
- id: qwen3.6-plus
|
|
61
62
|
displayName: Qwen3.6 Plus
|
|
62
63
|
maxOutputTokens: 16384
|
|
64
|
+
contextWindow: 1000000
|
|
63
65
|
capabilities:
|
|
64
66
|
image: true
|
|
65
67
|
video: false
|
/package/admin-out/_next/static/{TmICbj6oGkbeEcs8tFjd3 → gzvax-Lg7K157j0rQJHje}/_buildManifest.js
RENAMED
|
File without changes
|
/package/admin-out/_next/static/{TmICbj6oGkbeEcs8tFjd3 → gzvax-Lg7K157j0rQJHje}/_ssgManifest.js
RENAMED
|
File without changes
|