Subagents and Compact on the server's /api/v2 facts (server 2.0.0-beta.7)
ci / check (push) Failing after 3s
ci / start (push) Failing after 3s

- 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:
HomerandClaude Opus 5.5 committed 2026-11-09 17:15:38 +00:00
1 parent 6bad293b29
commit ede91887f7
8 files changed
+144 -116

No files matched your search

+43 -43
View File
@@ -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ť",