jinzd-ai-cli 0.4.329 → 0.4.330
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 +4 -4
- package/README.zh-CN.md +4 -4
- package/dist/{batch-NNYRIS4U.js → batch-GXITPLER.js} +2 -2
- package/dist/{chunk-ABIR2TGW.js → chunk-265M6ZLH.js} +4 -4
- package/dist/{chunk-BRZZ3QAI.js → chunk-2BAFLDDL.js} +44 -7
- package/dist/{chunk-LKSMXCFL.js → chunk-2SYDIWRU.js} +1 -1
- package/dist/{chunk-IUC3DRGB.js → chunk-3YVZJHTF.js} +1 -1
- package/dist/{chunk-6UDKGZ3D.js → chunk-AJITHMRE.js} +1 -1
- package/dist/{chunk-YDH5ZWOQ.js → chunk-CCFCPAKN.js} +1 -1
- package/dist/{chunk-LRRBYGHE.js → chunk-DU44SD6A.js} +1 -1
- package/dist/{chunk-XF2S7LNM.js → chunk-DX2U6QK4.js} +1 -1
- package/dist/{chunk-I5KLH7TL.js → chunk-GEC3MEVQ.js} +48 -40
- package/dist/{chunk-DRNRQ6SD.js → chunk-GWEBO4RF.js} +1 -1
- package/dist/{chunk-SS3PG7LP.js → chunk-HMQA2R3O.js} +1 -1
- package/dist/{chunk-LSSOPLKJ.js → chunk-LLXHA2LA.js} +8 -8
- package/dist/{chunk-TYQODNI7.js → chunk-LUJ4JVMI.js} +4 -4
- package/dist/{chunk-MPCQG7LV.js → chunk-M5B6G6AY.js} +4 -4
- package/dist/{chunk-2CNJ25U7.js → chunk-QU74ONFF.js} +9 -3
- package/dist/{ci-ODKA57IG.js → ci-6K3JNHB4.js} +5 -5
- package/dist/{ci-format-QDC4XKYZ.js → ci-format-2L3RFJVH.js} +2 -2
- package/dist/{constants-MG7EGG5J.js → constants-DLJECTGQ.js} +1 -1
- package/dist/{constants-BYWEJLAI.js → constants-J5SJ232X.js} +1 -1
- package/dist/{doctor-cli-LYZSHYR6.js → doctor-cli-BHS7G2XY.js} +5 -5
- package/dist/electron-server.js +109 -58
- package/dist/{hub-GRHYVLGV.js → hub-PPG4N6QQ.js} +1 -1
- package/dist/index.js +21 -20
- package/dist/{persistent-memory-OCDFR4BH.js → persistent-memory-3XTSZ3QR.js} +2 -2
- package/dist/{persistent-memory-O6GWHGJH.js → persistent-memory-O4T2OTVV.js} +2 -2
- package/dist/{pr-LDUIDU27.js → pr-M6ZY4CEK.js} +5 -5
- package/dist/{run-tests-YTRU22LY.js → run-tests-H3DIUCDB.js} +2 -2
- package/dist/{run-tests-LTYJACRX.js → run-tests-WQE3XTUL.js} +2 -2
- package/dist/{server-2NZN22XP.js → server-5NQSYQ2T.js} +15 -15
- package/dist/{server-ZTFB3KMS.js → server-J2B26DZK.js} +5 -5
- package/dist/{task-orchestrator-URFLWSPI.js → task-orchestrator-CI7EDT25.js} +5 -5
- package/dist/{usage-IP6G4Q2K.js → usage-AJYZ5A7P.js} +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -134,10 +134,10 @@ aicli user delete x # Delete user
|
|
|
134
134
|
| **DeepSeek** | deepseek-flash (default, multimodal), deepseek-v4-pro | [platform.deepseek.com](https://platform.deepseek.com) |
|
|
135
135
|
| **OpenAI** | GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini | [platform.openai.com](https://platform.openai.com) |
|
|
136
136
|
| **OpenRouter** | 300+ models (Claude, GPT, Gemini, Llama, Qwen, Mistral...) | [openrouter.ai](https://openrouter.ai) |
|
|
137
|
-
| **Zhipu** |
|
|
138
|
-
| **Kimi** |
|
|
139
|
-
| **Qwen** |
|
|
140
|
-
| **MiniMax** | MiniMax-M3 (default)
|
|
137
|
+
| **Zhipu** | glm-5.3-flash (default), glm-5.3-flashx, glm-5.3, glm-4.7-flash (free) | [open.bigmodel.cn](https://open.bigmodel.cn) |
|
|
138
|
+
| **Kimi** | kimi-k2.7-code (default), kimi-k2.7-code-highspeed, kimi-k3 | [platform.moonshot.cn](https://platform.moonshot.cn) |
|
|
139
|
+
| **Qwen** | qwen3.8-flash (default), qwen3.7-plus, qwen3.8-max, qwen-flash | [bailian.console.aliyun.com](https://bailian.console.aliyun.com) |
|
|
140
|
+
| **MiniMax** | MiniMax-M3 (default) | [platform.minimaxi.com](https://platform.minimaxi.com) |
|
|
141
141
|
| **Ollama** | Any locally installed model (Llama, Qwen, Gemma, Mistral...) | No API key — [ollama.com](https://ollama.com) |
|
|
142
142
|
|
|
143
143
|
Any OpenAI-compatible API can also be used via `customBaseUrls` in config.
|
package/README.zh-CN.md
CHANGED
|
@@ -122,10 +122,10 @@ aicli user delete x # 删除用户
|
|
|
122
122
|
| **DeepSeek** | deepseek-flash(默认,多模态), deepseek-v4-pro | [platform.deepseek.com](https://platform.deepseek.com) |
|
|
123
123
|
| **OpenAI** | GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini | [platform.openai.com](https://platform.openai.com) |
|
|
124
124
|
| **OpenRouter** | 300+ 模型(Claude/GPT/Gemini/Llama/Qwen/Mistral...) | [openrouter.ai](https://openrouter.ai) |
|
|
125
|
-
| **Zhipu(智谱)** |
|
|
126
|
-
| **Kimi** |
|
|
127
|
-
| **Qwen** |
|
|
128
|
-
| **MiniMax** | MiniMax-M3
|
|
125
|
+
| **Zhipu(智谱)** | glm-5.3-flash(默认)、glm-5.3-flashx、glm-5.3、glm-4.7-flash(免费) | [open.bigmodel.cn](https://open.bigmodel.cn) |
|
|
126
|
+
| **Kimi** | kimi-k2.7-code(默认)、kimi-k2.7-code-highspeed、kimi-k3 | [platform.moonshot.cn](https://platform.moonshot.cn) |
|
|
127
|
+
| **Qwen** | qwen3.8-flash(默认)、qwen3.7-plus、qwen3.8-max、qwen-flash | [bailian.console.aliyun.com](https://bailian.console.aliyun.com) |
|
|
128
|
+
| **MiniMax** | MiniMax-M3(默认) | [platform.minimaxi.com](https://platform.minimaxi.com) |
|
|
129
129
|
| **Ollama** | 任意本地模型(Llama、Qwen、Gemma、Mistral...) | 无需 API Key — [ollama.com](https://ollama.com) |
|
|
130
130
|
|
|
131
131
|
也可通过 `customBaseUrls` 配置接入任意 OpenAI 兼容 API。
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
} from "./chunk-RS7SKYTS.js";
|
|
5
5
|
import {
|
|
6
6
|
ConfigManager
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QU74ONFF.js";
|
|
8
8
|
import "./chunk-TU3L3PW7.js";
|
|
9
9
|
import {
|
|
10
10
|
atomicWriteFileSync
|
|
11
11
|
} from "./chunk-BMLQPSHP.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-AJITHMRE.js";
|
|
13
13
|
|
|
14
14
|
// src/cli/batch.ts
|
|
15
15
|
import Anthropic from "@anthropic-ai/sdk";
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
listHooks,
|
|
9
9
|
listInstalledPlugins,
|
|
10
10
|
resetStats
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-HMQA2R3O.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GEC3MEVQ.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QU74ONFF.js";
|
|
18
18
|
import {
|
|
19
19
|
getGitRoot
|
|
20
20
|
} from "./chunk-HOSJZMQS.js";
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
MCP_PROJECT_CONFIG_NAME,
|
|
27
27
|
MEMORY_FILE_NAME,
|
|
28
28
|
VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-AJITHMRE.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
|
@@ -16,7 +16,6 @@ function deepSeekCnyPricing(cacheRead, input, output) {
|
|
|
16
16
|
output: output / CNY_PER_USD
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
var DEEPSEEK_V4_PRO_ROUTED_TO_FLASH_AT = /* @__PURE__ */ new Date("2026-09-14T04:00:00.000Z");
|
|
20
19
|
var DEEPSEEK_V41_FLASH_ROUTING_CONFIRMED_AT = /* @__PURE__ */ new Date("2026-09-11T00:00:00.000Z");
|
|
21
20
|
function isDeepSeekPeakHour(at) {
|
|
22
21
|
const weekday = at.getUTCDay();
|
|
@@ -32,7 +31,6 @@ function getDeepSeekV4Pricing(model, at) {
|
|
|
32
31
|
const isPro = model.startsWith("deepseek-v4-pro");
|
|
33
32
|
const isFlash = model.startsWith("deepseek-v4-flash");
|
|
34
33
|
if (!isPro && !isFlash) return null;
|
|
35
|
-
if (isPro && at >= DEEPSEEK_V4_PRO_ROUTED_TO_FLASH_AT) return deepSeekFlash41Pricing(at);
|
|
36
34
|
if (isFlash && at >= DEEPSEEK_V41_FLASH_ROUTING_CONFIRMED_AT) return deepSeekFlash41Pricing(at);
|
|
37
35
|
if (at < DEEPSEEK_TIME_PRICING_EFFECTIVE_AT) {
|
|
38
36
|
return isPro ? deepSeekCnyPricing(0.025, 3, 6) : deepSeekCnyPricing(0.02, 1, 2);
|
|
@@ -111,6 +109,12 @@ var PRICING_TABLE = {
|
|
|
111
109
|
// Kimi K3(2026-07 旗舰,1M 上下文)官方定价 platform.kimi.ai/pricing/chat-k3:
|
|
112
110
|
// 输入 cache-miss $3.00 / cache-hit $0.30,输出 $15.00(/MTok)。
|
|
113
111
|
"kimi-k3": { input: 3, output: 15, cacheRead: 0.3 },
|
|
112
|
+
// K2.6 / K2.7 Code:官方 platform.kimi.ai/docs/pricing/chat(2026-10-18 核对,USD/MTok)。
|
|
113
|
+
// 国内站人民币价 ¥6.5/¥27(缓存 ¥1.1 / ¥1.3)按 ¥6.9 折算与之相差 <3%,沿用 K3 那行的美元口径。
|
|
114
|
+
// 此前 K2.6 没有单列,前缀落到 'kimi-k2'($0.6/$2.5),输出低报约 37%。
|
|
115
|
+
"kimi-k2.6": { input: 0.95, output: 4, cacheRead: 0.16 },
|
|
116
|
+
"kimi-k2.7-code": { input: 0.95, output: 4, cacheRead: 0.19 },
|
|
117
|
+
"kimi-k2.7-code-highspeed": { input: 1.9, output: 8, cacheRead: 0.38 },
|
|
114
118
|
// ── Zhipu GLM ─────────────────────────────────────────────────
|
|
115
119
|
"glm-4-plus": { input: 0.7, output: 0.7 },
|
|
116
120
|
"glm-4": { input: 0.14, output: 0.14 },
|
|
@@ -132,6 +136,11 @@ var PRICING_TABLE = {
|
|
|
132
136
|
// 没公布截止日期,静态表表达不了这个时间维度;高估比低估安全——预算告警早触发
|
|
133
137
|
// 好过晚触发。折扣期内 `/cost` 会比实际偏高约一倍,这是刻意的取舍。
|
|
134
138
|
"glm-5.3-flash": { input: 0.116, output: 0.406, cacheRead: 0.033 },
|
|
139
|
+
// GLM-5.3-FlashX:官方定价页(docs.bigmodel.cn/cn/guide/start/pricing,2026-10-18 浏览器读取)
|
|
140
|
+
// 输入 2 元、输出 7 元、缓存命中 0.57 元。必须单列——否则前缀匹配会落到上面的 glm-5.3-flash,低报 2.5 倍。
|
|
141
|
+
"glm-5.3-flashx": { input: 2 / CNY_PER_USD, output: 7 / CNY_PER_USD, cacheRead: 0.57 / CNY_PER_USD },
|
|
142
|
+
// GLM-4.7-Flash:官方免费(输入/输出/缓存全免)。必须单列——否则前缀落到 'glm-4'($0.14)。
|
|
143
|
+
"glm-4.7-flash": { input: 0, output: 0, cacheRead: 0 },
|
|
135
144
|
// GLM-5.2:与 GLM-5.3 同价(同一定价页:8 / 28 / 缓存命中 2 元),口径修正同上。
|
|
136
145
|
"glm-5.2": { input: 8 / CNY_PER_USD, output: 28 / CNY_PER_USD, cacheRead: 2 / CNY_PER_USD },
|
|
137
146
|
// GLM-5V-Turbo(2026-04 视觉编程旗舰)官方直连 API 定价 $1.20 / $4.00。
|
|
@@ -141,8 +150,26 @@ var PRICING_TABLE = {
|
|
|
141
150
|
"glm-z1-air": { input: 0.2, output: 0.6 },
|
|
142
151
|
"glm-z1-flash": { input: 0, output: 0 },
|
|
143
152
|
// ── MiniMax (海螺) ────────────────────────────────────────────
|
|
144
|
-
//
|
|
145
|
-
//
|
|
153
|
+
// 官方定价页 platform.minimax.cn/docs/guides/pricing(2026-10-18 核对,元/百万 tokens),按 ¥6.9 折算。
|
|
154
|
+
// 本 provider 打的是国内站 api.minimaxi.com,按人民币计费。
|
|
155
|
+
// M3 记的是「永久五折」后的价(官方原文标注永久,不同于智谱的限时折扣),≤512K 输入档;
|
|
156
|
+
// >512K 那档见 computeCost 的 LONG_PROMPT_TIERS。M3 未公布缓存写入价,缺省按输入价(偏高估)。
|
|
157
|
+
"minimax-m3": { input: 2.1 / CNY_PER_USD, output: 8.4 / CNY_PER_USD, cacheRead: 0.42 / CNY_PER_USD },
|
|
158
|
+
"minimax-m2.7": { input: 2.1 / CNY_PER_USD, output: 8.4 / CNY_PER_USD, cacheRead: 0.42 / CNY_PER_USD, cacheWrite: 2.625 / CNY_PER_USD },
|
|
159
|
+
"minimax-m2.7-highspeed": { input: 4.2 / CNY_PER_USD, output: 16.8 / CNY_PER_USD, cacheRead: 0.42 / CNY_PER_USD, cacheWrite: 2.625 / CNY_PER_USD },
|
|
160
|
+
// M2.5 / M2.1 / M2(历史模型)同价;highspeed 变体输入输出翻倍、缓存同价。
|
|
161
|
+
"minimax-m2": { input: 2.1 / CNY_PER_USD, output: 8.4 / CNY_PER_USD, cacheRead: 0.21 / CNY_PER_USD, cacheWrite: 2.625 / CNY_PER_USD },
|
|
162
|
+
"minimax-m2.5-highspeed": { input: 4.2 / CNY_PER_USD, output: 16.8 / CNY_PER_USD, cacheRead: 0.21 / CNY_PER_USD, cacheWrite: 2.625 / CNY_PER_USD },
|
|
163
|
+
"minimax-m2.1-highspeed": { input: 4.2 / CNY_PER_USD, output: 16.8 / CNY_PER_USD, cacheRead: 0.21 / CNY_PER_USD, cacheWrite: 2.625 / CNY_PER_USD },
|
|
164
|
+
// ── Qwen(阿里云百炼,北京地域)───────────────────────────────────
|
|
165
|
+
// 官方 help.aliyun.com/zh/model-studio/model-pricing(2026-10-18 核对,元/百万 tokens,原价),按 ¥6.9 折算。
|
|
166
|
+
// 思考与非思考输出同价。qwen3.7-plus 当前限时 8 折,记原价(高估方向,同智谱 glm-5.3-flash 的取舍)。
|
|
167
|
+
// 官方未给出各模型的缓存单价,不填 cacheRead,命中按输入全价算(高估方向)。
|
|
168
|
+
// 长提示分档(qwen3.7-plus >256K、qwen-flash >128K / >256K)见 LONG_PROMPT_TIERS;此处为最低档。
|
|
169
|
+
"qwen3.8-max": { input: 12 / CNY_PER_USD, output: 36 / CNY_PER_USD },
|
|
170
|
+
"qwen3.7-plus": { input: 2 / CNY_PER_USD, output: 8 / CNY_PER_USD },
|
|
171
|
+
"qwen3.8-flash": { input: 0.8 / CNY_PER_USD, output: 2.7 / CNY_PER_USD },
|
|
172
|
+
"qwen-flash": { input: 0.15 / CNY_PER_USD, output: 1.5 / CNY_PER_USD },
|
|
146
173
|
// ── OpenRouter (pass-through — actual cost depends on underlying model) ──
|
|
147
174
|
// 绝大多数 id 仍**刻意留空**:真实价由底层模型 + OpenRouter 加价决定,静态表覆盖不了
|
|
148
175
|
// 396 个模型,未收录的照旧显示 "—"(未知)而不是假的 $0.00。
|
|
@@ -197,11 +224,21 @@ function getPricing(provider, model, at = /* @__PURE__ */ new Date()) {
|
|
|
197
224
|
return null;
|
|
198
225
|
}
|
|
199
226
|
var CLAUDE_HAIKU_55_LONG = { input: 0.5, output: 2.5, cacheWrite: 0.625, cacheRead: 0.05 };
|
|
200
|
-
var
|
|
227
|
+
var LONG_PROMPT_TIERS = [
|
|
228
|
+
{ prefix: "claude-haiku-5-5", overTokens: 1e5, pricing: CLAUDE_HAIKU_55_LONG },
|
|
229
|
+
{
|
|
230
|
+
prefix: "minimax-m3",
|
|
231
|
+
overTokens: 512e3,
|
|
232
|
+
pricing: { input: 4.2 / CNY_PER_USD, output: 16.8 / CNY_PER_USD, cacheRead: 0.84 / CNY_PER_USD }
|
|
233
|
+
},
|
|
234
|
+
{ prefix: "qwen3.7-plus", overTokens: 256e3, pricing: { input: 6 / CNY_PER_USD, output: 24 / CNY_PER_USD } },
|
|
235
|
+
{ prefix: "qwen-flash", overTokens: 256e3, pricing: { input: 1.2 / CNY_PER_USD, output: 12 / CNY_PER_USD } },
|
|
236
|
+
{ prefix: "qwen-flash", overTokens: 128e3, pricing: { input: 0.6 / CNY_PER_USD, output: 6 / CNY_PER_USD } }
|
|
237
|
+
];
|
|
201
238
|
function longPromptTier(model, usage) {
|
|
202
|
-
|
|
239
|
+
const key = model.toLowerCase();
|
|
203
240
|
const prompt = usage.inputTokens + (usage.cacheCreationTokens ?? 0) + (usage.cacheReadTokens ?? 0);
|
|
204
|
-
return prompt >
|
|
241
|
+
return LONG_PROMPT_TIERS.find((t) => key.startsWith(t.prefix) && prompt > t.overTokens)?.pricing ?? null;
|
|
205
242
|
}
|
|
206
243
|
function computeCost(provider, model, usage, at = /* @__PURE__ */ new Date()) {
|
|
207
244
|
const p = longPromptTier(model, usage) ?? getPricing(provider, model, at);
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
MEMORY_FILE_NAME,
|
|
13
13
|
MEMORY_MAX_CHARS,
|
|
14
14
|
MEMORY_STORE_FILE_NAME
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-3YVZJHTF.js";
|
|
16
16
|
|
|
17
17
|
// src/memory/persistent-memory.ts
|
|
18
18
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
MEMORY_FILE_NAME,
|
|
14
14
|
MEMORY_MAX_CHARS,
|
|
15
15
|
MEMORY_STORE_FILE_NAME
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-AJITHMRE.js";
|
|
17
17
|
|
|
18
18
|
// src/memory/persistent-memory.ts
|
|
19
19
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-BMLQPSHP.js";
|
|
16
16
|
import {
|
|
17
17
|
DEFAULT_MAX_TOKENS
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-AJITHMRE.js";
|
|
19
19
|
|
|
20
20
|
// src/providers/claude.ts
|
|
21
21
|
import Anthropic from "@anthropic-ai/sdk";
|
|
@@ -1743,7 +1743,9 @@ var DeepSeekProvider = class extends OpenAICompatibleProvider {
|
|
|
1743
1743
|
},
|
|
1744
1744
|
{
|
|
1745
1745
|
id: "deepseek-v4-pro",
|
|
1746
|
-
|
|
1746
|
+
// 2026-09-11 官方撤回了「9-14 起路由到 Flash」,Pro 照常服务、按 Pro 价计费(见 pricing.ts)。
|
|
1747
|
+
// 价格约为 Flash 的 4 倍且不收图片,但 Flash 替代不了它的能力档,故保留。
|
|
1748
|
+
displayName: "DeepSeek V4 Pro (0813, text-only)",
|
|
1747
1749
|
contextWindow: 1048576,
|
|
1748
1750
|
supportsStreaming: true,
|
|
1749
1751
|
supportsThinking: true
|
|
@@ -1802,20 +1804,24 @@ var DeepSeekProvider = class extends OpenAICompatibleProvider {
|
|
|
1802
1804
|
var ZHIPU_CONFIG = {
|
|
1803
1805
|
id: "zhipu",
|
|
1804
1806
|
displayName: "Zhipu (GLM)",
|
|
1805
|
-
defaultModel: "glm-
|
|
1807
|
+
defaultModel: "glm-5.3-flash",
|
|
1806
1808
|
apiKeyEnvVar: "AICLI_API_KEY_ZHIPU",
|
|
1807
1809
|
baseUrl: "https://open.bigmodel.cn/api/paas/v4",
|
|
1808
1810
|
defaultTimeout: 3e5,
|
|
1809
1811
|
models: [
|
|
1810
1812
|
{ id: "glm-5.3", displayName: "GLM-5.3 (2026-08 Flagship, 1M, Coding/Security, \u59CB\u7EC8\u601D\u8003)", contextWindow: 1048576, supportsStreaming: true, supportsThinking: true },
|
|
1813
|
+
// GLM-5.3-FlashX(2026-10):Flash 与 5.3 之间的一档,¥2/¥7、缓存命中 ¥0.57(官方定价页)。
|
|
1814
|
+
// 2026-10-18 实测:同样始终思考(`disabled` → 400/1210),`low` 档 200,base64 图片可识别。
|
|
1815
|
+
{ id: "glm-5.3-flashx", displayName: "GLM-5.3 FlashX (\u539F\u751F\u591A\u6A21\u6001, 1M, \u4EF7\u683C\u7EA6\u4E3A 5.3 \u7684 1/4, \u59CB\u7EC8\u601D\u8003)", contextWindow: 1048576, supportsStreaming: true, supportsThinking: true },
|
|
1811
1816
|
{ id: "glm-5.3-flash", displayName: "GLM-5.3 Flash (\u539F\u751F\u591A\u6A21\u6001, 1M, \u8F93\u5165\u7EA6\u4E3A 5.3 \u7684 1/10, \u59CB\u7EC8\u601D\u8003)", contextWindow: 1048576, supportsStreaming: true, supportsThinking: true },
|
|
1812
|
-
|
|
1813
|
-
{ id: "glm-
|
|
1814
|
-
// 2026-10-
|
|
1815
|
-
//
|
|
1816
|
-
//
|
|
1817
|
-
//
|
|
1818
|
-
|
|
1817
|
+
// 免费(输入/输出/缓存全免,官方定价页「更多文本模型」)。2026-10-18 实测 200,但慢(一句 ok 约 15s)。
|
|
1818
|
+
{ id: "glm-4.7-flash", displayName: "GLM-4.7 Flash (\u514D\u8D39, 200K)", contextWindow: 2e5, supportsStreaming: true }
|
|
1819
|
+
// 2026-10-18 按「老模型没有价格优势就下架」清理(端点仍可用,`/model` 照收,pricing.ts 保留费率供历史回算):
|
|
1820
|
+
// - glm-5.2:与 glm-5.3 同价(¥8/¥28/缓存 ¥2),已被取代
|
|
1821
|
+
// - glm-5v-turbo:¥5/¥22 起,比同样原生多模态的 glm-5.3-flash(¥0.8/¥2.8)贵 6–8 倍
|
|
1822
|
+
// - glm-4.6:已不在官方定价页上,且旧价高于 glm-5.3-flash
|
|
1823
|
+
// 更早的 2026-10-07 清理:glm-5.1-reasoning / glm-5.1-air 官方从未存在(取自第三方标注,同 v0.4.198
|
|
1824
|
+
// 的 `glm-5.2[1m]`),glm-5 / glm-5.1 已被取代。
|
|
1819
1825
|
]
|
|
1820
1826
|
};
|
|
1821
1827
|
var REASONING_EFFORT_MODELS = /^glm-5/i;
|
|
@@ -1881,7 +1887,10 @@ var KimiProvider = class _KimiProvider extends OpenAICompatibleProvider {
|
|
|
1881
1887
|
*/
|
|
1882
1888
|
static TEMP_1_MODELS = /* @__PURE__ */ new Set([
|
|
1883
1889
|
"kimi-k3",
|
|
1890
|
+
"kimi-k2.7-code",
|
|
1891
|
+
"kimi-k2.7-code-highspeed",
|
|
1884
1892
|
"kimi-k2.6",
|
|
1893
|
+
// 已 404 的旧 code 仍留在这里:config 自愈迁移之外的显式 `/model kimi-k2.5` 不该先撞 temperature 400
|
|
1885
1894
|
"kimi-k2.5",
|
|
1886
1895
|
"kimi-k2-thinking",
|
|
1887
1896
|
"kimi-k2-thinking-turbo"
|
|
@@ -1902,7 +1911,7 @@ var KimiProvider = class _KimiProvider extends OpenAICompatibleProvider {
|
|
|
1902
1911
|
info = {
|
|
1903
1912
|
id: "kimi",
|
|
1904
1913
|
displayName: "Kimi (Moonshot AI)",
|
|
1905
|
-
defaultModel: "kimi-k2.
|
|
1914
|
+
defaultModel: "kimi-k2.7-code",
|
|
1906
1915
|
apiKeyEnvVar: "AICLI_API_KEY_KIMI",
|
|
1907
1916
|
requiresApiKey: true,
|
|
1908
1917
|
baseUrl: this.defaultBaseUrl,
|
|
@@ -1912,39 +1921,33 @@ var KimiProvider = class _KimiProvider extends OpenAICompatibleProvider {
|
|
|
1912
1921
|
// - contextWindow 1M(1048576);code 就是 `kimi-k3`(UI 名 "K3 · Max" ≠ API code)
|
|
1913
1922
|
// - temperature 固定 1.0(已并入 TEMP_1_MODELS)
|
|
1914
1923
|
// - vision 走 base64 / ms://file-id(不收公网 URL)——本版未接图片输入路径,仅文本/工具
|
|
1915
|
-
//
|
|
1924
|
+
// 默认用 kimi-k2.7-code(K3 输出 $15/MTok,约为它的 4 倍,按需 /model kimi-k3)。
|
|
1916
1925
|
{
|
|
1917
1926
|
id: "kimi-k3",
|
|
1918
1927
|
displayName: "Kimi K3",
|
|
1919
1928
|
contextWindow: 1048576,
|
|
1920
1929
|
supportsStreaming: true
|
|
1921
1930
|
},
|
|
1922
|
-
// Kimi K2.
|
|
1931
|
+
// Kimi K2.7 Code(官方 platform.kimi.com/docs/guide/kimi-k2-7-code-quickstart,2026-10-18 核对):
|
|
1932
|
+
// - 256K 上下文;虽名为 Coding 模型,官方写明也支持对话与 Agent 任务
|
|
1933
|
+
// - 思考默认开启且**关不掉**(关闭报错)——本 provider 不发 thinking 字段,正好不踩
|
|
1934
|
+
// - temperature 固定 1.0(已并入 TEMP_1_MODELS);tool_choice 只收 auto / none
|
|
1935
|
+
// - 价格与 K2.6 相同($0.95/$4.00),各项基准提升 10–30%,故取代 K2.6 成为默认
|
|
1923
1936
|
{
|
|
1924
|
-
id: "kimi-k2.
|
|
1925
|
-
displayName: "Kimi K2.
|
|
1937
|
+
id: "kimi-k2.7-code",
|
|
1938
|
+
displayName: "Kimi K2.7 Code",
|
|
1926
1939
|
contextWindow: 262144,
|
|
1927
1940
|
supportsStreaming: true
|
|
1928
1941
|
},
|
|
1942
|
+
// 同一模型的高速版:输出约 5–6 倍速,价格翻倍。
|
|
1929
1943
|
{
|
|
1930
|
-
id: "kimi-k2.
|
|
1931
|
-
displayName: "Kimi K2.
|
|
1932
|
-
contextWindow: 262144,
|
|
1933
|
-
supportsStreaming: true
|
|
1934
|
-
},
|
|
1935
|
-
// Kimi K2 Thinking 系列(支持多步推理 + 工具调用)
|
|
1936
|
-
{
|
|
1937
|
-
id: "kimi-k2-thinking",
|
|
1938
|
-
displayName: "Kimi K2 Thinking",
|
|
1939
|
-
contextWindow: 262144,
|
|
1940
|
-
supportsStreaming: true
|
|
1941
|
-
},
|
|
1942
|
-
{
|
|
1943
|
-
id: "kimi-k2-thinking-turbo",
|
|
1944
|
-
displayName: "Kimi K2 Thinking Turbo",
|
|
1944
|
+
id: "kimi-k2.7-code-highspeed",
|
|
1945
|
+
displayName: "Kimi K2.7 Code Highspeed (2x price, ~5x speed)",
|
|
1945
1946
|
contextWindow: 262144,
|
|
1946
1947
|
supportsStreaming: true
|
|
1947
1948
|
}
|
|
1949
|
+
// 2026-10-18 下架:kimi-k2.6 与 K2.7 Code 同价、已被取代(端点仍可用,`/model` 照收);
|
|
1950
|
+
// kimi-k2.5 / kimi-k2-thinking / kimi-k2-thinking-turbo 端点已 404,由 config 自愈迁移到 kimi-k2.7-code。
|
|
1948
1951
|
]
|
|
1949
1952
|
};
|
|
1950
1953
|
/**
|
|
@@ -2056,11 +2059,10 @@ var MINIMAX_CONFIG = {
|
|
|
2056
2059
|
apiKeyEnvVar: "AICLI_API_KEY_MINIMAX",
|
|
2057
2060
|
baseUrl: "https://api.minimaxi.com/v1",
|
|
2058
2061
|
models: [
|
|
2059
|
-
{ id: "MiniMax-M3", displayName: "MiniMax M3\uFF08\u65D7\u8230\uFF0C1M \u4E0A\u4E0B\u6587\uFF09", contextWindow: 1e6, supportsStreaming: true }
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
{ id: "MiniMax-M2.5-highspeed", displayName: "MiniMax M2.5 Highspeed", contextWindow: 1e6, supportsStreaming: true }
|
|
2062
|
+
{ id: "MiniMax-M3", displayName: "MiniMax M3\uFF08\u65D7\u8230\uFF0C1M \u4E0A\u4E0B\u6587\uFF09", contextWindow: 1e6, supportsStreaming: true }
|
|
2063
|
+
// 2026-10-18 按「老模型没有价格优势就下架」清理(官方定价页 platform.minimax.cn/docs/guides/pricing):
|
|
2064
|
+
// M3「永久五折」后 ¥2.1/¥8.4,与 M2.7 同价、比 M2.x highspeed 便宜一半;M2.5 / M2.1 / M2 官方已归入
|
|
2065
|
+
// 「历史模型」。端点仍可用,`/model` 照收,pricing.ts 保留费率供历史回算。
|
|
2064
2066
|
]
|
|
2065
2067
|
};
|
|
2066
2068
|
var MiniMaxProvider = createStaticProviderClass(MINIMAX_CONFIG);
|
|
@@ -2069,14 +2071,20 @@ var MiniMaxProvider = createStaticProviderClass(MINIMAX_CONFIG);
|
|
|
2069
2071
|
var QWEN_CONFIG = {
|
|
2070
2072
|
id: "qwen",
|
|
2071
2073
|
displayName: "Qwen (Alibaba Cloud)",
|
|
2072
|
-
defaultModel: "
|
|
2074
|
+
defaultModel: "qwen3.8-flash",
|
|
2073
2075
|
apiKeyEnvVar: "AICLI_API_KEY_QWEN",
|
|
2074
2076
|
baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
2077
|
+
// 2026-10-18 按百炼官方文档更新(help.aliyun.com/zh/model-studio/models、/model-pricing、/deep-thinking)。
|
|
2078
|
+
// **未经真实端点实测**(本机无 Qwen key)。三款 qwen3.x 默认开启思考、支持非流式调用、纯文本输入;
|
|
2079
|
+
// 思考与非思考输出同价。上下文按官方价格阶梯的上限 1M 记。
|
|
2075
2080
|
models: [
|
|
2076
|
-
{ id: "
|
|
2077
|
-
{ id: "
|
|
2078
|
-
{ id: "
|
|
2079
|
-
|
|
2081
|
+
{ id: "qwen3.8-max", displayName: "Qwen3.8 Max\uFF08\u65D7\u8230\uFF0C1M\uFF0C\xA512/\xA536\uFF09", contextWindow: 1e6, supportsStreaming: true },
|
|
2082
|
+
{ id: "qwen3.7-plus", displayName: "Qwen3.7 Plus\uFF081M\uFF0C\u2264256K \xA52/\xA58\uFF09", contextWindow: 1e6, supportsStreaming: true },
|
|
2083
|
+
{ id: "qwen3.8-flash", displayName: "Qwen3.8 Flash\uFF081M\uFF0C\xA50.8/\xA52.7\uFF09", contextWindow: 1e6, supportsStreaming: true },
|
|
2084
|
+
// 老模型里唯一有价格优势的:≤128K ¥0.15/¥1.5,最便宜。默认不开思考。
|
|
2085
|
+
{ id: "qwen-flash", displayName: "Qwen Flash\uFF08\u6700\u4FBF\u5B9C\uFF0C\u2264128K \xA50.15/\xA51.5\uFF09", contextWindow: 1e6, supportsStreaming: true }
|
|
2086
|
+
// 下架(端点若仍可用,`/model` 照收):qwen-max ¥2.4/¥9.6 比 qwen3.7-plus 还贵;qwen-plus 价格不如
|
|
2087
|
+
// qwen-flash、能力不如 qwen3.8-flash;qwen-turbo / qwen-coder-plus 已不在官方价格页上。
|
|
2080
2088
|
]
|
|
2081
2089
|
};
|
|
2082
2090
|
var QwenProvider = createStaticProviderClass(QWEN_CONFIG);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
computeCost,
|
|
4
4
|
formatCost
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2BAFLDDL.js";
|
|
6
6
|
import {
|
|
7
7
|
clearRecentlyDeniedAutoActions,
|
|
8
8
|
estimateTokens,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
setPreferredAgentName,
|
|
17
17
|
truncateForPersist,
|
|
18
18
|
undoStack
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-M5B6G6AY.js";
|
|
20
20
|
import {
|
|
21
21
|
buildReviewPrompt,
|
|
22
22
|
buildSecurityReviewPrompt
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
touchMemoryReferences,
|
|
52
52
|
updateMemoryApproval,
|
|
53
53
|
updateMemoryEntry
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-DX2U6QK4.js";
|
|
55
55
|
import {
|
|
56
56
|
theme
|
|
57
57
|
} from "./chunk-5C76XDDF.js";
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
import {
|
|
66
66
|
buildDoctorReport,
|
|
67
67
|
formatDoctorReport
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-265M6ZLH.js";
|
|
69
69
|
import {
|
|
70
70
|
describePlugin,
|
|
71
71
|
getActivePluginAssets,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
trustHook,
|
|
81
81
|
trustPlugin,
|
|
82
82
|
untrustHook
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-HMQA2R3O.js";
|
|
84
84
|
import {
|
|
85
85
|
isCleanDocumentBody,
|
|
86
86
|
stripOuterCodeFence
|
|
@@ -109,7 +109,7 @@ import {
|
|
|
109
109
|
MCP_TOOL_PREFIX,
|
|
110
110
|
REPO_URL,
|
|
111
111
|
VERSION
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-AJITHMRE.js";
|
|
113
113
|
|
|
114
114
|
// src/skills/manager.ts
|
|
115
115
|
import { existsSync, readdirSync, mkdirSync, statSync } from "fs";
|
|
@@ -2445,7 +2445,7 @@ No tools match "${filter}".
|
|
|
2445
2445
|
const { join: join6 } = await import("path");
|
|
2446
2446
|
const { existsSync: existsSync6 } = await import("fs");
|
|
2447
2447
|
const { getGitRoot } = await import("./git-context-EXOEHQSF.js");
|
|
2448
|
-
const { MCP_PROJECT_CONFIG_NAME } = await import("./constants-
|
|
2448
|
+
const { MCP_PROJECT_CONFIG_NAME } = await import("./constants-DLJECTGQ.js");
|
|
2449
2449
|
const { approveProject, hashMcpFile } = await import("./project-trust-KGG2BWKC.js");
|
|
2450
2450
|
const cwd = process.cwd();
|
|
2451
2451
|
const projectRoot = getGitRoot(cwd) ?? cwd;
|
|
@@ -3553,7 +3553,7 @@ function createReviewCommands() {
|
|
|
3553
3553
|
usage: "/test [command|filter]",
|
|
3554
3554
|
async execute(args, ctx) {
|
|
3555
3555
|
try {
|
|
3556
|
-
const { executeTests } = await import("./run-tests-
|
|
3556
|
+
const { executeTests } = await import("./run-tests-H3DIUCDB.js");
|
|
3557
3557
|
const argStr = args.join(" ").trim();
|
|
3558
3558
|
let testArgs = {};
|
|
3559
3559
|
if (argStr) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-CCFCPAKN.js";
|
|
6
6
|
import {
|
|
7
7
|
buildReviewPrompt,
|
|
8
8
|
buildSecurityReviewPrompt,
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
} from "./chunk-6YZEZFX5.js";
|
|
14
14
|
import {
|
|
15
15
|
ProviderRegistry
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-GEC3MEVQ.js";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-QU74ONFF.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-AJITHMRE.js";
|
|
23
23
|
|
|
24
24
|
// src/cli/ci.ts
|
|
25
25
|
import { execFileSync } from "child_process";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
searchPersistentMemories,
|
|
12
12
|
touchMemoryReferences,
|
|
13
13
|
updateMemoryEntry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-DX2U6QK4.js";
|
|
15
15
|
import {
|
|
16
16
|
indexProject
|
|
17
17
|
} from "./chunk-RWRZVQCB.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
runHook,
|
|
31
31
|
runLifecycleHooks,
|
|
32
32
|
runTool
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-HMQA2R3O.js";
|
|
34
34
|
import {
|
|
35
35
|
buildTruncatedArgumentsError,
|
|
36
36
|
getDangerLevel,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
recoverGbkMojibake,
|
|
65
65
|
runTestsTool,
|
|
66
66
|
shellInvocation
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-GWEBO4RF.js";
|
|
68
68
|
import {
|
|
69
69
|
CONFIG_DIR_NAME,
|
|
70
70
|
DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
SUBAGENT_ALLOWED_TOOLS,
|
|
74
74
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
75
75
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-AJITHMRE.js";
|
|
77
77
|
import {
|
|
78
78
|
getCurrentSessionKey,
|
|
79
79
|
getExecutionConfigDir,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
CONFIG_FILE_NAME,
|
|
12
12
|
HISTORY_DIR_NAME,
|
|
13
13
|
PLUGINS_DIR_NAME
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-AJITHMRE.js";
|
|
15
15
|
|
|
16
16
|
// src/config/config-manager.ts
|
|
17
17
|
import { readFileSync, existsSync, mkdirSync } from "fs";
|
|
@@ -388,8 +388,14 @@ ${err}`
|
|
|
388
388
|
"deepseek-v4-flash-vision-exp"
|
|
389
389
|
]);
|
|
390
390
|
const DEEPSEEK_TARGET = "deepseek-flash";
|
|
391
|
-
const LEGACY_KIMI = /* @__PURE__ */ new Set([
|
|
392
|
-
|
|
391
|
+
const LEGACY_KIMI = /* @__PURE__ */ new Set([
|
|
392
|
+
"kimi-k2-0711-preview",
|
|
393
|
+
"kimi-k2-turbo-preview",
|
|
394
|
+
"kimi-k2.5",
|
|
395
|
+
"kimi-k2-thinking",
|
|
396
|
+
"kimi-k2-thinking-turbo"
|
|
397
|
+
]);
|
|
398
|
+
const KIMI_TARGET = "kimi-k2.7-code";
|
|
393
399
|
const LEGACY_CLAUDE = {
|
|
394
400
|
"claude-sonnet-4-5-20250929": "claude-sonnet-5-5",
|
|
395
401
|
"claude-sonnet-4-5": "claude-sonnet-5-5",
|
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
CI_COMMENT_MARKER,
|
|
4
4
|
countSeverity,
|
|
5
5
|
runCi
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-LUJ4JVMI.js";
|
|
7
|
+
import "./chunk-CCFCPAKN.js";
|
|
8
8
|
import "./chunk-HLWUDRBO.js";
|
|
9
9
|
import "./chunk-6YZEZFX5.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-GEC3MEVQ.js";
|
|
11
|
+
import "./chunk-QU74ONFF.js";
|
|
12
12
|
import "./chunk-E2W2MI6H.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-BMLQPSHP.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-AJITHMRE.js";
|
|
16
16
|
export {
|
|
17
17
|
CI_COMMENT_MARKER,
|
|
18
18
|
countSeverity,
|