import { useSettings } from "../../hooks/useSettings"; import Tooltip from "../ui/Tooltip"; export default function OpenAiCompatibleSettings() { const { appSettings, saveSettings } = useSettings(); const globalOai = appSettings?.global_openai_compatible ?? { base_url: null, default_model_id: null, default_haiku_model_id: null, }; const handleChange = async ( field: "base_url" | "default_model_id" | "default_haiku_model_id", value: string, ) => { if (!appSettings) return; await saveSettings({ ...appSettings, global_openai_compatible: { ...globalOai, [field]: value || null }, }); }; return (

Global defaults for a gateway that implements the Anthropic Messages API (POST /v1/messages) — LiteLLM, for example. Used when a per-project field is blank. Changes require a container rebuild.

Default Base URL handleChange("base_url", e.target.value)} placeholder="http://host.docker.internal:4000" className="w-full px-2 py-1.5 text-xs bg-[var(--bg-primary)] border border-[var(--border-color)] rounded focus:border-[var(--accent)]" />
Default Model handleChange("default_model_id", e.target.value)} placeholder="gpt-4o / gemini-pro / etc." className="w-full px-2 py-1.5 text-xs bg-[var(--bg-primary)] border border-[var(--border-color)] rounded focus:border-[var(--accent)]" />
Default Background Model (optional) handleChange("default_haiku_model_id", e.target.value)} placeholder="(same as the model above)" className="w-full px-2 py-1.5 text-xs bg-[var(--bg-primary)] border border-[var(--border-color)] rounded focus:border-[var(--accent)]" />
); }