Documentation
¶
Index ¶
- Constants
- func ConfigPath() (string, error)
- func GetProviderDisplayName(provider string) string
- func IsValidProvider(provider string) bool
- type Config
- func (c *Config) DeleteOpenAIAPIKey() error
- func (c *Config) DeleteProviderConfig(provider string) error
- func (c *Config) GetDefaultProvider() string
- func (c *Config) GetOpenAIAPIKey() string
- func (c *Config) GetPreference(key string) (string, bool)
- func (c *Config) GetProviderConfig(provider string) (ProviderConfig, bool)
- func (c *Config) HasOpenAIAPIKey() bool
- func (c *Config) HasProviderConfig(provider string) bool
- func (c *Config) ListProviders() []string
- func (c *Config) Save() error
- func (c *Config) SetDefaultProvider(provider string) error
- func (c *Config) SetOpenAIAPIKey(apiKey string) error
- func (c *Config) SetPreference(key, value string) error
- func (c *Config) SetProviderConfig(provider string, config ProviderConfig) error
- type ProviderConfig
Constants ¶
const ( ProviderOpenAI = "openai" ProviderOllama = "ollama" ProviderAnthropic = "anthropic" ProviderDeepseek = "deepseek" ProviderYandex = "yandex" )
Supported LLM providers
Variables ¶
This section is empty.
Functions ¶
func ConfigPath ¶
ConfigPath returns the path to the config file for display purposes
func GetProviderDisplayName ¶
GetProviderDisplayName returns a user-friendly display name for a provider
func IsValidProvider ¶
IsValidProvider checks if a provider name is valid
Types ¶
type Config ¶
type Config struct {
DefaultProvider string `json:"default_provider,omitempty"` // Last used or preferred provider
Providers map[string]ProviderConfig `json:"providers,omitempty"` // Provider-specific configs
Preferences map[string]string `json:"preferences,omitempty"` // General preferences
MaxSavedSessions int `json:"max_saved_sessions,omitempty"` // Maximum number of sessions to keep (default: 5)
// Deprecated fields (kept for backward compatibility)
OpenAIAPIKey string `json:"openai_api_key,omitempty"`
LLMProvider string `json:"llm_provider,omitempty"`
}
Config represents the assistant configuration
func (*Config) DeleteOpenAIAPIKey ¶
DeleteOpenAIAPIKey deletes the stored OpenAI API key (deprecated, use DeleteProviderConfig)
func (*Config) DeleteProviderConfig ¶
DeleteProviderConfig deletes the configuration for a specific provider
func (*Config) GetDefaultProvider ¶
GetDefaultProvider returns the default provider
func (*Config) GetOpenAIAPIKey ¶
GetOpenAIAPIKey gets the OpenAI API key (deprecated, use GetProviderConfig)
func (*Config) GetPreference ¶
GetPreference gets a preference value
func (*Config) GetProviderConfig ¶
func (c *Config) GetProviderConfig(provider string) (ProviderConfig, bool)
GetProviderConfig gets the configuration for a specific provider
func (*Config) HasOpenAIAPIKey ¶
HasOpenAIAPIKey checks if an OpenAI API key is stored (deprecated, use HasProviderConfig)
func (*Config) HasProviderConfig ¶
HasProviderConfig checks if a provider has configuration
func (*Config) ListProviders ¶
ListProviders returns a list of configured providers
func (*Config) SetDefaultProvider ¶
SetDefaultProvider sets the default provider
func (*Config) SetOpenAIAPIKey ¶
Backward compatibility methods SetOpenAIAPIKey sets the OpenAI API key (deprecated, use SetProviderConfig)
func (*Config) SetPreference ¶
SetPreference sets a preference value
func (*Config) SetProviderConfig ¶
func (c *Config) SetProviderConfig(provider string, config ProviderConfig) error
SetProviderConfig sets the configuration for a specific provider
type ProviderConfig ¶
type ProviderConfig struct {
APIKey string `json:"api_key,omitempty"`
BaseURL string `json:"base_url,omitempty"` // For Ollama or custom endpoints
Model string `json:"model,omitempty"` // Default model for this provider
}
ProviderConfig represents configuration for a specific LLM provider