Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AIConfig ¶
type AIConfig struct {
// Enable AI features
Enabled bool `yaml:"enabled" json:"enabled"`
// OpenRouter API key (can also be set via AI_OPENROUTER_KEY env var)
OpenRouterKey string `yaml:"openRouterKey" json:"openRouterKey"`
// Default model to use (default: "anthropic/claude-sonnet-4")
DefaultModel string `yaml:"defaultModel" json:"defaultModel"`
// Allowed models (empty means all models allowed)
AllowedModels []string `yaml:"allowedModels" json:"allowedModels"`
// Max tokens per response (default: 8192)
MaxTokens int `yaml:"maxTokens" json:"maxTokens"`
}
AIConfig holds configuration for the AI assistant feature.
func DefaultAIConfig ¶
func DefaultAIConfig() *AIConfig
DefaultAIConfig returns sensible defaults for AI configuration.
func (*AIConfig) ApplyEnvironment ¶
func (c *AIConfig) ApplyEnvironment()
ApplyEnvironment applies environment variables to AIConfig. Environment variables override config file values.
type FrontendConfig ¶
type FrontendConfig struct {
Enabled bool `yaml:"enabled" envconfig:"WEB_FRONTEND_ENABLED"`
Debug bool `yaml:"debug" envconfig:"WEB_FRONTEND_DEBUG"`
Pprof bool `yaml:"pprof" envconfig:"WEB_FRONTEND_PPROF"`
Minify bool `yaml:"minify" envconfig:"WEB_FRONTEND_MINIFY"`
SiteName string `yaml:"siteName" envconfig:"WEB_FRONTEND_SITE_NAME"`
}
type ServerConfig ¶
type ServerConfig struct {
Port string `yaml:"port" envconfig:"WEB_SERVER_PORT"`
Host string `yaml:"host" envconfig:"WEB_SERVER_HOST"`
ReadTimeout time.Duration `yaml:"readTimeout" envconfig:"WEB_SERVER_READ_TIMEOUT"`
WriteTimeout time.Duration `yaml:"writeTimeout" envconfig:"WEB_SERVER_WRITE_TIMEOUT"`
IdleTimeout time.Duration `yaml:"idleTimeout" envconfig:"WEB_SERVER_IDLE_TIMEOUT"`
AuthHeader string `yaml:"authHeader" envconfig:"WEB_SERVER_AUTH_HEADER"`
TokenKey string `yaml:"tokenKey" envconfig:"WEB_SERVER_TOKEN_KEY"`
}
type WebConfig ¶
type WebConfig struct {
Server *ServerConfig `yaml:"server"`
PublicServer *ServerConfig `yaml:"publicServer"`
Frontend *FrontendConfig `yaml:"frontend"`
API *APIConfig `yaml:"api"`
}
Click to show internal directories.
Click to hide internal directories.