:)
This commit is contained in:
@@ -62,6 +62,22 @@ export interface PolicyModel extends DriverModel {
|
||||
daily: number;
|
||||
}
|
||||
|
||||
export interface OllamaHostModel {
|
||||
name: string;
|
||||
size: number;
|
||||
modifiedAt: string | null;
|
||||
}
|
||||
|
||||
export interface OllamaStatus {
|
||||
enabled: boolean;
|
||||
host: string;
|
||||
reachable: boolean;
|
||||
version: string | null;
|
||||
latencyMs: number | null;
|
||||
models: OllamaHostModel[];
|
||||
error: string | null;
|
||||
}
|
||||
|
||||
const TOKEN_KEY = "kisassistant_token";
|
||||
|
||||
export function getToken(): string | null {
|
||||
@@ -299,6 +315,9 @@ export const api = {
|
||||
/** Admin: delete a local Ollama model (frees disk on the Ollama host). */
|
||||
ollamaDelete: (name: string) => req<{ ok: boolean }>(`/api/admin/ollama/models/${encodeURIComponent(name)}`, { method: "DELETE" }),
|
||||
|
||||
/** Admin: Ollama connectivity probe (reachability, version, on-disk models). */
|
||||
ollamaStatus: () => req<OllamaStatus>("/api/admin/ollama/status"),
|
||||
|
||||
/** Personal LLM providers (BYOK): presence + last4 only, keys never leave the server. */
|
||||
providers: () => req<{ providers: UserProvider[] }>("/api/me/providers"),
|
||||
setProvider: (provider: string, apiKey: string) =>
|
||||
|
||||
@@ -313,6 +313,19 @@ const en = {
|
||||
"models.ollamaDesc": "Pull or remove local models.",
|
||||
"models.empty": "No models available.",
|
||||
"models.saveFailed": "Could not save",
|
||||
"models.connTitle": "Ollama connectivity",
|
||||
"models.connDesc": "Live status of the Ollama host: reachability, version, latency and installed models.",
|
||||
"models.connOnline": "Online",
|
||||
"models.connOffline": "Offline",
|
||||
"models.connDisabledState": "Disabled",
|
||||
"models.connCheck": "Check now",
|
||||
"models.connCheckAria": "Check Ollama connectivity now",
|
||||
"models.connHost": "Host",
|
||||
"models.connVersion": "Version",
|
||||
"models.connLatency": "Latency",
|
||||
"models.connModels": "Models",
|
||||
"models.connEmpty": "No models on the Ollama host yet — pull one from the library below.",
|
||||
"models.connHint": "Make sure Ollama is running and OLLAMA_HOST points at it.",
|
||||
"center.locked": "Admins only",
|
||||
"center.lockedSub": "Log in with the admin account to open the Admin Center.",
|
||||
"center.regTitle": "Public registration",
|
||||
@@ -862,6 +875,19 @@ const es: Dict = {
|
||||
"models.ollamaDesc": "Descargar o eliminar modelos locales.",
|
||||
"models.empty": "No hay modelos disponibles.",
|
||||
"models.saveFailed": "No se pudo guardar",
|
||||
"models.connTitle": "Conectividad Ollama",
|
||||
"models.connDesc": "Estado en vivo del servidor Ollama: alcance, versión, latencia y modelos instalados.",
|
||||
"models.connOnline": "En línea",
|
||||
"models.connOffline": "Sin conexión",
|
||||
"models.connDisabledState": "Desactivado",
|
||||
"models.connCheck": "Comprobar ahora",
|
||||
"models.connCheckAria": "Comprobar la conectividad Ollama ahora",
|
||||
"models.connHost": "Host",
|
||||
"models.connVersion": "Versión",
|
||||
"models.connLatency": "Latencia",
|
||||
"models.connModels": "Modelos",
|
||||
"models.connEmpty": "Aún no hay modelos en el servidor Ollama — descarga uno desde la biblioteca.",
|
||||
"models.connHint": "Asegúrate de que Ollama esté en marcha y de que OLLAMA_HOST apunte a él.",
|
||||
"center.locked": "Solo admins",
|
||||
"center.lockedSub": "Inicia sesión como admin para abrir el Centro de admin.",
|
||||
"center.regTitle": "Registro público",
|
||||
@@ -1405,6 +1431,19 @@ const fr: Dict = {
|
||||
"models.ollamaDesc": "Télécharger ou supprimer des modèles locaux.",
|
||||
"models.empty": "Aucun modèle disponible.",
|
||||
"models.saveFailed": "Enregistrement impossible",
|
||||
"models.connTitle": "Connectivité Ollama",
|
||||
"models.connDesc": "État en direct de l'hôte Ollama : joignabilité, version, latence et modèles installés.",
|
||||
"models.connOnline": "En ligne",
|
||||
"models.connOffline": "Hors ligne",
|
||||
"models.connDisabledState": "Désactivé",
|
||||
"models.connCheck": "Vérifier",
|
||||
"models.connCheckAria": "Vérifier la connectivité Ollama",
|
||||
"models.connHost": "Hôte",
|
||||
"models.connVersion": "Version",
|
||||
"models.connLatency": "Latence",
|
||||
"models.connModels": "Modèles",
|
||||
"models.connEmpty": "Aucun modèle sur l'hôte Ollama — téléchargez-en un depuis la bibliothèque ci-dessous.",
|
||||
"models.connHint": "Vérifiez qu'Ollama tourne et que OLLAMA_HOST pointe vers lui.",
|
||||
"center.locked": "Admins uniquement",
|
||||
"center.lockedSub": "Connectez-vous en admin pour ouvrir le Centre admin.",
|
||||
"center.regTitle": "Inscription publique",
|
||||
@@ -1939,6 +1978,19 @@ const ru: Dict = {
|
||||
"models.ollamaDesc": "Скачивание и удаление локальных моделей.",
|
||||
"models.empty": "Нет доступных моделей.",
|
||||
"models.saveFailed": "Не удалось сохранить",
|
||||
"models.connTitle": "Подключение Ollama",
|
||||
"models.connDesc": "Состояние хоста Ollama: доступность, версия, задержка и модели.",
|
||||
"models.connOnline": "В сети",
|
||||
"models.connOffline": "Нет связи",
|
||||
"models.connDisabledState": "Отключено",
|
||||
"models.connCheck": "Проверить",
|
||||
"models.connCheckAria": "Проверить подключение Ollama",
|
||||
"models.connHost": "Хост",
|
||||
"models.connVersion": "Версия",
|
||||
"models.connLatency": "Задержка",
|
||||
"models.connModels": "Модели",
|
||||
"models.connEmpty": "На хосте Ollama пока нет моделей — скачайте из библиотеки ниже.",
|
||||
"models.connHint": "Убедитесь, что Ollama запущена и OLLAMA_HOST указывает на неё.",
|
||||
"center.locked": "Только админы",
|
||||
"center.lockedSub": "Войдите как админ, чтобы открыть центр.",
|
||||
"center.regTitle": "Открытая регистрация",
|
||||
@@ -2471,6 +2523,19 @@ const it: Dict = {
|
||||
"models.ollamaDesc": "Scarica o rimuovi modelli locali.",
|
||||
"models.empty": "Nessun modello disponibile.",
|
||||
"models.saveFailed": "Salvataggio fallito",
|
||||
"models.connTitle": "Connettività Ollama",
|
||||
"models.connDesc": "Stato live dell'host Ollama: raggiungibilità, versione, latenza e modelli installati.",
|
||||
"models.connOnline": "Online",
|
||||
"models.connOffline": "Offline",
|
||||
"models.connDisabledState": "Disabilitato",
|
||||
"models.connCheck": "Verifica ora",
|
||||
"models.connCheckAria": "Verifica la connettività Ollama",
|
||||
"models.connHost": "Host",
|
||||
"models.connVersion": "Versione",
|
||||
"models.connLatency": "Latenza",
|
||||
"models.connModels": "Modelli",
|
||||
"models.connEmpty": "Nessun modello sull'host Ollama — scaricane uno dalla libreria qui sotto.",
|
||||
"models.connHint": "Assicurati che Ollama sia in esecuzione e che OLLAMA_HOST punti a esso.",
|
||||
"center.locked": "Solo admin",
|
||||
"center.lockedSub": "Accedi come admin per aprire il Centro.",
|
||||
"center.regTitle": "Registrazione pubblica",
|
||||
@@ -3001,6 +3066,19 @@ const pt: Dict = {
|
||||
"models.ollamaDesc": "Baixar ou remover modelos locais.",
|
||||
"models.empty": "Nenhum modelo disponível.",
|
||||
"models.saveFailed": "Falha ao guardar",
|
||||
"models.connTitle": "Conectividade Ollama",
|
||||
"models.connDesc": "Estado ao vivo do servidor Ollama: alcance, versão, latência e modelos instalados.",
|
||||
"models.connOnline": "Online",
|
||||
"models.connOffline": "Offline",
|
||||
"models.connDisabledState": "Desativado",
|
||||
"models.connCheck": "Verificar agora",
|
||||
"models.connCheckAria": "Verificar a conectividade Ollama agora",
|
||||
"models.connHost": "Servidor",
|
||||
"models.connVersion": "Versão",
|
||||
"models.connLatency": "Latência",
|
||||
"models.connModels": "Modelos",
|
||||
"models.connEmpty": "Nenhum modelo no servidor Ollama — baixe um da biblioteca abaixo.",
|
||||
"models.connHint": "Certifique-se de que o Ollama está a correr e de que OLLAMA_HOST aponta para ele.",
|
||||
"center.locked": "Só admins",
|
||||
"center.lockedSub": "Entra como admin para abrir o Centro.",
|
||||
"center.regTitle": "Registo público",
|
||||
|
||||
Reference in New Issue
Block a user