From e08d6616005378f2235059454edebb6b1a636e86 Mon Sep 17 00:00:00 2001 From: kang-heewon Date: Sun, 22 Mar 2026 10:30:08 +0900 Subject: [PATCH] feat(providers): register opencode executors and add UI metadata - Register OpencodeExecutor for 'opencode-zen' and 'opencode-go' in executors map - Add OpencodeExecutor export in index.ts - Add UI metadata for both providers in APIKEY_PROVIDERS: - OpenCode Zen: https://opencode.ai/zen - OpenCode Go: https://opencode.ai/zen/go - Both use 'opencode' icon with #6366f1 color --- open-sse/executors/index.ts | 4 ++++ src/shared/constants/providers.ts | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/open-sse/executors/index.ts b/open-sse/executors/index.ts index 0544119dca..a9e37f6048 100644 --- a/open-sse/executors/index.ts +++ b/open-sse/executors/index.ts @@ -8,6 +8,7 @@ import { CursorExecutor } from "./cursor.ts"; import { DefaultExecutor } from "./default.ts"; import { PollinationsExecutor } from "./pollinations.ts"; import { CloudflareAIExecutor } from "./cloudflare-ai.ts"; +import { OpencodeExecutor } from "./opencode.ts"; const executors = { antigravity: new AntigravityExecutor(), @@ -22,6 +23,8 @@ const executors = { pol: new PollinationsExecutor(), // Alias "cloudflare-ai": new CloudflareAIExecutor(), cf: new CloudflareAIExecutor(), // Alias + "opencode-zen": new OpencodeExecutor("opencode-zen"), + "opencode-go": new OpencodeExecutor("opencode-go"), }; const defaultCache = new Map(); @@ -47,3 +50,4 @@ export { CursorExecutor } from "./cursor.ts"; export { DefaultExecutor } from "./default.ts"; export { PollinationsExecutor } from "./pollinations.ts"; export { CloudflareAIExecutor } from "./cloudflare-ai.ts"; +export { OpencodeExecutor } from "./opencode.ts"; diff --git a/src/shared/constants/providers.ts b/src/shared/constants/providers.ts index 8124f18936..8203aad08e 100644 --- a/src/shared/constants/providers.ts +++ b/src/shared/constants/providers.ts @@ -496,6 +496,22 @@ export const APIKEY_PROVIDERS = { website: "https://tavily.com", authHint: "API key from app.tavily.com (format: tvly-...)", }, + "opencode-zen": { + id: "opencode-zen", + alias: "opencode-zen", + name: "OpenCode Zen", + icon: "opencode", + color: "#6366f1", + website: "https://opencode.ai/zen", + }, + "opencode-go": { + id: "opencode-go", + alias: "opencode-go", + name: "OpenCode Go", + icon: "opencode", + color: "#6366f1", + website: "https://opencode.ai/zen/go", + }, alibaba: { id: "alibaba", alias: "ali",