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: '액세스 토큰을 입력해 주세요',
invalidToken: '유효하지 않은 토큰입니다',
connectionFailed: '서버에 연결할 수 없습니다',
passwordLogin: '비밀번호',
tokenLogin: '토큰',
usernamePlaceholder: '사용자 이름',
passwordPlaceholder: '비밀번호',
credentialsRequired: '사용자 이름과 비밀번호를 입력해 주세요',
invalidCredentials: '사용자 이름 또는 비밀번호가 올바르지 않습니다',
passwordMismatch: '비밀번호가 일치하지 않습니다',
passwordTooShort: '비밀번호는 6자 이상이어야 합니다',
setupSuccess: '비밀번호 로그인이 설정되었습니다',
passwordChanged: '비밀번호가 변경되었습니다',
passwordRemoved: '비밀번호 로그인이 제거되었습니다',
setupPassword: '비밀번호 로그인 설정',
changePassword: '비밀번호 변경',
changeUsername: '사용자 이름 변경',
removePasswordLogin: '제거',
username: '사용자 이름',
currentPassword: '현재 비밀번호',
newPassword: '새 비밀번호',
confirmPassword: '비밀번호 확인',
newUsername: '새 사용자 이름',
usernameChanged: '사용자 이름이 변경되었습니다',
usernameTooShort: '사용자 이름은 2자 이상이어야 합니다',
setupDescription: '사용자 이름과 비밀번호를 설정하여 편리하게 로그인하세요. 액세스 토큰은 백업으로 계속 사용할 수 있습니다.',
removeConfirm: '비밀번호 로그인을 제거하시겠습니까? 액세스 토큰을 사용하여 로그인해야 합니다.',
passwordLoginNotConfigured: '비밀번호 로그인 미설정',
passwordLoginConfigured: '비밀번호 로그인 활성화됨 ({username})',
},
// 공통
@@ -57,6 +83,9 @@ export default {
updating: '업데이트 중...',
updateSuccess: '업데이트 완료, 서버를 재시작해 주세요',
updateFailed: '업데이트 실패',
logout: '로그아웃',
changelog: '변경 이력',
noChangelog: '변경 이력이 없습니다',
},
// 채팅
@@ -291,6 +320,7 @@ export default {
saveFailed: '저장 실패',
tabs: {
display: '표시',
account: '계정',
agent: '에이전트',
memory: '메모리',
session: '세션',
@@ -470,4 +500,18 @@ export default {
cost: '비용',
noData: '사용량 데이터 없음',
},
// 변경 이력
changelog: {
new_0_4_3_1: '토큰 인증과 함께 사용자 이름/비밀번호 로그인 추가',
new_0_4_3_2: '자격 증명 관리를 위한 계정 설정 추가',
new_0_4_3_3: '사이드바에 로그아웃 버튼 추가',
new_0_4_3_4: '버전 번호 클릭으로 변경 이력 팝업 추가',
new_0_4_2_1: '토큰 사용량 추적 및 동적 컨텍스트 길이 추가',
new_0_4_2_2: '세션 검색 모달 추가',
new_0_4_2_3: 'Socket.IO 및 SQLite로 그룹 채팅 시스템 복원',
new_0_4_2_4: '채팅 페이지에 고정 세션 및 라이브 모니터 추가',
new_0_4_2_5: '내장 프로바이더 감지 및 모델 매칭 수정',
new_0_4_1_1: '인증 우회 및 SPA 파일 서비스 수정',
},
}