Files
fedos 8e74e53b3d feat: add Ollama proxy with LLM router and Codex CLI support
Go-сервис-прокси между Codex CLI и Ollama. Добавляет Bearer-авторизацию,
LLM-маршрутизатор (deepseek классифицирует запросы: code/doc/general),
поддержку OpenAI Responses API для Codex CLI, стриминг SSE, кеш модели.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 15:25:15 +03:00

35 lines
869 B
Go

package config
import (
"fmt"
"github.com/caarlos0/env/v11"
)
type Config struct {
ProxyPort int `env:"PROXY_PORT" envDefault:"11435"`
AuthToken string `env:"AUTH_TOKEN,required"`
OllamaURL string `env:"OLLAMA_URL" envDefault:"http://localhost:11434"`
RouterModel string `env:"ROUTER_MODEL" envDefault:"deepseek-llm:7b"`
CodeModel string `env:"CODE_MODEL" envDefault:"qwen2.5-coder:1.5b"`
DocModel string `env:"DOC_MODEL" envDefault:"gemma:1b"`
GeneralModel string `env:"GENERAL_MODEL" envDefault:"deepseek-llm:7b"`
NumCtx int `env:"OLLAMA_NUM_CTX" envDefault:"32768"`
}
func Load() (*Config, error) {
cfg := &Config{}
if err := env.Parse(cfg); err != nil {
return nil, fmt.Errorf("config parse: %w", err)
}
return cfg, nil
}
func MustLoad() *Config {
cfg, err := Load()
if err != nil {
panic(err)
}
return cfg
}