




















@@ -185,6 +185,42 @@ describe("opencode-go provider plugin", () => {
185185]);
186186});
187187188+it("strips unsupported Kimi reasoning payloads on OpenCode Go", async () => {
189+const provider = await registerSingleProviderPlugin(plugin);
190+const capturedPayloads: Record<string, unknown>[] = [];
191+const baseStreamFn = (_model: unknown, _context: unknown, options: unknown) => {
192+const payload = {
193+model: "kimi-k2.6",
194+reasoning_effort: "high",
195+reasoning: { effort: "high" },
196+reasoningEffort: "high",
197+};
198+(options as { onPayload?: (payload: Record<string, unknown>) => void })?.onPayload?.(payload);
199+capturedPayloads.push(payload);
200+return {} as never;
201+};
202+203+const streamFn = provider.wrapStreamFn?.({
204+streamFn: baseStreamFn as never,
205+providerId: "opencode-go",
206+modelId: "kimi-k2.6",
207+thinkingLevel: "high",
208+} as never);
209+210+expect(streamFn).toBeTypeOf("function");
211+await streamFn?.(
212+{ provider: "opencode-go", id: "kimi-k2.6", api: "openai-completions" } as never,
213+{} as never,
214+{},
215+);
216+217+expect(capturedPayloads).toEqual([
218+{
219+model: "kimi-k2.6",
220+},
221+]);
222+});
223+188224it("canonicalizes stale OpenCode Go base URLs", async () => {
189225const provider = await registerSingleProviderPlugin(plugin);
190226@@ -221,6 +257,29 @@ describe("opencode-go provider plugin", () => {
221257);
222258expect(normalizedModel.baseUrl).toBe("https://opencode.ai/zen/go/v1");
223259260+const normalizedKimi = requireRecord(
261+provider.normalizeResolvedModel?.({
262+provider: "opencode-go",
263+model: {
264+provider: "opencode-go",
265+id: "kimi-k2.6",
266+name: "Kimi K2.6",
267+api: "openai-completions",
268+baseUrl: "https://opencode.ai/zen/go/v1",
269+reasoning: true,
270+input: ["text", "image"],
271+cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
272+contextWindow: 262_144,
273+maxTokens: 65_536,
274+},
275+} as never),
276+"normalized Kimi model",
277+);
278+expect(normalizedKimi.reasoning).toBe(false);
279+expect(requireRecord(normalizedKimi.compat, "normalized Kimi compat")).toMatchObject({
280+supportsReasoningEffort: false,
281+});
282+224283expect(
225284provider.normalizeTransport?.({
226285provider: "opencode-go",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。