Phase 002: rebrand to hermes-ui and consolidate i18n to zh/en
Build / build (push) Canceled after 0s
NPM Lockfile Check / npm ci --ignore-scripts (push) Canceled after 0s
Playwright / e2e (push) Canceled after 0s

Removes the ekko / hermes-web-ui branding from the whole tree and drops
eight locale files, so the project presents one name and one language pair.

Data compatibility is deliberate, not accidental: DB filenames, the JWT
audience, and skill manifest ownership all still recognise their pre-rename
values so existing deployments under ~/.hermes-web-ui keep working without a
re-login or a re-injection.

scripts/harness-check.mjs now scans for the legacy strings and fails the
build on any new occurrence, with an explicit allow-list (and reasons) for
the compatibility paths that must keep them.
This commit is contained in:
2026-10-16 11:11:29 +08:00
parent 1e9ea89d86
commit c93e1fe1bd
70 changed files with 1305 additions and 17856 deletions
+2 -2
View File
@@ -96,9 +96,9 @@ async function handlePasswordLogin() {
</template>
<template v-else>
<span>{{ t("login.lockResetHint") }}</span>
<code>hermes-web-ui clear-login-locks --restart</code>
<code>hermes-ui clear-login-locks --restart</code>
<span>{{ t("login.defaultLoginResetHint") }}</span>
<code>hermes-web-ui reset-default-login</code>
<code>hermes-ui reset-default-login</code>
</template>
</div>
<button type="submit" class="login-btn" :disabled="loading">
@@ -24,7 +24,7 @@ const routeProfile = computed(() => {
return typeof value === 'string' && value.trim() ? value : null
})
const productTitle = 'Hermes Studio'
const productTitle = 'hermes-ui'
const tabTitle = computed(() => {
if (route.name !== 'hermes.session') return productTitle
return chatStore.activeSession?.title?.trim() || productTitle