Skip to content

Commit 180bd36

Browse files
committed
fix: add opencode-cli provider case
1 parent e6b0ea8 commit 180bd36

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

provider.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ type TokenStreamer interface {
3434
}
3535

3636
// NewProvider returns the provider selected by ITERATE_PROVIDER.
37-
// Supported values: ollama, openai, anthropic, groq, gemini, nvidia, opencode (default: gemini)
37+
// Supported values: ollama, openai, anthropic, groq, gemini, nvidia, opencode, opencode-cli (default: gemini)
3838
// If apiKey is provided, it takes priority over environment variables.
39+
//
40+
// opencode-cli uses the OpenCode CLI internally, enabling access to free models
41+
// like mimo-v2-pro-free without requiring a public REST API.
3942
func NewProvider(providerName string, apiKey ...string) (Provider, error) {
4043
providedKey := ""
4144
if len(apiKey) > 0 {
@@ -137,14 +140,22 @@ func NewProvider(providerName string, apiKey ...string) (Provider, error) {
137140
if key == "" {
138141
return nil, fmt.Errorf("OPENCODE_API_KEY is required for opencode provider (or use --api-key)")
139142
}
140-
model := getEnvOr("ITERATE_MODEL", "nemotron-3-super-free")
143+
model := getEnvOr("ITERATE_MODEL", "mimo-v2-pro-free")
141144
model = strings.TrimPrefix(model, "opencode/")
142145
return NewOpenAICompat(OpenAICompatConfig{
143-
BaseURL: getEnvOr("OPENCODE_BASE_URL", "https://opencode.ai/zen/go/v1"),
146+
BaseURL: getEnvOr("OPENCODE_BASE_URL", "https://api.opencode.ai/v1"),
144147
Model: model,
145148
APIKey: key,
146149
}), nil
147150

151+
case "opencode-cli":
152+
// Uses OpenCode CLI internally - enables free model access
153+
model := getEnvOr("ITERATE_MODEL", "mimo-v2-pro-free")
154+
model = strings.TrimPrefix(model, "opencode/")
155+
return NewOpenCodeCLI(OpenCodeCLIConfig{
156+
Model: model,
157+
}), nil
158+
148159
default:
149160
baseURL := os.Getenv("ITERATE_BASE_URL")
150161
if baseURL == "" {

0 commit comments

Comments
 (0)