on main help sign in
Merge pull request #120 from charmbracelet/bugfix/openai-client-baseurl
2941c65Kujtim Hoxha
internal/config/resolve.go+2−2
@@ -54,8 +54,8 @@ func (r *shellVariableResolver) ResolveValue(value string) (string, error) {
54 return strings.TrimSpace(stdout), nil
54 return strings.TrimSpace(stdout), nil
55 }
55 }
56
56
57− if strings.HasPrefix(value, "$") {
57+ if after, ok := strings.CutPrefix(value, "$"); ok {
58− varName := strings.TrimPrefix(value, "$")
58+ varName := after
59 value = r.env.Get(varName)
59 value = r.env.Get(varName)
60 if value == "" {
60 if value == "" {
61 return "", fmt.Errorf("environment variable %q not set", varName)
61 return "", fmt.Errorf("environment variable %q not set", varName)
internal/llm/provider/openai.go+4−1
@@ -38,7 +38,10 @@ func createOpenAIClient(opts providerClientOptions) openai.Client {
38 openaiClientOptions = append(openaiClientOptions, option.WithAPIKey(opts.apiKey))
38 openaiClientOptions = append(openaiClientOptions, option.WithAPIKey(opts.apiKey))
39 }
39 }
40 if opts.baseURL != "" {
40 if opts.baseURL != "" {
41+ resolvedBaseURL, err := config.Get().Resolve(opts.baseURL)
42+ if err == nil {
41− openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(opts.baseURL))
43+ openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(resolvedBaseURL))
44+ }
42 }
45 }
43
46
44 if opts.extraHeaders != nil {
47 if opts.extraHeaders != nil {