Add user-scoped Hermes profile access

This commit is contained in:
ekko
2026-05-23 18:44:53 +08:00
committed by ekko
parent 56e7716302
commit 3f6a25d8f1
54 changed files with 2656 additions and 592 deletions
+40 -9
View File
@@ -2,7 +2,7 @@ export default {
// Login
login: {
title: 'Hermes Web UI',
description: 'Enter your access token to continue. Find it in the server startup logs.',
description: 'Enter your username and password to continue.',
placeholder: 'Access token',
submit: 'Login',
tokenRequired: 'Please enter your access token',
@@ -15,6 +15,8 @@ export default {
credentialsRequired: 'Please enter username and password',
invalidCredentials: 'Invalid username or password',
tooManyAttempts: 'Too many failed attempts, please try again later',
sessionExpired: 'Login expired. Please sign in again.',
accessDenied: 'You do not have permission to access this resource.',
passwordMismatch: 'Passwords do not match',
passwordTooShort: 'Password must be at least 6 characters',
setupSuccess: 'Password login configured successfully',
@@ -31,10 +33,38 @@ export default {
newUsername: 'New Username',
usernameChanged: 'Username changed successfully',
usernameTooShort: 'Username must be at least 2 characters',
setupDescription: 'Set up a username and password for convenient login. The access token will continue to work as a backup.',
removeConfirm: 'Are you sure you want to remove password login? You will need to use the access token to log in.',
setupDescription: 'Manage the username and password used to sign in.',
removeConfirm: 'Password login is required for user accounts.',
passwordLoginNotConfigured: 'Password login is not configured',
passwordLoginConfigured: 'Password login enabled ({username})',
passwordLoginConfigured: 'Current account: {username}',
},
users: {
title: 'Account Management',
description: 'Create users, assign roles, and control which profiles regular admins can access.',
create: 'Create User',
edit: 'Edit User',
username: 'Username',
role: 'Role',
statusLabel: 'Status',
profiles: 'Profiles',
profilesPlaceholder: 'Select accessible profiles',
allProfiles: 'All profiles',
noProfiles: 'No profiles assigned',
lastLogin: 'Last Login',
newPasswordOptional: 'New Password (leave blank to keep)',
loadFailed: 'Failed to load users',
deleteConfirm: 'Delete this user?',
enable: 'Enable',
disable: 'Disable',
roles: {
superAdmin: 'Super Admin',
admin: 'Admin',
},
status: {
active: 'Active',
disabled: 'Disabled',
},
},
// Common
@@ -686,10 +716,10 @@ export default {
export: 'Export',
rename: 'Rename',
delete: 'Delete',
switchTo: 'Switch to',
switchConfirm: 'Switching to profile "{name}" will restart the gateway. Continue?',
switchSuccess: 'Switched to profile "{name}"',
switchFailed: 'Failed to switch profile. Gateway may need manual restart.',
switchTo: 'Switch Hermes Profile',
switchConfirm: 'This will run `hermes profile use {name}` and change the active Hermes CLI profile. Continue?',
switchSuccess: 'Hermes active profile switched to "{name}"',
switchFailed: 'Failed to switch Hermes profile. Gateway may need manual restart.',
createSuccess: 'Profile "{name}" created',
createFailed: 'Failed to create profile',
renameSuccess: 'Profile renamed',
@@ -776,7 +806,8 @@ export default {
saveFailed: 'Save failed',
tabs: {
display: 'Display',
account: 'Account',
account: 'Current Account',
users: 'Account Management',
agent: 'Agent',
memory: 'Memory',
compression: 'Compression',