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
|
||||
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's cap. 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.
|
||||
server's cap. Where the chat's model serves one request at a time, it says that subagents need
|
||||
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
|
||||
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**
|
||||
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
|
||||
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.
|
||||
|
||||
## [1.0.0-beta.4] — 2026-11-09
|
||||
|
||||
+43
-43
@@ -351,8 +351,7 @@ KEYS = (
|
||||
"run by hand",
|
||||
# activity.js, chat.js, models.js, scheduled.js: subagents, the panel, Compact
|
||||
"%(n)s running",
|
||||
"1 task",
|
||||
"%(n)s tasks",
|
||||
"Tasks: %(n)s",
|
||||
"%(tokens)s until auto-compact",
|
||||
"Automatic compaction is off.",
|
||||
"Compacts before the next reply.",
|
||||
@@ -368,11 +367,12 @@ KEYS = (
|
||||
"Subagent",
|
||||
"Team member",
|
||||
"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",
|
||||
"Up to %(n)s at once",
|
||||
"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",
|
||||
"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.",
|
||||
)
|
||||
|
||||
@@ -381,9 +381,10 @@ KEYS = (
|
||||
# the device, as the server's catalogue has it.
|
||||
OWN: dict[str, dict[str, str]] = {
|
||||
"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",
|
||||
"1 task": "1 úloha",
|
||||
"%(n)s tasks": "Úlohy: %(n)s",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s do automatického shrnutí",
|
||||
"Automatic compaction is off.": "Automatické shrnutí je vypnuté.",
|
||||
"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í",
|
||||
"Finished %(n)s": "Dokončeno: %(n)s",
|
||||
"Background command": "Příkaz na pozadí",
|
||||
"Subagent": "Subagent",
|
||||
"Subagent": "Podagent",
|
||||
"Team member": "Člen týmu",
|
||||
"Subagents": "Subagenti",
|
||||
"Subagents": "Podagenti",
|
||||
"None": "Žádní",
|
||||
"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í.",
|
||||
"Team: %(size)s of at most %(max)s subagents": "Tým: %(size)s z nejvýše %(max)s subagentů",
|
||||
"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ý.",
|
||||
"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 podagentů",
|
||||
"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",
|
||||
"Minimise": "Minimalizovat",
|
||||
@@ -600,9 +600,10 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"No day ticked: every day.": "Žádný den nezaškrtnutý: každý den.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 Aufgabe",
|
||||
"%(n)s tasks": "%(n)s Aufgaben",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s bis zur automatischen Zusammenfassung",
|
||||
"Automatic compaction is off.": "Die automatische Zusammenfassung ist aus.",
|
||||
"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",
|
||||
"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",
|
||||
"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.",
|
||||
"Menu": "Menü",
|
||||
"Minimise": "Minimieren",
|
||||
@@ -819,9 +819,10 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"No day ticked: every day.": "Kein Tag angehakt: jeden Tag.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 tarea",
|
||||
"%(n)s tasks": "%(n)s tareas",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s hasta la compactación automática",
|
||||
"Automatic compaction is off.": "La compactación automática está desactivada.",
|
||||
"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",
|
||||
"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",
|
||||
"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.",
|
||||
"Menu": "Menú",
|
||||
"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.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 tâche",
|
||||
"%(n)s tasks": "%(n)s tâches",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s avant le compactage automatique",
|
||||
"Automatic compaction is off.": "Le compactage automatique est désactivé.",
|
||||
"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",
|
||||
"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",
|
||||
"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.",
|
||||
"Menu": "Menu",
|
||||
"Minimise": "Réduire",
|
||||
@@ -1257,9 +1257,10 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"No day ticked: every day.": "Aucun jour coché : tous les jours.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 feladat",
|
||||
"%(n)s tasks": "%(n)s feladat",
|
||||
"%(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.",
|
||||
"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",
|
||||
"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",
|
||||
"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.",
|
||||
"Menu": "Menü",
|
||||
"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.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 attività",
|
||||
"%(n)s tasks": "%(n)s attività",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s alla compattazione automatica",
|
||||
"Automatic compaction is off.": "La compattazione automatica è disattivata.",
|
||||
"Compacts before the next reply.": "Si compatta prima della prossima risposta.",
|
||||
@@ -1491,14 +1492,13 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"Environment": "Ambiente",
|
||||
"Finished %(n)s": "Terminate: %(n)s",
|
||||
"Background command": "Comando in background",
|
||||
"Subagent": "Subagente",
|
||||
"Subagent": "Sottoagente",
|
||||
"Team member": "Membro della squadra",
|
||||
"Subagents": "Subagenti",
|
||||
"Subagents": "Sottoagenti",
|
||||
"None": "Nessuno",
|
||||
"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.",
|
||||
"Team: %(size)s of at most %(max)s subagents": "Squadra: %(size)s su un massimo di %(max)s subagenti",
|
||||
"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.",
|
||||
"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 sottoagenti",
|
||||
"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",
|
||||
"Minimise": "Riduci a icona",
|
||||
@@ -1695,9 +1695,10 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"No day ticked: every day.": "Nessun giorno spuntato: ogni giorno.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 zadanie",
|
||||
"%(n)s tasks": "Zadania: %(n)s",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s do automatycznego streszczenia",
|
||||
"Automatic compaction is off.": "Automatyczne streszczanie jest wyłączone.",
|
||||
"Compacts before the next reply.": "Zostanie streszczona przed następną odpowiedzią.",
|
||||
@@ -1710,14 +1711,13 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"Environment": "Środowisko",
|
||||
"Finished %(n)s": "Zakończone: %(n)s",
|
||||
"Background command": "Polecenie w tle",
|
||||
"Subagent": "Subagent",
|
||||
"Subagent": "Podagent",
|
||||
"Team member": "Członek zespołu",
|
||||
"Subagents": "Subagenci",
|
||||
"Subagents": "Podagenci",
|
||||
"None": "Brak",
|
||||
"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ą.",
|
||||
"Team: %(size)s of at most %(max)s subagents": "Zespół: %(size)s z najwyżej %(max)s subagentó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.",
|
||||
"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 podagentów",
|
||||
"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",
|
||||
"Minimise": "Minimalizuj",
|
||||
@@ -1914,9 +1914,10 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"No day ticked: every day.": "Żaden dzień niezaznaczony: codziennie.",
|
||||
},
|
||||
"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",
|
||||
"1 task": "1 úloha",
|
||||
"%(n)s tasks": "Úlohy: %(n)s",
|
||||
"%(tokens)s until auto-compact": "%(tokens)s do automatického zhrnutia",
|
||||
"Automatic compaction is off.": "Automatické zhrnutie je vypnuté.",
|
||||
"Compacts before the next reply.": "Zhrnie sa pred ďalšou odpoveďou.",
|
||||
@@ -1929,14 +1930,13 @@ OWN: dict[str, dict[str, str]] = {
|
||||
"Environment": "Prostredie",
|
||||
"Finished %(n)s": "Dokončené: %(n)s",
|
||||
"Background command": "Príkaz na pozadí",
|
||||
"Subagent": "Subagent",
|
||||
"Subagent": "Podagent",
|
||||
"Team member": "Člen tímu",
|
||||
"Subagents": "Subagenti",
|
||||
"Subagents": "Podagenti",
|
||||
"None": "Žiadni",
|
||||
"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ú.",
|
||||
"Team: %(size)s of at most %(max)s subagents": "Tím: %(size)s z najviac %(max)s subagentov",
|
||||
"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ý.",
|
||||
"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 podagentov",
|
||||
"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",
|
||||
"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); }
|
||||
.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.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); }
|
||||
|
||||
+34
-34
@@ -16,7 +16,6 @@ const LEMBAS_I18N = {
|
||||
"%(n)s missed": "zmeškáno: %(n)s",
|
||||
"%(n)s queued": "Ve frontě: %(n)s",
|
||||
"%(n)s running": "Běží: %(n)s",
|
||||
"%(n)s tasks": "Úlohy: %(n)s",
|
||||
"%(n)s tokens": "tokeny: %(n)s",
|
||||
"%(n)s tools offered.": "Nabízené nástroje: %(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",
|
||||
"%(tokens)s tokens": "%(tokens)s tokenů",
|
||||
"%(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); 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ý.",
|
||||
@@ -85,6 +83,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Zkopírováno",
|
||||
"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 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í.",
|
||||
"Days": "Dny",
|
||||
"Delete": "Smazat",
|
||||
@@ -169,7 +168,7 @@ const LEMBAS_I18N = {
|
||||
"Nothing is scheduled.": "Nic není naplánováno.",
|
||||
"Nothing matches.": "Nic neodpovídá.",
|
||||
"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 yet.": "Zatím nic.",
|
||||
"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í.",
|
||||
"System prompt": "Systémový pokyn",
|
||||
"Taken in while it ran:": "Převzato během běhu:",
|
||||
"Tasks: %(n)s": "Úlohy: %(n)s",
|
||||
"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 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:",
|
||||
@@ -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.": "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 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 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",
|
||||
@@ -282,6 +281,7 @@ const LEMBAS_I18N = {
|
||||
"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 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 has no scheduled tasks yet.": "Tento server zatím nemá naplánované úlohy.",
|
||||
"Thought": "Přemýšlel",
|
||||
@@ -345,7 +345,6 @@ const LEMBAS_I18N = {
|
||||
"%(n)s missed": "%(n)s verpasst",
|
||||
"%(n)s queued": "%(n)s in der Warteschlange",
|
||||
"%(n)s running": "%(n)s laufen",
|
||||
"%(n)s tasks": "%(n)s Aufgaben",
|
||||
"%(n)s tokens": "%(n)s Tokens",
|
||||
"%(n)s tools offered.": "%(n)s Werkzeuge angeboten.",
|
||||
"%(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",
|
||||
"%(tokens)s tokens": "%(tokens)s Tokens",
|
||||
"%(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); 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.",
|
||||
@@ -414,6 +412,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Kopiert",
|
||||
"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 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.",
|
||||
"Days": "Tage",
|
||||
"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.",
|
||||
"System prompt": "Systemprompt",
|
||||
"Taken in while it ran:": "Während des Laufs übernommen:",
|
||||
"Tasks: %(n)s": "Aufgaben: %(n)s",
|
||||
"Team member": "Teammitglied",
|
||||
"Team: %(size)s of at most %(max)s subagents": "Team: %(size)s von höchstens %(max)s Subagenten",
|
||||
"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.": "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 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 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",
|
||||
@@ -611,6 +610,7 @@ const LEMBAS_I18N = {
|
||||
"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 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 has no scheduled tasks yet.": "Dieser Server hat noch keine geplanten Aufgaben.",
|
||||
"Thought": "Nachgedacht",
|
||||
@@ -673,8 +673,7 @@ const LEMBAS_I18N = {
|
||||
"%(n)s finished": "%(n)s terminados",
|
||||
"%(n)s missed": "%(n)s perdidas",
|
||||
"%(n)s queued": "%(n)s en cola",
|
||||
"%(n)s running": "%(n)s en marcha",
|
||||
"%(n)s tasks": "%(n)s tareas",
|
||||
"%(n)s running": "%(n)s en ejecución",
|
||||
"%(n)s tokens": "tokens: %(n)s",
|
||||
"%(n)s tools offered.": "%(n)s herramientas ofrecidas.",
|
||||
"%(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",
|
||||
"%(tokens)s tokens": "%(tokens)s tokens",
|
||||
"%(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); 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.",
|
||||
@@ -743,6 +741,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Copiado",
|
||||
"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 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.",
|
||||
"Days": "Días",
|
||||
"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.",
|
||||
"System prompt": "Prompt de sistema",
|
||||
"Taken in while it ran:": "Incorporado mientras se ejecutaba:",
|
||||
"Tasks: %(n)s": "Tareas: %(n)s",
|
||||
"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",
|
||||
"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.": "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 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 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",
|
||||
@@ -940,6 +939,7 @@ const LEMBAS_I18N = {
|
||||
"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 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 has no scheduled tasks yet.": "Este servidor aún no tiene tareas programadas.",
|
||||
"Thought": "Pensamiento",
|
||||
@@ -1003,7 +1003,6 @@ const LEMBAS_I18N = {
|
||||
"%(n)s missed": "%(n)s manquées",
|
||||
"%(n)s queued": "%(n)s en file d’attente",
|
||||
"%(n)s running": "%(n)s en cours",
|
||||
"%(n)s tasks": "%(n)s tâches",
|
||||
"%(n)s tokens": "%(n)s jetons",
|
||||
"%(n)s tools offered.": "%(n)s outils proposés.",
|
||||
"%(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",
|
||||
"%(tokens)s tokens": "%(tokens)s jetons",
|
||||
"%(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); 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é.",
|
||||
@@ -1072,6 +1070,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Copié",
|
||||
"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 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.",
|
||||
"Days": "Jours",
|
||||
"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.",
|
||||
"System prompt": "Prompt système",
|
||||
"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: %(size)s of at most %(max)s subagents": "Équipe : %(size)s sur %(max)s sous-agents au plus",
|
||||
"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.": "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 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 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",
|
||||
@@ -1269,6 +1268,7 @@ const LEMBAS_I18N = {
|
||||
"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 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 has no scheduled tasks yet.": "Ce serveur n’a pas encore de tâches planifiées.",
|
||||
"Thought": "Réflexion",
|
||||
@@ -1332,7 +1332,6 @@ const LEMBAS_I18N = {
|
||||
"%(n)s missed": "%(n)s kimaradt",
|
||||
"%(n)s queued": "%(n)s sorban áll",
|
||||
"%(n)s running": "%(n)s fut",
|
||||
"%(n)s tasks": "%(n)s feladat",
|
||||
"%(n)s tokens": "%(n)s token",
|
||||
"%(n)s tools offered.": "%(n)s eszköz felkínálva.",
|
||||
"%(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",
|
||||
"%(tokens)s tokens": "%(tokens)s token",
|
||||
"%(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); 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.",
|
||||
@@ -1401,6 +1399,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Másolva",
|
||||
"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 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.",
|
||||
"Days": "Napok",
|
||||
"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.",
|
||||
"System prompt": "Rendszerprompt",
|
||||
"Taken in while it ran:": "Futás közben átvéve:",
|
||||
"Tasks: %(n)s": "Feladatok: %(n)s",
|
||||
"Team member": "Csapattag",
|
||||
"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",
|
||||
@@ -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.": "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 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 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",
|
||||
@@ -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 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 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 has no scheduled tasks yet.": "Ezen a szerveren még nincsenek ütemezett feladatok.",
|
||||
"Thought": "Gondolkodott",
|
||||
@@ -1660,8 +1660,7 @@ const LEMBAS_I18N = {
|
||||
"%(n)s finished": "%(n)s terminati",
|
||||
"%(n)s missed": "%(n)s perse",
|
||||
"%(n)s queued": "%(n)s in coda",
|
||||
"%(n)s running": "%(n)s in corso",
|
||||
"%(n)s tasks": "%(n)s attività",
|
||||
"%(n)s running": "%(n)s in esecuzione",
|
||||
"%(n)s tokens": "token: %(n)s",
|
||||
"%(n)s tools offered.": "%(n)s strumenti offerti.",
|
||||
"%(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",
|
||||
"%(tokens)s tokens": "%(tokens)s token",
|
||||
"%(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); 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.",
|
||||
@@ -1730,6 +1728,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Copiato",
|
||||
"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 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.",
|
||||
"Days": "Giorni",
|
||||
"Delete": "Elimina",
|
||||
@@ -1814,7 +1813,7 @@ const LEMBAS_I18N = {
|
||||
"Nothing is scheduled.": "Non c’è niente di pianificato.",
|
||||
"Nothing matches.": "Nessun risultato.",
|
||||
"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 yet.": "Ancora niente.",
|
||||
"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.",
|
||||
"System prompt": "Prompt di sistema",
|
||||
"Taken in while it ran:": "Accolto durante l'esecuzione:",
|
||||
"Tasks: %(n)s": "Attività: %(n)s",
|
||||
"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 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:",
|
||||
@@ -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.": "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 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 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",
|
||||
@@ -1927,6 +1926,7 @@ const LEMBAS_I18N = {
|
||||
"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 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 has no scheduled tasks yet.": "Questo server non ha ancora attività pianificate.",
|
||||
"Thought": "Ha ragionato",
|
||||
@@ -1990,7 +1990,6 @@ const LEMBAS_I18N = {
|
||||
"%(n)s missed": "pominięte: %(n)s",
|
||||
"%(n)s queued": "W kolejce: %(n)s",
|
||||
"%(n)s running": "Działa: %(n)s",
|
||||
"%(n)s tasks": "Zadania: %(n)s",
|
||||
"%(n)s tokens": "Tokeny: %(n)s",
|
||||
"%(n)s tools offered.": "Oferowane narzędzia: %(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",
|
||||
"%(tokens)s tokens": "Tokeny: %(tokens)s",
|
||||
"%(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); 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.",
|
||||
@@ -2059,6 +2057,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Skopiowano",
|
||||
"Copy": "Kopiuj",
|
||||
"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.",
|
||||
"Days": "Dni",
|
||||
"Delete": "Usuń",
|
||||
@@ -2143,7 +2142,7 @@ const LEMBAS_I18N = {
|
||||
"Nothing is scheduled.": "Nic nie jest zaplanowane.",
|
||||
"Nothing matches.": "Nic nie pasuje.",
|
||||
"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 yet.": "Jeszcze nic.",
|
||||
"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.",
|
||||
"System prompt": "Prompt systemowy",
|
||||
"Taken in while it ran:": "Przejęte w trakcie działania:",
|
||||
"Tasks: %(n)s": "Zadania: %(n)s",
|
||||
"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 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:",
|
||||
@@ -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.": "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 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 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",
|
||||
@@ -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 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 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 has no scheduled tasks yet.": "Ten serwer nie ma jeszcze zaplanowanych zadań.",
|
||||
"Thought": "Rozumowanie",
|
||||
@@ -2319,7 +2319,6 @@ const LEMBAS_I18N = {
|
||||
"%(n)s missed": "zmeškané: %(n)s",
|
||||
"%(n)s queued": "V rade: %(n)s",
|
||||
"%(n)s running": "Beží: %(n)s",
|
||||
"%(n)s tasks": "Úlohy: %(n)s",
|
||||
"%(n)s tokens": "tokeny: %(n)s",
|
||||
"%(n)s tools offered.": "Ponúknuté nástroje: %(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",
|
||||
"%(tokens)s tokens": "%(tokens)s tokenov",
|
||||
"%(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); 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ý.",
|
||||
@@ -2388,6 +2386,7 @@ const LEMBAS_I18N = {
|
||||
"Copied": "Skopírované",
|
||||
"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 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í.",
|
||||
"Days": "Dni",
|
||||
"Delete": "Zmazať",
|
||||
@@ -2472,7 +2471,7 @@ const LEMBAS_I18N = {
|
||||
"Nothing is scheduled.": "Nič nie je naplánované.",
|
||||
"Nothing matches.": "Nič nezodpovedá.",
|
||||
"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 yet.": "Zatiaľ nič.",
|
||||
"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.",
|
||||
"System prompt": "Systémový pokyn",
|
||||
"Taken in while it ran:": "Prevzaté počas behu:",
|
||||
"Tasks: %(n)s": "Úlohy: %(n)s",
|
||||
"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 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:",
|
||||
@@ -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.": "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 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 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",
|
||||
@@ -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 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 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 has no scheduled tasks yet.": "Tento server zatiaľ nemá naplánované úlohy.",
|
||||
"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
|
||||
* would reach `threshold` % of the window; 0 is off -- and the button that compacts now.
|
||||
* How far it is to the automatic compaction, and the button that compacts now. The server says it
|
||||
* (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) {
|
||||
const limit = Number(c.limit) || 0
|
||||
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
|
||||
if (!(threshold > 0)) words = t("Automatic compaction is off.")
|
||||
else if (!limit || threshold >= 100) words = t("Compacts by itself once the window is known.")
|
||||
else {
|
||||
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.")
|
||||
}
|
||||
if (!auto) words = t("Automatic compaction is off.")
|
||||
else if (until === null || until === undefined) words = t("Compacts by itself once the window is known.")
|
||||
else words = until > 0 ? t("%(tokens)s until auto-compact", { tokens: compact(until) }) : t("Compacts before the next reply.")
|
||||
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(
|
||||
"div",
|
||||
{ class: "ctx__compact" },
|
||||
@@ -497,7 +502,7 @@ function compactRow(c) {
|
||||
type: "button",
|
||||
class: "btn btn--sm",
|
||||
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."),
|
||||
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 = "") {
|
||||
const el = h(
|
||||
"details",
|
||||
@@ -613,11 +618,11 @@ function fold(name, label, list, cls = "") {
|
||||
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) {
|
||||
const kids = a.children || []
|
||||
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))))
|
||||
return [agentRow(a), nested]
|
||||
}
|
||||
|
||||
+15
-11
@@ -13,7 +13,7 @@ import { markdown } from "./markdown.js"
|
||||
import { openViewer, showKind } from "./viewer.js"
|
||||
import { readLocal } from "./explorer.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 { watchActivity, activityChanged, planList, activityButton } from "./activity.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
|
||||
* server gives one (`subagents` on the chat), else its team's (`GET /chats/{chat}/team`) -- only a
|
||||
* chat on the server. null where it is not offered.
|
||||
* Whether this chat is offered subagents: `{ cap, own }` (the instance's most; whether only a model
|
||||
* the person names could serve them), or null. The chat's own `subagents` where the server gives
|
||||
* 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) {
|
||||
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
|
||||
try {
|
||||
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 {
|
||||
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.
|
||||
* `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")
|
||||
return chip({
|
||||
ico: ICONS.users,
|
||||
label: `${t("Subagents")} ${said}`,
|
||||
title: SUBAGENTS_HINT(),
|
||||
cls: "cchip--subagents",
|
||||
title: own ? SUBAGENTS_OWN() : SUBAGENTS_HINT(),
|
||||
cls: `cchip--subagents${own ? " is-warn" : ""}`,
|
||||
onclick: (e) => {
|
||||
const fields = agentsControl({ value, id: "agents-min", cap })
|
||||
popover(
|
||||
@@ -669,6 +672,7 @@ function agentsChip(value, onChange, cap) {
|
||||
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") })),
|
||||
fields,
|
||||
own ? h("p", { class: "hint is-warn", text: SUBAGENTS_OWN() }) : null,
|
||||
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)) })),
|
||||
),
|
||||
@@ -718,7 +722,7 @@ async function renderChips() {
|
||||
renderChips()
|
||||
}, mayPick))
|
||||
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))
|
||||
return
|
||||
}
|
||||
@@ -747,7 +751,7 @@ async function renderChips() {
|
||||
box.replaceChildren(...parts.filter(Boolean))
|
||||
const offer = await teamOffered(chat)
|
||||
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 { initScheduled, showScheduled, scheduledCommands } from "./scheduled.js"
|
||||
import { closePopover } from "./popup.js"
|
||||
import { noteSubagentsCap } from "./models.js"
|
||||
|
||||
let status = null
|
||||
let view = "" // "setup" | "app"
|
||||
@@ -118,7 +119,9 @@ function stopApp() {
|
||||
|
||||
async function loadModels() {
|
||||
try {
|
||||
models = (await get("/models")).models || []
|
||||
const r = await get("/models")
|
||||
models = r.models || []
|
||||
noteSubagentsCap(r.subagents_cap)
|
||||
} catch {
|
||||
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
|
||||
* `subagents` in `/models` (a flag, or `{offered}`), true when subagents are on for the model and
|
||||
* the instance and at least one model could serve as one -- the model itself with room for two
|
||||
* requests at once, or a usable model outside its one-model-at-a-time server. A server that does
|
||||
* not say it yet: a model that calls tools and serves two requests at once (`parallel` null is a
|
||||
* hosted API with no stated limit). The server decides again; this only keeps the chip away where
|
||||
* it could never apply. An open chat asks the server (`GET /chats/{chat}/team`).
|
||||
* Whether a new chat on `model` is offered subagents: the model's `subagents.offered` in `/models`
|
||||
* (server 2.0.0-beta.7: subagents on for the model and the instance, and at least one model could
|
||||
* serve as one -- the model itself with room for two requests at once, or a usable model outside
|
||||
* its one-model-at-a-time server). A server that does not say it: a model that calls tools and
|
||||
* serves two requests at once (`parallel` null is a hosted API with no stated limit). The server
|
||||
* decides again; this only keeps the chip away where it could never apply. An open chat has its
|
||||
* own `subagents` (chat.js).
|
||||
*/
|
||||
export function teamPossible(model) {
|
||||
const said = model?.subagents
|
||||
@@ -207,16 +207,28 @@ export function teamPossible(model) {
|
||||
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_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) {
|
||||
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
|
||||
}
|
||||
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
|
||||
|
||||
Reference in new issue
Block a user