feat: add username/password login, account settings, and changelog (#133) (#134)

- Add username/password login as additional auth mechanism alongside existing token
- First login must use token; password can be configured in Settings > Account
- Password login returns the existing static token (no auth middleware changes)
- Add account settings: setup, change password, change username, remove password
- Add logout button to sidebar footer
- Add version changelog popup (click version number in sidebar)
- Support all 8 locales (en, zh, de, es, fr, ja, ko, pt)
- Bump version to 0.4.3

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-04-22 20:27:33 +08:00
committed by GitHub
parent 6f69c69802
commit 70ddbd0bcd
19 changed files with 1155 additions and 16 deletions
+44
View File
@@ -8,6 +8,32 @@ export default {
tokenRequired: 'Por favor, insira seu token de acesso',
invalidToken: 'Token invalido',
connectionFailed: 'Nao foi possivel conectar ao servidor',
passwordLogin: 'Senha',
tokenLogin: 'Token',
usernamePlaceholder: 'Nome de usuario',
passwordPlaceholder: 'Senha',
credentialsRequired: 'Por favor, insira nome de usuario e senha',
invalidCredentials: 'Nome de usuario ou senha incorretos',
passwordMismatch: 'As senhas nao conferem',
passwordTooShort: 'A senha deve ter pelo menos 6 caracteres',
setupSuccess: 'Login por senha configurado com sucesso',
passwordChanged: 'Senha alterada com sucesso',
passwordRemoved: 'Login por senha removido',
setupPassword: 'Configurar login por senha',
changePassword: 'Alterar senha',
changeUsername: 'Alterar nome de usuario',
removePasswordLogin: 'Remover',
username: 'Nome de usuario',
currentPassword: 'Senha atual',
newPassword: 'Nova senha',
confirmPassword: 'Confirmar senha',
newUsername: 'Novo nome de usuario',
usernameChanged: 'Nome de usuario alterado com sucesso',
usernameTooShort: 'O nome de usuario deve ter pelo menos 2 caracteres',
setupDescription: 'Configure um nome de usuario e senha para login conveniente. O token de acesso continuara funcionando como backup.',
removeConfirm: 'Tem certeza de que deseja remover o login por senha? Voce precisara usar o token de acesso.',
passwordLoginNotConfigured: 'Login por senha nao configurado',
passwordLoginConfigured: 'Login por senha habilitado ({username})',
},
// Common
@@ -57,6 +83,9 @@ export default {
updating: 'Atualizando...',
updateSuccess: 'Atualizacao concluida, por favor reinicie o servidor',
updateFailed: 'Falha na atualizacao',
logout: 'Sair',
changelog: 'Registro de alteracoes',
noChangelog: 'Nenhum registro disponivel',
},
// Chat
@@ -291,6 +320,7 @@ export default {
saveFailed: 'Falha ao salvar',
tabs: {
display: 'Exibicao',
account: 'Conta',
agent: 'Agente',
memory: 'Memoria',
session: 'Sessao',
@@ -470,4 +500,18 @@ export default {
cost: 'Custo',
noData: 'Sem dados de uso',
},
// Registro de alteracoes
changelog: {
new_0_4_3_1: 'Adicionar login por usuario/senha junto com autenticacao por token',
new_0_4_3_2: 'Adicionar configuracoes de conta para gerenciar credenciais',
new_0_4_3_3: 'Adicionar botao de sair na barra lateral',
new_0_4_3_4: 'Adicionar popup de registro de alteracoes ao clicar no numero da versao',
new_0_4_2_1: 'Adicionar rastreamento de uso de tokens e comprimento de contexto dinamico',
new_0_4_2_2: 'Adicionar modal de busca de sessoes',
new_0_4_2_3: 'Restaurar sistema de chat em grupo com Socket.IO e SQLite',
new_0_4_2_4: 'Adicionar sessoes fixas e monitor ao vivo na pagina de chat',
new_0_4_2_5: 'Corrigir deteccao de provedores integrados e combinacao de modelos',
new_0_4_1_1: 'Corrigir bypass de autenticacao e servico de arquivos SPA',
},
}