Subagents and Compact on the server's /api/v2 facts (server 2.0.0-beta.7)
- Models' `subagents {offered, named_only}` and /models' `subagents_cap`; a chat's
`subagents {offered, named_only, cap}` decides the chip for an open chat (an agent chat
gets none where the server says so); `named_only` shows the spec's `own` line in the
popover and marks the chip. GET /chats/{chat}/team stays the fallback for older servers.
- Context: `auto_compact`, `until_compact` and `compactable` from the server (worked out from
`threshold` with an older one); Compact greyed while not compactable.
- "Tasks: N" for a task's nested fold, the server's sentence; the subagent words aligned with
the server's catalogues (Podagenti, Sottoagenti, Podagenci); hint says the same-model rule.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
8 files changed
+144
-116
No files matched your search
+7
-4
@@ -11,16 +11,19 @@ All notable changes to LLeMbas Desktop. The format follows
|
|||||||
- **Subagents**, by that name everywhere. The chip under the message box says **Subagents** with the
|
- **Subagents**, by that name everywhere. The chip under the message box says **Subagents** with the
|
||||||
fewest and the most a chat runs, and opens the two fields under those words; it shows where the
|
fewest and the most a chat runs, and opens the two fields under those words; it shows where the
|
||||||
server offers subagents for the chat (for a new chat, for its model), and the most is the
|
server offers subagents for the chat (for a new chat, for its model), and the most is the
|
||||||
server's cap. Subagents work on the chat's own model unless you name another one in the chat --
|
server's cap. Where the chat's model serves one request at a time, it says that subagents need
|
||||||
there is no setting for a subagent's model. A scheduled task's field is **Subagents** too.
|
another model, on another server, named in the chat. Subagents work on the chat's own model
|
||||||
|
unless you name another one in the chat -- there is no setting for a subagent's model. A
|
||||||
|
scheduled task's field is **Subagents** too. Needs LLeMbas 2.0.0-beta.7 for the server's word on
|
||||||
|
all of this; with an older one the app guesses as before.
|
||||||
- **The activity panel, reshaped.** A button in the chat's header opens it at any time, and the
|
- **The activity panel, reshaped.** A button in the chat's header opens it at any time, and the
|
||||||
line above the message box shows only while something runs ("3 running · 1 queued · 2
|
line above the message box shows only while something runs ("3 running · 1 queued · 2
|
||||||
finished"). An agent chat's **Environment** (its folder, and where it is) comes first. **Context**
|
finished"). An agent chat's **Environment** (its folder, and where it is) comes first. **Context**
|
||||||
says how far it is to the automatic compaction ("80.6k until auto-compact") beside a **Compact**
|
says how far it is to the automatic compaction ("80.6k until auto-compact") beside a **Compact**
|
||||||
button that summarises the earlier turns now. **Background tasks** lists subagents, a team's
|
button that summarises the earlier turns now (greyed while there is nothing to summarise). **Background tasks** lists subagents, a team's
|
||||||
members and background commands under **Running**, each with how long it has run and a stop
|
members and background commands under **Running**, each with how long it has run and a stop
|
||||||
square, unfolding to what it is, its latest step, what it is writing and its conversation; the
|
square, unfolding to what it is, its latest step, what it is writing and its conversation; the
|
||||||
tasks under one fold beneath it ("2 tasks"), and the finished ones fold away under **Finished**.
|
tasks under one fold beneath it ("Tasks: 2"), and the finished ones fold away under **Finished**.
|
||||||
The team's **Room** and the **Plan** have sections of their own.
|
The team's **Room** and the **Plan** have sections of their own.
|
||||||
|
|
||||||
## [1.0.0-beta.4] — 2026-11-09
|
## [1.0.0-beta.4] — 2026-11-09
|
||||||
|
|||||||
+43
-43
@@ -351,8 +351,7 @@ KEYS = (
|
|||||||
"run by hand",
|
"run by hand",
|
||||||
# activity.js, chat.js, models.js, scheduled.js: subagents, the panel, Compact
|
# activity.js, chat.js, models.js, scheduled.js: subagents, the panel, Compact
|
||||||
"%(n)s running",
|
"%(n)s running",
|
||||||
"1 task",
|
"Tasks: %(n)s",
|
||||||
"%(n)s tasks",
|
|
||||||
"%(tokens)s until auto-compact",
|
"%(tokens)s until auto-compact",
|
||||||
"Automatic compaction is off.",
|
"Automatic compaction is off.",
|
||||||
"Compacts before the next reply.",
|
"Compacts before the next reply.",
|
||||||
@@ -368,11 +367,12 @@ KEYS = (
|
|||||||
"Subagent",
|
"Subagent",
|
||||||
"Team member",
|
"Team member",
|
||||||
"Subagents",
|
"Subagents",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.",
|
||||||
"None",
|
"None",
|
||||||
"Up to %(n)s at once",
|
"Up to %(n)s at once",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.",
|
||||||
"Team: %(size)s of at most %(max)s subagents",
|
"Team: %(size)s of at most %(max)s subagents",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.",
|
"How many work on it at once, the run's own agent among them, on the same model.",
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -381,9 +381,10 @@ KEYS = (
|
|||||||
# the device, as the server's catalogue has it.
|
# the device, as the server's catalogue has it.
|
||||||
OWN: dict[str, dict[str, str]] = {
|
OWN: dict[str, dict[str, str]] = {
|
||||||
"cs": {
|
"cs": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Tento model vyřizuje najednou jeden požadavek: podagenti potřebují jiný model na jiném serveru, pojmenovaný v konverzaci.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Počítá se včetně vlastního agenta konverzace. Podagent běží na modelu konverzace, na jiném jen tehdy, když ho v konverzaci pojmenujete.",
|
||||||
|
"Tasks: %(n)s": "Úlohy: %(n)s",
|
||||||
"%(n)s running": "Běží: %(n)s",
|
"%(n)s running": "Běží: %(n)s",
|
||||||
"1 task": "1 úloha",
|
|
||||||
"%(n)s tasks": "Úlohy: %(n)s",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s do automatického shrnutí",
|
"%(tokens)s until auto-compact": "%(tokens)s do automatického shrnutí",
|
||||||
"Automatic compaction is off.": "Automatické shrnutí je vypnuté.",
|
"Automatic compaction is off.": "Automatické shrnutí je vypnuté.",
|
||||||
"Compacts before the next reply.": "Shrne se před další odpovědí.",
|
"Compacts before the next reply.": "Shrne se před další odpovědí.",
|
||||||
@@ -396,14 +397,13 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Environment": "Prostředí",
|
"Environment": "Prostředí",
|
||||||
"Finished %(n)s": "Dokončeno: %(n)s",
|
"Finished %(n)s": "Dokončeno: %(n)s",
|
||||||
"Background command": "Příkaz na pozadí",
|
"Background command": "Příkaz na pozadí",
|
||||||
"Subagent": "Subagent",
|
"Subagent": "Podagent",
|
||||||
"Team member": "Člen týmu",
|
"Team member": "Člen týmu",
|
||||||
"Subagents": "Subagenti",
|
"Subagents": "Podagenti",
|
||||||
"None": "Žádní",
|
"None": "Žádní",
|
||||||
"Up to %(n)s at once": "Nejvýše %(n)s současně",
|
"Up to %(n)s at once": "Nejvýše %(n)s současně",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nic neběží. Subagenti, členové týmu a příkazy na pozadí se tu zobrazí, dokud pracují.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nic neběží. Podagenti, členové týmu a příkazy na pozadí se tu zobrazí, dokud pracují.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Tým: %(size)s z nejvýše %(max)s subagentů",
|
"Team: %(size)s of at most %(max)s subagents": "Tým: %(size)s z nejvýše %(max)s podagentů",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Nejméně a nejvíce subagentů, které tato konverzace spouští. Pracují na stejném modelu, pokud v konverzaci nepojmenujete jiný.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Kolik jich na ní pracuje současně, včetně vlastního agenta běhu, na stejném modelu.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Kolik jich na ní pracuje současně, včetně vlastního agenta běhu, na stejném modelu.",
|
||||||
"Menu": "Nabídka",
|
"Menu": "Nabídka",
|
||||||
"Minimise": "Minimalizovat",
|
"Minimise": "Minimalizovat",
|
||||||
@@ -600,9 +600,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Žádný den nezaškrtnutý: každý den.",
|
"No day ticked: every day.": "Žádný den nezaškrtnutý: každý den.",
|
||||||
},
|
},
|
||||||
"de": {
|
"de": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Dieses Modell bedient eine Anfrage zur Zeit: Subagenten brauchen ein anderes Modell auf einem anderen Server, im Chat genannt.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Der eigene Agent des Chats zählt mit. Ein Subagent läuft auf dem Modell des Chats, auf einem anderen nur, wenn Sie es im Chat nennen.",
|
||||||
|
"Tasks: %(n)s": "Aufgaben: %(n)s",
|
||||||
"%(n)s running": "%(n)s laufen",
|
"%(n)s running": "%(n)s laufen",
|
||||||
"1 task": "1 Aufgabe",
|
|
||||||
"%(n)s tasks": "%(n)s Aufgaben",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s bis zur automatischen Zusammenfassung",
|
"%(tokens)s until auto-compact": "%(tokens)s bis zur automatischen Zusammenfassung",
|
||||||
"Automatic compaction is off.": "Die automatische Zusammenfassung ist aus.",
|
"Automatic compaction is off.": "Die automatische Zusammenfassung ist aus.",
|
||||||
"Compacts before the next reply.": "Wird vor der nächsten Antwort zusammengefasst.",
|
"Compacts before the next reply.": "Wird vor der nächsten Antwort zusammengefasst.",
|
||||||
@@ -622,7 +623,6 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Up to %(n)s at once": "Bis zu %(n)s gleichzeitig",
|
"Up to %(n)s at once": "Bis zu %(n)s gleichzeitig",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Im Hintergrund läuft nichts. Subagenten, die Mitglieder eines Teams und Hintergrundbefehle erscheinen hier, solange sie arbeiten.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Im Hintergrund läuft nichts. Subagenten, die Mitglieder eines Teams und Hintergrundbefehle erscheinen hier, solange sie arbeiten.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Team: %(size)s von höchstens %(max)s Subagenten",
|
"Team: %(size)s of at most %(max)s subagents": "Team: %(size)s von höchstens %(max)s Subagenten",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Die wenigsten und die meisten Subagenten, die dieser Chat startet. Sie arbeiten mit demselben Modell, außer Sie nennen im Chat ein anderes.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Wie viele gleichzeitig daran arbeiten, der eigene Agent des Laufs mitgezählt, mit demselben Modell.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Wie viele gleichzeitig daran arbeiten, der eigene Agent des Laufs mitgezählt, mit demselben Modell.",
|
||||||
"Menu": "Menü",
|
"Menu": "Menü",
|
||||||
"Minimise": "Minimieren",
|
"Minimise": "Minimieren",
|
||||||
@@ -819,9 +819,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Kein Tag angehakt: jeden Tag.",
|
"No day ticked: every day.": "Kein Tag angehakt: jeden Tag.",
|
||||||
},
|
},
|
||||||
"es": {
|
"es": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Este modelo atiende una petición a la vez: los subagentes necesitan otro modelo, en otro servidor, nombrado en el chat.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Cuenta también el agente propio del chat. Un subagente usa el modelo del chat, u otro solo si lo nombra en el chat.",
|
||||||
|
"Tasks: %(n)s": "Tareas: %(n)s",
|
||||||
"%(n)s running": "%(n)s en marcha",
|
"%(n)s running": "%(n)s en marcha",
|
||||||
"1 task": "1 tarea",
|
|
||||||
"%(n)s tasks": "%(n)s tareas",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s hasta la compactación automática",
|
"%(tokens)s until auto-compact": "%(tokens)s hasta la compactación automática",
|
||||||
"Automatic compaction is off.": "La compactación automática está desactivada.",
|
"Automatic compaction is off.": "La compactación automática está desactivada.",
|
||||||
"Compacts before the next reply.": "Se compacta antes de la próxima respuesta.",
|
"Compacts before the next reply.": "Se compacta antes de la próxima respuesta.",
|
||||||
@@ -841,7 +842,6 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Up to %(n)s at once": "Hasta %(n)s a la vez",
|
"Up to %(n)s at once": "Hasta %(n)s a la vez",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "No hay nada en segundo plano. Los subagentes, los miembros de un equipo y los comandos en segundo plano aparecen aquí mientras trabajan.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "No hay nada en segundo plano. Los subagentes, los miembros de un equipo y los comandos en segundo plano aparecen aquí mientras trabajan.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Equipo: %(size)s de un máximo de %(max)s subagentes",
|
"Team: %(size)s of at most %(max)s subagents": "Equipo: %(size)s de un máximo de %(max)s subagentes",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "El mínimo y el máximo de subagentes que inicia este chat. Usan el mismo modelo, salvo que nombre otro en el chat.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Cuántos trabajan en ella a la vez, contando el propio agente de la ejecución, con el mismo modelo.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Cuántos trabajan en ella a la vez, contando el propio agente de la ejecución, con el mismo modelo.",
|
||||||
"Menu": "Menú",
|
"Menu": "Menú",
|
||||||
"Minimise": "Minimizar",
|
"Minimise": "Minimizar",
|
||||||
@@ -1038,9 +1038,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Ningún día marcado: todos los días.",
|
"No day ticked: every day.": "Ningún día marcado: todos los días.",
|
||||||
},
|
},
|
||||||
"fr": {
|
"fr": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Ce modèle traite une requête à la fois : les sous-agents ont besoin d’un autre modèle, sur un autre serveur, nommé dans la conversation.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "L’agent de la conversation compte aussi. Un sous-agent utilise le modèle de la conversation, ou un autre seulement si vous le nommez dans la conversation.",
|
||||||
|
"Tasks: %(n)s": "Tâches : %(n)s",
|
||||||
"%(n)s running": "%(n)s en cours",
|
"%(n)s running": "%(n)s en cours",
|
||||||
"1 task": "1 tâche",
|
|
||||||
"%(n)s tasks": "%(n)s tâches",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s avant le compactage automatique",
|
"%(tokens)s until auto-compact": "%(tokens)s avant le compactage automatique",
|
||||||
"Automatic compaction is off.": "Le compactage automatique est désactivé.",
|
"Automatic compaction is off.": "Le compactage automatique est désactivé.",
|
||||||
"Compacts before the next reply.": "Compacté avant la prochaine réponse.",
|
"Compacts before the next reply.": "Compacté avant la prochaine réponse.",
|
||||||
@@ -1060,7 +1061,6 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Up to %(n)s at once": "Jusqu’à %(n)s à la fois",
|
"Up to %(n)s at once": "Jusqu’à %(n)s à la fois",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Rien ne tourne en arrière-plan. Les sous-agents, les membres d’une équipe et les commandes en arrière-plan s’affichent ici pendant qu’ils travaillent.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Rien ne tourne en arrière-plan. Les sous-agents, les membres d’une équipe et les commandes en arrière-plan s’affichent ici pendant qu’ils travaillent.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Équipe : %(size)s sur %(max)s sous-agents au plus",
|
"Team: %(size)s of at most %(max)s subagents": "Équipe : %(size)s sur %(max)s sous-agents au plus",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Le moins et le plus de sous-agents que lance cette conversation. Ils utilisent le même modèle, sauf si vous en nommez un autre dans la conversation.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Combien y travaillent à la fois, l’agent de l’exécution compris, avec le même modèle.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Combien y travaillent à la fois, l’agent de l’exécution compris, avec le même modèle.",
|
||||||
"Menu": "Menu",
|
"Menu": "Menu",
|
||||||
"Minimise": "Réduire",
|
"Minimise": "Réduire",
|
||||||
@@ -1257,9 +1257,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Aucun jour coché : tous les jours.",
|
"No day ticked: every day.": "Aucun jour coché : tous les jours.",
|
||||||
},
|
},
|
||||||
"hu": {
|
"hu": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Ez a modell egyszerre egy kérést szolgál ki: az alügynököknek másik modell kell, másik szerveren, a beszélgetésben megnevezve.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "A beszélgetés saját ügynöke is beleszámít. Az alügynök a beszélgetés modelljén fut, másikon csak akkor, ha megnevezi a beszélgetésben.",
|
||||||
|
"Tasks: %(n)s": "Feladatok: %(n)s",
|
||||||
"%(n)s running": "%(n)s fut",
|
"%(n)s running": "%(n)s fut",
|
||||||
"1 task": "1 feladat",
|
|
||||||
"%(n)s tasks": "%(n)s feladat",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s az automatikus tömörítésig",
|
"%(tokens)s until auto-compact": "%(tokens)s az automatikus tömörítésig",
|
||||||
"Automatic compaction is off.": "Az automatikus tömörítés ki van kapcsolva.",
|
"Automatic compaction is off.": "Az automatikus tömörítés ki van kapcsolva.",
|
||||||
"Compacts before the next reply.": "A következő válasz előtt tömörül.",
|
"Compacts before the next reply.": "A következő válasz előtt tömörül.",
|
||||||
@@ -1279,7 +1280,6 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Up to %(n)s at once": "Legfeljebb %(n)s egyszerre",
|
"Up to %(n)s at once": "Legfeljebb %(n)s egyszerre",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "A háttérben semmi sem fut. Az alügynökök, egy csapat tagjai és a háttérparancsok itt jelennek meg, amíg dolgoznak.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "A háttérben semmi sem fut. Az alügynökök, egy csapat tagjai és a háttérparancsok itt jelennek meg, amíg dolgoznak.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Csapat: %(size)s a legfeljebb %(max)s alügynökből",
|
"Team: %(size)s of at most %(max)s subagents": "Csapat: %(size)s a legfeljebb %(max)s alügynökből",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "A beszélgetés által indított alügynökök legkisebb és legnagyobb száma. Ugyanazon a modellen dolgoznak, hacsak nem nevez meg másikat a beszélgetésben.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Hányan dolgoznak rajta egyszerre, a futás saját ügynökét is beleértve, ugyanazon a modellen.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Hányan dolgoznak rajta egyszerre, a futás saját ügynökét is beleértve, ugyanazon a modellen.",
|
||||||
"Menu": "Menü",
|
"Menu": "Menü",
|
||||||
"Minimise": "Kis méret",
|
"Minimise": "Kis méret",
|
||||||
@@ -1476,9 +1476,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Ha egy nap sincs bejelölve: minden nap.",
|
"No day ticked: every day.": "Ha egy nap sincs bejelölve: minden nap.",
|
||||||
},
|
},
|
||||||
"it": {
|
"it": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Questo modello serve una richiesta alla volta: i sottoagenti hanno bisogno di un altro modello, su un altro server, nominato nella chat.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Conta anche l’agente della chat. Un sottoagente usa il modello della chat, o un altro solo se lo nomini nella chat.",
|
||||||
|
"Tasks: %(n)s": "Attività: %(n)s",
|
||||||
"%(n)s running": "%(n)s in corso",
|
"%(n)s running": "%(n)s in corso",
|
||||||
"1 task": "1 attività",
|
|
||||||
"%(n)s tasks": "%(n)s attività",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s alla compattazione automatica",
|
"%(tokens)s until auto-compact": "%(tokens)s alla compattazione automatica",
|
||||||
"Automatic compaction is off.": "La compattazione automatica è disattivata.",
|
"Automatic compaction is off.": "La compattazione automatica è disattivata.",
|
||||||
"Compacts before the next reply.": "Si compatta prima della prossima risposta.",
|
"Compacts before the next reply.": "Si compatta prima della prossima risposta.",
|
||||||
@@ -1491,14 +1492,13 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Environment": "Ambiente",
|
"Environment": "Ambiente",
|
||||||
"Finished %(n)s": "Terminate: %(n)s",
|
"Finished %(n)s": "Terminate: %(n)s",
|
||||||
"Background command": "Comando in background",
|
"Background command": "Comando in background",
|
||||||
"Subagent": "Subagente",
|
"Subagent": "Sottoagente",
|
||||||
"Team member": "Membro della squadra",
|
"Team member": "Membro della squadra",
|
||||||
"Subagents": "Subagenti",
|
"Subagents": "Sottoagenti",
|
||||||
"None": "Nessuno",
|
"None": "Nessuno",
|
||||||
"Up to %(n)s at once": "Fino a %(n)s alla volta",
|
"Up to %(n)s at once": "Fino a %(n)s alla volta",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Nulla è in esecuzione in background. Subagenti, membri di una squadra e comandi in background compaiono qui mentre lavorano.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Nulla è in esecuzione in background. Sottoagenti, membri di una squadra e comandi in background compaiono qui mentre lavorano.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Squadra: %(size)s su un massimo di %(max)s subagenti",
|
"Team: %(size)s of at most %(max)s subagents": "Squadra: %(size)s su un massimo di %(max)s sottoagenti",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Il minimo e il massimo di subagenti che questa chat avvia. Lavorano sullo stesso modello, a meno che tu ne nomini un altro nella chat.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Quanti ci lavorano alla volta, compreso l’agente dell’esecuzione, sullo stesso modello.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Quanti ci lavorano alla volta, compreso l’agente dell’esecuzione, sullo stesso modello.",
|
||||||
"Menu": "Menu",
|
"Menu": "Menu",
|
||||||
"Minimise": "Riduci a icona",
|
"Minimise": "Riduci a icona",
|
||||||
@@ -1695,9 +1695,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Nessun giorno spuntato: ogni giorno.",
|
"No day ticked: every day.": "Nessun giorno spuntato: ogni giorno.",
|
||||||
},
|
},
|
||||||
"pl": {
|
"pl": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Ten model obsługuje jedno żądanie naraz: podagenci potrzebują innego modelu, na innym serwerze, wskazanego w czacie.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Liczony razem z własnym agentem czatu. Podagent działa na modelu czatu, na innym tylko wtedy, gdy wskażesz go w czacie.",
|
||||||
|
"Tasks: %(n)s": "Zadania: %(n)s",
|
||||||
"%(n)s running": "Działa: %(n)s",
|
"%(n)s running": "Działa: %(n)s",
|
||||||
"1 task": "1 zadanie",
|
|
||||||
"%(n)s tasks": "Zadania: %(n)s",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s do automatycznego streszczenia",
|
"%(tokens)s until auto-compact": "%(tokens)s do automatycznego streszczenia",
|
||||||
"Automatic compaction is off.": "Automatyczne streszczanie jest wyłączone.",
|
"Automatic compaction is off.": "Automatyczne streszczanie jest wyłączone.",
|
||||||
"Compacts before the next reply.": "Zostanie streszczona przed następną odpowiedzią.",
|
"Compacts before the next reply.": "Zostanie streszczona przed następną odpowiedzią.",
|
||||||
@@ -1710,14 +1711,13 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Environment": "Środowisko",
|
"Environment": "Środowisko",
|
||||||
"Finished %(n)s": "Zakończone: %(n)s",
|
"Finished %(n)s": "Zakończone: %(n)s",
|
||||||
"Background command": "Polecenie w tle",
|
"Background command": "Polecenie w tle",
|
||||||
"Subagent": "Subagent",
|
"Subagent": "Podagent",
|
||||||
"Team member": "Członek zespołu",
|
"Team member": "Członek zespołu",
|
||||||
"Subagents": "Subagenci",
|
"Subagents": "Podagenci",
|
||||||
"None": "Brak",
|
"None": "Brak",
|
||||||
"Up to %(n)s at once": "Do %(n)s naraz",
|
"Up to %(n)s at once": "Do %(n)s naraz",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "W tle nic nie działa. Subagenci, członkowie zespołu i polecenia w tle pojawiają się tu, gdy pracują.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "W tle nic nie działa. Podagenci, członkowie zespołu i polecenia w tle pojawiają się tu, gdy pracują.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Zespół: %(size)s z najwyżej %(max)s subagentów",
|
"Team: %(size)s of at most %(max)s subagents": "Zespół: %(size)s z najwyżej %(max)s podagentów",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Najmniej i najwięcej subagentów, których uruchamia ten czat. Pracują na tym samym modelu, chyba że w czacie wskażesz inny.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Ilu pracuje nad nim naraz, łącznie z własnym agentem uruchomienia, na tym samym modelu.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Ilu pracuje nad nim naraz, łącznie z własnym agentem uruchomienia, na tym samym modelu.",
|
||||||
"Menu": "Menu",
|
"Menu": "Menu",
|
||||||
"Minimise": "Minimalizuj",
|
"Minimise": "Minimalizuj",
|
||||||
@@ -1914,9 +1914,10 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"No day ticked: every day.": "Żaden dzień niezaznaczony: codziennie.",
|
"No day ticked: every day.": "Żaden dzień niezaznaczony: codziennie.",
|
||||||
},
|
},
|
||||||
"sk": {
|
"sk": {
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Tento model vybavuje naraz jednu požiadavku: podagenti potrebujú iný model na inom serveri, pomenovaný v konverzácii.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Počíta sa vrátane vlastného agenta konverzácie. Podagent beží na modeli konverzácie, na inom len vtedy, keď ho v konverzácii pomenujete.",
|
||||||
|
"Tasks: %(n)s": "Úlohy: %(n)s",
|
||||||
"%(n)s running": "Beží: %(n)s",
|
"%(n)s running": "Beží: %(n)s",
|
||||||
"1 task": "1 úloha",
|
|
||||||
"%(n)s tasks": "Úlohy: %(n)s",
|
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s do automatického zhrnutia",
|
"%(tokens)s until auto-compact": "%(tokens)s do automatického zhrnutia",
|
||||||
"Automatic compaction is off.": "Automatické zhrnutie je vypnuté.",
|
"Automatic compaction is off.": "Automatické zhrnutie je vypnuté.",
|
||||||
"Compacts before the next reply.": "Zhrnie sa pred ďalšou odpoveďou.",
|
"Compacts before the next reply.": "Zhrnie sa pred ďalšou odpoveďou.",
|
||||||
@@ -1929,14 +1930,13 @@ OWN: dict[str, dict[str, str]] = {
|
|||||||
"Environment": "Prostredie",
|
"Environment": "Prostredie",
|
||||||
"Finished %(n)s": "Dokončené: %(n)s",
|
"Finished %(n)s": "Dokončené: %(n)s",
|
||||||
"Background command": "Príkaz na pozadí",
|
"Background command": "Príkaz na pozadí",
|
||||||
"Subagent": "Subagent",
|
"Subagent": "Podagent",
|
||||||
"Team member": "Člen tímu",
|
"Team member": "Člen tímu",
|
||||||
"Subagents": "Subagenti",
|
"Subagents": "Podagenti",
|
||||||
"None": "Žiadni",
|
"None": "Žiadni",
|
||||||
"Up to %(n)s at once": "Najviac %(n)s naraz",
|
"Up to %(n)s at once": "Najviac %(n)s naraz",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nič nebeží. Subagenti, členovia tímu a príkazy na pozadí sa tu zobrazia, kým pracujú.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nič nebeží. Podagenti, členovia tímu a príkazy na pozadí sa tu zobrazia, kým pracujú.",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Tím: %(size)s z najviac %(max)s subagentov",
|
"Team: %(size)s of at most %(max)s subagents": "Tím: %(size)s z najviac %(max)s podagentov",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Najmenej a najviac subagentov, ktoré táto konverzácia spúšťa. Pracujú na rovnakom modeli, ak v konverzácii nepomenujete iný.",
|
|
||||||
"How many work on it at once, the run's own agent among them, on the same model.": "Koľko na nej pracuje naraz, vrátane vlastného agenta behu, na rovnakom modeli.",
|
"How many work on it at once, the run's own agent among them, on the same model.": "Koľko na nej pracuje naraz, vrátane vlastného agenta behu, na rovnakom modeli.",
|
||||||
"Menu": "Ponuka",
|
"Menu": "Ponuka",
|
||||||
"Minimise": "Minimalizovať",
|
"Minimise": "Minimalizovať",
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ textarea { padding: var(--sp-2) var(--control-px-sm); resize: none; line-height:
|
|||||||
|
|
||||||
label, .label { font: var(--text-sm) / var(--leading-tight) var(--font-body); color: var(--ink-muted); }
|
label, .label { font: var(--text-sm) / var(--leading-tight) var(--font-body); color: var(--ink-muted); }
|
||||||
.hint { font-size: var(--text-sm); color: var(--ink-muted); min-height: calc(var(--text-sm) * var(--leading-normal)); }
|
.hint { font-size: var(--text-sm); color: var(--ink-muted); min-height: calc(var(--text-sm) * var(--leading-normal)); }
|
||||||
|
.hint.is-warn { color: var(--warning); }
|
||||||
.status { font: var(--text-sm) / var(--leading-normal) var(--font-body); }
|
.status { font: var(--text-sm) / var(--leading-normal) var(--font-body); }
|
||||||
.status.is-ok { color: var(--leaf); }
|
.status.is-ok { color: var(--leaf); }
|
||||||
.check { display: grid; grid-template-columns: var(--check-size) minmax(0, 1fr); gap: var(--sp-2); align-items: center; color: var(--ink); }
|
.check { display: grid; grid-template-columns: var(--check-size) minmax(0, 1fr); gap: var(--sp-2); align-items: center; color: var(--ink); }
|
||||||
|
|||||||
+34
-34
@@ -16,7 +16,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s missed": "zmeškáno: %(n)s",
|
"%(n)s missed": "zmeškáno: %(n)s",
|
||||||
"%(n)s queued": "Ve frontě: %(n)s",
|
"%(n)s queued": "Ve frontě: %(n)s",
|
||||||
"%(n)s running": "Běží: %(n)s",
|
"%(n)s running": "Běží: %(n)s",
|
||||||
"%(n)s tasks": "Úlohy: %(n)s",
|
|
||||||
"%(n)s tokens": "tokeny: %(n)s",
|
"%(n)s tokens": "tokeny: %(n)s",
|
||||||
"%(n)s tools offered.": "Nabízené nástroje: %(n)s.",
|
"%(n)s tools offered.": "Nabízené nástroje: %(n)s.",
|
||||||
"%(n)s waiting": "Čeká: %(n)s",
|
"%(n)s waiting": "Čeká: %(n)s",
|
||||||
@@ -26,7 +25,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "Kroky: %(steps)s, nástroje: %(tools)s",
|
"%(steps)s steps, %(tools)s tools": "Kroky: %(steps)s, nástroje: %(tools)s",
|
||||||
"%(tokens)s tokens": "%(tokens)s tokenů",
|
"%(tokens)s tokens": "%(tokens)s tokenů",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s do automatického shrnutí",
|
"%(tokens)s until auto-compact": "%(tokens)s do automatického shrnutí",
|
||||||
"1 task": "1 úloha",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Služba LLeMbas CLI už tu běží (pid %(pid)s), ale není připojená: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Služba LLeMbas CLI už tu běží (pid %(pid)s), ale není připojená: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Služba LLeMbas CLI už tu běží (pid %(pid)s); je agentem tohoto počítače.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Služba LLeMbas CLI už tu běží (pid %(pid)s); je agentem tohoto počítače.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Na zaneprázdněný model se čeká, pak se použije další volný.",
|
"A busy model is waited for, then the next free one is used.": "Na zaneprázdněný model se čeká, pak se použije další volný.",
|
||||||
@@ -85,6 +83,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Zkopírováno",
|
"Copied": "Zkopírováno",
|
||||||
"Copy": "Kopírovat",
|
"Copy": "Kopírovat",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Spočítal model při poslední odpovědi; kategorie jsou odhadnuté.",
|
"Counted by the model at the last reply; the categories are estimated.": "Spočítal model při poslední odpovědi; kategorie jsou odhadnuté.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Počítá se včetně vlastního agenta konverzace. Podagent běží na modelu konverzace, na jiném jen tehdy, když ho v konverzaci pojmenujete.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Zde zkráceno; celé je to ve webovém rozhraní.",
|
"Cut short here; the whole of it is in the web interface.": "Zde zkráceno; celé je to ve webovém rozhraní.",
|
||||||
"Days": "Dny",
|
"Days": "Dny",
|
||||||
"Delete": "Smazat",
|
"Delete": "Smazat",
|
||||||
@@ -169,7 +168,7 @@ const LEMBAS_I18N = {
|
|||||||
"Nothing is scheduled.": "Nic není naplánováno.",
|
"Nothing is scheduled.": "Nic není naplánováno.",
|
||||||
"Nothing matches.": "Nic neodpovídá.",
|
"Nothing matches.": "Nic neodpovídá.",
|
||||||
"Nothing running.": "Nic neběží.",
|
"Nothing running.": "Nic neběží.",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nic neběží. Subagenti, členové týmu a příkazy na pozadí se tu zobrazí, dokud pracují.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nic neběží. Podagenti, členové týmu a příkazy na pozadí se tu zobrazí, dokud pracují.",
|
||||||
"Nothing to report": "Nic k hlášení",
|
"Nothing to report": "Nic k hlášení",
|
||||||
"Nothing yet.": "Zatím nic.",
|
"Nothing yet.": "Zatím nic.",
|
||||||
"Notifications": "Upozornění",
|
"Notifications": "Upozornění",
|
||||||
@@ -245,8 +244,9 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Shrnout dřívější kola hned a posílat místo nich shrnutí.",
|
"Summarise the earlier turns now and send the summary in their place.": "Shrnout dřívější kola hned a posílat místo nich shrnutí.",
|
||||||
"System prompt": "Systémový pokyn",
|
"System prompt": "Systémový pokyn",
|
||||||
"Taken in while it ran:": "Převzato během běhu:",
|
"Taken in while it ran:": "Převzato během běhu:",
|
||||||
|
"Tasks: %(n)s": "Úlohy: %(n)s",
|
||||||
"Team member": "Člen týmu",
|
"Team member": "Člen týmu",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Tým: %(size)s z nejvýše %(max)s subagentů",
|
"Team: %(size)s of at most %(max)s subagents": "Tým: %(size)s z nejvýše %(max)s podagentů",
|
||||||
"Tell me": "Upozornit mě",
|
"Tell me": "Upozornit mě",
|
||||||
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Upozornit mě, když je odpověď nebo práce agenta hotová, zatímco jsem jinde",
|
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Upozornit mě, když je odpověď nebo práce agenta hotová, zatímco jsem jinde",
|
||||||
"The agent asks to run %(tool)s:": "Agent žádá o spuštění %(tool)s:",
|
"The agent asks to run %(tool)s:": "Agent žádá o spuštění %(tool)s:",
|
||||||
@@ -263,7 +263,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Aplikace se k vašemu serveru přihlásí jednou, ve vašem prohlížeči, jako každé zařízení. Pak může číst a psát vaše konverzace, jako webové rozhraní, a stejné schválení propojí tento počítač pro agenta.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Aplikace se k vašemu serveru přihlásí jednou, ve vašem prohlížeči, jako každé zařízení. Pak může číst a psát vaše konverzace, jako webové rozhraní, a stejné schválení propojí tento počítač pro agenta.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Aplikace se k vašemu serveru přihlásí jednou, ve vašem prohlížeči, jako každé zařízení. Pak může číst a psát vaše konverzace, jako webové rozhraní.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Aplikace se k vašemu serveru přihlásí jednou, ve vašem prohlížeči, jako každé zařízení. Pak může číst a psát vaše konverzace, jako webové rozhraní.",
|
||||||
"The connection to the reply was lost: %(why)s": "Spojení s odpovědí se přerušilo: %(why)s",
|
"The connection to the reply was lost: %(why)s": "Spojení s odpovědí se přerušilo: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Nejméně a nejvíce subagentů, které tato konverzace spouští. Pracují na stejném modelu, pokud v konverzaci nepojmenujete jiný.",
|
|
||||||
"The first free scheduling model": "První volný model pro plánování",
|
"The first free scheduling model": "První volný model pro plánování",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "Instrukce, kterou dostane každé spuštění samostatně: uveďte vše, co potřebuje.",
|
"The instruction each run is given, on its own: say everything it needs.": "Instrukce, kterou dostane každé spuštění samostatně: uveďte vše, co potřebuje.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Posledních %(n)s spuštění selhalo: %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Posledních %(n)s spuštění selhalo: %(why)s",
|
||||||
@@ -282,6 +281,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Tento soubor je příliš velký na odeslání.",
|
"This file is too large to send.": "Tento soubor je příliš velký na odeslání.",
|
||||||
"This is a folder; attach the files in it.": "Toto je složka; přiložte soubory v ní.",
|
"This is a folder; attach the files in it.": "Toto je složka; přiložte soubory v ní.",
|
||||||
"This is not a text file; it cannot be shown here.": "Toto není textový soubor; nelze ho zde zobrazit.",
|
"This is not a text file; it cannot be shown here.": "Toto není textový soubor; nelze ho zde zobrazit.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Tento model vyřizuje najednou jeden požadavek: podagenti potřebují jiný model na jiném serveru, pojmenovaný v konverzaci.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Tento server zatím neumí shrnout konverzaci z aplikace; webové rozhraní to umí.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Tento server zatím neumí shrnout konverzaci z aplikace; webové rozhraní to umí.",
|
||||||
"This server has no scheduled tasks yet.": "Tento server zatím nemá naplánované úlohy.",
|
"This server has no scheduled tasks yet.": "Tento server zatím nemá naplánované úlohy.",
|
||||||
"Thought": "Přemýšlel",
|
"Thought": "Přemýšlel",
|
||||||
@@ -345,7 +345,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s missed": "%(n)s verpasst",
|
"%(n)s missed": "%(n)s verpasst",
|
||||||
"%(n)s queued": "%(n)s in der Warteschlange",
|
"%(n)s queued": "%(n)s in der Warteschlange",
|
||||||
"%(n)s running": "%(n)s laufen",
|
"%(n)s running": "%(n)s laufen",
|
||||||
"%(n)s tasks": "%(n)s Aufgaben",
|
|
||||||
"%(n)s tokens": "%(n)s Tokens",
|
"%(n)s tokens": "%(n)s Tokens",
|
||||||
"%(n)s tools offered.": "%(n)s Werkzeuge angeboten.",
|
"%(n)s tools offered.": "%(n)s Werkzeuge angeboten.",
|
||||||
"%(n)s waiting": "%(n)s warten",
|
"%(n)s waiting": "%(n)s warten",
|
||||||
@@ -355,7 +354,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "%(steps)s Schritte, %(tools)s Werkzeuge",
|
"%(steps)s steps, %(tools)s tools": "%(steps)s Schritte, %(tools)s Werkzeuge",
|
||||||
"%(tokens)s tokens": "%(tokens)s Tokens",
|
"%(tokens)s tokens": "%(tokens)s Tokens",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s bis zur automatischen Zusammenfassung",
|
"%(tokens)s until auto-compact": "%(tokens)s bis zur automatischen Zusammenfassung",
|
||||||
"1 task": "1 Aufgabe",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Ein LLeMbas-CLI-Dienst läuft hier bereits (PID %(pid)s), ist aber nicht verbunden: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Ein LLeMbas-CLI-Dienst läuft hier bereits (PID %(pid)s), ist aber nicht verbunden: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Ein LLeMbas-CLI-Dienst läuft hier bereits (PID %(pid)s); er ist der Agent dieses Computers.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Ein LLeMbas-CLI-Dienst läuft hier bereits (PID %(pid)s); er ist der Agent dieses Computers.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Auf ein belegtes Modell wird gewartet, dann wird das nächste freie genommen.",
|
"A busy model is waited for, then the next free one is used.": "Auf ein belegtes Modell wird gewartet, dann wird das nächste freie genommen.",
|
||||||
@@ -414,6 +412,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Kopiert",
|
"Copied": "Kopiert",
|
||||||
"Copy": "Kopieren",
|
"Copy": "Kopieren",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Vom Modell bei der letzten Antwort gezählt; die Kategorien sind geschätzt.",
|
"Counted by the model at the last reply; the categories are estimated.": "Vom Modell bei der letzten Antwort gezählt; die Kategorien sind geschätzt.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Der eigene Agent des Chats zählt mit. Ein Subagent läuft auf dem Modell des Chats, auf einem anderen nur, wenn Sie es im Chat nennen.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Hier gekürzt; vollständig steht es in der Weboberfläche.",
|
"Cut short here; the whole of it is in the web interface.": "Hier gekürzt; vollständig steht es in der Weboberfläche.",
|
||||||
"Days": "Tage",
|
"Days": "Tage",
|
||||||
"Delete": "Löschen",
|
"Delete": "Löschen",
|
||||||
@@ -574,6 +573,7 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Die früheren Runden jetzt zusammenfassen und stattdessen die Zusammenfassung senden.",
|
"Summarise the earlier turns now and send the summary in their place.": "Die früheren Runden jetzt zusammenfassen und stattdessen die Zusammenfassung senden.",
|
||||||
"System prompt": "Systemprompt",
|
"System prompt": "Systemprompt",
|
||||||
"Taken in while it ran:": "Während des Laufs übernommen:",
|
"Taken in while it ran:": "Während des Laufs übernommen:",
|
||||||
|
"Tasks: %(n)s": "Aufgaben: %(n)s",
|
||||||
"Team member": "Teammitglied",
|
"Team member": "Teammitglied",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Team: %(size)s von höchstens %(max)s Subagenten",
|
"Team: %(size)s of at most %(max)s subagents": "Team: %(size)s von höchstens %(max)s Subagenten",
|
||||||
"Tell me": "Benachrichtigen",
|
"Tell me": "Benachrichtigen",
|
||||||
@@ -592,7 +592,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Die App meldet sich einmal an Ihrem Server an, in Ihrem Browser, wie jedes Gerät. Danach kann sie Ihre Chats lesen und schreiben, wie die Weboberfläche, und dieselbe Freigabe verbindet diesen Computer für den Agenten.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Die App meldet sich einmal an Ihrem Server an, in Ihrem Browser, wie jedes Gerät. Danach kann sie Ihre Chats lesen und schreiben, wie die Weboberfläche, und dieselbe Freigabe verbindet diesen Computer für den Agenten.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Die App meldet sich einmal an Ihrem Server an, in Ihrem Browser, wie jedes Gerät. Danach kann sie Ihre Chats lesen und schreiben, wie die Weboberfläche.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Die App meldet sich einmal an Ihrem Server an, in Ihrem Browser, wie jedes Gerät. Danach kann sie Ihre Chats lesen und schreiben, wie die Weboberfläche.",
|
||||||
"The connection to the reply was lost: %(why)s": "Die Verbindung zur Antwort ist abgebrochen: %(why)s",
|
"The connection to the reply was lost: %(why)s": "Die Verbindung zur Antwort ist abgebrochen: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Die wenigsten und die meisten Subagenten, die dieser Chat startet. Sie arbeiten mit demselben Modell, außer Sie nennen im Chat ein anderes.",
|
|
||||||
"The first free scheduling model": "Das erste freie Planungsmodell",
|
"The first free scheduling model": "Das erste freie Planungsmodell",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "Die Anweisung, die jeder Lauf für sich erhält: Sagen Sie alles, was er braucht.",
|
"The instruction each run is given, on its own: say everything it needs.": "Die Anweisung, die jeder Lauf für sich erhält: Sagen Sie alles, was er braucht.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Die letzten %(n)s Läufe sind fehlgeschlagen: %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Die letzten %(n)s Läufe sind fehlgeschlagen: %(why)s",
|
||||||
@@ -611,6 +610,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Diese Datei ist zu groß zum Senden.",
|
"This file is too large to send.": "Diese Datei ist zu groß zum Senden.",
|
||||||
"This is a folder; attach the files in it.": "Das ist ein Ordner; hängen Sie die Dateien darin an.",
|
"This is a folder; attach the files in it.": "Das ist ein Ordner; hängen Sie die Dateien darin an.",
|
||||||
"This is not a text file; it cannot be shown here.": "Das ist keine Textdatei; sie kann hier nicht angezeigt werden.",
|
"This is not a text file; it cannot be shown here.": "Das ist keine Textdatei; sie kann hier nicht angezeigt werden.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Dieses Modell bedient eine Anfrage zur Zeit: Subagenten brauchen ein anderes Modell auf einem anderen Server, im Chat genannt.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Dieser Server kann einen Chat noch nicht aus der App zusammenfassen; die Weboberfläche kann es.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Dieser Server kann einen Chat noch nicht aus der App zusammenfassen; die Weboberfläche kann es.",
|
||||||
"This server has no scheduled tasks yet.": "Dieser Server hat noch keine geplanten Aufgaben.",
|
"This server has no scheduled tasks yet.": "Dieser Server hat noch keine geplanten Aufgaben.",
|
||||||
"Thought": "Nachgedacht",
|
"Thought": "Nachgedacht",
|
||||||
@@ -673,8 +673,7 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s finished": "%(n)s terminados",
|
"%(n)s finished": "%(n)s terminados",
|
||||||
"%(n)s missed": "%(n)s perdidas",
|
"%(n)s missed": "%(n)s perdidas",
|
||||||
"%(n)s queued": "%(n)s en cola",
|
"%(n)s queued": "%(n)s en cola",
|
||||||
"%(n)s running": "%(n)s en marcha",
|
"%(n)s running": "%(n)s en ejecución",
|
||||||
"%(n)s tasks": "%(n)s tareas",
|
|
||||||
"%(n)s tokens": "tokens: %(n)s",
|
"%(n)s tokens": "tokens: %(n)s",
|
||||||
"%(n)s tools offered.": "%(n)s herramientas ofrecidas.",
|
"%(n)s tools offered.": "%(n)s herramientas ofrecidas.",
|
||||||
"%(n)s waiting": "%(n)s esperando",
|
"%(n)s waiting": "%(n)s esperando",
|
||||||
@@ -684,7 +683,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "%(steps)s pasos, %(tools)s herramientas",
|
"%(steps)s steps, %(tools)s tools": "%(steps)s pasos, %(tools)s herramientas",
|
||||||
"%(tokens)s tokens": "%(tokens)s tokens",
|
"%(tokens)s tokens": "%(tokens)s tokens",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s hasta la compactación automática",
|
"%(tokens)s until auto-compact": "%(tokens)s hasta la compactación automática",
|
||||||
"1 task": "1 tarea",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Ya hay un servicio de LLeMbas CLI aquí (pid %(pid)s), pero no está conectado: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Ya hay un servicio de LLeMbas CLI aquí (pid %(pid)s), pero no está conectado: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Ya se está ejecutando aquí un servicio de LLeMbas CLI (pid %(pid)s); es el agente de este ordenador.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Ya se está ejecutando aquí un servicio de LLeMbas CLI (pid %(pid)s); es el agente de este ordenador.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Se espera a un modelo ocupado y luego se usa el siguiente libre.",
|
"A busy model is waited for, then the next free one is used.": "Se espera a un modelo ocupado y luego se usa el siguiente libre.",
|
||||||
@@ -743,6 +741,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Copiado",
|
"Copied": "Copiado",
|
||||||
"Copy": "Copiar",
|
"Copy": "Copiar",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Contado por el modelo en la última respuesta; las categorías son estimaciones.",
|
"Counted by the model at the last reply; the categories are estimated.": "Contado por el modelo en la última respuesta; las categorías son estimaciones.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Cuenta también el agente propio del chat. Un subagente usa el modelo del chat, u otro solo si lo nombra en el chat.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Recortado aquí; completo está en la interfaz web.",
|
"Cut short here; the whole of it is in the web interface.": "Recortado aquí; completo está en la interfaz web.",
|
||||||
"Days": "Días",
|
"Days": "Días",
|
||||||
"Delete": "Eliminar",
|
"Delete": "Eliminar",
|
||||||
@@ -903,6 +902,7 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Resumir ahora los turnos anteriores y enviar el resumen en su lugar.",
|
"Summarise the earlier turns now and send the summary in their place.": "Resumir ahora los turnos anteriores y enviar el resumen en su lugar.",
|
||||||
"System prompt": "Prompt de sistema",
|
"System prompt": "Prompt de sistema",
|
||||||
"Taken in while it ran:": "Incorporado mientras se ejecutaba:",
|
"Taken in while it ran:": "Incorporado mientras se ejecutaba:",
|
||||||
|
"Tasks: %(n)s": "Tareas: %(n)s",
|
||||||
"Team member": "Miembro del equipo",
|
"Team member": "Miembro del equipo",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Equipo: %(size)s de un máximo de %(max)s subagentes",
|
"Team: %(size)s of at most %(max)s subagents": "Equipo: %(size)s de un máximo de %(max)s subagentes",
|
||||||
"Tell me": "Avisarme",
|
"Tell me": "Avisarme",
|
||||||
@@ -921,7 +921,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "La aplicación inicia sesión en su servidor una vez, en su navegador, como cualquier dispositivo. Después puede leer y escribir sus chats, como la interfaz web, y la misma aprobación vincula este ordenador para el agente.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "La aplicación inicia sesión en su servidor una vez, en su navegador, como cualquier dispositivo. Después puede leer y escribir sus chats, como la interfaz web, y la misma aprobación vincula este ordenador para el agente.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "La aplicación inicia sesión en su servidor una vez, en su navegador, como cualquier dispositivo. Después puede leer y escribir sus chats, como la interfaz web.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "La aplicación inicia sesión en su servidor una vez, en su navegador, como cualquier dispositivo. Después puede leer y escribir sus chats, como la interfaz web.",
|
||||||
"The connection to the reply was lost: %(why)s": "Se perdió la conexión con la respuesta: %(why)s",
|
"The connection to the reply was lost: %(why)s": "Se perdió la conexión con la respuesta: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "El mínimo y el máximo de subagentes que inicia este chat. Usan el mismo modelo, salvo que nombre otro en el chat.",
|
|
||||||
"The first free scheduling model": "El primer modelo de programación libre",
|
"The first free scheduling model": "El primer modelo de programación libre",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "La instrucción que recibe cada ejecución por sí sola: diga todo lo que necesita.",
|
"The instruction each run is given, on its own: say everything it needs.": "La instrucción que recibe cada ejecución por sí sola: diga todo lo que necesita.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Las últimas %(n)s ejecuciones fallaron: %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Las últimas %(n)s ejecuciones fallaron: %(why)s",
|
||||||
@@ -940,6 +939,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Este archivo es demasiado grande para enviarlo.",
|
"This file is too large to send.": "Este archivo es demasiado grande para enviarlo.",
|
||||||
"This is a folder; attach the files in it.": "Esto es una carpeta; adjunte los archivos que contiene.",
|
"This is a folder; attach the files in it.": "Esto es una carpeta; adjunte los archivos que contiene.",
|
||||||
"This is not a text file; it cannot be shown here.": "No es un archivo de texto; no se puede mostrar aquí.",
|
"This is not a text file; it cannot be shown here.": "No es un archivo de texto; no se puede mostrar aquí.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Este modelo atiende una solicitud a la vez: los subagentes necesitan otro modelo, en otro servidor, nombrado en el chat.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Este servidor aún no puede compactar un chat desde la aplicación; la interfaz web sí puede.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Este servidor aún no puede compactar un chat desde la aplicación; la interfaz web sí puede.",
|
||||||
"This server has no scheduled tasks yet.": "Este servidor aún no tiene tareas programadas.",
|
"This server has no scheduled tasks yet.": "Este servidor aún no tiene tareas programadas.",
|
||||||
"Thought": "Pensamiento",
|
"Thought": "Pensamiento",
|
||||||
@@ -1003,7 +1003,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s missed": "%(n)s manquées",
|
"%(n)s missed": "%(n)s manquées",
|
||||||
"%(n)s queued": "%(n)s en file d’attente",
|
"%(n)s queued": "%(n)s en file d’attente",
|
||||||
"%(n)s running": "%(n)s en cours",
|
"%(n)s running": "%(n)s en cours",
|
||||||
"%(n)s tasks": "%(n)s tâches",
|
|
||||||
"%(n)s tokens": "%(n)s jetons",
|
"%(n)s tokens": "%(n)s jetons",
|
||||||
"%(n)s tools offered.": "%(n)s outils proposés.",
|
"%(n)s tools offered.": "%(n)s outils proposés.",
|
||||||
"%(n)s waiting": "%(n)s en attente",
|
"%(n)s waiting": "%(n)s en attente",
|
||||||
@@ -1013,7 +1012,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "%(steps)s étapes, %(tools)s outils",
|
"%(steps)s steps, %(tools)s tools": "%(steps)s étapes, %(tools)s outils",
|
||||||
"%(tokens)s tokens": "%(tokens)s jetons",
|
"%(tokens)s tokens": "%(tokens)s jetons",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s avant le compactage automatique",
|
"%(tokens)s until auto-compact": "%(tokens)s avant le compactage automatique",
|
||||||
"1 task": "1 tâche",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Un service LLeMbas CLI tourne déjà ici (pid %(pid)s), mais n'est pas connecté : %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Un service LLeMbas CLI tourne déjà ici (pid %(pid)s), mais n'est pas connecté : %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Un service LLeMbas CLI tourne déjà ici (pid %(pid)s) ; c'est l'agent de cet ordinateur.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Un service LLeMbas CLI tourne déjà ici (pid %(pid)s) ; c'est l'agent de cet ordinateur.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Un modèle occupé est attendu, puis le suivant libre est utilisé.",
|
"A busy model is waited for, then the next free one is used.": "Un modèle occupé est attendu, puis le suivant libre est utilisé.",
|
||||||
@@ -1072,6 +1070,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Copié",
|
"Copied": "Copié",
|
||||||
"Copy": "Copier",
|
"Copy": "Copier",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Compté par le modèle lors de la dernière réponse ; les catégories sont estimées.",
|
"Counted by the model at the last reply; the categories are estimated.": "Compté par le modèle lors de la dernière réponse ; les catégories sont estimées.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "L’agent de la conversation compte aussi. Un sous-agent utilise le modèle de la conversation, ou un autre seulement si vous le nommez dans la conversation.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Tronqué ici ; le tout est dans l'interface web.",
|
"Cut short here; the whole of it is in the web interface.": "Tronqué ici ; le tout est dans l'interface web.",
|
||||||
"Days": "Jours",
|
"Days": "Jours",
|
||||||
"Delete": "Supprimer",
|
"Delete": "Supprimer",
|
||||||
@@ -1232,6 +1231,7 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Résumer maintenant les tours précédents et envoyer le résumé à leur place.",
|
"Summarise the earlier turns now and send the summary in their place.": "Résumer maintenant les tours précédents et envoyer le résumé à leur place.",
|
||||||
"System prompt": "Prompt système",
|
"System prompt": "Prompt système",
|
||||||
"Taken in while it ran:": "Pris en compte pendant l'exécution :",
|
"Taken in while it ran:": "Pris en compte pendant l'exécution :",
|
||||||
|
"Tasks: %(n)s": "Tâches : %(n)s",
|
||||||
"Team member": "Membre de l’équipe",
|
"Team member": "Membre de l’équipe",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Équipe : %(size)s sur %(max)s sous-agents au plus",
|
"Team: %(size)s of at most %(max)s subagents": "Équipe : %(size)s sur %(max)s sous-agents au plus",
|
||||||
"Tell me": "Me prévenir",
|
"Tell me": "Me prévenir",
|
||||||
@@ -1250,7 +1250,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "L'application se connecte une fois à votre serveur, dans votre navigateur, comme tout appareil. Elle peut ensuite lire et écrire vos discussions, comme l'interface web, et la même approbation relie cet ordinateur pour l'agent.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "L'application se connecte une fois à votre serveur, dans votre navigateur, comme tout appareil. Elle peut ensuite lire et écrire vos discussions, comme l'interface web, et la même approbation relie cet ordinateur pour l'agent.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "L'application se connecte une fois à votre serveur, dans votre navigateur, comme tout appareil. Elle peut ensuite lire et écrire vos discussions, comme l'interface web.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "L'application se connecte une fois à votre serveur, dans votre navigateur, comme tout appareil. Elle peut ensuite lire et écrire vos discussions, comme l'interface web.",
|
||||||
"The connection to the reply was lost: %(why)s": "La connexion à la réponse a été perdue : %(why)s",
|
"The connection to the reply was lost: %(why)s": "La connexion à la réponse a été perdue : %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Le moins et le plus de sous-agents que lance cette conversation. Ils utilisent le même modèle, sauf si vous en nommez un autre dans la conversation.",
|
|
||||||
"The first free scheduling model": "Le premier modèle de planification libre",
|
"The first free scheduling model": "Le premier modèle de planification libre",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "L'instruction donnée à chaque exécution, seule : dites tout ce dont elle a besoin.",
|
"The instruction each run is given, on its own: say everything it needs.": "L'instruction donnée à chaque exécution, seule : dites tout ce dont elle a besoin.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Les %(n)s dernières exécutions ont échoué : %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Les %(n)s dernières exécutions ont échoué : %(why)s",
|
||||||
@@ -1269,6 +1268,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Ce fichier est trop volumineux pour être envoyé.",
|
"This file is too large to send.": "Ce fichier est trop volumineux pour être envoyé.",
|
||||||
"This is a folder; attach the files in it.": "C'est un dossier ; joignez les fichiers qu'il contient.",
|
"This is a folder; attach the files in it.": "C'est un dossier ; joignez les fichiers qu'il contient.",
|
||||||
"This is not a text file; it cannot be shown here.": "Ce n'est pas un fichier texte ; il ne peut pas être affiché ici.",
|
"This is not a text file; it cannot be shown here.": "Ce n'est pas un fichier texte ; il ne peut pas être affiché ici.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Ce modèle traite une requête à la fois : les sous-agents ont besoin d’un autre modèle, sur un autre serveur, nommé dans la discussion.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Ce serveur ne peut pas encore compacter une conversation depuis l’application ; l’interface web le peut.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Ce serveur ne peut pas encore compacter une conversation depuis l’application ; l’interface web le peut.",
|
||||||
"This server has no scheduled tasks yet.": "Ce serveur n’a pas encore de tâches planifiées.",
|
"This server has no scheduled tasks yet.": "Ce serveur n’a pas encore de tâches planifiées.",
|
||||||
"Thought": "Réflexion",
|
"Thought": "Réflexion",
|
||||||
@@ -1332,7 +1332,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s missed": "%(n)s kimaradt",
|
"%(n)s missed": "%(n)s kimaradt",
|
||||||
"%(n)s queued": "%(n)s sorban áll",
|
"%(n)s queued": "%(n)s sorban áll",
|
||||||
"%(n)s running": "%(n)s fut",
|
"%(n)s running": "%(n)s fut",
|
||||||
"%(n)s tasks": "%(n)s feladat",
|
|
||||||
"%(n)s tokens": "%(n)s token",
|
"%(n)s tokens": "%(n)s token",
|
||||||
"%(n)s tools offered.": "%(n)s eszköz felkínálva.",
|
"%(n)s tools offered.": "%(n)s eszköz felkínálva.",
|
||||||
"%(n)s waiting": "%(n)s várakozik",
|
"%(n)s waiting": "%(n)s várakozik",
|
||||||
@@ -1342,7 +1341,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "%(steps)s lépés, %(tools)s eszköz",
|
"%(steps)s steps, %(tools)s tools": "%(steps)s lépés, %(tools)s eszköz",
|
||||||
"%(tokens)s tokens": "%(tokens)s token",
|
"%(tokens)s tokens": "%(tokens)s token",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s az automatikus tömörítésig",
|
"%(tokens)s until auto-compact": "%(tokens)s az automatikus tömörítésig",
|
||||||
"1 task": "1 feladat",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Egy LLeMbas CLI szolgáltatás már fut itt (pid %(pid)s), de nincs csatlakozva: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Egy LLeMbas CLI szolgáltatás már fut itt (pid %(pid)s), de nincs csatlakozva: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Itt már fut egy LLeMbas CLI szolgáltatás (pid %(pid)s); ez a számítógép ügynöke.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Itt már fut egy LLeMbas CLI szolgáltatás (pid %(pid)s); ez a számítógép ügynöke.",
|
||||||
"A busy model is waited for, then the next free one is used.": "A foglalt modellre vár, majd a következő szabadot használja.",
|
"A busy model is waited for, then the next free one is used.": "A foglalt modellre vár, majd a következő szabadot használja.",
|
||||||
@@ -1401,6 +1399,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Másolva",
|
"Copied": "Másolva",
|
||||||
"Copy": "Másolás",
|
"Copy": "Másolás",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "A modell számolta az utolsó válasznál; a kategóriák becslések.",
|
"Counted by the model at the last reply; the categories are estimated.": "A modell számolta az utolsó válasznál; a kategóriák becslések.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "A beszélgetés saját ügynöke is beleszámít. Az alügynök a beszélgetés modelljén fut, másikon csak akkor, ha megnevezi a beszélgetésben.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Itt rövidítve; a teljes a webes felületen van.",
|
"Cut short here; the whole of it is in the web interface.": "Itt rövidítve; a teljes a webes felületen van.",
|
||||||
"Days": "Napok",
|
"Days": "Napok",
|
||||||
"Delete": "Törlés",
|
"Delete": "Törlés",
|
||||||
@@ -1561,6 +1560,7 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "A korábbi köröket most összefoglalja, és helyettük az összefoglalót küldi.",
|
"Summarise the earlier turns now and send the summary in their place.": "A korábbi köröket most összefoglalja, és helyettük az összefoglalót küldi.",
|
||||||
"System prompt": "Rendszerprompt",
|
"System prompt": "Rendszerprompt",
|
||||||
"Taken in while it ran:": "Futás közben átvéve:",
|
"Taken in while it ran:": "Futás közben átvéve:",
|
||||||
|
"Tasks: %(n)s": "Feladatok: %(n)s",
|
||||||
"Team member": "Csapattag",
|
"Team member": "Csapattag",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Csapat: %(size)s a legfeljebb %(max)s alügynökből",
|
"Team: %(size)s of at most %(max)s subagents": "Csapat: %(size)s a legfeljebb %(max)s alügynökből",
|
||||||
"Tell me": "Értesítés",
|
"Tell me": "Értesítés",
|
||||||
@@ -1579,7 +1579,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Az alkalmazás egyszer jelentkezik be a szerverére, a böngészőjében, mint bármely eszköz. Ezután olvashatja és írhatja a csevegéseit, mint a webes felület, és ugyanez a jóváhagyás összekapcsolja ezt a számítógépet az ügynök számára.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Az alkalmazás egyszer jelentkezik be a szerverére, a böngészőjében, mint bármely eszköz. Ezután olvashatja és írhatja a csevegéseit, mint a webes felület, és ugyanez a jóváhagyás összekapcsolja ezt a számítógépet az ügynök számára.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Az alkalmazás egyszer jelentkezik be a szerverére, a böngészőjében, mint bármely eszköz. Ezután olvashatja és írhatja a csevegéseit, mint a webes felület.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Az alkalmazás egyszer jelentkezik be a szerverére, a böngészőjében, mint bármely eszköz. Ezután olvashatja és írhatja a csevegéseit, mint a webes felület.",
|
||||||
"The connection to the reply was lost: %(why)s": "A kapcsolat a válasszal megszakadt: %(why)s",
|
"The connection to the reply was lost: %(why)s": "A kapcsolat a válasszal megszakadt: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "A beszélgetés által indított alügynökök legkisebb és legnagyobb száma. Ugyanazon a modellen dolgoznak, hacsak nem nevez meg másikat a beszélgetésben.",
|
|
||||||
"The first free scheduling model": "Az első szabad ütemezési modell",
|
"The first free scheduling model": "Az első szabad ütemezési modell",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "Az utasítás, amelyet minden futás önmagában kap: mondjon el mindent, amire szüksége van.",
|
"The instruction each run is given, on its own: say everything it needs.": "Az utasítás, amelyet minden futás önmagában kap: mondjon el mindent, amire szüksége van.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Az utolsó %(n)s futás sikertelen: %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Az utolsó %(n)s futás sikertelen: %(why)s",
|
||||||
@@ -1598,6 +1597,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Ez a fájl túl nagy a küldéshez.",
|
"This file is too large to send.": "Ez a fájl túl nagy a küldéshez.",
|
||||||
"This is a folder; attach the files in it.": "Ez egy mappa; a benne lévő fájlokat csatolja.",
|
"This is a folder; attach the files in it.": "Ez egy mappa; a benne lévő fájlokat csatolja.",
|
||||||
"This is not a text file; it cannot be shown here.": "Ez nem szövegfájl; itt nem jeleníthető meg.",
|
"This is not a text file; it cannot be shown here.": "Ez nem szövegfájl; itt nem jeleníthető meg.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Ez a modell egyszerre egy kérést szolgál ki: az alügynököknek másik modell kell, egy másik szerveren, a beszélgetésben megnevezve.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Ez a szerver még nem tud beszélgetést tömöríteni az alkalmazásból; a webes felület tud.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Ez a szerver még nem tud beszélgetést tömöríteni az alkalmazásból; a webes felület tud.",
|
||||||
"This server has no scheduled tasks yet.": "Ezen a szerveren még nincsenek ütemezett feladatok.",
|
"This server has no scheduled tasks yet.": "Ezen a szerveren még nincsenek ütemezett feladatok.",
|
||||||
"Thought": "Gondolkodott",
|
"Thought": "Gondolkodott",
|
||||||
@@ -1660,8 +1660,7 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s finished": "%(n)s terminati",
|
"%(n)s finished": "%(n)s terminati",
|
||||||
"%(n)s missed": "%(n)s perse",
|
"%(n)s missed": "%(n)s perse",
|
||||||
"%(n)s queued": "%(n)s in coda",
|
"%(n)s queued": "%(n)s in coda",
|
||||||
"%(n)s running": "%(n)s in corso",
|
"%(n)s running": "%(n)s in esecuzione",
|
||||||
"%(n)s tasks": "%(n)s attività",
|
|
||||||
"%(n)s tokens": "token: %(n)s",
|
"%(n)s tokens": "token: %(n)s",
|
||||||
"%(n)s tools offered.": "%(n)s strumenti offerti.",
|
"%(n)s tools offered.": "%(n)s strumenti offerti.",
|
||||||
"%(n)s waiting": "%(n)s in attesa",
|
"%(n)s waiting": "%(n)s in attesa",
|
||||||
@@ -1671,7 +1670,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "%(steps)s passi, %(tools)s strumenti",
|
"%(steps)s steps, %(tools)s tools": "%(steps)s passi, %(tools)s strumenti",
|
||||||
"%(tokens)s tokens": "%(tokens)s token",
|
"%(tokens)s tokens": "%(tokens)s token",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s alla compattazione automatica",
|
"%(tokens)s until auto-compact": "%(tokens)s alla compattazione automatica",
|
||||||
"1 task": "1 attività",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Un servizio LLeMbas CLI è già in esecuzione qui (pid %(pid)s), ma non è collegato: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Un servizio LLeMbas CLI è già in esecuzione qui (pid %(pid)s), ma non è collegato: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Un servizio LLeMbas CLI è già in esecuzione qui (pid %(pid)s); è l'agente di questo computer.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Un servizio LLeMbas CLI è già in esecuzione qui (pid %(pid)s); è l'agente di questo computer.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Si attende un modello occupato, poi si usa il successivo libero.",
|
"A busy model is waited for, then the next free one is used.": "Si attende un modello occupato, poi si usa il successivo libero.",
|
||||||
@@ -1730,6 +1728,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Copiato",
|
"Copied": "Copiato",
|
||||||
"Copy": "Copia",
|
"Copy": "Copia",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Contato dal modello all’ultima risposta; le categorie sono stime.",
|
"Counted by the model at the last reply; the categories are estimated.": "Contato dal modello all’ultima risposta; le categorie sono stime.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Conta anche l’agente della chat. Un sottoagente usa il modello della chat, o un altro solo se lo nomini nella chat.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Troncato qui; il resto è nell'interfaccia web.",
|
"Cut short here; the whole of it is in the web interface.": "Troncato qui; il resto è nell'interfaccia web.",
|
||||||
"Days": "Giorni",
|
"Days": "Giorni",
|
||||||
"Delete": "Elimina",
|
"Delete": "Elimina",
|
||||||
@@ -1814,7 +1813,7 @@ const LEMBAS_I18N = {
|
|||||||
"Nothing is scheduled.": "Non c’è niente di pianificato.",
|
"Nothing is scheduled.": "Non c’è niente di pianificato.",
|
||||||
"Nothing matches.": "Nessun risultato.",
|
"Nothing matches.": "Nessun risultato.",
|
||||||
"Nothing running.": "Nulla in esecuzione.",
|
"Nothing running.": "Nulla in esecuzione.",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Nulla è in esecuzione in background. Subagenti, membri di una squadra e comandi in background compaiono qui mentre lavorano.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Nulla è in esecuzione in background. Sottoagenti, membri di una squadra e comandi in background compaiono qui mentre lavorano.",
|
||||||
"Nothing to report": "Niente da segnalare",
|
"Nothing to report": "Niente da segnalare",
|
||||||
"Nothing yet.": "Ancora niente.",
|
"Nothing yet.": "Ancora niente.",
|
||||||
"Notifications": "Notifiche",
|
"Notifications": "Notifiche",
|
||||||
@@ -1890,8 +1889,9 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Riassumi ora i turni precedenti e invia il riassunto al loro posto.",
|
"Summarise the earlier turns now and send the summary in their place.": "Riassumi ora i turni precedenti e invia il riassunto al loro posto.",
|
||||||
"System prompt": "Prompt di sistema",
|
"System prompt": "Prompt di sistema",
|
||||||
"Taken in while it ran:": "Accolto durante l'esecuzione:",
|
"Taken in while it ran:": "Accolto durante l'esecuzione:",
|
||||||
|
"Tasks: %(n)s": "Attività: %(n)s",
|
||||||
"Team member": "Membro della squadra",
|
"Team member": "Membro della squadra",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Squadra: %(size)s su un massimo di %(max)s subagenti",
|
"Team: %(size)s of at most %(max)s subagents": "Squadra: %(size)s su un massimo di %(max)s sottoagenti",
|
||||||
"Tell me": "Avvisami",
|
"Tell me": "Avvisami",
|
||||||
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Avvisami quando una risposta o il lavoro di un agente è finito mentre sono altrove",
|
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Avvisami quando una risposta o il lavoro di un agente è finito mentre sono altrove",
|
||||||
"The agent asks to run %(tool)s:": "L'agente chiede di eseguire %(tool)s:",
|
"The agent asks to run %(tool)s:": "L'agente chiede di eseguire %(tool)s:",
|
||||||
@@ -1908,7 +1908,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "L'app accede al suo server una volta, nel suo browser, come ogni dispositivo. Poi può leggere e scrivere le sue chat, come l'interfaccia web, e la stessa approvazione collega questo computer per l'agente.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "L'app accede al suo server una volta, nel suo browser, come ogni dispositivo. Poi può leggere e scrivere le sue chat, come l'interfaccia web, e la stessa approvazione collega questo computer per l'agente.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "L'app accede al suo server una volta, nel suo browser, come ogni dispositivo. Poi può leggere e scrivere le sue chat, come l'interfaccia web.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "L'app accede al suo server una volta, nel suo browser, come ogni dispositivo. Poi può leggere e scrivere le sue chat, come l'interfaccia web.",
|
||||||
"The connection to the reply was lost: %(why)s": "La connessione alla risposta si è interrotta: %(why)s",
|
"The connection to the reply was lost: %(why)s": "La connessione alla risposta si è interrotta: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Il minimo e il massimo di subagenti che questa chat avvia. Lavorano sullo stesso modello, a meno che tu ne nomini un altro nella chat.",
|
|
||||||
"The first free scheduling model": "Il primo modello di pianificazione libero",
|
"The first free scheduling model": "Il primo modello di pianificazione libero",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "L’istruzione che ogni esecuzione riceve da sola: di’ tutto ciò che le serve.",
|
"The instruction each run is given, on its own: say everything it needs.": "L’istruzione che ogni esecuzione riceve da sola: di’ tutto ciò che le serve.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Le ultime %(n)s esecuzioni non sono riuscite: %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Le ultime %(n)s esecuzioni non sono riuscite: %(why)s",
|
||||||
@@ -1927,6 +1926,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Questo file è troppo grande per essere inviato.",
|
"This file is too large to send.": "Questo file è troppo grande per essere inviato.",
|
||||||
"This is a folder; attach the files in it.": "Questa è una cartella; alleghi i file che contiene.",
|
"This is a folder; attach the files in it.": "Questa è una cartella; alleghi i file che contiene.",
|
||||||
"This is not a text file; it cannot be shown here.": "Questo non è un file di testo; non può essere mostrato qui.",
|
"This is not a text file; it cannot be shown here.": "Questo non è un file di testo; non può essere mostrato qui.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Questo modello serve una richiesta alla volta: i sottoagenti hanno bisogno di un altro modello, su un altro server, nominato nella chat.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Questo server non può ancora compattare una chat dall’app; l’interfaccia web sì.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Questo server non può ancora compattare una chat dall’app; l’interfaccia web sì.",
|
||||||
"This server has no scheduled tasks yet.": "Questo server non ha ancora attività pianificate.",
|
"This server has no scheduled tasks yet.": "Questo server non ha ancora attività pianificate.",
|
||||||
"Thought": "Ha ragionato",
|
"Thought": "Ha ragionato",
|
||||||
@@ -1990,7 +1990,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s missed": "pominięte: %(n)s",
|
"%(n)s missed": "pominięte: %(n)s",
|
||||||
"%(n)s queued": "W kolejce: %(n)s",
|
"%(n)s queued": "W kolejce: %(n)s",
|
||||||
"%(n)s running": "Działa: %(n)s",
|
"%(n)s running": "Działa: %(n)s",
|
||||||
"%(n)s tasks": "Zadania: %(n)s",
|
|
||||||
"%(n)s tokens": "Tokeny: %(n)s",
|
"%(n)s tokens": "Tokeny: %(n)s",
|
||||||
"%(n)s tools offered.": "Oferowane narzędzia: %(n)s.",
|
"%(n)s tools offered.": "Oferowane narzędzia: %(n)s.",
|
||||||
"%(n)s waiting": "Czeka: %(n)s",
|
"%(n)s waiting": "Czeka: %(n)s",
|
||||||
@@ -2000,7 +1999,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "Kroki: %(steps)s, narzędzia: %(tools)s",
|
"%(steps)s steps, %(tools)s tools": "Kroki: %(steps)s, narzędzia: %(tools)s",
|
||||||
"%(tokens)s tokens": "Tokeny: %(tokens)s",
|
"%(tokens)s tokens": "Tokeny: %(tokens)s",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s do automatycznego streszczenia",
|
"%(tokens)s until auto-compact": "%(tokens)s do automatycznego streszczenia",
|
||||||
"1 task": "1 zadanie",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Usługa LLeMbas CLI już tu działa (pid %(pid)s), ale nie jest połączona: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Usługa LLeMbas CLI już tu działa (pid %(pid)s), ale nie jest połączona: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Usługa LLeMbas CLI już tu działa (pid %(pid)s); jest agentem tego komputera.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Usługa LLeMbas CLI już tu działa (pid %(pid)s); jest agentem tego komputera.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Na zajęty model się czeka, potem używany jest następny wolny.",
|
"A busy model is waited for, then the next free one is used.": "Na zajęty model się czeka, potem używany jest następny wolny.",
|
||||||
@@ -2059,6 +2057,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Skopiowano",
|
"Copied": "Skopiowano",
|
||||||
"Copy": "Kopiuj",
|
"Copy": "Kopiuj",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Policzone przez model przy ostatniej odpowiedzi; kategorie są szacunkowe.",
|
"Counted by the model at the last reply; the categories are estimated.": "Policzone przez model przy ostatniej odpowiedzi; kategorie są szacunkowe.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Liczony razem z własnym agentem czatu. Podagent działa na modelu czatu, na innym tylko wtedy, gdy wskażesz go w czacie.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Tu skrócone; całość jest w interfejsie WWW.",
|
"Cut short here; the whole of it is in the web interface.": "Tu skrócone; całość jest w interfejsie WWW.",
|
||||||
"Days": "Dni",
|
"Days": "Dni",
|
||||||
"Delete": "Usuń",
|
"Delete": "Usuń",
|
||||||
@@ -2143,7 +2142,7 @@ const LEMBAS_I18N = {
|
|||||||
"Nothing is scheduled.": "Nic nie jest zaplanowane.",
|
"Nothing is scheduled.": "Nic nie jest zaplanowane.",
|
||||||
"Nothing matches.": "Nic nie pasuje.",
|
"Nothing matches.": "Nic nie pasuje.",
|
||||||
"Nothing running.": "Nic nie działa.",
|
"Nothing running.": "Nic nie działa.",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "W tle nic nie działa. Subagenci, członkowie zespołu i polecenia w tle pojawiają się tu, gdy pracują.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "W tle nic nie działa. Podagenci, członkowie zespołu i polecenia w tle pojawiają się tu, gdy pracują.",
|
||||||
"Nothing to report": "Nic do zgłoszenia",
|
"Nothing to report": "Nic do zgłoszenia",
|
||||||
"Nothing yet.": "Jeszcze nic.",
|
"Nothing yet.": "Jeszcze nic.",
|
||||||
"Notifications": "Powiadomienia",
|
"Notifications": "Powiadomienia",
|
||||||
@@ -2219,8 +2218,9 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Streścić teraz wcześniejsze tury i wysyłać streszczenie zamiast nich.",
|
"Summarise the earlier turns now and send the summary in their place.": "Streścić teraz wcześniejsze tury i wysyłać streszczenie zamiast nich.",
|
||||||
"System prompt": "Prompt systemowy",
|
"System prompt": "Prompt systemowy",
|
||||||
"Taken in while it ran:": "Przejęte w trakcie działania:",
|
"Taken in while it ran:": "Przejęte w trakcie działania:",
|
||||||
|
"Tasks: %(n)s": "Zadania: %(n)s",
|
||||||
"Team member": "Członek zespołu",
|
"Team member": "Członek zespołu",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Zespół: %(size)s z najwyżej %(max)s subagentów",
|
"Team: %(size)s of at most %(max)s subagents": "Zespół: %(size)s z najwyżej %(max)s podagentów",
|
||||||
"Tell me": "Powiadamiaj",
|
"Tell me": "Powiadamiaj",
|
||||||
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Powiadom mnie, gdy odpowiedź lub praca agenta jest gotowa, a ja jestem gdzie indziej",
|
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Powiadom mnie, gdy odpowiedź lub praca agenta jest gotowa, a ja jestem gdzie indziej",
|
||||||
"The agent asks to run %(tool)s:": "Agent prosi o uruchomienie %(tool)s:",
|
"The agent asks to run %(tool)s:": "Agent prosi o uruchomienie %(tool)s:",
|
||||||
@@ -2237,7 +2237,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Aplikacja loguje się do Twojego serwera raz, w przeglądarce, jak każde urządzenie. Potem może czytać i pisać Twoje czaty, jak interfejs WWW, a to samo zatwierdzenie łączy ten komputer dla agenta.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Aplikacja loguje się do Twojego serwera raz, w przeglądarce, jak każde urządzenie. Potem może czytać i pisać Twoje czaty, jak interfejs WWW, a to samo zatwierdzenie łączy ten komputer dla agenta.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Aplikacja loguje się do Twojego serwera raz, w przeglądarce, jak każde urządzenie. Potem może czytać i pisać Twoje czaty, jak interfejs WWW.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Aplikacja loguje się do Twojego serwera raz, w przeglądarce, jak każde urządzenie. Potem może czytać i pisać Twoje czaty, jak interfejs WWW.",
|
||||||
"The connection to the reply was lost: %(why)s": "Połączenie z odpowiedzią zostało zerwane: %(why)s",
|
"The connection to the reply was lost: %(why)s": "Połączenie z odpowiedzią zostało zerwane: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Najmniej i najwięcej subagentów, których uruchamia ten czat. Pracują na tym samym modelu, chyba że w czacie wskażesz inny.",
|
|
||||||
"The first free scheduling model": "Pierwszy wolny model do planowania",
|
"The first free scheduling model": "Pierwszy wolny model do planowania",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "Instrukcja, którą każde uruchomienie dostaje samodzielnie: podaj wszystko, czego potrzebuje.",
|
"The instruction each run is given, on its own: say everything it needs.": "Instrukcja, którą każde uruchomienie dostaje samodzielnie: podaj wszystko, czego potrzebuje.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Ostatnie uruchomienia nie powiodły się (%(n)s): %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Ostatnie uruchomienia nie powiodły się (%(n)s): %(why)s",
|
||||||
@@ -2256,6 +2255,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Ten plik jest za duży, aby go wysłać.",
|
"This file is too large to send.": "Ten plik jest za duży, aby go wysłać.",
|
||||||
"This is a folder; attach the files in it.": "To jest folder; dołącz pliki, które zawiera.",
|
"This is a folder; attach the files in it.": "To jest folder; dołącz pliki, które zawiera.",
|
||||||
"This is not a text file; it cannot be shown here.": "To nie jest plik tekstowy; nie można go tu pokazać.",
|
"This is not a text file; it cannot be shown here.": "To nie jest plik tekstowy; nie można go tu pokazać.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Ten model obsługuje jedno żądanie naraz: podagenci potrzebują innego modelu, na innym serwerze, nazwanego w czacie.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Ten serwer nie umie jeszcze streścić czatu z aplikacji; interfejs WWW umie.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Ten serwer nie umie jeszcze streścić czatu z aplikacji; interfejs WWW umie.",
|
||||||
"This server has no scheduled tasks yet.": "Ten serwer nie ma jeszcze zaplanowanych zadań.",
|
"This server has no scheduled tasks yet.": "Ten serwer nie ma jeszcze zaplanowanych zadań.",
|
||||||
"Thought": "Rozumowanie",
|
"Thought": "Rozumowanie",
|
||||||
@@ -2319,7 +2319,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(n)s missed": "zmeškané: %(n)s",
|
"%(n)s missed": "zmeškané: %(n)s",
|
||||||
"%(n)s queued": "V rade: %(n)s",
|
"%(n)s queued": "V rade: %(n)s",
|
||||||
"%(n)s running": "Beží: %(n)s",
|
"%(n)s running": "Beží: %(n)s",
|
||||||
"%(n)s tasks": "Úlohy: %(n)s",
|
|
||||||
"%(n)s tokens": "tokeny: %(n)s",
|
"%(n)s tokens": "tokeny: %(n)s",
|
||||||
"%(n)s tools offered.": "Ponúknuté nástroje: %(n)s.",
|
"%(n)s tools offered.": "Ponúknuté nástroje: %(n)s.",
|
||||||
"%(n)s waiting": "Čaká: %(n)s",
|
"%(n)s waiting": "Čaká: %(n)s",
|
||||||
@@ -2329,7 +2328,6 @@ const LEMBAS_I18N = {
|
|||||||
"%(steps)s steps, %(tools)s tools": "Kroky: %(steps)s, nástroje: %(tools)s",
|
"%(steps)s steps, %(tools)s tools": "Kroky: %(steps)s, nástroje: %(tools)s",
|
||||||
"%(tokens)s tokens": "%(tokens)s tokenov",
|
"%(tokens)s tokens": "%(tokens)s tokenov",
|
||||||
"%(tokens)s until auto-compact": "%(tokens)s do automatického zhrnutia",
|
"%(tokens)s until auto-compact": "%(tokens)s do automatického zhrnutia",
|
||||||
"1 task": "1 úloha",
|
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Služba LLeMbas CLI tu už beží (pid %(pid)s), ale nie je pripojená: %(why)s",
|
"A LLeMbas CLI service already runs here (pid %(pid)s), but is not connected: %(why)s": "Služba LLeMbas CLI tu už beží (pid %(pid)s), ale nie je pripojená: %(why)s",
|
||||||
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Služba LLeMbas CLI tu už beží (pid %(pid)s); je agentom tohto počítača.",
|
"A LLeMbas CLI service already runs here (pid %(pid)s); it is this computer's agent.": "Služba LLeMbas CLI tu už beží (pid %(pid)s); je agentom tohto počítača.",
|
||||||
"A busy model is waited for, then the next free one is used.": "Na zaneprázdnený model sa čaká, potom sa použije ďalší voľný.",
|
"A busy model is waited for, then the next free one is used.": "Na zaneprázdnený model sa čaká, potom sa použije ďalší voľný.",
|
||||||
@@ -2388,6 +2386,7 @@ const LEMBAS_I18N = {
|
|||||||
"Copied": "Skopírované",
|
"Copied": "Skopírované",
|
||||||
"Copy": "Kopírovať",
|
"Copy": "Kopírovať",
|
||||||
"Counted by the model at the last reply; the categories are estimated.": "Spočítal model pri poslednej odpovedi; kategórie sú odhadnuté.",
|
"Counted by the model at the last reply; the categories are estimated.": "Spočítal model pri poslednej odpovedi; kategórie sú odhadnuté.",
|
||||||
|
"Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.": "Počíta sa vrátane vlastného agenta konverzácie. Podagent beží na modeli konverzácie, na inom len vtedy, keď ho v konverzácii pomenujete.",
|
||||||
"Cut short here; the whole of it is in the web interface.": "Tu skrátené; celé je to vo webovom rozhraní.",
|
"Cut short here; the whole of it is in the web interface.": "Tu skrátené; celé je to vo webovom rozhraní.",
|
||||||
"Days": "Dni",
|
"Days": "Dni",
|
||||||
"Delete": "Zmazať",
|
"Delete": "Zmazať",
|
||||||
@@ -2472,7 +2471,7 @@ const LEMBAS_I18N = {
|
|||||||
"Nothing is scheduled.": "Nič nie je naplánované.",
|
"Nothing is scheduled.": "Nič nie je naplánované.",
|
||||||
"Nothing matches.": "Nič nezodpovedá.",
|
"Nothing matches.": "Nič nezodpovedá.",
|
||||||
"Nothing running.": "Nič nebeží.",
|
"Nothing running.": "Nič nebeží.",
|
||||||
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nič nebeží. Subagenti, členovia tímu a príkazy na pozadí sa tu zobrazia, kým pracujú.",
|
"Nothing runs in the background. Subagents, a team's members and background commands show here while they work.": "Na pozadí nič nebeží. Podagenti, členovia tímu a príkazy na pozadí sa tu zobrazia, kým pracujú.",
|
||||||
"Nothing to report": "Nič na hlásenie",
|
"Nothing to report": "Nič na hlásenie",
|
||||||
"Nothing yet.": "Zatiaľ nič.",
|
"Nothing yet.": "Zatiaľ nič.",
|
||||||
"Notifications": "Upozornenia",
|
"Notifications": "Upozornenia",
|
||||||
@@ -2548,8 +2547,9 @@ const LEMBAS_I18N = {
|
|||||||
"Summarise the earlier turns now and send the summary in their place.": "Zhrnúť skoršie kolá hneď a posielať namiesto nich zhrnutie.",
|
"Summarise the earlier turns now and send the summary in their place.": "Zhrnúť skoršie kolá hneď a posielať namiesto nich zhrnutie.",
|
||||||
"System prompt": "Systémový pokyn",
|
"System prompt": "Systémový pokyn",
|
||||||
"Taken in while it ran:": "Prevzaté počas behu:",
|
"Taken in while it ran:": "Prevzaté počas behu:",
|
||||||
|
"Tasks: %(n)s": "Úlohy: %(n)s",
|
||||||
"Team member": "Člen tímu",
|
"Team member": "Člen tímu",
|
||||||
"Team: %(size)s of at most %(max)s subagents": "Tím: %(size)s z najviac %(max)s subagentov",
|
"Team: %(size)s of at most %(max)s subagents": "Tím: %(size)s z najviac %(max)s podagentov",
|
||||||
"Tell me": "Upozorniť ma",
|
"Tell me": "Upozorniť ma",
|
||||||
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Upozorniť ma, keď je odpoveď alebo práca agenta hotová, kým som inde",
|
"Tell me when a reply or an agent's work is finished while I am elsewhere": "Upozorniť ma, keď je odpoveď alebo práca agenta hotová, kým som inde",
|
||||||
"The agent asks to run %(tool)s:": "Agent žiada spustiť %(tool)s:",
|
"The agent asks to run %(tool)s:": "Agent žiada spustiť %(tool)s:",
|
||||||
@@ -2566,7 +2566,6 @@ const LEMBAS_I18N = {
|
|||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Aplikácia sa na váš server prihlási raz, vo vašom prehliadači, ako každé zariadenie. Potom môže čítať a písať vaše konverzácie, ako webové rozhranie, a to isté schválenie prepojí tento počítač pre agenta.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does, and the same approval links this computer for the agent.": "Aplikácia sa na váš server prihlási raz, vo vašom prehliadači, ako každé zariadenie. Potom môže čítať a písať vaše konverzácie, ako webové rozhranie, a to isté schválenie prepojí tento počítač pre agenta.",
|
||||||
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Aplikácia sa na váš server prihlási raz, vo vašom prehliadači, ako každé zariadenie. Potom môže čítať a písať vaše konverzácie, ako webové rozhranie.",
|
"The app signs in to your server once, in your browser, as any device does. It may then read and write your chats, as the web interface does.": "Aplikácia sa na váš server prihlási raz, vo vašom prehliadači, ako každé zariadenie. Potom môže čítať a písať vaše konverzácie, ako webové rozhranie.",
|
||||||
"The connection to the reply was lost: %(why)s": "Spojenie s odpoveďou sa prerušilo: %(why)s",
|
"The connection to the reply was lost: %(why)s": "Spojenie s odpoveďou sa prerušilo: %(why)s",
|
||||||
"The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.": "Najmenej a najviac subagentov, ktoré táto konverzácia spúšťa. Pracujú na rovnakom modeli, ak v konverzácii nepomenujete iný.",
|
|
||||||
"The first free scheduling model": "Prvý voľný model na plánovanie",
|
"The first free scheduling model": "Prvý voľný model na plánovanie",
|
||||||
"The instruction each run is given, on its own: say everything it needs.": "Inštrukcia, ktorú dostane každé spustenie samostatne: uveďte všetko, čo potrebuje.",
|
"The instruction each run is given, on its own: say everything it needs.": "Inštrukcia, ktorú dostane každé spustenie samostatne: uveďte všetko, čo potrebuje.",
|
||||||
"The last %(n)s runs failed: %(why)s": "Posledné spustenia zlyhali (%(n)s): %(why)s",
|
"The last %(n)s runs failed: %(why)s": "Posledné spustenia zlyhali (%(n)s): %(why)s",
|
||||||
@@ -2585,6 +2584,7 @@ const LEMBAS_I18N = {
|
|||||||
"This file is too large to send.": "Tento súbor je príliš veľký na odoslanie.",
|
"This file is too large to send.": "Tento súbor je príliš veľký na odoslanie.",
|
||||||
"This is a folder; attach the files in it.": "Toto je priečinok; priložte súbory v ňom.",
|
"This is a folder; attach the files in it.": "Toto je priečinok; priložte súbory v ňom.",
|
||||||
"This is not a text file; it cannot be shown here.": "Toto nie je textový súbor; nedá sa tu zobraziť.",
|
"This is not a text file; it cannot be shown here.": "Toto nie je textový súbor; nedá sa tu zobraziť.",
|
||||||
|
"This model serves one request at a time: subagents need another model, on another server, named in the chat.": "Tento model vybavuje naraz jednu požiadavku: podagenti potrebujú iný model na inom serveri, pomenovaný v konverzácii.",
|
||||||
"This server cannot compact a chat from the app yet; the web interface can.": "Tento server zatiaľ nevie zhrnúť konverzáciu z aplikácie; webové rozhranie to vie.",
|
"This server cannot compact a chat from the app yet; the web interface can.": "Tento server zatiaľ nevie zhrnúť konverzáciu z aplikácie; webové rozhranie to vie.",
|
||||||
"This server has no scheduled tasks yet.": "Tento server zatiaľ nemá naplánované úlohy.",
|
"This server has no scheduled tasks yet.": "Tento server zatiaľ nemá naplánované úlohy.",
|
||||||
"Thought": "Premýšľal",
|
"Thought": "Premýšľal",
|
||||||
|
|||||||
+17
-12
@@ -475,20 +475,25 @@ function contextPart(c) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How far it is to the automatic compaction -- the server compacts before a turn once the context
|
* How far it is to the automatic compaction, and the button that compacts now. The server says it
|
||||||
* would reach `threshold` % of the window; 0 is off -- and the button that compacts now.
|
* (2.0.0-beta.7: `auto_compact`, `until_compact` in tokens, `compactable` whether Compact can run
|
||||||
|
* now); an older one gives only `threshold` -- the server compacts before a turn once the context
|
||||||
|
* would reach that % of the window, 0 is off -- and it is worked out from that.
|
||||||
*/
|
*/
|
||||||
function compactRow(c) {
|
function compactRow(c) {
|
||||||
const limit = Number(c.limit) || 0
|
const limit = Number(c.limit) || 0
|
||||||
const threshold = Number(c.threshold)
|
const threshold = Number(c.threshold)
|
||||||
|
const auto = "auto_compact" in c ? !!c.auto_compact : threshold > 0
|
||||||
|
let until = c.until_compact
|
||||||
|
if (until === undefined && auto && limit && threshold < 100) until = Math.floor((limit * threshold) / 100) - (Number(c.used) || 0)
|
||||||
let words
|
let words
|
||||||
if (!(threshold > 0)) words = t("Automatic compaction is off.")
|
if (!auto) words = t("Automatic compaction is off.")
|
||||||
else if (!limit || threshold >= 100) words = t("Compacts by itself once the window is known.")
|
else if (until === null || until === undefined) words = t("Compacts by itself once the window is known.")
|
||||||
else {
|
else words = until > 0 ? t("%(tokens)s until auto-compact", { tokens: compact(until) }) : t("Compacts before the next reply.")
|
||||||
const until = Math.floor((limit * threshold) / 100) - (Number(c.used) || 0)
|
|
||||||
words = until > 0 ? t("%(tokens)s until auto-compact", { tokens: compact(until) }) : t("Compacts before the next reply.")
|
|
||||||
}
|
|
||||||
const busy = compacting === chat?.id
|
const busy = compacting === chat?.id
|
||||||
|
// `compactable` false: nothing to summarise yet, a reply being written, compaction turned off --
|
||||||
|
// the button stays, greyed; pressing an older server's says why in its own words.
|
||||||
|
const can = !("compactable" in c) || !!c.compactable
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
{ class: "ctx__compact" },
|
{ class: "ctx__compact" },
|
||||||
@@ -497,7 +502,7 @@ function compactRow(c) {
|
|||||||
type: "button",
|
type: "button",
|
||||||
class: "btn btn--sm",
|
class: "btn btn--sm",
|
||||||
text: busy ? t("Compacting…") : t("Compact"),
|
text: busy ? t("Compacting…") : t("Compact"),
|
||||||
disabled: busy,
|
disabled: busy || !can,
|
||||||
title: t("Summarise the earlier turns now and send the summary in their place."),
|
title: t("Summarise the earlier turns now and send the summary in their place."),
|
||||||
onclick: compactNow,
|
onclick: compactNow,
|
||||||
}),
|
}),
|
||||||
@@ -601,7 +606,7 @@ function roomPart() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** A folded list of tasks ("Show 3 more", "Finished 12", "2 tasks"), remembered across redraws. */
|
/** A folded list of tasks ("Show 3 more", "Finished 12", "Tasks: 2"), remembered across redraws. */
|
||||||
function fold(name, label, list, cls = "") {
|
function fold(name, label, list, cls = "") {
|
||||||
const el = h(
|
const el = h(
|
||||||
"details",
|
"details",
|
||||||
@@ -613,11 +618,11 @@ function fold(name, label, list, cls = "") {
|
|||||||
return el
|
return el
|
||||||
}
|
}
|
||||||
|
|
||||||
/** A task and, folded under it, the tasks it leads or started ("1 task", "3 tasks"). */
|
/** A task and, folded under it, the tasks it leads or started ("Tasks: 3"). */
|
||||||
function agentRows(a) {
|
function agentRows(a) {
|
||||||
const kids = a.children || []
|
const kids = a.children || []
|
||||||
if (!kids.length) return agentRow(a)
|
if (!kids.length) return agentRow(a)
|
||||||
const nested = fold(`under:${a.kind}:${a.id}`, kids.length === 1 ? t("1 task") : t("%(n)s tasks", { n: kids.length }), kids, "tasks__nested")
|
const nested = fold(`under:${a.kind}:${a.id}`, t("Tasks: %(n)s", { n: kids.length }), kids, "tasks__nested")
|
||||||
nested.style.setProperty("--depth", String(Math.max(0, Math.min(6, (Number(a.depth) || 0) + 1))))
|
nested.style.setProperty("--depth", String(Math.max(0, Math.min(6, (Number(a.depth) || 0) + 1))))
|
||||||
return [agentRow(a), nested]
|
return [agentRow(a), nested]
|
||||||
}
|
}
|
||||||
|
|||||||
+15
-11
@@ -13,7 +13,7 @@ import { markdown } from "./markdown.js"
|
|||||||
import { openViewer, showKind } from "./viewer.js"
|
import { openViewer, showKind } from "./viewer.js"
|
||||||
import { readLocal } from "./explorer.js"
|
import { readLocal } from "./explorer.js"
|
||||||
import { menu, ask, showLine, popover, closePopover } from "./popup.js"
|
import { menu, ask, showLine, popover, closePopover } from "./popup.js"
|
||||||
import { avatar, agentsControl, teamPossible, subagentsCap, SUBAGENTS_HINT, levelsOf, levelWord, picture } from "./models.js"
|
import { avatar, agentsControl, teamPossible, namedOnly, subagentsCap, SUBAGENTS_HINT, SUBAGENTS_OWN, levelsOf, levelWord, picture } from "./models.js"
|
||||||
import { readyIds, sending, sent, discard } from "./attach.js"
|
import { readyIds, sending, sent, discard } from "./attach.js"
|
||||||
import { watchActivity, activityChanged, planList, activityButton } from "./activity.js"
|
import { watchActivity, activityChanged, planList, activityButton } from "./activity.js"
|
||||||
import { agentBlock, agentReady, agentState, onAgentChange } from "./agent.js"
|
import { agentBlock, agentReady, agentState, onAgentChange } from "./agent.js"
|
||||||
@@ -566,17 +566,20 @@ async function chatModels(chat) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether this chat is offered subagents, and the instance's most: the chat's own word where the
|
* Whether this chat is offered subagents: `{ cap, own }` (the instance's most; whether only a model
|
||||||
* server gives one (`subagents` on the chat), else its team's (`GET /chats/{chat}/team`) -- only a
|
* the person names could serve them), or null. The chat's own `subagents` where the server gives
|
||||||
* chat on the server. null where it is not offered.
|
* it (2.0.0-beta.7), else its team's word (`GET /chats/{chat}/team`) -- only a chat on the server.
|
||||||
*/
|
*/
|
||||||
async function teamOffered(chat) {
|
async function teamOffered(chat) {
|
||||||
const said = chat.subagents
|
const said = chat.subagents
|
||||||
if (said !== undefined && said !== null) return (typeof said === "object" ? said.offered : said) ? { cap: subagentsCap(said, ctx.me()) } : null
|
if (said !== undefined && said !== null) {
|
||||||
|
const offered = typeof said === "object" ? said.offered : said
|
||||||
|
return offered ? { cap: subagentsCap(said), own: namedOnly(said) } : null
|
||||||
|
}
|
||||||
if (chat.kind !== "chat") return null
|
if (chat.kind !== "chat") return null
|
||||||
try {
|
try {
|
||||||
const team = (await get(`/chats/${encodeURIComponent(chat.id)}/team`)).team
|
const team = (await get(`/chats/${encodeURIComponent(chat.id)}/team`)).team
|
||||||
return team?.offered ? { cap: subagentsCap(team, ctx.me()) } : null
|
return team?.offered ? { cap: subagentsCap(), own: false } : null
|
||||||
} catch {
|
} catch {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
@@ -652,13 +655,13 @@ function effortChip(model, value, onChange) {
|
|||||||
* The subagents a chat may run: a chip saying the fewest and the most, opening the two fields.
|
* The subagents a chat may run: a chip saying the fewest and the most, opening the two fields.
|
||||||
* `value` { min, max } or empty; `cap` the instance's most, where the server says it.
|
* `value` { min, max } or empty; `cap` the instance's most, where the server says it.
|
||||||
*/
|
*/
|
||||||
function agentsChip(value, onChange, cap) {
|
function agentsChip(value, onChange, { cap, own } = {}) {
|
||||||
const said = value?.min || value?.max ? `${value.min ?? "…"}–${value.max ?? "…"}` : t("default")
|
const said = value?.min || value?.max ? `${value.min ?? "…"}–${value.max ?? "…"}` : t("default")
|
||||||
return chip({
|
return chip({
|
||||||
ico: ICONS.users,
|
ico: ICONS.users,
|
||||||
label: `${t("Subagents")} ${said}`,
|
label: `${t("Subagents")} ${said}`,
|
||||||
title: SUBAGENTS_HINT(),
|
title: own ? SUBAGENTS_OWN() : SUBAGENTS_HINT(),
|
||||||
cls: "cchip--subagents",
|
cls: `cchip--subagents${own ? " is-warn" : ""}`,
|
||||||
onclick: (e) => {
|
onclick: (e) => {
|
||||||
const fields = agentsControl({ value, id: "agents-min", cap })
|
const fields = agentsControl({ value, id: "agents-min", cap })
|
||||||
popover(
|
popover(
|
||||||
@@ -669,6 +672,7 @@ function agentsChip(value, onChange, cap) {
|
|||||||
h("label", { class: "pop__title", for: "agents-min", text: t("Subagents") }),
|
h("label", { class: "pop__title", for: "agents-min", text: t("Subagents") }),
|
||||||
h("div", { class: "agents__heads", "aria-hidden": "true" }, h("span", { text: t("Fewest") }), h("span"), h("span", { text: t("Most") })),
|
h("div", { class: "agents__heads", "aria-hidden": "true" }, h("span", { text: t("Fewest") }), h("span"), h("span", { text: t("Most") })),
|
||||||
fields,
|
fields,
|
||||||
|
own ? h("p", { class: "hint is-warn", text: SUBAGENTS_OWN() }) : null,
|
||||||
h("p", { class: "hint", text: SUBAGENTS_HINT() }),
|
h("p", { class: "hint", text: SUBAGENTS_HINT() }),
|
||||||
h("div", { class: "pop__actions" }, h("button", { type: "button", class: "btn btn--sm btn--primary", text: t("Save"), onclick: () => (closePopover(), onChange(fields.value)) })),
|
h("div", { class: "pop__actions" }, h("button", { type: "button", class: "btn btn--sm btn--primary", text: t("Save"), onclick: () => (closePopover(), onChange(fields.value)) })),
|
||||||
),
|
),
|
||||||
@@ -718,7 +722,7 @@ async function renderChips() {
|
|||||||
renderChips()
|
renderChips()
|
||||||
}, mayPick))
|
}, mayPick))
|
||||||
if (model) parts.push(effortChip(model, draft.effort, (l) => ((draft.effort = l), renderChips())))
|
if (model) parts.push(effortChip(model, draft.effort, (l) => ((draft.effort = l), renderChips())))
|
||||||
if (draft.kind === "chat" && teamPossible(model)) parts.push(agentsChip(draft.agents, (a) => ((draft.agents = a), renderChips()), subagentsCap(model?.subagents, ctx.me())))
|
if (draft.kind === "chat" && teamPossible(model)) parts.push(agentsChip(draft.agents, (a) => ((draft.agents = a), renderChips()), { cap: subagentsCap(), own: namedOnly(model?.subagents) }))
|
||||||
box.replaceChildren(...parts.filter(Boolean))
|
box.replaceChildren(...parts.filter(Boolean))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -747,7 +751,7 @@ async function renderChips() {
|
|||||||
box.replaceChildren(...parts.filter(Boolean))
|
box.replaceChildren(...parts.filter(Boolean))
|
||||||
const offer = await teamOffered(chat)
|
const offer = await teamOffered(chat)
|
||||||
if (!offer || drawing !== chipsDrawn || open?.chat?.id !== chat.id) return
|
if (!offer || drawing !== chipsDrawn || open?.chat?.id !== chat.id) return
|
||||||
box.append(agentsChip(open.chat.agents || chat.agents, (a) => save({ agents: a }), offer.cap))
|
box.append(agentsChip(open.chat.agents || chat.agents, (a) => save({ agents: a }), offer))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@ import { initActivity, showPanel, togglePanel, panelOpen } from "./activity.js"
|
|||||||
import { initAgent, link } from "./agent.js"
|
import { initAgent, link } from "./agent.js"
|
||||||
import { initScheduled, showScheduled, scheduledCommands } from "./scheduled.js"
|
import { initScheduled, showScheduled, scheduledCommands } from "./scheduled.js"
|
||||||
import { closePopover } from "./popup.js"
|
import { closePopover } from "./popup.js"
|
||||||
|
import { noteSubagentsCap } from "./models.js"
|
||||||
|
|
||||||
let status = null
|
let status = null
|
||||||
let view = "" // "setup" | "app"
|
let view = "" // "setup" | "app"
|
||||||
@@ -118,7 +119,9 @@ function stopApp() {
|
|||||||
|
|
||||||
async function loadModels() {
|
async function loadModels() {
|
||||||
try {
|
try {
|
||||||
models = (await get("/models")).models || []
|
const r = await get("/models")
|
||||||
|
models = r.models || []
|
||||||
|
noteSubagentsCap(r.subagents_cap)
|
||||||
} catch {
|
} catch {
|
||||||
models = []
|
models = []
|
||||||
}
|
}
|
||||||
|
|||||||
+23
-11
@@ -193,13 +193,13 @@ export function effortControl({ model, value, onChange, id, compact }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether a new chat on `model` is offered subagents. The server says so where it can: a model's
|
* Whether a new chat on `model` is offered subagents: the model's `subagents.offered` in `/models`
|
||||||
* `subagents` in `/models` (a flag, or `{offered}`), true when subagents are on for the model and
|
* (server 2.0.0-beta.7: subagents on for the model and the instance, and at least one model could
|
||||||
* the instance and at least one model could serve as one -- the model itself with room for two
|
* serve as one -- the model itself with room for two requests at once, or a usable model outside
|
||||||
* requests at once, or a usable model outside its one-model-at-a-time server. A server that does
|
* its one-model-at-a-time server). A server that does not say it: a model that calls tools and
|
||||||
* not say it yet: a model that calls tools and serves two requests at once (`parallel` null is a
|
* serves two requests at once (`parallel` null is a hosted API with no stated limit). The server
|
||||||
* hosted API with no stated limit). The server decides again; this only keeps the chip away where
|
* decides again; this only keeps the chip away where it could never apply. An open chat has its
|
||||||
* it could never apply. An open chat asks the server (`GET /chats/{chat}/team`).
|
* own `subagents` (chat.js).
|
||||||
*/
|
*/
|
||||||
export function teamPossible(model) {
|
export function teamPossible(model) {
|
||||||
const said = model?.subagents
|
const said = model?.subagents
|
||||||
@@ -207,16 +207,28 @@ export function teamPossible(model) {
|
|||||||
return !!model?.tools && (model.parallel === null || model.parallel === undefined || model.parallel >= 2)
|
return !!model?.tools && (model.parallel === null || model.parallel === undefined || model.parallel >= 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The most subagents the instance allows a chat (`cap`), where the server says it; else 32. */
|
/** Whether only a model the person names in the chat could serve its subagents (`named_only`). */
|
||||||
|
export function namedOnly(said) {
|
||||||
|
return !!(said && typeof said === "object" && said.named_only)
|
||||||
|
}
|
||||||
|
|
||||||
|
// The instance's most, as `/models` said it last (`subagents_cap`); 32 where it says nothing.
|
||||||
export const SUBAGENTS_CAP = 32
|
export const SUBAGENTS_CAP = 32
|
||||||
export const SUBAGENTS_HINT = () => t("The fewest and the most subagents this chat runs. They work on the same model unless you name another one in the chat.")
|
let knownCap = null
|
||||||
|
export function noteSubagentsCap(n) {
|
||||||
|
knownCap = Number(n) >= 1 ? Number(n) : null
|
||||||
|
}
|
||||||
|
/** The most subagents a chat may have: the first of `sources` that says it (`cap`), else the instance's. */
|
||||||
export function subagentsCap(...sources) {
|
export function subagentsCap(...sources) {
|
||||||
for (const s of sources) {
|
for (const s of sources) {
|
||||||
const n = Number(s?.cap ?? s?.subagents_cap ?? s?.subagents?.cap)
|
const n = Number(s?.cap)
|
||||||
if (Number.isFinite(n) && n >= 1) return n
|
if (Number.isFinite(n) && n >= 1) return n
|
||||||
}
|
}
|
||||||
return SUBAGENTS_CAP
|
return knownCap || SUBAGENTS_CAP
|
||||||
}
|
}
|
||||||
|
export const SUBAGENTS_HINT = () => t("Counted with the chat's own agent. A subagent runs on the chat's model, or on another only when you name it in the chat.")
|
||||||
|
// The spec's `subagents.setting.own`: beside the setting where the chat's model cannot serve them.
|
||||||
|
export const SUBAGENTS_OWN = () => t("This model serves one request at a time: subagents need another model, on another server, named in the chat.")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The subagents a chat may run: the fewest and the most, as two number fields on one shared
|
* The subagents a chat may run: the fewest and the most, as two number fields on one shared
|
||||||
|
|||||||
Reference in new issue
Block a user