config

package
v1.47.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

* ChatCLI - Command Line Interface for LLM interaction * Copyright (c) 2024 Edilson Freitas * License: MIT

Index

Constants

View Source
const (
	// Valores padrão para StackSpot
	StackSpotBaseURL         = "https://genai-inference-app.stackspot.com/v1" // ATUALIZADO
	StackSpotDefaultModel    = "StackSpotAI"
	StackSpotResponseTimeout = 2 * time.Second
	DefaultLogFile           = "$HOME/app.log"
	DefaultStackSpotRealm    = "zup"
	DefaultStackSpotAgentID  = "default"

	// Valores padrão para OpenAI
	DefaultOpenAIModel       = "gpt-4o-mini"
	DefaultOpenAiAssistModel = "gpt-4o-mini"
	OpenAIAPIURL             = "https://api.openai.com/v1/chat/completions"
	OpenAIResponsesAPIURL    = "https://api.openai.com/v1/responses"

	// Valores padrão para ClaudeAI
	DefaultClaudeAIModel      = "claude-3-5-sonnet-20241022"
	ClaudeAIAPIURL            = "https://api.anthropic.com/v1/messages"
	ClaudeAIAPIVersionDefault = "2023-06-01" // Versão padrão da APIClaudeAI

	// Valores padrão para Google Gemini
	DefaultGoogleAIModel   = "gemini-2.0-flash-lite"
	GoogleAIAPIURL         = "https://generativelanguage.googleapis.com/v1beta"
	DefaultGoogleAITimeout = 5 * time.Minute

	// Valores padrão para xAI
	DefaultXAIModel = "grok-code-fast-1"
	XAIAPIURL       = "https://api.x.ai/v1/chat/completions"

	// Valores padrão para Ollama
	DefaultOllamaModel          = "gpt-oss:20b"
	OllamaDefaultBaseURL        = "http://localhost:11434"
	OllamaFilterThinkingDefault = "true"

	// Provedor padrão
	DefaultLLMProvider = "OPENAI"

	// Definição do tamanho de historico
	DefaultMaxHistorySize = 100 * 1024 * 1024 // 100MB

	// Constantes para os possíveis valores do campo Status em ResponseData
	StatusProcessing = "processing"
	StatusCompleted  = "completed"
	StatusError      = "error"

	// Configurado MaxlogSize Default
	DefaultMaxLogSize = 100 // 100MB

	// Modos de processamento de arquivos
	ModeFull       = "full"    // Envia o conteúdo completo (comportamento atual)
	ModeSummary    = "summary" // Envia apenas uma descrição estrutural
	ModeChunked    = "chunked" // Divide em partes menores para processamento em sequência
	ModeSmartChunk = "smart"   // Seleciona partes relevantes com base na consulta do usuário

	// Configuração de retry
	DefaultMaxRetries     = 5               // Máximo de tentativas para retry
	DefaultInitialBackoff = 3 * time.Second // Backoff inicial para retry
	DefaultPluginTimeout  = 15 * time.Minute

	// Agent plugin max turns
	AgentPluginMaxTurnsEnv = "CHATCLI_AGENT_PLUGIN_MAX_TURNS"
	DefaultAgentMaxTurns   = 7
	MaxAgentMaxTurns       = 200 // limite de segurança
)

Valores padrão para configuração da aplicação

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigManager added in v1.29.0

type ConfigManager struct {
	// contains filtered or unexported fields
}

ConfigManager centraliza o acesso a todas as configurações. A ordem de prioridade é: Flags (aplicado no main) > Variáveis de Ambiente > Arquivo .env > Padrões.

var Global *ConfigManager

Global é a instância singleton do ConfigManager.

func New added in v1.29.0

func New(logger *zap.Logger) *ConfigManager

New cria uma nova instância do ConfigManager.

func (*ConfigManager) GetBool added in v1.29.0

func (cm *ConfigManager) GetBool(key string, defaultValue bool) bool

GetBool retorna um valor de configuração como bool.

func (*ConfigManager) GetDuration added in v1.29.0

func (cm *ConfigManager) GetDuration(key string, defaultValue time.Duration) time.Duration

GetDuration retorna um valor de configuração como time.Duration.

func (*ConfigManager) GetInt added in v1.29.0

func (cm *ConfigManager) GetInt(key string, defaultValue int) int

GetInt retorna um valor de configuração como int.

func (*ConfigManager) GetString added in v1.29.0

func (cm *ConfigManager) GetString(key string) string

GetString retorna um valor de configuração como string.

func (*ConfigManager) Load added in v1.29.0

func (cm *ConfigManager) Load()

Load carrega as configurações de todas as fontes.

func (*ConfigManager) Reload added in v1.29.0

func (cm *ConfigManager) Reload(logger *zap.Logger)

Reload recarrega as configurações do arquivo .env e das variáveis de ambiente.

func (*ConfigManager) Set added in v1.29.0

func (cm *ConfigManager) Set(key string, value interface{})

Set injeta um valor, tipicamente de uma flag (maior prioridade).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL