Skip to content

Commit 91df883

Browse files
fix(opencode): select Kimi prompt by provider (#42161)
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
1 parent 6fea419 commit 91df883

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

packages/opencode/src/session/system.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ export function provider(model: Provider.Model) {
4040
if (model.api.id.includes("gemini-")) return [PROMPT_GEMINI]
4141
if (model.api.id.includes("claude")) return [PROMPT_ANTHROPIC]
4242
if (model.api.id.toLowerCase().includes("trinity")) return [PROMPT_TRINITY]
43-
if (model.api.id.toLowerCase().includes("kimi")) return [PROMPT_KIMI]
43+
if (
44+
model.api.id.toLowerCase().includes("kimi") ||
45+
["kimi-for-coding", "moonshotai", "moonshotai-cn"].includes(model.providerID)
46+
)
47+
return [PROMPT_KIMI]
4448
return [PROMPT_DEFAULT]
4549
}
4650

packages/opencode/test/session/system.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,13 @@ describe("session.system", () => {
102102
}
103103
})
104104

105+
test("selects the Kimi prompt for official provider model IDs", () => {
106+
for (const providerID of ["kimi-for-coding", "moonshotai", "moonshotai-cn"]) {
107+
const prompt = SystemPrompt.provider({ providerID, api: { id: "k3" } } as Provider.Model)[0]
108+
expect(prompt).toContain("# Prompt and Tool Use")
109+
}
110+
})
111+
105112
it.effect("skills output is sorted by name and stable across calls", () =>
106113
Effect.gen(function* () {
107114
const prompt = yield* SystemPrompt.Service

0 commit comments

Comments
 (0)