@phi-code-admin/phi-code 0.82.2 → 0.82.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.82.3] - 2026-06-14
4
+
5
+ ### Added
6
+
7
+ - **Two newer Alibaba Coding Plan models**: `qwen3.7-plus` and `qwen3.6-plus`
8
+ (both 1M context, multimodal). They join `qwen3.5-plus` at the top of the
9
+ bundled list, so the Coding Plan now ships 10 pre-configured models.
10
+ - **Vision (image input) for the multimodal Coding Plan models.** The qwen
11
+ `*-plus` flagships (3.7 / 3.6 / 3.5) and `kimi-k2.5` are now declared with
12
+ `input: ["text", "image"]` instead of text-only, matching their actual
13
+ Coding Plan capabilities. A `vision` flag was added to `AlibabaModelSpec`.
14
+
15
+ ### Fixed
16
+
17
+ - README: the Coding Plan model table was stale (listed 8 text-only models and
18
+ a flat "131K context window"). It now lists all 10 models, marks the
19
+ vision-capable ones, and documents the real per-model context windows (up to
20
+ 1M for the qwen `*-plus` / `*-coder` models).
21
+
3
22
  ## [0.82.2] - 2026-06-14
4
23
 
5
24
  ### Fixed
@@ -1,16 +1,32 @@
1
1
  {
2
- "$comment": "Alibaba Coding Plan bundled providers. Two variants: OpenAI-compat (/v1) for legacy compat, Anthropic-compat (/apps/anthropic) for native prompt caching (~99.7% cache hit). Both share the same API key (ALIBABA_CODING_PLAN_KEY) and the same 8 models. Choose via /setup or /phi-init. Refresh model list via scripts/refresh-alibaba-models.ts.",
2
+ "$comment": "Alibaba Coding Plan bundled providers. Two variants: OpenAI-compat (/v1) for legacy compat, Anthropic-compat (/apps/anthropic) for native prompt caching (~99.7% cache hit). Both share the same API key (ALIBABA_CODING_PLAN_KEY) and the same 10 models. The qwen *-plus flagships (3.7/3.6/3.5) and kimi-k2.5 are multimodal (input text+image). Choose via /setup or /phi-init. Refresh model list via scripts/refresh-alibaba-models.ts.",
3
3
  "providers": {
4
4
  "alibaba-codingplan": {
5
5
  "baseUrl": "https://coding-intl.dashscope.aliyuncs.com/v1",
6
6
  "api": "openai-completions",
7
7
  "apiKey": "ALIBABA_CODING_PLAN_KEY",
8
8
  "models": [
9
+ {
10
+ "id": "qwen3.7-plus",
11
+ "name": "Qwen 3.7 Plus",
12
+ "reasoning": true,
13
+ "input": ["text", "image"],
14
+ "contextWindow": 1000000,
15
+ "maxTokens": 16384
16
+ },
17
+ {
18
+ "id": "qwen3.6-plus",
19
+ "name": "Qwen 3.6 Plus",
20
+ "reasoning": true,
21
+ "input": ["text", "image"],
22
+ "contextWindow": 1000000,
23
+ "maxTokens": 16384
24
+ },
9
25
  {
10
26
  "id": "qwen3.5-plus",
11
27
  "name": "Qwen 3.5 Plus",
12
28
  "reasoning": true,
13
- "input": ["text"],
29
+ "input": ["text", "image"],
14
30
  "contextWindow": 1000000,
15
31
  "maxTokens": 16384
16
32
  },
@@ -42,7 +58,7 @@
42
58
  "id": "kimi-k2.5",
43
59
  "name": "Kimi K2.5",
44
60
  "reasoning": true,
45
- "input": ["text"],
61
+ "input": ["text", "image"],
46
62
  "contextWindow": 262144,
47
63
  "maxTokens": 16384
48
64
  },
@@ -77,11 +93,29 @@
77
93
  "api": "anthropic-messages",
78
94
  "apiKey": "ALIBABA_CODING_PLAN_KEY",
79
95
  "models": [
96
+ {
97
+ "id": "qwen3.7-plus",
98
+ "name": "Qwen 3.7 Plus (Anthropic-compat)",
99
+ "reasoning": true,
100
+ "input": ["text", "image"],
101
+ "contextWindow": 1000000,
102
+ "maxTokens": 16384,
103
+ "compat": { "supportsLongCacheRetention": true }
104
+ },
105
+ {
106
+ "id": "qwen3.6-plus",
107
+ "name": "Qwen 3.6 Plus (Anthropic-compat)",
108
+ "reasoning": true,
109
+ "input": ["text", "image"],
110
+ "contextWindow": 1000000,
111
+ "maxTokens": 16384,
112
+ "compat": { "supportsLongCacheRetention": true }
113
+ },
80
114
  {
81
115
  "id": "qwen3.5-plus",
82
116
  "name": "Qwen 3.5 Plus (Anthropic-compat)",
83
117
  "reasoning": true,
84
- "input": ["text"],
118
+ "input": ["text", "image"],
85
119
  "contextWindow": 1000000,
86
120
  "maxTokens": 16384,
87
121
  "compat": { "supportsLongCacheRetention": true }
@@ -117,7 +151,7 @@
117
151
  "id": "kimi-k2.5",
118
152
  "name": "Kimi K2.5 (Anthropic-compat)",
119
153
  "reasoning": true,
120
- "input": ["text"],
154
+ "input": ["text", "image"],
121
155
  "contextWindow": 262144,
122
156
  "maxTokens": 16384,
123
157
  "compat": { "supportsLongCacheRetention": true }
@@ -40,21 +40,27 @@ export interface AlibabaModelSpec {
40
40
  contextWindow: number;
41
41
  maxTokens: number;
42
42
  reasoning: boolean;
43
+ /** Multimodal: accepts image input in addition to text. */
44
+ vision: boolean;
43
45
  }
44
46
 
45
47
  /**
46
48
  * Bundled Alibaba models. Refresh via `scripts/refresh-alibaba-models.ts`.
47
- * Last verified: 2026-05-10.
49
+ * Last verified: 2026-06-14 against the Model Studio model list.
50
+ * Vision flag follows the Coding Plan page (qwen *-plus flagships + kimi-k2.5
51
+ * are multimodal); the qwen3-coder / qwen3-max / glm / MiniMax entries are text.
48
52
  */
49
53
  export const ALIBABA_MODELS: readonly AlibabaModelSpec[] = [
50
- { id: "qwen3.5-plus", name: "Qwen 3.5 Plus", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true },
51
- { id: "qwen3-max-2026-01-23", name: "Qwen 3 Max", contextWindow: 262_144, maxTokens: 16_384, reasoning: true },
52
- { id: "qwen3-coder-plus", name: "Qwen 3 Coder Plus", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true },
53
- { id: "qwen3-coder-next", name: "Qwen 3 Coder Next", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true },
54
- { id: "kimi-k2.5", name: "Kimi K2.5", contextWindow: 262_144, maxTokens: 16_384, reasoning: true },
55
- { id: "glm-5", name: "GLM 5", contextWindow: 200_000, maxTokens: 128_000, reasoning: true },
56
- { id: "glm-4.7", name: "GLM 4.7", contextWindow: 200_000, maxTokens: 128_000, reasoning: true },
57
- { id: "MiniMax-M2.5", name: "MiniMax M2.5", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true },
54
+ { id: "qwen3.7-plus", name: "Qwen 3.7 Plus", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true, vision: true },
55
+ { id: "qwen3.6-plus", name: "Qwen 3.6 Plus", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true, vision: true },
56
+ { id: "qwen3.5-plus", name: "Qwen 3.5 Plus", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true, vision: true },
57
+ { id: "qwen3-max-2026-01-23", name: "Qwen 3 Max", contextWindow: 262_144, maxTokens: 16_384, reasoning: true, vision: false },
58
+ { id: "qwen3-coder-plus", name: "Qwen 3 Coder Plus", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true, vision: false },
59
+ { id: "qwen3-coder-next", name: "Qwen 3 Coder Next", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true, vision: false },
60
+ { id: "kimi-k2.5", name: "Kimi K2.5", contextWindow: 262_144, maxTokens: 16_384, reasoning: true, vision: true },
61
+ { id: "glm-5", name: "GLM 5", contextWindow: 200_000, maxTokens: 128_000, reasoning: true, vision: false },
62
+ { id: "glm-4.7", name: "GLM 4.7", contextWindow: 200_000, maxTokens: 128_000, reasoning: true, vision: false },
63
+ { id: "MiniMax-M2.5", name: "MiniMax M2.5", contextWindow: 1_000_000, maxTokens: 16_384, reasoning: true, vision: false },
58
64
  ] as const;
59
65
 
60
66
  export const ALIBABA_RATE_LIMITS = {
@@ -94,7 +100,7 @@ export function buildAlibabaProviderConfig(variant: "openai" | "anthropic", apiK
94
100
  id: m.id,
95
101
  name: isAnthropic ? `${m.name} (Anthropic-compat)` : m.name,
96
102
  reasoning: m.reasoning,
97
- input: ["text"] as const,
103
+ input: (m.vision ? ["text", "image"] : ["text"]) as ("text" | "image")[],
98
104
  contextWindow: m.contextWindow,
99
105
  maxTokens: m.maxTokens,
100
106
  ...(isAnthropic ? { compat: { supportsLongCacheRetention: true } } : {}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phi-code-admin/phi-code",
3
- "version": "0.82.2",
3
+ "version": "0.82.3",
4
4
  "description": "Coding agent CLI with persistent memory, sub-agents, intelligent routing, and orchestration",
5
5
  "type": "module",
6
6
  "piConfig": {