/** Local-first OpenAI-compatible servers. Base URLs are the documented defaults; users can edit them. */ export interface EndpointPreset { id: string; name: string; baseUrl: string; modelsPath: string; hint: string; /** Does the server need a key by default? */ keyOptional: boolean; } export const ENDPOINT_PRESETS: EndpointPreset[] = [ { id: "ollama", name: "Ollama", baseUrl: "http://localhost:11434/v1", modelsPath: "/models", hint: "Default port 11434. Any value works as the key; leave it empty.", keyOptional: true }, { id: "lmstudio", name: "LM Studio", baseUrl: "http://localhost:1234/v1", modelsPath: "/models", hint: "Start the local server in LM Studio (Developer tab). Loaded models are listed at /v1/models.", keyOptional: true }, { id: "vllm", name: "vLLM", baseUrl: "http://localhost:8000/v1", modelsPath: "/models", hint: "`vllm serve ` exposes the OpenAI API on port 8000. Add the key if you started it with --api-key.", keyOptional: true }, { id: "llamacpp", name: "llama.cpp", baseUrl: "http://localhost:8080/v1", modelsPath: "/models", hint: "`llama-server -m model.gguf` listens on 8080. Use --api-key to protect it.", keyOptional: true }, { id: "mlx", name: "MLX", baseUrl: "http://localhost:8081/v1", modelsPath: "/models", hint: "`mlx_lm.server --port 8081` on Apple silicon. Models are loaded on demand.", keyOptional: true }, { id: "other", name: "Other", baseUrl: "https://", modelsPath: "/models", hint: "Any server implementing POST /v1/chat/completions (TGI, LocalAI, Together, Groq, Fireworks…).", keyOptional: true }, ];