diff --git a/config/scripts/locale-ko-key-overrides.json b/config/scripts/locale-ko-key-overrides.json
index d5648b40fbd..9b40ad61f50 100644
--- a/config/scripts/locale-ko-key-overrides.json
+++ b/config/scripts/locale-ko-key-overrides.json
@@ -5043,9 +5043,9 @@
"ko": "모두 선택"
},
"auto.components.right.sidebar.AiVaultPanelControls.clearAgents": {
- "ko": "지우기"
+ "ko": "모두 해제"
},
- "auto.components.right.sidebar.AiVaultPanel.selectAtLeastOneAgent": {
- "ko": "에이전트를 하나 이상 선택하세요"
+ "auto.components.right.sidebar.AiVaultPanel.noAgentsSelected": {
+ "ko": "선택된 에이전트가 없습니다"
}
}
diff --git a/src/renderer/src/components/right-sidebar/AiVaultPanelControls.tsx b/src/renderer/src/components/right-sidebar/AiVaultPanelControls.tsx
index b915554c3e1..0a82ca00e2b 100644
--- a/src/renderer/src/components/right-sidebar/AiVaultPanelControls.tsx
+++ b/src/renderer/src/components/right-sidebar/AiVaultPanelControls.tsx
@@ -39,6 +39,9 @@ import type { AiVaultHostScopeOption } from './ai-vault-host-scope'
const VAULT_HEADER_CONTROL_CLASS = 'size-6 shrink-0'
+const AGENT_BULK_ACTION_CLASS =
+ 'rounded-full px-2 py-0.5 text-[11px] font-normal text-muted-foreground focus:text-foreground'
+
// Why: match ToggleGroup's spacing+outline qualifiers so selected edges out-specify its border-l-0 collapse.
const VAULT_SCOPE_SELECTED_EDGE_CLASS =
'data-[spacing=0]:data-[variant=outline]:aria-[checked=true]:border-l data-[spacing=0]:data-[variant=outline]:data-[state=on]:border-l'
@@ -294,30 +297,32 @@ export function VaultViewMenu({
{translate('auto.components.right.sidebar.AiVaultPanelControls.agents', 'Agents')}
+ {/* Why: real menu items so arrow keys reach them; plain buttons are skipped by Radix roving focus. */}
-
-
+
{AI_VAULT_AGENTS.map((agent) => (
diff --git a/src/renderer/src/components/right-sidebar/AiVaultSessionVirtualList.tsx b/src/renderer/src/components/right-sidebar/AiVaultSessionVirtualList.tsx
index 6735d0e0857..026e9ad1d75 100644
--- a/src/renderer/src/components/right-sidebar/AiVaultSessionVirtualList.tsx
+++ b/src/renderer/src/components/right-sidebar/AiVaultSessionVirtualList.tsx
@@ -186,8 +186,8 @@ export function AiVaultSessionVirtualList({
title={
noAgentsSelected
? translate(
- 'auto.components.right.sidebar.AiVaultPanel.selectAtLeastOneAgent',
- 'Select at least one agent'
+ 'auto.components.right.sidebar.AiVaultPanel.noAgentsSelected',
+ 'No agents selected'
)
: translate(
'auto.components.right.sidebar.AiVaultPanel.noSessionsMatchFilters',
diff --git a/src/renderer/src/i18n/locales/en.json b/src/renderer/src/i18n/locales/en.json
index ac4d3feba20..641b9b018a7 100644
--- a/src/renderer/src/i18n/locales/en.json
+++ b/src/renderer/src/i18n/locales/en.json
@@ -11202,7 +11202,7 @@
"transcriptsSkipped": "{{count}} transcript skipped",
"noAgentSessionsFound": "No agent sessions found",
"noSessionsMatchFilters": "No sessions match the current filters",
- "selectAtLeastOneAgent": "Select at least one agent",
+ "noAgentsSelected": "No agents selected",
"sessionId": "Session ID",
"logPath": "Log path",
"originalPaneUnavailable": "Original pane is no longer available.",
diff --git a/src/renderer/src/i18n/locales/es.json b/src/renderer/src/i18n/locales/es.json
index c64d613a0c0..f251c3e0fa9 100644
--- a/src/renderer/src/i18n/locales/es.json
+++ b/src/renderer/src/i18n/locales/es.json
@@ -11091,7 +11091,7 @@
"transcriptsSkipped": "{{count}} transcripciones omitidas",
"noAgentSessionsFound": "No se encontraron sesiones de agentes",
"noSessionsMatchFilters": "Ninguna sesión coincide con los filtros actuales",
- "selectAtLeastOneAgent": "Selecciona al menos un agente",
+ "noAgentsSelected": "Ningún agente seleccionado",
"sessionId": "ID de sesión",
"logPath": "Ruta del log",
"agents": "Agentes",
diff --git a/src/renderer/src/i18n/locales/ja.json b/src/renderer/src/i18n/locales/ja.json
index cce3561f51b..0e53b3b1e29 100644
--- a/src/renderer/src/i18n/locales/ja.json
+++ b/src/renderer/src/i18n/locales/ja.json
@@ -11091,7 +11091,7 @@
"transcriptsSkipped": "{{count}} transcript skipped",
"noAgentSessionsFound": "No agent sessions found",
"noSessionsMatchFilters": "No sessions match the current filters",
- "selectAtLeastOneAgent": "エージェントを1つ以上選択してください",
+ "noAgentsSelected": "エージェントが選択されていません",
"sessionId": "セッション ID",
"logPath": "ログパス",
"agents": "エージェント",
diff --git a/src/renderer/src/i18n/locales/ko.json b/src/renderer/src/i18n/locales/ko.json
index fb29c97f300..d44e2d7501f 100644
--- a/src/renderer/src/i18n/locales/ko.json
+++ b/src/renderer/src/i18n/locales/ko.json
@@ -11091,7 +11091,7 @@
"transcriptsSkipped": "대화 기록 {{count}}개 건너뜀",
"noAgentSessionsFound": "agent 세션을 찾을 수 없습니다",
"noSessionsMatchFilters": "현재 필터와 일치하는 세션이 없습니다",
- "selectAtLeastOneAgent": "에이전트를 하나 이상 선택하세요",
+ "noAgentsSelected": "선택된 에이전트가 없습니다",
"sessionId": "세션 ID",
"logPath": "로그 경로",
"agents": "에이전트",
@@ -11118,7 +11118,7 @@
"viewOptions": "보기 옵션",
"agents": "에이전트",
"selectAllAgents": "모두 선택",
- "clearAgents": "지우기",
+ "clearAgents": "모두 해제",
"sort": "정렬",
"lastUpdated": "마지막 업데이트",
"created": "생성됨",
diff --git a/src/renderer/src/i18n/locales/zh.json b/src/renderer/src/i18n/locales/zh.json
index f645e1f272d..626cbcc869b 100644
--- a/src/renderer/src/i18n/locales/zh.json
+++ b/src/renderer/src/i18n/locales/zh.json
@@ -11091,7 +11091,7 @@
"transcriptsSkipped": "跳过了 {{count}} 个记录",
"noAgentSessionsFound": "未找到智能体会话",
"noSessionsMatchFilters": "没有会话符合当前筛选条件",
- "selectAtLeastOneAgent": "请至少选择一个智能体",
+ "noAgentsSelected": "未选择任何智能体",
"sessionId": "会话 ID",
"logPath": "日志路径",
"agents": "智能体",