feat(web-ui): add pinned sessions and live monitor in Chat (#118)

* feat: add single-page live session monitor and chat pinning

* fix: restore full test green after main merge

* fix: use Array.from instead of Set spread for ts-node compatibility

[...new Set()] requires downlevelIteration which isn't enabled in
ts-node dev mode, causing sonic-boom crash on startup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: ekko <fqsy1416@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Zhicheng Han
2026-04-22 02:09:58 +02:00
committed by GitHub
parent 83ad9642e2
commit 3f88553765
34 changed files with 2497 additions and 278 deletions
+15
View File
@@ -73,6 +73,17 @@ export default {
deleteSession: '이 세션을 삭제하시겠습니까?',
sessionDeleted: '세션이 삭제되었습니다',
rename: '이름 변경',
pin: '고정',
unpin: '고정 해제',
pinned: '고정됨',
chatMode: '채팅',
liveMode: '라이브',
liveSessions: '라이브 세션',
recentBadge: '최근',
linkedSessions: '{count}개 연결됨',
noVisibleMessages: '사람이 볼 수 있는 메시지가 없습니다.',
monitorRoleUser: '사용자',
monitorRoleAssistant: '어시스턴트',
copySessionId: '세션 ID 복사',
renamed: '이름이 변경되었습니다',
renameFailed: '이름 변경 실패',
@@ -338,6 +349,10 @@ export default {
idleMinutes: '유휴 시간초과',
idleMinutesHint: '자동 초기화 대기 시간 (분)',
atHour: '예약 초기화 시간',
humanOnly: '사람 세션만 표시',
humanOnlyHint: '하위 에이전트 및 세션 모니터 노이즈를 기본으로 숨깁니다',
liveMonitorHumanOnly: '라이브 모니터: 사람 세션만 표시',
liveMonitorHumanOnlyHint: '라이브 모니터에서 하위 에이전트 및 세션 모니터 노이즈를 기본으로 숨깁니다',
atHourHint: '매일 지정한 시간에 세션 초기화',
},
privacy: {