Bladeren bron

fix(opencode): select Kimi prompt by provider (#42161)

Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
opencode-agent[bot] 5 dagen geleden
bovenliggende
commit
91df883231
2 gewijzigde bestanden met toevoegingen van 12 en 1 verwijderingen
  1. 5 1
      packages/opencode/src/session/system.ts
  2. 7 0
      packages/opencode/test/session/system.test.ts

+ 5 - 1
packages/opencode/src/session/system.ts

@@ -40,7 +40,11 @@ export function provider(model: Provider.Model) {
   if (model.api.id.includes("gemini-")) return [PROMPT_GEMINI]
   if (model.api.id.includes("claude")) return [PROMPT_ANTHROPIC]
   if (model.api.id.toLowerCase().includes("trinity")) return [PROMPT_TRINITY]
-  if (model.api.id.toLowerCase().includes("kimi")) return [PROMPT_KIMI]
+  if (
+    model.api.id.toLowerCase().includes("kimi") ||
+    ["kimi-for-coding", "moonshotai", "moonshotai-cn"].includes(model.providerID)
+  )
+    return [PROMPT_KIMI]
   return [PROMPT_DEFAULT]
 }
 

+ 7 - 0
packages/opencode/test/session/system.test.ts

@@ -102,6 +102,13 @@ describe("session.system", () => {
     }
   })
 
+  test("selects the Kimi prompt for official provider model IDs", () => {
+    for (const providerID of ["kimi-for-coding", "moonshotai", "moonshotai-cn"]) {
+      const prompt = SystemPrompt.provider({ providerID, api: { id: "k3" } } as Provider.Model)[0]
+      expect(prompt).toContain("# Prompt and Tool Use")
+    }
+  })
+
   it.effect("skills output is sorted by name and stable across calls", () =>
     Effect.gen(function* () {
       const prompt = yield* SystemPrompt.Service