fix(ai): normalize kimi k2p6 alias to kimi-for-coding closes #4218
This commit is contained in:
@@ -857,15 +857,17 @@ async function loadModelsDevData(): Promise<Model<any>[]> {
|
|||||||
const kimiModels = data["kimi-for-coding"].models as Record<string, ModelsDevModel>;
|
const kimiModels = data["kimi-for-coding"].models as Record<string, ModelsDevModel>;
|
||||||
const hasCanonicalModel = Object.prototype.hasOwnProperty.call(kimiModels, "kimi-for-coding");
|
const hasCanonicalModel = Object.prototype.hasOwnProperty.call(kimiModels, "kimi-for-coding");
|
||||||
|
|
||||||
|
const kimiAliases = new Set(["k2p5", "k2p6"]);
|
||||||
|
|
||||||
for (const [modelId, model] of Object.entries(kimiModels)) {
|
for (const [modelId, model] of Object.entries(kimiModels)) {
|
||||||
const m = model as ModelsDevModel;
|
const m = model as ModelsDevModel;
|
||||||
if (m.tool_call !== true) continue;
|
if (m.tool_call !== true) continue;
|
||||||
// models.dev still exposes deprecated "k2p5" in some snapshots.
|
// models.dev may expose versioned aliases (e.g. k2p5/k2p6).
|
||||||
// Normalize to the canonical model id and drop duplicates when canonical exists.
|
// Normalize aliases to the canonical model id and drop duplicates when canonical exists.
|
||||||
if (modelId === "k2p5" && hasCanonicalModel) continue;
|
if (kimiAliases.has(modelId) && hasCanonicalModel) continue;
|
||||||
|
|
||||||
const normalizedId = modelId === "k2p5" ? "kimi-for-coding" : modelId;
|
const normalizedId = kimiAliases.has(modelId) ? "kimi-for-coding" : modelId;
|
||||||
const normalizedName = modelId === "k2p5" ? "Kimi For Coding" : m.name || normalizedId;
|
const normalizedName = kimiAliases.has(modelId) ? "Kimi For Coding" : m.name || normalizedId;
|
||||||
|
|
||||||
models.push({
|
models.push({
|
||||||
id: normalizedId,
|
id: normalizedId,
|
||||||
|
|||||||
@@ -5819,24 +5819,6 @@ export const MODELS = {
|
|||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
},
|
},
|
||||||
"kimi-coding": {
|
"kimi-coding": {
|
||||||
"k2p6": {
|
|
||||||
id: "k2p6",
|
|
||||||
name: "Kimi K2.6",
|
|
||||||
api: "anthropic-messages",
|
|
||||||
provider: "kimi-coding",
|
|
||||||
baseUrl: "https://api.kimi.com/coding",
|
|
||||||
headers: {"User-Agent":"KimiCLI/1.5"},
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0,
|
|
||||||
output: 0,
|
|
||||||
cacheRead: 0,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 262144,
|
|
||||||
maxTokens: 32768,
|
|
||||||
} satisfies Model<"anthropic-messages">,
|
|
||||||
"kimi-for-coding": {
|
"kimi-for-coding": {
|
||||||
id: "kimi-for-coding",
|
id: "kimi-for-coding",
|
||||||
name: "Kimi For Coding",
|
name: "Kimi For Coding",
|
||||||
|
|||||||
Reference in New Issue
Block a user