




















@@ -87,9 +87,11 @@ describe("opencode-go provider plugin", () => {
8787"deepseek-v4-pro",
8888"glm-5",
8989"glm-5.1",
90+"glm-5.2",
9091"hy3-preview",
9192"kimi-k2.5",
9293"kimi-k2.6",
94+"kimi-k2.7-code",
9395"mimo-v2-omni",
9496"mimo-v2.5",
9597"mimo-v2-pro",
@@ -125,6 +127,20 @@ describe("opencode-go provider plugin", () => {
125127expect(deepSeekFlash.provider).toBe("opencode-go");
126128expect(deepSeekFlash.name).toBe("DeepSeek V4 Flash");
127129130+const glm52 = requireMapEntry(models, "glm-5.2");
131+expect(glm52.api).toBe("openai-completions");
132+expect(glm52.baseUrl).toBe("https://opencode.ai/zen/go/v1");
133+expect(glm52.input).toEqual(["text"]);
134+expect(glm52.reasoning).toBe(true);
135+expect(glm52.contextWindow).toBe(1_000_000);
136+expect(glm52.maxTokens).toBe(131_072);
137+expect(glm52.cost).toEqual({
138+input: 1.4,
139+output: 4.4,
140+cacheRead: 0.26,
141+cacheWrite: 0,
142+});
143+128144const kimi = requireMapEntry(models, "kimi-k2.6");
129145expect(kimi.api).toBe("openai-completions");
130146expect(kimi.baseUrl).toBe("https://opencode.ai/zen/go/v1");
@@ -133,6 +149,19 @@ describe("opencode-go provider plugin", () => {
133149expect(kimi.contextWindow).toBe(262_144);
134150expect(kimi.maxTokens).toBe(65_536);
135151152+const kimiCode = requireMapEntry(models, "kimi-k2.7-code");
153+expect(kimiCode.api).toBe("openai-completions");
154+expect(kimiCode.baseUrl).toBe("https://opencode.ai/zen/go/v1");
155+expect(kimiCode.input).toEqual(["text", "image", "video"]);
156+expect(kimiCode.contextWindow).toBe(262_144);
157+expect(kimiCode.maxTokens).toBe(262_144);
158+expect(kimiCode.cost).toEqual({
159+input: 0.95,
160+output: 4,
161+cacheRead: 0.19,
162+cacheWrite: 0,
163+});
164+136165const minimax = requireMapEntry(models, "minimax-m2.7");
137166expect(minimax.api).toBe("anthropic-messages");
138167expect(minimax.baseUrl).toBe("https://opencode.ai/zen/go");
@@ -220,13 +249,19 @@ describe("opencode-go provider plugin", () => {
220249throw new Error("expected OpenCode Go static provider");
221250}
222251const deepSeekPro = result.provider.models.find((model) => model.id === "deepseek-v4-pro");
252+const glm52 = result.provider.models.find((model) => model.id === "glm-5.2");
223253224-expect(result.provider.models).toHaveLength(18);
254+expect(result.provider.models).toHaveLength(20);
225255expect(deepSeekPro).toMatchObject({
226256provider: "opencode-go",
227257contextWindow: 1_000_000,
228258maxTokens: 384_000,
229259});
260+expect(glm52).toMatchObject({
261+provider: "opencode-go",
262+contextWindow: 1_000_000,
263+maxTokens: 131_072,
264+});
230265});
231266232267it("skips live OpenCode Go catalog discovery when no shared key is configured", async () => {
@@ -438,15 +473,15 @@ describe("opencode-go provider plugin", () => {
438473provider: "opencode-go",
439474model: {
440475provider: "opencode-go",
441-id: "kimi-k2.6",
442-name: "Kimi K2.6",
476+id: "kimi-k2.7-code",
477+name: "Kimi K2.7 Code",
443478api: "openai-completions",
444479baseUrl: "https://opencode.ai/zen/go/v1",
445480reasoning: true,
446-input: ["text", "image"],
481+input: ["text", "image", "video"],
447482cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
448483contextWindow: 262_144,
449-maxTokens: 65_536,
484+maxTokens: 262_144,
450485},
451486} as never),
452487"normalized Kimi model",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。