hermes: surface a friendly "Automatic" routing label

The composer routing chip showed bare AUTO/FAST/BALANCED/DEEP/MAXIMUM.
Relabel it to Automatic/Fast/Balanced/Deep/Maximum and align the
auto-route model option labels to Automatic · Fast/Balanced/Deep/Maximum
so they match the panels.js profile-default mapping and read as a
recognizable model name. Manual model names (Claude · Opus, etc.) are
unchanged. Update the image-build guard and its quality test to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jenkins 2026-08-18 06:55:51 -03:00
parent f83c59a1c9
commit c8bb23ccd3
4 changed files with 8 additions and 8 deletions

View File

@ -111,7 +111,7 @@ RUN /opt/hermes/.venv/bin/python -c 'import cryptography, yaml' \
&& grep -Fq "capability.provider!=='local_command'" /opt/hermes-webui/static/atlas-voice.js \
&& grep -Fq 'data-priority="maximum"' /opt/hermes-webui/static/index.html \
&& grep -Fq 'routing_priority:priority' /opt/hermes-webui/static/atlas-router.js \
&& grep -Fq "'atlas/auto/fast':'AUTO · Fast'" /opt/hermes-webui/static/atlas-router.js \
&& grep -Fq "'atlas/auto/fast':'Automatic · Fast'" /opt/hermes-webui/static/atlas-router.js \
&& grep -Fq 'explicit_reasoning_effort' /opt/hermes-webui/api/gateway_chat.py \
&& /opt/hermes/.venv/bin/python -m py_compile \
/opt/hermes-webui/api/routes.py \

View File

@ -23,7 +23,7 @@ replace_once(
''' <div class="composer-ws-wrap">\n''',
''' <div class="composer-routing-wrap" id="composerRoutingWrap">
<button class="composer-routing-chip" id="composerRoutingChip" type="button" title="Automatic routing priority" aria-haspopup="true" aria-expanded="false" aria-controls="composerRoutingDropdown">
<span class="composer-routing-label" id="composerRoutingLabel">AUTO</span>
<span class="composer-routing-label" id="composerRoutingLabel">Automatic</span>
<span class="composer-routing-chevron" aria-hidden="true">⌄</span>
</button>
</div>

View File

@ -2,14 +2,14 @@
'use strict';
const PRIORITIES=new Set(['auto','fast','balanced','deep','maximum']);
const LABELS={auto:'AUTO',fast:'FAST',balanced:'BALANCED',deep:'DEEP',maximum:'MAXIMUM'};
const LABELS={auto:'Automatic',fast:'Fast',balanced:'Balanced',deep:'Deep',maximum:'Maximum'};
const STORAGE_KEY='atlas.hermes.routing-priority';
const EXPLICIT_EFFORT_KEY='atlas.hermes.explicit-reasoning';
const ROUTE_LABELS={
'atlas/auto/fast':'AUTO · Fast',
'atlas/auto/balanced':'AUTO · Balanced',
'atlas/auto/deep':'AUTO · Deep',
'atlas/auto/maximum':'AUTO · Maximum',
'atlas/auto/fast':'Automatic · Fast',
'atlas/auto/balanced':'Automatic · Balanced',
'atlas/auto/deep':'Automatic · Deep',
'atlas/auto/maximum':'Automatic · Maximum',
'atlas/manual/codex/luna':'Codex · Luna',
'atlas/manual/codex/terra':'Codex · Terra',
'atlas/manual/codex/sol':'Codex · SOL',

View File

@ -305,7 +305,7 @@ def test_webui_recovers_auth_and_labels_session_scoped_controls():
assert "session_key.startswith('telegram-topic-')" in telegram_project_patch
router = (ROOT / "dockerfiles" / "hermes-webui-router.js").read_text()
assert "'atlas/auto/fast':'AUTO · Fast'" in router
assert "'atlas/auto/fast':'Automatic · Fast'" in router
assert "'atlas/manual/codex/sol':'Codex · SOL'" in router
assert "'atlas/manual/claude/opus':'Claude · Opus'" in router
assert "watchModelOptions('modelSelect')" in router