feat(gateway): add /context command for a detailed context-window view
A dedicated /context (alias /ctx) gateway slash command that gives a full context-window view with: - Usage gauge: visual bar + fraction + percentage + headroom - Auto-compression threshold and how far away it is - Compression count and how much the last one freed - Cumulative session throughput (explicitly labelled as throughput, NOT context size — each call re-sends the window) - Cascading fallback: running agent → cached agent → SessionStore metadata → rough transcript estimate Not included (per current-main design): - Cache reporting removed: commit 446b8e239 intentionally removed cache reporting from user-facing surfaces because providers that omit cached-token details produce misleading values - Sync DB calls replaced with async_session_store (current main requires AsyncSessionStore with await) Also rewords the /status tokens line from 'Cumulative API tokens (re-sent each call)' to 'Lifetime tokens billed: ... (not your current context size; use /context)' to reduce the recurring confusion that the cumulative figure is the current context window. Fixes salvation of PR #52184 (salvage commit replaces a 12K-commit-behind fork branch with a fresh implementation against current main, incorporating reviewer feedback from @whoislikemiha and the hermes-sweeper).
This commit is contained in:
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Kon nie tuiste-kanaal stoor nie: {error}"
|
||||
success: "✅ Tuiste-kanaal gestel op **{name}** (ID: {chat_id}).\nKron-take en kruisplatform-boodskappe sal hier afgelewer word."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes Gateway Status**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Kumulatiewe API-tokens (elke oproep weer gestuur):** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agent loop:** {state}"
|
||||
state_yes: "Ja ⚡"
|
||||
state_no: "Nee"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Home-Kanal konnte nicht gespeichert werden: {error}"
|
||||
success: "✅ Home-Kanal auf **{name}** (ID: {chat_id}) gesetzt.\nCron-Jobs und plattformübergreifende Nachrichten werden hierher geliefert."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes-Gateway-Status**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Modell:** `{model}` ({provider})"
|
||||
context: "**Kontext:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Kontext:** ~{used} Tokens"
|
||||
tokens: "**Kumulierte API-Tokens (bei jedem Aufruf erneut gesendet):** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agent läuft:** {state}"
|
||||
state_yes: "Ja ⚡"
|
||||
state_no: "Nein"
|
||||
|
||||
+20
-1
@@ -295,6 +295,25 @@ gateway:
|
||||
save_failed: "Failed to save home channel: {error}"
|
||||
success: "✅ Home channel set to **{name}** (ID: {chat_id}).\nCron jobs and cross-platform messages will be delivered here."
|
||||
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes Gateway Status**"
|
||||
matrix_scope_header: "**Matrix scope:**"
|
||||
@@ -311,7 +330,7 @@ gateway:
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Cumulative API tokens (re-sent each call):** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agent Running:** {state}"
|
||||
state_yes: "Yes ⚡"
|
||||
state_no: "No"
|
||||
|
||||
+19
-1
@@ -279,6 +279,24 @@ gateway:
|
||||
set_home:
|
||||
save_failed: "No se pudo guardar el canal principal: {error}"
|
||||
success: "✅ Canal principal establecido en **{name}** (ID: {chat_id}).\nLas tareas cron y los mensajes entre plataformas se entregarán aquí."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Estado de Hermes Gateway**"
|
||||
@@ -296,7 +314,7 @@ gateway:
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Tokens de API acumulados (reenviados en cada llamada):** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agente activo:** {state}"
|
||||
state_yes: "Sí ⚡"
|
||||
state_no: "No"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Impossible d'enregistrer le canal principal : {error}"
|
||||
success: "✅ Canal principal défini sur **{name}** (ID : {chat_id}).\nLes tâches cron et les messages multi-plateformes seront livrés ici."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **État de Hermes Gateway**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Jetons :** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agent en cours :** {state}"
|
||||
state_yes: "Oui ⚡"
|
||||
state_no: "Non"
|
||||
|
||||
+19
-1
@@ -286,6 +286,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Theip ar shábháil chainéil bhaile: {error}"
|
||||
success: "✅ Cainéal baile socraithe go **{name}** (ID: {chat_id}).\nSeachadfar tascanna cron agus teachtaireachtaí trasardáin anseo."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Stádas Hermes Gateway**"
|
||||
@@ -303,7 +321,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Comharthaí:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Gníomhaire ag rith:** {state}"
|
||||
state_yes: "Tá ⚡"
|
||||
state_no: "Níl"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Nem sikerült menteni a kezdőcsatornát: {error}"
|
||||
success: "✅ Kezdőcsatorna beállítva: **{name}** (ID: {chat_id}).\nA cron-feladatok és a platformok közötti üzenetek ide érkeznek."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes Gateway állapot**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Tokenek:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Ügynök fut:** {state}"
|
||||
state_yes: "Igen ⚡"
|
||||
state_no: "Nem"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Salvataggio del canale home non riuscito: {error}"
|
||||
success: "✅ Canale home impostato su **{name}** (ID: {chat_id}).\nI cron job e i messaggi cross-platform verranno consegnati qui."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Stato del Gateway Hermes**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Token:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agente in esecuzione:** {state}"
|
||||
state_yes: "Sì ⚡"
|
||||
state_no: "No"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "ホームチャンネルを保存できませんでした: {error}"
|
||||
success: "✅ ホームチャンネルを **{name}** (ID: {chat_id}) に設定しました。\nCron ジョブとプラットフォーム間メッセージはここに配信されます。"
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes ゲートウェイ状態**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**トークン:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**エージェント実行中:** {state}"
|
||||
state_yes: "はい ⚡"
|
||||
state_no: "いいえ"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "홈 채널 저장에 실패했습니다: {error}"
|
||||
success: "✅ 홈 채널이 **{name}**(ID: {chat_id})(으)로 설정되었습니다.\n크론 작업과 플랫폼 간 메시지가 여기로 전달됩니다."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes 게이트웨이 상태**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**토큰:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**에이전트 실행 중:** {state}"
|
||||
state_yes: "예 ⚡"
|
||||
state_no: "아니오"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Falha ao guardar o canal principal: {error}"
|
||||
success: "✅ Canal principal definido como **{name}** (ID: {chat_id}).\nAs tarefas cron e mensagens entre plataformas serão entregues aqui."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Estado do Hermes Gateway**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Tokens de API cumulativos (reenviados a cada chamada):** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Agente em execução:** {state}"
|
||||
state_yes: "Sim ⚡"
|
||||
state_no: "Não"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Не удалось сохранить главный канал: {error}"
|
||||
success: "✅ Главный канал установлен на **{name}** (ID: {chat_id}).\nCron-задачи и межплатформенные сообщения будут доставляться сюда."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Состояние Hermes Gateway**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Токены:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Агент активен:** {state}"
|
||||
state_yes: "Да ⚡"
|
||||
state_no: "Нет"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Ana kanal kaydedilemedi: {error}"
|
||||
success: "✅ Ana kanal **{name}** (ID: {chat_id}) olarak ayarlandı.\nCron işleri ve platformlar arası mesajlar buraya iletilecek."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes Gateway Durumu**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Token:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Aracı çalışıyor:** {state}"
|
||||
state_yes: "Evet ⚡"
|
||||
state_no: "Hayır"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "Не вдалося зберегти головний канал: {error}"
|
||||
success: "✅ Головний канал встановлено на **{name}** (ID: {chat_id}).\nCron-завдання та міжплатформні повідомлення доставлятимуться сюди."
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Стан Hermes Gateway**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Токени:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**Агент активний:** {state}"
|
||||
state_yes: "Так ⚡"
|
||||
state_no: "Ні"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "無法儲存主頻道:{error}"
|
||||
success: "✅ 主頻道已設定為 **{name}**(ID:{chat_id})。\n排程任務和跨平台訊息將傳送至此處。"
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes 閘道狀態**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Token 數:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**代理執行中:** {state}"
|
||||
state_yes: "是 ⚡"
|
||||
state_no: "否"
|
||||
|
||||
+19
-1
@@ -282,6 +282,24 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
set_home:
|
||||
save_failed: "无法保存主频道:{error}"
|
||||
success: "✅ 主频道已设置为 **{name}**(ID:{chat_id})。\n定时任务和跨平台消息将发送到此处。"
|
||||
context:
|
||||
header: "🧠 **Context Window**"
|
||||
model: "Model: `{model}`"
|
||||
window: "Window: {total} tokens"
|
||||
in_use: "In use: {used} / {total} ({pct}%)"
|
||||
bar: "{bar}"
|
||||
headroom: "Headroom to limit: {headroom} tokens"
|
||||
threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go"
|
||||
over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**"
|
||||
compressions: "Compressions this session: {count}"
|
||||
last_savings: "Last compression freed: {savings}% of context"
|
||||
totals_header: "Session totals (cumulative across {calls} API calls)"
|
||||
totals_line: "Input {input} · Output {output} · Reasoning {reasoning}"
|
||||
total_billed: "Total billed: {total}"
|
||||
throughput_note: "_Throughput, not context size — each call re-sends the window above._"
|
||||
estimated: "Estimated context: ~{count} tokens across {messages} messages"
|
||||
detail_after_first: "_(Full compression and throughput stats available after the first agent response)_"
|
||||
no_data: "No context data available yet. Send a message to start a session."
|
||||
|
||||
status:
|
||||
header: "📊 **Hermes 网关状态**"
|
||||
@@ -299,7 +317,7 @@ Future messages in this room will use that transcript until `/reset` or another
|
||||
model_provider: "**Model:** `{model}` ({provider})"
|
||||
context: "**Context:** {used} / {total} ({pct}%)"
|
||||
context_used: "**Context:** ~{used} tokens"
|
||||
tokens: "**Token 数:** {tokens}"
|
||||
tokens: "**Lifetime tokens billed:** {tokens} _(not your current context size; use `/context`)_"
|
||||
agent_running: "**代理运行中:** {state}"
|
||||
state_yes: "是 ⚡"
|
||||
state_no: "否"
|
||||
|
||||
Reference in New Issue
Block a user