summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-09-09 03:16:44 -0400
committerFrank <[email protected]>2025-09-09 03:16:44 -0400
commit0f263bfefeabdcd95c42269c3ca5cbbbb7854586 (patch)
tree8c16ddcd9a81f8c37972a5da3587f69fa2f04afc /packages
parent34a33dfc164f91d27517f75e71fbc3742eff25e8 (diff)
downloadopencode-0f263bfefeabdcd95c42269c3ca5cbbbb7854586.tar.gz
opencode-0f263bfefeabdcd95c42269c3ca5cbbbb7854586.zip
Hide experimental models
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/flag/flag.ts1
-rw-r--r--packages/opencode/src/provider/models.ts1
-rw-r--r--packages/opencode/src/provider/provider.ts15
3 files changed, 12 insertions, 5 deletions
diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts
index a9d366e8a..4af827d8b 100644
--- a/packages/opencode/src/flag/flag.ts
+++ b/packages/opencode/src/flag/flag.ts
@@ -7,6 +7,7 @@ export namespace Flag {
export const OPENCODE_PERMISSION = process.env["OPENCODE_PERMISSION"]
export const OPENCODE_DISABLE_DEFAULT_PLUGINS = truthy("OPENCODE_DISABLE_DEFAULT_PLUGINS")
export const OPENCODE_DISABLE_LSP_DOWNLOAD = truthy("OPENCODE_DISABLE_LSP_DOWNLOAD")
+ export const OPENCODE_ENABLE_EXPERIMENTAL_MODELS = truthy("OPENCODE_ENABLE_EXPERIMENTAL_MODELS")
function truthy(key: string) {
const value = process.env[key]?.toLowerCase()
diff --git a/packages/opencode/src/provider/models.ts b/packages/opencode/src/provider/models.ts
index 56350ff25..8cd03088f 100644
--- a/packages/opencode/src/provider/models.ts
+++ b/packages/opencode/src/provider/models.ts
@@ -28,6 +28,7 @@ export namespace ModelsDev {
context: z.number(),
output: z.number(),
}),
+ experimental: z.boolean().optional(),
options: z.record(z.any()),
})
.openapi({
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 37d7aa7c0..9e0ed1d88 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -11,6 +11,7 @@ import { NamedError } from "../util/error"
import { Auth } from "../auth"
import { Instance } from "../project/instance"
import { Global } from "../global"
+import { Flag } from "../flag/flag"
export namespace Provider {
const log = Log.create({ service: "provider" })
@@ -286,14 +287,18 @@ export namespace Provider {
for (const [providerID, provider] of configProviders) {
mergeProvider(providerID, provider.options ?? {}, "config")
}
+ console.log("!@#!@#", Flag.OPENCODE_ENABLE_EXPERIMENTAL_MODELS)
for (const [providerID, provider] of Object.entries(providers)) {
- // Filter out blacklisted models
const filteredModels = Object.fromEntries(
- Object.entries(provider.info.models).filter(
- ([modelID]) =>
- modelID !== "gpt-5-chat-latest" && !(providerID === "openrouter" && modelID === "openai/gpt-5-chat"),
- ),
+ Object.entries(provider.info.models)
+ // Filter out blacklisted models
+ .filter(
+ ([modelID]) =>
+ modelID !== "gpt-5-chat-latest" && !(providerID === "openrouter" && modelID === "openai/gpt-5-chat"),
+ )
+ // Filter out experimental models
+ .filter(([, model]) => !model.experimental || Flag.OPENCODE_ENABLE_EXPERIMENTAL_MODELS),
)
provider.info.models = filteredModels