.
This commit is contained in:
@@ -241,9 +241,12 @@ export function Chat({
|
||||
const modelGroups: PickerGroup[] = (() => {
|
||||
const byDriver = new Map<string, { value: string; label: string; hint: string }[]>();
|
||||
for (const m of models) {
|
||||
const group = m.group ?? m.driver;
|
||||
// Own-key (BYOK) models get their own section so they are never
|
||||
// confused with platform models: "openai · personal key".
|
||||
const base = m.group ?? m.driver;
|
||||
const group = m.personal ? `${base} · ${t("chat.personalTag")}` : base;
|
||||
const list = byDriver.get(group) ?? [];
|
||||
list.push({ value: m.id, label: m.label, hint: m.id });
|
||||
list.push({ value: m.id, label: m.label, hint: m.personal ? `${m.id} · ${t("chat.personalTag")}` : m.id });
|
||||
byDriver.set(group, list);
|
||||
}
|
||||
return [...byDriver.entries()].map(([group, options]) => ({ group, options }));
|
||||
|
||||
@@ -93,6 +93,7 @@ const en = {
|
||||
"chat.modelAria": "Model",
|
||||
"chat.noModels": "No models",
|
||||
"chat.selectModel": "Select model…",
|
||||
"chat.personalTag": "personal key",
|
||||
"chat.you": "You",
|
||||
"chat.greet": "How can I help, {name}?",
|
||||
"chat.greetSub": "Pick a model, then type below. Markdown is supported.",
|
||||
@@ -633,6 +634,7 @@ const es: Dict = {
|
||||
"chat.modelAria": "Modelo",
|
||||
"chat.noModels": "Sin modelos",
|
||||
"chat.selectModel": "Elegir modelo…",
|
||||
"chat.personalTag": "clave personal",
|
||||
"chat.you": "Tú",
|
||||
"chat.greet": "¿En qué te ayudo, {name}?",
|
||||
"chat.greetSub": "Elige un modelo y escribe abajo. Markdown soportado.",
|
||||
@@ -1163,6 +1165,7 @@ const fr: Dict = {
|
||||
"chat.modelAria": "Modèle",
|
||||
"chat.noModels": "Aucun modèle",
|
||||
"chat.selectModel": "Choisir un modèle…",
|
||||
"chat.personalTag": "clé personnelle",
|
||||
"chat.you": "Vous",
|
||||
"chat.greet": "Comment puis-je aider, {name} ?",
|
||||
"chat.greetSub":
|
||||
@@ -1693,6 +1696,7 @@ const ru: Dict = {
|
||||
"chat.modelAria": "Модель",
|
||||
"chat.noModels": "Нет моделей",
|
||||
"chat.selectModel": "Выбрать модель…",
|
||||
"chat.personalTag": "свой ключ",
|
||||
"chat.you": "Вы",
|
||||
"chat.greet": "Чем помочь, {name}?",
|
||||
"chat.greetSub": "Выберите модель и пишите ниже. Поддерживается Markdown.",
|
||||
@@ -2210,6 +2214,7 @@ const it: Dict = {
|
||||
"chat.modelAria": "Modello",
|
||||
"chat.noModels": "Nessun modello",
|
||||
"chat.selectModel": "Scegli modello…",
|
||||
"chat.personalTag": "chiave personale",
|
||||
"chat.you": "Tu",
|
||||
"chat.greet": "Come posso aiutare, {name}?",
|
||||
"chat.greetSub": "Scegli un modello e scrivi qui sotto. Markdown supportato.",
|
||||
@@ -2733,6 +2738,7 @@ const pt: Dict = {
|
||||
"chat.modelAria": "Modelo",
|
||||
"chat.noModels": "Sem modelos",
|
||||
"chat.selectModel": "Escolher modelo…",
|
||||
"chat.personalTag": "chave pessoal",
|
||||
"chat.you": "Tu",
|
||||
"chat.greet": "Como posso ajudar, {name}?",
|
||||
"chat.greetSub": "Escolhe um modelo e escreve abaixo. Markdown suportado.",
|
||||
|
||||
@@ -31,6 +31,8 @@ export interface DriverModel {
|
||||
driver: string;
|
||||
label: string;
|
||||
group?: string;
|
||||
/** Served through your own provider key (BYOK) — shown in its own menu section. */
|
||||
personal?: boolean;
|
||||
}
|
||||
|
||||
export interface Attachment {
|
||||
|
||||
Reference in New Issue
Block a user