= {
'contextIndicator.free': '剩余',
'contextIndicator.window': '窗口',
'contextIndicator.loading': '正在加载上下文用量...',
+ 'contextIndicator.pendingDetail': '会话启动后计算上下文用量。',
'contextIndicator.unavailable': '不可用',
'contextIndicator.unavailableDetail': '此会话暂时无法获取上下文用量。',
'contextIndicator.updatedUnknown': '尚未刷新',
diff --git a/desktop/src/pages/EmptySession.tsx b/desktop/src/pages/EmptySession.tsx
index 4d197d0c..3655d22f 100644
--- a/desktop/src/pages/EmptySession.tsx
+++ b/desktop/src/pages/EmptySession.tsx
@@ -13,6 +13,7 @@ import { DirectoryPicker } from '../components/shared/DirectoryPicker'
import { PermissionModeSelector } from '../components/controls/PermissionModeSelector'
import { ModelSelector } from '../components/controls/ModelSelector'
import { AttachmentGallery } from '../components/chat/AttachmentGallery'
+import { ContextUsageIndicator } from '../components/chat/ContextUsageIndicator'
import { FileSearchMenu, type FileSearchMenuHandle } from '../components/chat/FileSearchMenu'
import { LocalSlashCommandPanel, type LocalSlashCommandName } from '../components/chat/LocalSlashCommandPanel'
import {
@@ -63,6 +64,12 @@ export function EmptySession() {
const connectToSession = useChatStore((state) => state.connectToSession)
const setActiveView = useUIStore((state) => state.setActiveView)
const addToast = useUIStore((state) => state.addToast)
+ const currentModel = useSettingsStore((state) => state.currentModel)
+ const draftRuntimeSelection = useSessionRuntimeStore((state) => state.selections[DRAFT_RUNTIME_SELECTION_KEY])
+ const draftRuntimeSelectionKey = draftRuntimeSelection
+ ? `${draftRuntimeSelection.providerId ?? 'official'}:${draftRuntimeSelection.modelId}`
+ : undefined
+ const draftModelLabel = draftRuntimeSelection?.modelId ?? currentModel?.name ?? currentModel?.id
useEffect(() => {
textareaRef.current?.focus()
@@ -667,6 +674,13 @@ export function EmptySession() {
+