"use client"; import useSWR from "swr"; import { Settings } from "lucide-react"; import { api, fetcher } from "@/lib/client/fetcher"; import { Spinner, toast } from "@/components/ui"; import { MemoryToggles } from "@/components/memory/memory-shared"; import { AppearanceSection, ModelsSection, SpendingSection, ToolsSection, IntegrationsSection, SecuritySection, InstallHint, Section, type Spending, type ToolInfo } from "@/components/settings/sections"; interface Resp { settings: { memory?: Record; spending?: Spending; routing?: { defaultMode?: string }; appearance?: Record; registry?: { refreshedAt?: string; live?: number } }; owner: { username: string; createdAt: string; totp: boolean } | null; tools: ToolInfo[]; integrations: { openai: boolean; anthropic: boolean; tavily: boolean }; } const NAV = [["apparence", "Apparence"], ["modeles", "Modèles"], ["depenses", "Dépenses"], ["memoire", "Mémoire"], ["outils", "Outils"], ["integrations", "Intégrations"], ["securite", "Sécurité"], ["apropos", "À propos"]]; export default function SettingsPage() { const { data, mutate } = useSWR("/api/settings", fetcher); async function save(key: string, value: unknown) { try { await api("/api/settings", { method: "PATCH", json: { key, value } }); toast("Réglages enregistrés", "ok"); void mutate(); } catch (e) { toast((e as Error).message, "error"); } } return (

Réglages

Apparence, modèles, dépenses, mémoire, outils et sécurité.

{!data && } {data && } {data && }
Gérer les souvenirs : Mémoire.
{data && } {data && } {data && }
Chat SPBoucher AI · version 0.1.0
Interface privée multi-fournisseurs (OpenAI, Anthropic ; MacLustr local à venir). Toutes les données — conversations, documents, mémoire, journaux d'outils — sont stockées localement sur le cluster MacLustr, jamais chez un tiers autre que les fournisseurs de modèles interrogés.
{data?.settings.registry?.refreshedAt &&
Registre des modèles rafraîchi le {new Date(data.settings.registry.refreshedAt).toLocaleString("fr-CA")} ({data.settings.registry.live} identifiants listés).
}
); }