Back to Chatbox

UI 页面和组件清单

docs/ui-inventory.md

1.22.3238.2 KB
Original Source

UI 页面和组件清单

Generated by node scripts/generate-ui-inventory.mjs at 2026-07-04T17:57:13.774Z.

This inventory is code-derived from src/renderer/routes, src/renderer/components, and src/renderer/modals. It lists UI pages, route-local components, shared components, modals, Storybook stories, detected platform visibility, responsive preview modes, UI states, variants, and user-facing text keys/literals. Regenerate it after adding or moving UI files.

Summary

  • Total UI TSX files: 230
  • By kind: component 131, story 20, modal 18, ui 2, page 34, route-component 25
  • By area: app 76, chat 10, common 25, input 10, knowledge-base 6, layout 7, message-parts 1, model-selector 5, session 3, settings 37, modal 18, copilots 9, dev 7, guide 6, image-creator 10
  • By platform signal: all 200, mobile 19, desktop 14, web 2
  • Dev preview: /dev/ui-inventory

Pages

routes/about

  • Source: src/renderer/routes/about.tsx
  • Metadata: kind: page; area: app; route: /about
  • Components: DesktopUpdateSection, List, ListItem, MobileUpdateHint, Route, RouteComponent, UpdateSection, WechatQRCode
  • Platform signals: desktop
  • Platform notes: checks platform.type === desktop, responsive branch via isSmallScreen/useIsSmallScreen, uses isDesktop state/prop
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: error, isDesktop, isSmallScreen, loading, opened
  • Variants: color:chatbox-brand, default, filled, light, size:md, size:sm, size:xs
  • Text: About, about-introduction, about-slogan, Already up to date, Changelog, Check Update, Checking..., Download from official site, Downloading..., E-mail, FAQs, Feedback, Github, New version available, Official Site, Privacy Policy, QR Code, RedNote, Restart & Update, Retry, Survey, Update failed, User Terms, WeChat, X(Twitter)
  • Source: src/renderer/routes/copilots/featured.tsx
  • Metadata: kind: page; area: copilots; route: /copilots/featured
  • Components: FeaturedCopilots, PAGE_SIZE, Route, TagChip
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: hasNextPage, isFetchingNextPage, isLoading, loading, selected, selectedTag
  • Variants: color:chatbox-brand, outline, size:sm
  • Text: All, Load More, Loading..., No featured copilots available.

routes/copilots

  • Source: src/renderer/routes/copilots/index.tsx
  • Metadata: kind: page; area: copilots; route: /copilots/
  • Components: Copilots, MAX_ITEMS_PER_SECTION, Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: checked
  • Variants: outline, size:compact-xs, size:md, size:sm, size:xs
  • Text: Chatbox Featured, Create, My Created & Added Copilots, No copilots yet. Create your first one!, See All, Settings, Show My Copilots in New Conversations

routes/copilots/my

  • Source: src/renderer/routes/copilots/my.tsx
  • Metadata: kind: page; area: copilots; route: /copilots/my
  • Components: MyCopilots, Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: size:sm
  • Text: No copilots yet. Create your first one!

routes/copilots/route

  • Source: src/renderer/routes/copilots/route.tsx
  • Metadata: kind: page; area: copilots; route: /copilots
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: isFeatured, isMy, isOnSearchPage, isSearch, isSmallScreen
  • Variants: color:chatbox-secondary, size:lg, subtle
  • Text: Chatbox Featured, My Copilots, My Created & Added Copilots, Search
  • Source: src/renderer/routes/copilots/search.tsx
  • Metadata: kind: page; area: copilots; route: /copilots/search
  • Components: CopilotSearch, PAGE_SIZE, Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: hasNextPage, isFetchingNextPage, isLoading, loading
  • Variants: color:chatbox-brand, outline, size:sm
  • Text: Chatbox Featured, Load More, Loading..., My Created & Added Copilots, No copilots matched your search.

routes/dev/context-generator

  • Source: src/renderer/routes/dev/context-generator.tsx
  • Metadata: kind: page; area: dev; route: /dev/context-generator
  • Components: ContextGeneratorPage, MAX_MESSAGES, Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: checked, disabled, generatedMessages, generationMode, includeSystemPrompt, isSaving, lengthPreset, loading, messageCount, sessionName, targetTokens
  • Variants: color:blue, color:red, light, long, medium, mixed, short, size:lg, size:sm, size:xl, subtle
  • Text: Avg Tokens/Message, Clear, Context Generator, Dev Tool, Generate, Generation Mode, Generation Settings, Include System Prompt, Message Length, Messages, Number of Messages, Preview, Regenerate, Role, Save as Session, Session name (optional), Target Token Count, Tokens, Total Tokens

routes/dev/css-var

  • Source: src/renderer/routes/dev/css-var.tsx
  • Metadata: kind: page; area: dev; route: /dev/css-var
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: error, success
  • Variants: color:chatbox-primary, filled, light, outline, subtle, transparent, white
  • Text: CSS Variables Preview, Filled, Light, Outline, Subtle, Transparent, White

routes/dev

  • Source: src/renderer/routes/dev/index.tsx
  • Metadata: kind: page; area: dev; route: /dev/
  • Components: DevControlsPanel, DevIndexPage, Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: active, checked, forceShowNewUserScenarioCards, showGuideDevButtons
  • Variants: color:blue, light, size:lg, size:sm, size:xs
  • Text: Complete generated catalog of UI pages, components, states, text, and preview links, Component Previews, Context Generator, CSS Variables Preview, Dev Tools, Development Mode, Force the New Chat page to show onboarding scenario cards., FORCE_ENABLE_DEV_PAGES, Generate fake conversation context for testing context management and token estimation, How to Add New Previews, Inspect key-value and blob storage entries provided by the unified platform layer, Inspect local libsql state for session attachment RAG, No component previews available yet, Open Preview, Runtime Controls, Session RAG Inspector, Show guide debug actions on the Getting Started page., Storage Explorer, These dev tools are hidden in production builds unless, UI Inventory

routes/dev/route

  • Source: src/renderer/routes/dev/route.tsx
  • Metadata: kind: page; area: dev; route: /dev
  • Components: DevLayout, Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: None detected
  • Text: None detected

routes/dev/session-rag

  • Source: src/renderer/routes/dev/session-rag.tsx
  • Metadata: kind: page; area: dev; route: /dev/session-rag
  • Components: Route, SessionRagDevPage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: size:xl
  • Text: None detected

routes/dev/storage

  • Source: src/renderer/routes/dev/storage.tsx
  • Metadata: kind: page; area: dev; route: /dev/storage
  • Components: Route, StorageViewerPage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: blobKeys, detail, disabled, entries, error, isArray, loading, opened, search
  • Variants: color:blue, color:gray, light, size:lg, size:sm, size:xl, size:xs, subtle
  • Text: Actions, Blob Store, Key, Key-Value Store, Preview, Preview stored JSON values. Click "View" to open the full payload., Refresh, Search by key or preview, Size, Storage Explorer, Type, View

routes/dev/ui-inventory

  • Source: src/renderer/routes/dev/ui-inventory.tsx
  • Metadata: kind: page; area: dev; route: /dev/ui-inventory
  • Components: ComponentPreview, InfoRow, InventoryCard, Metric, PreviewFrame, PreviewLinks, PreviewMiniPanel, Route, StatePreviewCard, StatePreviewGrid, UiInventoryPage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: active, activeArea, activeKind, activePlatform, activePreviewHref, disabled, error, expanded, hasRealPreview, loading, opened, previewItem, query, selected, success, visible
  • Variants: color:blue, color:gray, color:green, default, filled, light, outline, size:sm, size:xl, size:xs
  • Text: All areas, Area, Components, Desktop-specific, Detected State Checklist, Live Previews, Markdown, Missing fixtures, Missing real fixture, Modals, No explicit component states were detected in source., No inventory entries match the current filters., No preview target selected., Pages, Platform Notes, Platform Signal, Platform Signals, Preview Data, Preview Modes, Real component preview, Real previews, Real rendered preview, Search, Search path, component, state, variant, or text, States, Stories, Storybook links require pnpm storybook on port 6006., Text, UI Inventory, UI TSX files, Variants

routes/guide

  • Source: src/renderer/routes/guide/index.tsx
  • Metadata: kind: page; area: guide; route: /guide/
  • Components: GuidePage, Route
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: disabled, error, hasValidConfig, inputValue, isGuideInProgress, isLastMessage, isLoading, isSmallScreen, isStreaming, pendingLanguage, visible
  • Variants: color:red, filled, size:sm, size:xs, subtle
  • Text: Cancel, Chatbox Guide, Debug Actions, Getting Started, Guide debug actions, Leave, Leave Guide?, Reset Guide, Select Language, Skip to Login Success, Stay, Switch language, Switch Language?, Switching language will restart the guide and clear your current progress., Trigger Round Limit, Type your Chatbox AI-related question here

routes/image-creator

  • Source: src/renderer/routes/image-creator/index.tsx
  • Metadata: kind: page; area: image-creator; route: /image-creator/
  • Components: ImageCreatorPage, InputToolbar, Route
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: disabled, error, hasExpiredLicense, hasLicense, hasNextPage, isCurrentlyGenerating, isExceeded, isExceededResolved, isFetchingNextPage, isLoading, isLoggedIn, isRetrying, isSmallScreen, isTempUpload, prompt, referenceImages, selected, selectedModel, selectedProvider, selectedRatio, showHistory, showMobileHistory, showModelDrawer, showRatioDrawer
  • Variants: color:gray, color:white, filled, light, size:compact-md, size:md, size:sm, size:xs, subtle
  • Text: AI-generated images may not be accurate. Review output carefully., Describe the image you want to create..., History, Image Creator, New Creation, No models available, Please log in to Chatbox AI first, Please select a model, Resume Generation, Upload

routes

  • Source: src/renderer/routes/index.tsx
  • Metadata: kind: page; area: app; route: /
  • Components: CopilotItem, CopilotPicker, Index, MAX_COPILOTS_TO_SHOW, Route
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: error, forceShowNewUserScenarioCards, hasCompletedFirstSuccessfulChat, hasExpiredLicense, hasLicense, isExceeded, isExceededResolved, isLoggedIn, isSmallScreen, selected, session
  • Variants: color:chatbox-tertiary, size:xxs, transparent
  • Text: My Copilots, View All Copilots, What can I help you with today?

routes/session/:sessionId

  • Source: src/renderer/routes/session/$sessionId.tsx
  • Metadata: kind: page; area: app; route: /session/$sessionId
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: error, hasExpiredLicense, hasLicense, isExceeded, isExceededResolved, isFetching, isLoggedIn
  • Variants: outline
  • Text: Back to HomePage, Conversation not found

routes/settings/archive

  • Source: src/renderer/routes/settings/archive.tsx
  • Metadata: kind: page; area: settings; route: /settings/archive
  • Components: ArchivedSessionRow, Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: busySessionIds, disabled, error, hasNextPage, isFetchingNextPage, isLoading, loading
  • Variants: color:chatbox-tertiary, color:red, size:sm, subtle
  • Text: Archived Chats, Archived chats are hidden from the chat list. You can restore or permanently delete them here., Delete, Load More, No archived chats, Restore

routes/settings/chat

  • Source: src/renderer/routes/settings/chat.tsx
  • Metadata: kind: page; area: settings; route: /settings/chat
  • Components: ContextManagementSection, MAX_IMAGE_SIZE, Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: checked, disabled
  • Variants: color:chatbox-gray, outline, size:sm, size:xs, subtle
  • Text: Auto Compaction, Auto-collapse code blocks, Auto-Generate Chat Titles, Auto-preview artifacts, Automatically render generated artifacts (e.g., HTML with CSS, JS, Tailwind), Automatically summarize and compact conversation history when context size exceeds the threshold, preserving key information while reducing token usage., Background Image, Balanced: Good balance between cost and context preservation, Chat Settings, Compaction Threshold, Context, Context Management, Context Priority: Preserves more context, uses more tokens, Conversation Settings, Cost, Cost Priority: Compacts early to save tokens, may lose some context, Default Assistant Avatar, Default Settings for New Conversation, Delete, Display, e.g., Model Name, Current Date, Edit Avatars, Function, Inject default metadata, LaTeX Rendering (Requires Markdown), Markdown Rendering, Mermaid Diagrams & Charts Rendering, Modify the creativity of AI responses; the higher the value, the more random and intriguing the answers become, while a lower value ensures greater stability and reliability., Paste long text as a file, Pasting long text will automatically insert it as a file, keeping chats clean and reducing token usage with prompt caching., Prompt, Remove, Reset to Default, Show Avatar, show first token latency, show message timestamp, show message token count, show message token usage, show message word count, show model name, Spell Check, Stream output, Support jpg or png file smaller than 5MB, Temperature, The percentage of context window usage that triggers automatic compaction. Lower values save tokens but may lose context earlier., The topP parameter controls the diversity of AI responses: lower values make the output more focused and predictable, while higher values allow for more varied and creative replies., Top P, Upload Image, User Avatar, When enabled, conversations will be automatically summarized to manage context window usage.

routes/settings/chatbox-ai

  • Source: src/renderer/routes/settings/chatbox-ai.tsx
  • Metadata: kind: page; area: settings; route: /settings/chatbox-ai
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: containerHeight, isLoggedIn, licenseModalState, opened, viewMode
  • Variants: None detected
  • Text: None detected

routes/settings/default-models

  • Source: src/renderer/routes/settings/default-models.tsx
  • Metadata: kind: page; area: settings; route: /settings/default-models
  • Components: ModelSelectContent, Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: isEmbeddingModel, isRerankModel, selected
  • Variants: size:xs
  • Text: Auto, Auto (Use Chat Model), Auto (Use Chatbox AI), Auto (Use Last Used), Chatbox OCRs images with this model and sends the text to models without image support., Chatbox will automatically use this model to construct search term., Chatbox will automatically use this model to rename threads., Chatbox will use this model as the default for new chats., Default Chat Model, Default Embedding Model, Default Models, Default Reranking Model, Default Thread Naming Model, None, OCR Model, Search Term Construction Model, When selected, Chatbox will use this model instead of the automatic Chatbox AI embedding model., When selected, Chatbox will use this model instead of the automatic Chatbox AI reranking model.

routes/settings/document-parser

  • Source: src/renderer/routes/settings/document-parser.tsx
  • Metadata: kind: page; area: settings; route: /settings/document-parser
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: None detected
  • Text: None detected

routes/settings/general

  • Source: src/renderer/routes/settings/general.tsx
  • Metadata: kind: page; area: settings; route: /settings/general
  • Components: DataRecoverySection, ExportLogsSection, ImportExportDataSection, Route, RouteComponent
  • Platform signals: desktop
  • Platform notes: checks platform.type === desktop
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: checked, disabled, error, exportItems, exportResult, hasPartialFailure, importTips, isArray, isExporting, isFirstItem, isImporting, isLoading, isRecovering, loading, recoveryResult, showStorageInfo, storageEstimate, storagePersisted, success
  • Variants: color:red, color:yellow, light, primary, size:sm, size:xs, subtle
  • Text: {{count}} conversations could not be recovered due to data read errors, API KEY & License, Automatic updates, Beta updates, Chat History, Chatbox respects your privacy and only uploads anonymous error data and events when necessary. You can change your preferences at any time in the settings., Clear Logs, Dark Mode, Data Backup, Data Recovery, Data Restore, Diagnostic Logs, Display Settings, Enable optional anonymous reporting of crash and event data, Error Reporting, Export application logs for troubleshooting. These logs may be requested by support to help diagnose issues., Export failed, Export Logs, Export Selected Data, Exporting..., Follow System, Font Size, General Settings, Home Page, If conversations are missing from the list, use this feature to scan and recover them from storage, Import and Restore, Import failed, unsupported data format, Importing..., Language, Last Session, Launch at system startup, Light Mode, My Copilots, Network Proxy, Recover Conversation List, Recovered {{count}} conversations, Recovering..., Recovery failed, Settings, socks5://127.0.0.1:6153, Startup Page, The conversation list has been successfully recovered, Theme, Unknown error, Upon import, changes will take effect immediately and existing data will be overwritten

routes/settings/hotkeys

  • Source: src/renderer/routes/settings/hotkeys.tsx
  • Metadata: kind: page; area: settings; route: /settings/hotkeys
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: None detected
  • Text: None detected

routes/settings

  • Source: src/renderer/routes/settings/index.tsx
  • Metadata: kind: page; area: settings; route: /settings/
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: isSmallScreen
  • Variants: None detected
  • Text: None detected

routes/settings/knowledge-base

  • Source: src/renderer/routes/settings/knowledge-base.tsx
  • Metadata: kind: page; area: settings; route: /settings/knowledge-base
  • Components: Route
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: None detected
  • Text: None detected

routes/settings/mcp

  • Source: src/renderer/routes/settings/mcp.tsx
  • Metadata: kind: page; area: settings; route: /settings/mcp
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: error, installConfig
  • Variants: None detected
  • Text: MCP Settings

routes/settings/provider/:providerId

  • Source: src/renderer/routes/settings/provider/$providerId.tsx
  • Metadata: kind: page; area: settings; route: /settings/provider/$providerId
  • Components: BUILTIN_API_HOST_PROVIDERS, OAUTH_ONLY_PROVIDERS, ProviderSettings, Route, RouteComponent
  • Platform signals: desktop
  • Platform notes: uses isDesktop state/prop
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: checked, codeInputInstructions, codeInputValue, deviceUserCode, deviceVerificationUri, disabled, error, fetchedModels, fetchingModels, hasOAuth, isCustom, isDesktop, isOAuthActive, isOAuthOnlyProvider, loading, modelTestResult, oauthLoading, opened, selectedTestModel, showCodeInput, showDeviceCode, showTestModelSelector, success
  • Variants: color:chatbox-error, color:chatbox-gray, color:green, color:red, color:var(--chatbox-tint-error), color:var(--chatbox-tint-success), color:var(--chatbox-tint-tertiary), default, light, size:compact-sm, size:compact-xs, size:lg, size:md, size:sm, size:xl, size:xs, transparent
  • Text: 2024-05-01-preview, Add at least one model to check connection, AIHubMix integration in Chatbox offers 10% discount, AKIAIOSFODNN7EXAMPLE, already existed, API Host, API Key, API Key is required to check connection, API Mode, API Path, Authentication, Authorization Code, AWS Access Key ID, AWS Access Key ID and Secret Access Key are required to check connection, AWS Region, AWS Secret Access Key, Azure API Version, Azure Endpoint, Cancel, Check, Claude, Claude API Compatible, Confirm, Confirm to delete this custom provider?, Connection failed! Please make sure the API key was copied completely, has no extra spaces, has sufficient balance, matches the provider, and has not expired., Connection successful!, Device Authorization, Ending with / ignores v1, ending with # forces use of input address, Enter the code below on the authorization page, then wait for approval., Failed to fetch models, Fetch, GitHub Copilot, Google Gemini API Compatible, https://<resource_name>.openai.azure.com/, Improve Network Compatibility, Logged in, Login failed, Login with OAuth, Logout, MiniMax, MiniMax CN, Model, Model Test Results, Models, Name, New, No models available, OAuth Login, Open Authorization Page, OpenAI, OpenAI API Compatible, OpenAI Responses API Compatible, Paste code here, Preview, Provider not found, Qwen Portal, Reset, Select Test Model, Setup guide, Testing..., Text Request, This model does not support tool use, This model does not support vision, Tool Use Request, us-east-1, Using OAuth, Vision Request, Waiting for authorization..., When OAuth Login is enabled, OpenAI requests use the Responses transport instead of the legacy Chat Completions transport., wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

routes/settings/provider/chatbox-ai

  • Source: src/renderer/routes/settings/provider/chatbox-ai/index.tsx
  • Metadata: kind: page; area: settings; route: /settings/provider/chatbox-ai/
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: containerHeight, isLoggedIn, licenseModalState, opened, viewMode
  • Variants: None detected
  • Text: None detected

routes/settings/provider

  • Source: src/renderer/routes/settings/provider/index.tsx
  • Metadata: kind: page; area: settings; route: /settings/provider/
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: isSmallScreen
  • Variants: None detected
  • Text: None detected

routes/settings/provider/route

  • Source: src/renderer/routes/settings/provider/route.tsx
  • Metadata: kind: page; area: settings; route: /settings/provider
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: deepLinkConfig, error, isCustom, isExceeded, isImporting, isSmallScreen, newProviderModalOpened, opened
  • Variants: None detected
  • Text: Import Error, Invalid deep link config format

routes/settings/route

  • Source: src/renderer/routes/settings/route.tsx
  • Metadata: kind: page; area: settings; route: /settings
  • Components: ITEMS, Route, RouteComponent, SettingsRoot
  • Platform signals: mobile
  • Platform notes: checks platform.type === mobile, responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Open route preview
  • States: disabled, isChatboxAIActivated, isSmallScreen, success
  • Variants: color:chatbox-secondary, color:chatbox-success, subtle
  • Text: About, Settings

routes/settings/skills

  • Source: src/renderer/routes/settings/skills.tsx
  • Metadata: kind: page; area: settings; route: /settings/skills
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: None detected
  • Variants: size:sm
  • Text: Enabled skills will be available in Task mode., Skills
  • Source: src/renderer/routes/settings/web-search.tsx
  • Metadata: kind: page; area: settings; route: /settings/web-search
  • Components: Route, RouteComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Open route preview
  • States: bochaAvailable, checkingBocha, checkingQuerit, checkingTavily, disabled, error, loading, queritAvailable, success, tavilyAvaliable
  • Variants: color:blue, color:var(--mantine-color-chatbox-gray-5), color:var(--mantine-color-chatbox-success-6), light, size:compact-xs, size:sm, size:xs, transparent
  • Text: API key invalid!, Bing Search is provided for free use, but it may have limitations and is subject to change by Microsoft., BoCha API Key, Chatbox Search is a paid feature with advanced capabilities and better performance., Check, Connection successful!, Enter your Querit API Key, for free now!, Get API Key, Max Results, Maximum number of results to return., Note: If you have never had a license before, you can claim it after logging in on the official website. Quota refreshed daily., Provided tools, Querit API Key, Querit Search Options, Read Webpage, Search Provider, Tavily API Key, Time Range, Time range of the search. For example, the last month., try Chatbox AI, Web Search, You can

Modals

modals/AppStoreRating

  • Source: src/renderer/modals/AppStoreRating.tsx
  • Metadata: kind: modal; area: modal
  • Components: AppStoreRating
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: App Store rating modal rate now and maybe later actions
  • States: error, opened, success, visible
  • Variants: color:chatbox-success, color:var(--chatbox-tint-success), size:md, size:sm, size:xl
  • Text: Enjoying Chatbox?, It only takes a few seconds and helps a lot., Maybe Later, Rate Now, Your rating on the App Store would help make Chatbox even better!

modals/ArtifactPreview

  • Source: src/renderer/modals/ArtifactPreview.tsx
  • Metadata: kind: modal; area: modal
  • Components: ArtifactPreview
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Artifact preview modal html preview refresh and close states
  • States: deploying, disabled, error, isFullscreen, isSmallScreen, opened, reloadSign, success, visible
  • Variants: size:100%, size:md, size:xs, subtle
  • Text: Close, Exit fullscreen, Fullscreen, HTML content is empty, nothing to deploy., Open in Browser, Open in Browser requires a preview URL, Preview, Publish failed, Publish Webpage, Refresh
  • Source: src/renderer/modals/AttachLink.tsx
  • Metadata: kind: modal; area: modal
  • Components: AttachLink
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Attach link modal multiline URL entry states
  • States: input, opened, visible
  • Variants: None detected
  • Text: Attach Link, https://example.com\nhttps://example.com/page, Submit

modals/ClearSessionList

  • Source: src/renderer/modals/ClearSessionList.tsx
  • Metadata: kind: modal; area: modal
  • Components: ClearSessionList
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Clear session list modal numeric retention state
  • States: cleaning, loading, opened, value, visible
  • Variants: None detected
  • Text: Archive, Clear Conversation List, Keep only the Top <input /> Conversations in List and Archive the Rest

modals/ConfirmModal

  • Source: src/renderer/modals/ConfirmModal.tsx
  • Metadata: kind: modal; area: modal
  • Components: ConfirmModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: error, opened, visible
  • Variants: size:sm
  • Text: Cancel, Confirm

modals/ContentViewer

  • Source: src/renderer/modals/ContentViewer.tsx
  • Metadata: kind: modal; area: modal
  • Components: ContentViewer
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Content viewer modal parser index metadata content copy state
  • States: disabled, isBlobLoading, isLoading, opened, visible
  • Variants: light, size:lg, size:sm
  • Text: Content, Copy, No content available

modals/ExportChat

  • Source: src/renderer/modals/ExportChat.tsx
  • Metadata: kind: modal; area: modal
  • Components: ExportChat
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Export chat modal scope format warning states
  • States: format, opened, scope, visible
  • Variants: size:sm
  • Text: Export, Export Chat, Exports are for viewing only. Use Settings → Backup if you need a backup you can restore., Format, Scope

modals/FileParseError

  • Source: src/renderer/modals/FileParseError.tsx
  • Metadata: kind: modal; area: modal
  • Components: FileParseError
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: File parse error modal unknown and file-specific state
  • States: isSessionAttachmentRagAuthError, isSessionAttachmentRagIndexingError, opened, visible
  • Variants: color:orange, light, size:md, size:sm
  • Text: current model, Failed to parse file. Please try again or use a different file format., File, File Processing Error, Large file indexing failed. The file was parsed, but Chatbox could not save the local search index. Remove this file and try uploading it again. If the problem continues, use a smaller file or Knowledge Base., Large file Q&A requires a model with tool use support. Switch to a compatible model or remove this file., This attachment is too large for chat attachments. Please upload it through Knowledge Base instead., This document contains too much text for chat attachments. Please upload it through Knowledge Base instead., This large file needs Chatbox AI to finish indexing. Sign in to Chatbox AI, then retry this file. If you do not want to use Chatbox AI, remove the file and upload a smaller attachment instead., This PDF is password-protected, so its content cannot be read. Remove the password and upload it again., This PDF is too large to process (max {{size}}). Please upload a smaller file.

modals

  • Source: src/renderer/modals/index.tsx
  • Metadata: kind: modal; area: modal
  • Components: index
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Modal registry real NiceModal registration preview
  • States: error
  • Variants: None detected
  • Text: None detected

modals/JsonViewer

  • Source: src/renderer/modals/JsonViewer.tsx
  • Metadata: kind: modal; area: modal
  • Components: JsonViewer
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: JSON viewer modal pretty printed copy state
  • States: opened, visible
  • Variants: light, size:xl
  • Text: copied to clipboard, copy

modals/MessageEdit

  • Source: src/renderer/modals/MessageEdit.tsx
  • Metadata: kind: modal; area: modal
  • Components: MessageEdit, MessageEditModal
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Message edit modal role text parts and save states
  • States: hasNext, hasPrevious, isAtEnd, isAtStart, isDirty, isSmallScreen, opened, showConfirmDialog, visible
  • Variants: color:red, light, size:lg, size:sm
  • Text: Continue Editing, Discard Changes, Discard Changes?, Pick value, prompt, Save, Save & Resend, You have unsaved changes. Exiting will discard these changes.

modals/ModelEdit

  • Source: src/renderer/modals/ModelEdit.tsx
  • Metadata: kind: modal; area: modal
  • Components: ModelEdit
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Model edit modal existing chat model capability states
  • States: capabilities, checked, contextWindow, disabled, error, isNew, maxOutput, modelId, nickname, opened, success, testState, type, visible
  • Variants: light, size:sm, size:xs
  • Text: Advanced Settings, Capabilities, Chat, Context Window, e.g. 128000, e.g. 4096, Edit Model, Embedding, Image, Max Output Tokens, Model ID, Model Type, Nickname, optional, Reasoning, Rerank, Save, Test failed, Test Model, Test successful, Tool use, Vision

modals/ReportContent

  • Source: src/renderer/modals/ReportContent.tsx
  • Metadata: kind: modal; area: modal
  • Components: ReportContent
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Report content modal type and detail states
  • States: content, disabled, isSmallScreen, opened, reportType, visible
  • Variants: None detected
  • Text: Child-inappropriate content, Details, Harmful or offensive content, Hate speech or harassment, Misleading information, Other concerns, Report Content, Report Content ID, Report Type, Sexual content, Spam or advertising, Submit, Thank you for your report, Violence or dangerous content

modals/SessionSettings

  • Source: src/renderer/modals/SessionSettings.tsx
  • Metadata: kind: modal; area: modal
  • Components: ChatConfig, PictureConfig, ReasoningControlConfig, SessionSettingsModal
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Session settings modal chat config background and system prompt states
  • States: checked, editingData, error, isArray, isChatSession, isPictureSession, isSmallScreen, opened, systemPrompt, visible
  • Variants: color:chatbox-brand, color:chatbox-error, default, size:compact-sm, size:lg, size:sm, transparent
  • Text: Background Image, Background Settings, Conversation Settings, Copilot Prompt Demo, Default, Default sends no thinking parameters and lets the model decide, High, Instruction (System Prompt), Low, Max Output Tokens, Medium, Modify the creativity of AI responses; the higher the value, the more random and intriguing the answers become, while a lower value ensures greater stability and reliability., Name, Not set, Number of Images per Reply, Off, On, Reset, Save, Set the maximum number of tokens for model output. Please set it within the acceptable range of the model, otherwise errors may occur., Specific model settings, Stream output, Support jpg or png file smaller than 5MB, Support jpg or png file smaller than 5MB. Overrides global background when set., Temperature, The topP parameter controls the diversity of AI responses: lower values make the output more focused and predictable, while higher values allow for more varied and creative replies., Thinking Effort, Top P, Upload

modals/Settings

  • Source: src/renderer/modals/Settings.tsx
  • Metadata: kind: modal; area: modal
  • Components: RootRoute, SettingsArchiveRoute, SettingsChatboxAiRoute, SettingsChatRoute, SettingsDefaultModelsRoute, SettingsDocumentParserRoute, SettingsGeneralRoute, SettingsHotkeysRoute, SettingsIndexRoute, SettingsKnowledgeBaseRoute, SettingsMcpRoute, SettingsProviderChatboxAiRoute, SettingsProviderIndexRoute, SettingsProviderProviderIdRoute, SettingsProviderRouteRoute, SettingsSkillsRoute, SettingsWebSearchRoute
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Settings modal general route and navigation shell state
  • States: opened
  • Variants: color:chatbox-secondary, light, size:100%, size:1200, size:xs
  • Text: ESC, Settings

modals/ThreadNameEdit

  • Source: src/renderer/modals/ThreadNameEdit.tsx
  • Metadata: kind: modal; area: modal
  • Components: ThreadNameEdit
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Thread name edit modal current and historical thread states
  • States: isSmallScreen, opened, threadName, visible
  • Variants: None detected
  • Text: Edit Thread Name, Save, Thread Name

modals/VibedropPublish

  • Source: src/renderer/modals/VibedropPublish.tsx
  • Metadata: kind: modal; area: modal
  • Components: ManageSitesHint, VibedropPublish
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: VibeDrop publish modal visibility and success states
  • States: disabled, error, errorMessage, isLoggedIn, isSmallScreen, loading, opened, stage, success, url, visibility, visible
  • Variants: default, email_required, error, form, login_required, publishing, size:sm, size:xs, subtle, success
  • Text: Anyone can find this page in the VibeDrop explore gallery., Close, Copied, Copy, Failed to publish to VibeDrop. Please try again later., HTML content is empty, nothing to publish., Link only, Manage your published pages at <ManageLink>app.vibedrop.cc</ManageLink> — sign in with your Chatbox email., Only people with the link can open this page., Open, Public, Publish, Publish failed, Publish to VibeDrop, Publishing requires an email on your Chatbox account. Please add one and try again., Sign in, Sign in to your Chatbox account to publish and manage your pages., Try Again, VibeDrop authorization failed, Your HTML page will be published to VibeDrop. Choose who can access it., Your page is published. You can access it via the link below.

modals/Welcome

  • Source: src/renderer/modals/Welcome.tsx
  • Metadata: kind: modal; area: modal
  • Components: Welcome
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Welcome modal setup provider and later states
  • States: opened, visible
  • Variants: size:compact-md, size:lg, size:md, size:sm, transparent
  • Text: All data is stored locally, ensuring privacy and rapid access, An easy-to-use AI client app, Chatbox, Ideal for both work and educational scenarios, Select and configure an AI model provider, Setup later, Setup Provider, Supports a variety of advanced AI models

Components

components/Accordion

components/ActionMenu

  • Source: src/renderer/components/ActionMenu.tsx
  • Metadata: kind: component; area: app
  • Components: DoubleCheckMenuItem
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: App controls accordion action menu adaptive select and styled menu states
  • States: confirming, confirmOpen, disabled, error, hasDoubleCheck, isSmallScreen, opened, showConfirm, uncontrolledOpen
  • Variants: size:md, size:sm, size:xs
  • Text: Cancel, Confirm?

components/AdaptiveSelect

  • Source: src/renderer/components/AdaptiveSelect.tsx
  • Metadata: kind: component; area: app
  • Components: AdaptiveSelect
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: App controls accordion action menu adaptive select and styled menu states
  • States: drawerOpened, isSmallScreen
  • Variants: color:chatbox-primary, size:xs, transparent
  • Text: None detected

components/Artifact

  • Source: src/renderer/components/Artifact.tsx
  • Metadata: kind: component; area: app
  • Components: Artifact, ArtifactWithButtons, CODE_BLOCK_LANGUAGES, MessageArtifact, RENDERABLE_CODE_LANGUAGES
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Markdown mermaid SVG and artifact preview states
  • States: contextMessages, error, isContainRenderableCode, isRenderableCodeLanguage, isSmallScreen, reloadSign
  • Variants: color:error, color:primary
  • Text: Preview

components/chat/CompactionStatus

  • Source: src/renderer/components/chat/CompactionStatus.tsx
  • Metadata: kind: component; area: chat
  • Components: CompactionStatus, MAX_CHARS, MAX_LINES
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Compaction running and failed states
  • States: error, expanded, isTruncated
  • Variants: color:red, light, size:sm, size:xs, subtle, transparent
  • Text: Compacting conversation..., Compaction failed, Copy, Dismiss, Retry

components/chat/ForkMarkerMessage

  • Source: src/renderer/components/chat/ForkMarkerMessage.tsx
  • Metadata: kind: component; area: chat
  • Components: ForkMarkerMessage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: None detected
  • Variants: size:xs
  • Text: Forked from conversation

components/chat/Message

  • Source: src/renderer/components/chat/Message.tsx
  • Metadata: kind: component; area: chat
  • Components: CollapseButton, ImageInStorageGalleryItem, MessageActionIcon, PictureGallery
  • Platform signals: mobile
  • Platform notes: checks platform.type === mobile, responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Message system user assistant error generating attachment states
  • States: actionMenuOpened, collapsed, error, hasFoldableProcess, isBubbleLayout, isButton, isCollapsed, isContainRenderableCode, isCustomSVG, isRetryableToolCallStep, isSmallScreen, isThisYear, isToday, isUserBubble, opened, previewArtifact, processCollapsed, retryChoiceOpened, shouldThrowError
  • Variants: color:chatbox-brand, color:chatbox-secondary, color:gray, light, size:11px, size:sm, size:xs, subtle
  • Text: {{count}} steps, characters, Click to view full text, Collapse, Continue in Chat Mode, copied to clipboard, copy, Copy, custom-download-button, delete, Edit, Expand, First token latency, Generate More Images Below, Message Raw JSON, Model, More, OCR Text, OCR Text Content, Quote, Reply Again, Reply Again Below, report, report-button, Retry failed response, Retry from last step, Retry whole message, The response failed after the last step. What would you like to retry?, Token count, Total tokens consumed, Use Work Mode, View Message JSON, Word count, Work Mode suggested, Worked for {{time}}

components/chat/MessageAttachmentGrid

  • Source: src/renderer/components/chat/MessageAttachmentGrid.tsx
  • Metadata: kind: component; area: chat
  • Components: COLLAPSED_MAX, MessageAttachmentGrid
  • Platform signals: desktop
  • Platform notes: branches when platform.type is not desktop, checks platform.type === desktop
  • Preview modes: None detected
  • Preview links: Storybook: Message attachments with files, links, and RAG states
  • States: error, expanded, retryingIds
  • Variants: None detected
  • Text: Collapse attachments, Retry failed: {{error}}, Retry queued, Show all attachments

components/chat/MessageErrTips

  • Source: src/renderer/components/chat/MessageErrTips.tsx
  • Metadata: kind: component; area: chat
  • Components: ErrorActionButtons, MAX_CHARS, MAX_LINES, MessageErrTips
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Auth Error (401), Storybook: Context Length Error, Storybook: Generic Error, Storybook: Generic Error — Bubble Layout, Storybook: Long Error with Response Body, Storybook: Multiple Error Types Comparison, Storybook: Network Error (fetch failed), Storybook: Rate Limit Error (429), Storybook: Server Error (500), Storybook: Error Without Retry Button
  • States: disabled, error, expanded, isBubbleLayout, isContextLengthError, isHtmlContent, isTranslating, isTruncated, translatedText, visible
  • Variants: color:red, light, size:sm, size:xs, subtle, transparent
  • Text: ai provider no implemented paint tips, Chatbox AI free trial available, Chatbox AI License, Connection to {{aiProvider}} failed. This typically occurs due to a temporary service issue. Please try again later or <buttonOpenSettings>check your settings</buttonOpenSettings>., Connection to {{aiProvider}} failed. This typically occurs due to incorrect configuration or {{aiProvider}} account issues. Please <buttonOpenSettings>check your settings</buttonOpenSettings> and verify your {{aiProvider}} account status, or purchase a <LinkToLicensePricing>Chatbox AI License</LinkToLicensePricing> to unlock all advanced models instantly without any configuration., Copy, If you have never had a license before, you can claim it after logging in on the official website., network error tips, network proxy error tips, OCR model settings, OCR processing failed (provider: {{aiProvider}}). Please check your <OpenSettingButton>OCR model settings</OpenSettingButton> and ensure the configured model is available., Request ID: {{requestId}}, Retry, Show original, Translate, unknown error tips

components/chat/MessageList

  • Source: src/renderer/components/chat/MessageList.tsx
  • Metadata: kind: component; area: chat
  • Components: ForkNav, MAX_SCROLL_CACHE_SIZE, MessageList
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Message list grouped conversation summary navigation states
  • States: atBottom, atTop, flash, isFirstItem, isForkMarker, isLastItem, isLatestSummary, isNewMessage, isSmallScreen, isSummary, messageNavigationVisible, messageViewportHeight, showScrollToPrev, visible
  • Variants: size:xs, subtle, transparent
  • Text: Back to previous message, Continue this thread, delete, Edit Thread Name, expand, Move to Conversations, New Thread, Return to the top, Show in Thread List

components/chat/MessageLoading

  • Source: src/renderer/components/chat/MessageLoading.tsx
  • Metadata: kind: component; area: chat
  • Components: LoadingBubble, MessageStatus, MessageStatuses, PreparingToolCallStatus, RetryingIndicator
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Message loading and tool preparation states
  • States: None detected
  • Variants: body2, color:var(--chatbox-tint-brand), size:xs
  • Text: {{count}} lines, Advanced Mode, Chatbox AI Service, Due to local processing limitations, <Link>Chatbox AI Service</Link> is recommended for enhanced document processing capabilities and better results., Due to local processing limitations, <Link>Chatbox AI Service</Link> is recommended to enhance webpage parsing capabilities, especially for dynamic pages., Loading webpage..., Local Mode, Preparing, Preparing tool call, Reading file..., Retrying {{attempt}}/{{maxAttempts}}

components/chat/MessageMinimapRail

  • Source: src/renderer/components/chat/MessageMinimapRail.tsx
  • Metadata: kind: component; area: chat
  • Components: BASE_LINE_WIDTH, HOVER_DISTANCE, ITEM_HEIGHT, MAX_LINE_WIDTH, MessageMinimapRail, PREVIEW_MARGIN
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: hasScrollableOverflow, hoveredAnchor, pointerContentY, scrollHeight, scrollTop, viewportHeight, visible
  • Variants: None detected
  • Text: Attachment message, Jump to message {{index}}, Message {{index}}

components/chat/MessageNavigation

  • Source: src/renderer/components/chat/MessageNavigation.tsx
  • Metadata: kind: component; area: chat
  • Components: MessageNavigationButton, ScrollToBottomButton
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Message navigation floating controls
  • States: active, visible
  • Variants: None detected
  • Text: None detected

components/chat/SummaryMessage

  • Source: src/renderer/components/chat/SummaryMessage.tsx
  • Metadata: kind: component; area: chat
  • Components: SummaryMessage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Summary message latest editable state
  • States: expanded, isLatestSummary, opened, showDeleteConfirm
  • Variants: color:chatbox-secondary, color:red, default, size:sm, size:xs, subtle, transparent
  • Text: Cancel, Delete, Delete Summary, Deleting this summary will restore original messages to context calculation., Earlier messages summarized, Edit

components/common/AdaptiveModal

  • Source: src/renderer/components/common/AdaptiveModal.tsx
  • Metadata: kind: component; area: common
  • Components: AdaptiveModal, AdaptiveModalActions, AdaptiveModalCloseButton
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Adaptive modal open actions and close button states
  • States: isSmallScreen, opened
  • Variants: color:chatbox-gray, light, size:md
  • Text: Cancel

components/common/Avatar

  • Source: src/renderer/components/common/Avatar.tsx
  • Metadata: kind: component; area: common
  • Components: Avatar
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Avatar user assistant system chat picture states
  • States: None detected
  • Variants: None detected
  • Text: None detected

components/common/ChatboxAIErrorMessage

  • Source: src/renderer/components/common/ChatboxAIErrorMessage.tsx
  • Metadata: kind: component; area: common
  • Components: SUPPORTED_WEB_BROWSING_MODELS
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Chatbox AI error message quota license file and web browsing states
  • States: isChatboxAIPlanFree, isFreePlan
  • Variants: None detected
  • Text: None detected

components/common/ChatboxWelcomeCard

  • Source: src/renderer/components/common/ChatboxWelcomeCard.tsx
  • Metadata: kind: component; area: common
  • Components: ChatboxWelcomeCard
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Chatbox welcome card login no-license and expired states
  • States: disabled, error, loading, pendingAction
  • Variants: filled, size:xs, subtle
  • Text: Claim Free Plan, Login Chatbox AI, Login to start chatting with AI, No licenses found, Other options, Purchase Plan, View License Details, View More Plans, Welcome to Chatbox!

components/common/CompressionModal

  • Source: src/renderer/components/common/CompressionModal.tsx
  • Metadata: kind: component; area: common
  • Components: CompressionModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Compression modal opened confirmation state
  • States: opened
  • Variants: size:md
  • Text: Compress Conversation, Confirm, This will summarize the current conversation and start a new thread with the compressed context. Continue?

components/common/ConfirmDeleteButton

  • Source: src/renderer/components/common/ConfirmDeleteButton.tsx
  • Metadata: kind: component; area: common
  • Components: ConfirmDeleteButton, ConfirmDeleteMenuItem
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Confirm delete button and menu item idle confirm states
  • States: confirmDelete, error, isHotkeyPressed
  • Variants: contained, text
  • Text: Confirm?, delete, Delete

components/common/CreatableSelect

  • Source: src/renderer/components/common/CreatableSelect.tsx
  • Metadata: kind: component; area: common
  • Components: CreatableSelect
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Creatable select password reset and mini button states
  • States: isExisting
  • Variants: color:primary, outlined, size:small
  • Text: None detected

components/common/Divider

  • Source: src/renderer/components/common/Divider.tsx
  • Metadata: kind: component; area: common
  • Components: Divider
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Divider link mark scalable icon and segmented control states
  • States: isSmallScreen
  • Variants: None detected
  • Text: None detected

components/common/ErrorBoundary

  • Source: src/renderer/components/common/ErrorBoundary.tsx
  • Metadata: kind: component; area: common
  • Components: DefaultErrorFallback, ErrorBoundary, SentryErrorBoundary
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Error boundary fallback and retry states
  • States: error
  • Variants: None detected
  • Text: Error:, Reload App, Something went wrong!, Stack:, Try Again

components/common/LazyNumberInput

  • Source: src/renderer/components/common/LazyNumberInput.tsx
  • Metadata: kind: component; area: common
  • Components: LazyNumberInput
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Lazy number slider combined slider and context count states
  • States: disabled, isNaN, tempInputValue
  • Variants: size:xs, transparent
  • Text: Not set

components/common/LazySlider

  • Source: src/renderer/components/common/LazySlider.tsx
  • Metadata: kind: component; area: common
  • Components: LazySlider
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Lazy number slider combined slider and context count states
  • States: tempSliderValue
  • Variants: None detected
  • Text: None detected

components/common/Mark

components/common/MaxContextMessageCountSlider

  • Source: src/renderer/components/common/MaxContextMessageCountSlider.tsx
  • Metadata: kind: component; area: common
  • Components: MaxContextMessageCountSlider, MESSAGE_COUNT_OPTIONS
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Lazy number slider combined slider and context count states
  • States: tempInputValue, tempSliderValue
  • Variants: size:sm
  • Text: Max Message Count in Context, No Limit, Regulate the volume of historical messages sent to the AI, striking a harmonious balance between depth of comprehension and the efficiency of responses.

components/common/MessageLayoutPreview

  • Source: src/renderer/components/common/MessageLayoutPreview.tsx
  • Metadata: kind: component; area: common
  • Components: BubbleLayoutPreview, ClassicLayoutPreview, MessageLayoutSelector
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Message layout selector classic bubble selected states
  • States: selected
  • Variants: bubble, left, size:sm
  • Text: None detected

components/common/MiniButton

  • Source: src/renderer/components/common/MiniButton.tsx
  • Metadata: kind: component; area: common
  • Components: MiniButton
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Creatable select password reset and mini button states
  • States: disabled
  • Variants: None detected
  • Text: None detected

components/common/PasswordTextField

  • Source: src/renderer/components/common/PasswordTextField.tsx
  • Metadata: kind: component; area: common
  • Components: PasswordTextField
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Creatable select password reset and mini button states
  • States: disabled, isSmallScreen
  • Variants: outlined
  • Text: toggle password visibility

components/common/PopoverConfirm

  • Source: src/renderer/components/common/PopoverConfirm.tsx
  • Metadata: kind: component; area: common
  • Components: PopoverConfirm
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Popover confirm opened and confirm action states
  • States: isValidElement, opened
  • Variants: None detected
  • Text: Confirm, Toggle popover

components/common/ScalableIcon

  • Source: src/renderer/components/common/ScalableIcon.tsx
  • Metadata: kind: component; area: common
  • Components: ScalableIcon, ScalableIconInner
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Divider link mark scalable icon and segmented control states
  • States: None detected
  • Variants: None detected
  • Text: None detected

components/common/SegmentedControl

  • Source: src/renderer/components/common/SegmentedControl.tsx
  • Metadata: kind: component; area: common
  • Components: SegmentedControl
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Divider link mark scalable icon and segmented control states
  • States: None detected
  • Variants: color:chatbox-brand
  • Text: None detected

components/common/SliderWithInput

  • Source: src/renderer/components/common/SliderWithInput.tsx
  • Metadata: kind: component; area: common
  • Components: SliderWithInput
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Lazy number slider combined slider and context count states
  • States: tempInputValue, tempSliderValue
  • Variants: size:sm, size:xs
  • Text: Not set

components/common/TemperatureSlider

  • Source: src/renderer/components/common/TemperatureSlider.tsx
  • Metadata: kind: component; area: common
  • Components: TemperatureSlider
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Temperature and top-p slider settings states
  • States: input, isNaN
  • Variants: outlined, size:small
  • Text: temperature

components/common/TextFieldReset

  • Source: src/renderer/components/common/TextFieldReset.tsx
  • Metadata: kind: component; area: common
  • Components: TextFieldReset
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Creatable select password reset and mini button states
  • States: None detected
  • Variants: text
  • Text: Reset

components/common/Toasts

  • Source: src/renderer/components/common/Toasts.tsx
  • Metadata: kind: component; area: common
  • Components: Toasts
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Toast stack top-right feedback states
  • States: None detected
  • Variants: color:inherit, size:small
  • Text: None detected

components/common/TopPSlider

  • Source: src/renderer/components/common/TopPSlider.tsx
  • Metadata: kind: component; area: common
  • Components: TopPSlider
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Temperature and top-p slider settings states
  • States: input, isNaN
  • Variants: outlined, size:small
  • Text: Top P

components/CustomProviderIcon

components/dev/DevHeader

components/dev/SessionAttachmentRagDevPane

  • Source: src/renderer/components/dev/SessionAttachmentRagDevPane.tsx
  • Metadata: kind: component; area: app
  • Components: SessionAttachmentRagDevContent, SessionAttachmentRagDevPane, StatusBadge
  • Platform signals: all
  • Platform notes: branches when platform.type is not desktop
  • Preview modes: None detected
  • Preview links: Storybook: Dev header theme switch session RAG pane and error test panel states
  • States: active, clearing, disabled, error, loading, maintaining, opened, snapshot
  • Variants: color:blue, color:gray, color:green, color:red, light, size:sm, size:xl, size:xs
  • Text: Chunks, Clear DB, Completed, Counts, Created, Error, File, Inspect local libsql state for session attachment RAG., Loading debug snapshot..., Metadata Database, Parser, Recent Attachments, Refresh, Run Maintenance, Session-RAG Dev Pane, Started, Status, Vector Database, Vector Index Names

components/dev/ThemeSwitchButton

components/Disclaimer

  • Source: src/renderer/components/Disclaimer.tsx
  • Metadata: kind: component; area: app
  • Components: Disclaimer
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: App icons provider avatars file icons and static feedback states
  • States: None detected
  • Variants: size:xs
  • Text: AI-generated content may be inaccurate. Please verify important information.

components/EditableAvatar

  • Source: src/renderer/components/EditableAvatar.tsx
  • Metadata: kind: component; area: app
  • Components: EditableAvatar
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: App icons provider avatars file icons and static feedback states
  • States: error, isSmallScreen
  • Variants: size:small
  • Text: None detected

components/ErrorTestPannel

  • Source: src/renderer/components/ErrorTestPannel.tsx
  • Metadata: kind: component; area: app
  • Components: ErrorTestPanel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Dev header theme switch session RAG pane and error test panel states
  • States: error, shouldError
  • Variants: None detected
  • Text: Test Console Error, Test Global Error Handler, Test React Error Boundary, Test Unhandled Promise

components/FileIcon

components/icons/ArrowRightIcon

components/icons/BrandGithub

components/icons/BrandRedNote

components/icons/BrandWechat

components/icons/BrandX

components/icons/Broom

components/icons/Dart

components/icons/FullscreenIcon

components/icons/HomepageIcon

components/icons/Java

components/icons/LayoutExpand

components/icons/LayoutShrink

components/icons/Loading

components/icons/ModelIcon

components/icons/ProviderIcon

components/icons/ProviderImageIcon

components/icons/Robot

components/Image

  • Source: src/renderer/components/Image.tsx
  • Metadata: kind: component; area: app
  • Components: ImageInStorage, Img
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image display count style and model select states
  • States: None detected
  • Variants: color:secondary
  • Text: Promise

components/ImageCountSlider

  • Source: src/renderer/components/ImageCountSlider.tsx
  • Metadata: kind: component; area: app
  • Components: ImageCountSlider
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image display count style and model select states
  • States: isArray, isNaN
  • Variants: outlined, size:small
  • Text: Number of Images per Reply

components/ImageModelSelect

  • Source: src/renderer/components/ImageModelSelect.tsx
  • Metadata: kind: component; area: app
  • Components: ImageModelSelect, ProviderGroupLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image display count style and model select states
  • States: isCustom
  • Variants: size:sm, size:xs
  • Text: No models available

components/ImageStyleSelect

  • Source: src/renderer/components/ImageStyleSelect.tsx
  • Metadata: kind: component; area: app
  • Components: ImageStyleSelect
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image display count style and model select states
  • States: None detected
  • Variants: None detected
  • Text: Image Style, Natural, Vivid

components/InputBox/AgentModeButton

  • Source: src/renderer/components/InputBox/AgentModeButton.tsx
  • Metadata: kind: component; area: input
  • Components: CLOSE_DELAY, OPEN_DELAY
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Agent mode button auto on off unsupported popover states
  • States: disabled, opened, visible
  • Variants: None detected
  • Text: Chat Mode, Work Mode

components/InputBox/AgentModePanel

  • Source: src/renderer/components/InputBox/AgentModePanel.tsx
  • Metadata: kind: component; area: input
  • Components: AgentModePanel
  • Platform signals: desktop
  • Platform notes: checks platform.type === desktop
  • Preview modes: None detected
  • Preview links: Storybook: Agent mode panel auto on off unsupported and extension states
  • States: active, checked, disabled, error, expanded, isActive, isChatModeSelected, isDisabled, isLockedDisabled, isModelDisabled, isNewSession, isPremium, isProviderAvailable, isSelected, isSmartSwitchingDisabled, page, skills, skillsLoading, skillsVersion, subPanelAlign, subPanelTop, visible
  • Variants: code-execution, color:red, color:var(--chatbox-tint-brand), color:var(--chatbox-tint-tertiary), knowledge-base, light, main, mcp, size:sm, size:xs, skills, subtle, web-search, working-directory
  • Text: Add Folder, Add Skills, Add your first MCP server, Approve, Ask before running commands or changing files., Best for multi-step tasks with files, code execution, tools, MCP, skills, or knowledge bases., Best for quick Q&A, writing, translation, explanations, and web search., Built-in, Chat Mode, Code Execution, Configure in Settings, Create, Extensions, Full Access, Grant the agent read/write access to local folders without per-action approval., Knowledge Base, Locked after the chat starts to keep tools and context consistent — start a new chat to change, MCP, Mode, Only available before the first message., Remove, Skills, Skip approval prompts for commands and file changes., Smart Switching, Suggest Work Mode on the first message., This model does not support Agent Mode, Web Search, Work Mode, Working Directory

components/InputBox/Attachments

  • Source: src/renderer/components/InputBox/Attachments.tsx
  • Metadata: kind: component; area: input
  • Components: FileMiniCard, ImageMiniCard, MessageAttachment
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Attachment mini card image file processing completed error states, Storybook: Attachment parser type label local chatbox-ai mineru inline and indexed, Storybook: Message attachment inline retrieval indexed indexing blocked failed states
  • States: error, isClickable, isSessionAttachmentRagAuthError, isSessionAttachmentRagIndexingError, isTakingLong
  • Variants: size:12, size:16, size:18, size:22
  • Text: chunks, Click to view parsed content, Content, File Content, Finishing, Indexed, Indexed · {{count}} chunks, Indexing, Indexing failed, Large file indexing failed. Remove this file and try uploading it again. If the problem continues, use a smaller file or Knowledge Base., Large file Q&A requires a model with tool use support. Switch to a compatible model or remove this file., Link Content, No points consumed, Parser: {{parser}}, Parser: Local, Preparing, Processing failed, Queued, Sign in needed, Status, Still indexing, Switch model, This attachment is too large for chat attachments. Please upload it through Knowledge Base instead., This document contains too much text for chat attachments. Please upload it through Knowledge Base instead., This large file needs Chatbox AI to finish indexing. Sign in to Chatbox AI, then retry this file., Too large, Too much text, Unavailable

components/InputBox/ImageUploadButton

  • Source: src/renderer/components/InputBox/ImageUploadButton.tsx
  • Metadata: kind: component; area: input
  • Components: ImageUploadButton
  • Platform signals: desktop, mobile
  • Platform notes: uses desktop action icon props, uses isMobile state/prop, uses mobile action icon props
  • Preview modes: None detected
  • Preview links: Storybook: Image upload button desktop and mobile states
  • States: isMobile
  • Variants: None detected
  • Text: None detected

components/InputBox/ImageUploadInput

  • Source: src/renderer/components/InputBox/ImageUploadInput.tsx
  • Metadata: kind: component; area: input
  • Components: ImageUploadInput
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Hidden image upload input configuration
  • States: None detected
  • Variants: None detected
  • Text: None detected

components/InputBox/InputBox

  • Source: src/renderer/components/InputBox/InputBox.tsx
  • Metadata: kind: component; area: input
  • Components: InputBox, MAX_ATTACHMENTS, MAX_IMAGES, MessageInputField
  • Platform signals: desktop, mobile
  • Platform notes: branches when platform.type is not desktop, branches when platform.type is not mobile, checks platform.type === desktop, checks platform.type === mobile, responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: InputBox composer ready selected model generating and missing model states
  • States: active, disabled, error, hasBlockedSessionRagFiles, hasContent, hasErrorFiles, hasLargeAttachmentWarning, hasPendingApprovalToolCall, hasPreprocessErrors, hasProcessingFiles, hasSessionRetrievalFiles, hasText, hasTextContent, inputSkills, inputSkillsLoading, isActive, isAgentModeActive, isAutoCompactionEnabled, isAwaitingToolApproval, isCalculating, isCompacting, isCompactionInProgress, isCompactionRunning, isDeepSeekWeakToolUse
  • Variants: color:dark, default, filled, light, size:sm, size:xs, size:xxs
  • Text: {{count}} document(s) are still being prepared. If you send now, the answer may not use the full document., Advanced image formats are not supported. Please convert to JPG or PNG., An error occurred while sending the message., Archive files are not supported. Please extract and upload individual files., Attach Image, Audio files are not supported, Binary/executable files are not supported, Chat attachments must be {{limit}} or smaller., Conversation Settings, Document is still indexing, File Content, Finishing, Go to Image Creator, Indexed, Indexing, iWork files (Pages, Keynote) are not supported. Please export to PDF or Office format., New Thread, Please select a model, Preparing, Queued, Rollback Thread, Select File, Select Model, Send anyway, Still indexing, This attachment is very large and may consume more points. You can send it anyway, or remove it and use a smaller file., This image session is no longer active. Please use the new Image Creator for image generation., This model does not support Agent Mode, This model may not be able to read the uploaded document. Try another model if you want to ask about the file., Type your question here..., Unsupported file type: {{fileName}}, Video files are not supported, Wait, Waiting for approval, Web Search, You can attach up to {{limit}} files. The extra files were skipped., You can attach up to {{limit}} images. The extra images were skipped.

components/InputBox/ReasoningControlButton

  • Source: src/renderer/components/InputBox/ReasoningControlButton.tsx
  • Metadata: kind: component; area: input
  • Components: ReasoningControlButton
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: disabled
  • Variants: size:xs
  • Text: Default, High, Low, Medium, Off, On, Thinking controls are disabled because this Claude model is not exposed through the Anthropic API style., Thinking controls are disabled because this DeepSeek model is not exposed through the DeepSeek API style., Thinking controls are disabled because this Gemini model is not exposed through the Google API style., Thinking controls are disabled because this GPT model is not exposed through an OpenAI API style., Thinking controls are disabled because this Grok model is not exposed through the xAI API style., Thinking controls are disabled because this Qwen model is not exposed through the Qwen API style., Thinking Effort, Thinking: {{level}}

components/InputBox/SessionSettingsButton

  • Source: src/renderer/components/InputBox/SessionSettingsButton.tsx
  • Metadata: kind: component; area: input
  • Components: SessionSettingsButton
  • Platform signals: desktop, mobile
  • Platform notes: uses desktop action icon props, uses isMobile state/prop, uses mobile action icon props
  • Preview modes: None detected
  • Preview links: Storybook: Session settings button enabled disabled and mobile states
  • States: disabled, isMobile
  • Variants: None detected
  • Text: None detected

components/InputBox/TokenCountMenu

  • Source: src/renderer/components/InputBox/TokenCountMenu.tsx
  • Metadata: kind: component; area: input
  • Components: TokenCountMenu
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Token count menu normal calculating and auto compaction states
  • States: checked, disabled, isCalculating, isCompacting, isSmallScreen
  • Variants: color:chatbox-brand, size:sm, size:xs
  • Text: Auto Compaction, Compacting..., Compress Conversation, Context, Context messages, Context window unknown for this model, Current input, Estimated Token Usage, Model limit, This session, Total

components/InputBox/WebBrowsingButton

  • Source: src/renderer/components/InputBox/WebBrowsingButton.tsx
  • Metadata: kind: component; area: input
  • Components: WebBrowsingButton
  • Platform signals: desktop, mobile
  • Platform notes: uses desktop action icon props, uses isMobile state/prop, uses mobile action icon props
  • Preview modes: None detected
  • Preview links: Storybook: Web browsing button active and inactive states
  • States: active, isMobile
  • Variants: None detected
  • Text: None detected

components/knowledge-base/ChunksPreviewModal

  • Source: src/renderer/components/knowledge-base/ChunksPreviewModal.tsx
  • Metadata: kind: component; area: knowledge-base
  • Components: ChunksPreviewModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base chunks preview and remote retry modal states
  • States: chunks, error, loading, opened, selected
  • Variants: size:lg, size:sm, size:xs
  • Text: characters, Chunk, File Chunks Preview, Loading chunks..., No chunks available. Try converting the file to a text format before adding it to the knowledge base., Showing first {{count}} chunks

components/knowledge-base/KnowledgeBase

  • Source: src/renderer/components/knowledge-base/KnowledgeBase.tsx
  • Metadata: kind: component; area: knowledge-base
  • Components: KnowledgeBase
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base page list documents and provider states
  • States: active, chatboxAIModels, deleteConfirmKb, disabled, editKb, editRerankModel, editVisionModel, error, hasError, hasModel, isChatboxAIDisabled, isChatboxAIKnowledgeBase, isConfirmDisabled, isEmbedding, isEmbeddingDisabled, isLoggedIn, isProviderAvailable, isUnsupportedPlatform, isWin32Arm64, kbList, newDocumentParser, newEmbeddingModel, newKbName, newProviderMode
  • Variants: color:orange, color:red, color:var(--chatbox-tint-tertiary), default, light, outline, size:lg, size:sm, size:xs, subtle
  • Text: Add, Are you sure you want to delete the knowledge base, Cancel, Create, Create First Knowledge Base, Create Knowledge Base, Create your first knowledge base to start adding documents and enhance your AI conversations with contextual information., Delete, Delete Knowledge Base, Edit, Edit Knowledge Base, Embedding, Failed to create knowledge base, Error: {{error}}, Failed to fetch Chatbox AI models config, Error: {{error}}, Failed to fetch knowledge base list, Error: {{error}}, Failed to update knowledge base, Error: {{error}}, Knowledge Base, Knowledge Base functionality is not available on Windows ARM64 due to library compatibility issues. This feature is supported on Windows x64, macOS, and Linux., Local, Log in to Chatbox AI, Models, Name, No Knowledge Base Yet, None, Parser, Platform Not Supported, Provider unavailable, Rerank, Save, Sign in to Chatbox AI, Sign in to Chatbox AI to use this knowledge base, This action cannot be undone. All documents and their embeddings will be permanently deleted., Unknown, Vision, Your Chatbox AI knowledge base requires an active login. Please sign in to Chatbox AI to use this knowledge base.

components/knowledge-base/KnowledgeBaseDocuments

  • Source: src/renderer/components/knowledge-base/KnowledgeBaseDocuments.tsx
  • Metadata: kind: component; area: knowledge-base
  • Components: KnowledgeBaseDocuments
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base documents upload ready processing paused failed states
  • States: disabled, error, expanded, hasProcessingFiles, hasValidExtension, hasValidMimeType, hasVisionModel, isDragOver, isExpanded, isFetchingNextPage, isLoading, isLocalParser, isNaN, isOpen, isParsedContentTooLarge, isRemoteParser, isThisYear, isToday, loading, opened, showRemoteRetryModal, showScrollIndicator, showUploadArea, sizeRejectedFiles
  • Variants: color:blue, color:green, color:orange, color:red, color:var(--chatbox-tint-brand), color:var(--chatbox-tint-gray), color:var(--chatbox-tint-placeholder), color:var(--chatbox-tint-primary), color:var(--chatbox-tint-success), color:var(--chatbox-tint-warning), color:yellow, light, size:lg, size:sm, size:xs, subtle
  • Text: {{count}} file(s) exceed the {{limit}} knowledge base upload limit., {{count}} file(s) failed to parse, {{count}} file(s) not supported: {{files}}. Supported formats: {{formats}}, Add File, And {{count}} more file(s)., Chatbox AI parse failed, chunks, Delete, Documents, Done, Drag and drop files here, or click to browse, Drop files here, Failed to open file dialog: {{error}}, Failed to upload {{filename}}: {{error}}, Free trial available, If you have never had a license before, you can claim it after logging in on the official website., Knowledge Base documents must be {{limit}} or smaller., Local parse failed, Maximum file size, MinerU parse failed, No documents yet, No files were dropped, Parsed document content must be {{limit}} or smaller., Pause, Processing failed, Resume, Retry locally, Some files were not uploaded, Successfully uploaded {{count}} file(s), Successfully uploaded {{success}} of {{total}} file(s). {{failed}} file(s) failed., Supported formats, Too much text, Upload failed: {{error}}, Upload your first document to get started, Use server parsing

components/knowledge-base/KnowledgeBaseForm

  • Source: src/renderer/components/knowledge-base/KnowledgeBaseForm.tsx
  • Metadata: kind: component; area: knowledge-base
  • Components: KnowledgeBaseForm
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base form provider parser model and action states
  • States: connectionResult, disabled, error, hasError, isChatboxAIDisabled, isConfirmDisabled, isEmbeddingDisabled, loading, mineruToken, success, testingConnection
  • Variants: color:green, color:red, default, outline, size:sm, size:xs
  • Text: Cancel, Chatbox AI, Chatbox AI provides all the essential model support required for knowledge base processing. Consumes compute points., Cloud-based document parsing service, supports PDF, Office files, EPUB and many other file types. Consumes compute points., Connected, Connection failed, Connection successful, Custom, Delete, Document Parser, Embedding Model, Enter your MinerU API token, Failed, Failed to load Chatbox AI models configuration, Model Provider, Models, New knowledge base name, Parser used to process uploaded documents, Please enter an API token, Rerank Model (optional), Test Connection, Third-party cloud parsing service, supports PDF and most Office files. Requires API token., Used to extract text feature vectors, add in Settings - Provider - Model List, Used to get more accurate search results, Used to preprocess image files, requires models with vision capabilities enabled, Uses built-in document parsing feature, supports common file types. Free usage, no compute points will be consumed., Vision Model (optional)

components/knowledge-base/KnowledgeBaseMenu

  • Source: src/renderer/components/knowledge-base/KnowledgeBaseMenu.tsx
  • Metadata: kind: component; area: knowledge-base
  • Components: KnowledgeBaseMenu
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base menu selected and create states
  • States: opened
  • Variants: color:var(--chatbox-tint-brand), color:var(--chatbox-tint-tertiary), light, size:xs
  • Text: Create, Knowledge Base

components/knowledge-base/RemoteRetryModal

  • Source: src/renderer/components/knowledge-base/RemoteRetryModal.tsx
  • Metadata: kind: component; area: knowledge-base
  • Components: RemoteRetryModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base chunks preview and remote retry modal states
  • States: disabled, error, isRetryable, isServerFailed, loading, opened, retryingAll, retryingIds, success
  • Variants: color:var(--mantine-color-red-6), color:yellow, light, size:lg, size:sm, size:xs
  • Text: {{count}} file(s) failed to queue, {{count}} file(s) queued for server parsing, Failed to retry {{filename}}: {{error}}, File {{filename}} queued for server parsing, No retry available, Parsed document content must be {{limit}} or smaller., Retry, Retry All, Retry with Server Parsing, Server parsing will consume compute credits. Please be cautious with large files.

components/layout/DesktopDownloadReminder

  • Source: src/renderer/components/layout/DesktopDownloadReminder.tsx
  • Metadata: kind: component; area: layout
  • Components: ANDROID_APK_URL, DesktopDownloadReminder, IOS_APP_STORE_URL
  • Platform signals: web
  • Platform notes: branches when platform.type is not web, mentions web-only behavior, responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Desktop download reminder web floating prompt state
  • States: isSmallScreen
  • Variants: color:chatbox-secondary, light, size:compact-sm, size:xs, subtle
  • Text: 1. Your chat history on web version can only be stored in the browser cache (unreliable - it may be cleaned by browser). \n2. MCP and Knowledge Base are currently supported on the desktop app only., Android APK, App Store, Close, Download Desktop App, More advanced features are available in Chatbox Desktop., Recommended to use Chatbox App, Your chat history on web version can only be stored in the browser cache (unreliable - it may be cleaned by browser).

components/layout/ExitFullscreenButton

  • Source: src/renderer/components/layout/ExitFullscreenButton.tsx
  • Metadata: kind: component; area: layout
  • Components: ExitFullscreenButton
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Exit fullscreen hit area state
  • States: isFullscreen
  • Variants: None detected
  • Text: None detected

components/layout/Header

components/layout/Overlay

  • Source: src/renderer/components/layout/Overlay.tsx
  • Metadata: kind: component; area: layout
  • Components: Drawer, Modal, WrappedComponent
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Overlay modal drawer stacked escape management states
  • States: isTopOverlay, opened
  • Variants: None detected
  • Text: None detected

components/layout/Page

  • Source: src/renderer/components/layout/Page.tsx
  • Metadata: kind: component; area: layout
  • Components: Page
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Page header sidebar title and action states
  • States: isSmallScreen
  • Variants: subtle
  • Text: None detected

components/layout/Toolbar

  • Source: src/renderer/components/layout/Toolbar.tsx
  • Metadata: kind: component; area: layout
  • Components: Toolbar
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Toolbar search layout thread history and menu states
  • States: error, isLargeScreen, isSmallScreen
  • Variants: color:chatbox-secondary, color:chatbox-tertiary, outline, subtle
  • Text: Clear All Messages, Delete Current Session, Duplicate Conversation, Export Chat, Search, Session Raw JSON, Thread History, View Session JSON

components/layout/WindowControls

  • Source: src/renderer/components/layout/WindowControls.tsx
  • Metadata: kind: component; area: layout
  • Components: WindowControls
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Window controls normal and maximized desktop states
  • States: error
  • Variants: color:chatbox-primary, subtle
  • Text: Close, Maximize, Minimize, Restore

components/Markdown

  • Source: src/renderer/components/Markdown.tsx
  • Metadata: kind: component; area: app
  • Components: BlockCode, BlockCodeCollapsedStateContext, CODE_BLOCK_COLLAPSE_LINE_THRESHOLD, CodeRenderer, InlineCode, Markdown, ShikiCodeBlock
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Markdown mermaid SVG and artifact preview states
  • States: asyncHtml, collapsed, collapsedStates, isCollapsed, isRenderableCode, isRenderableCodeLanguage, success
  • Variants: color:chatbox-tertiary, color:var(--chatbox-tint-tertiary), transparent
  • Text: Collapse, copy, Expand, Preview, Publish Webpage

components/mcp/MCPMenu

  • Source: src/renderer/components/mcp/MCPMenu.tsx
  • Metadata: kind: component; area: app
  • Components: MCPMenu
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: MCP menu and status idle running starting error states
  • States: checked, disabled, isPremium, opened
  • Variants: color:var(--chatbox-tint-tertiary), outline, size:xs, subtle
  • Text: Add your first MCP server, MCP

components/mcp/MCPStatus

  • Source: src/renderer/components/mcp/MCPStatus.tsx
  • Metadata: kind: component; area: app
  • Components: MCPStatus
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: MCP menu and status idle running starting error states
  • States: error
  • Variants: color:chatbox-error
  • Text: None detected

components/Mermaid

  • Source: src/renderer/components/Mermaid.tsx
  • Metadata: kind: component; area: app
  • Components: Loading, MermaidSVGPreviewDangerous, MessageMermaid, SVGPreview
  • Platform signals: mobile
  • Platform notes: checks platform.type === mobile
  • Preview modes: None detected
  • Preview links: Storybook: Markdown mermaid SVG and artifact preview states
  • States: error, isButton, isCustomSVG, isFinite, loading, svgCode, svgId
  • Variants: None detected
  • Text: copied to clipboard, custom-rotate-button, Loading...

components/message-parts/ToolCallPartUI

components/ModelList

  • Source: src/renderer/components/ModelList.tsx
  • Metadata: kind: component; area: app
  • Components: ModelList
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Model list shortcut table and sortable placeholder states
  • States: error, searchQuery, success
  • Variants: color:blue, color:chatbox-brand, color:teal, light, size:compact-xs, size:sm, size:xs, transparent
  • Text: Context Window, Max Output, New, No models available, No models found matching your search, Pro, Reasoning, Search models..., tokens, Tool Use, Vision

components/ModelSelector/DesktopModelSelector

  • Source: src/renderer/components/ModelSelector/DesktopModelSelector.tsx
  • Metadata: kind: component; area: model-selector
  • Components: DesktopModelSelector, SearchBox
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Desktop model selector all favorite search disabled states, Storybook: Model selector dropdown with configured providers
  • States: isCollapsed, isCustom, isEmpty, isFavorited, isFavoritedModel, isSelected, isValidElement
  • Variants: favorite, size:xs, transparent, unstyled
  • Text: All, Auto, Click here to set up, Favorite, No eligible models available, No favorite models, Search models

components/ModelSelector

  • Source: src/renderer/components/ModelSelector/index.tsx
  • Metadata: kind: component; area: model-selector
  • Components: ModelSelector
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Model selector dropdown with configured providers
  • States: activeTab, isFavoritedModel, isSmallScreen, search
  • Variants: None detected
  • Text: None detected

components/ModelSelector/MobileModelSelector

  • Source: src/renderer/components/ModelSelector/MobileModelSelector.tsx
  • Metadata: kind: component; area: model-selector
  • Components: MobileModelSelector
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Mobile model selector drawer states
  • States: active, isCollapsed, isCustom, isFavorited, isFavoritedModel, isSelected, open
  • Variants: mobile, size:md, size:sm
  • Text: All, Auto, Favorite, No favorite models, Search models, Select Model

components/ModelSelector/ProviderHeader

  • Source: src/renderer/components/ModelSelector/ProviderHeader.tsx
  • Metadata: kind: component; area: model-selector
  • Components: ProviderHeader
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Provider header default favorite mobile custom and collapsed states
  • States: expanded, isClickable, isCollapsed, isCustom, isFavorite, isMobile
  • Variants: size:sm, size:xs
  • Text: None detected

components/ModelSelector/shared

  • Source: src/renderer/components/ModelSelector/shared.tsx
  • Metadata: kind: component; area: model-selector
  • Components: ModelItem, ModelItemInDrawer, SELECTED_BG_CLASS, TRANSITION_DURATION, WithDisabledTooltip
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Model item selected favorited disabled capability and drawer states
  • States: active, disabled, isCustom, isDisabled, isFavorited, isRecommended, isSelected, success
  • Variants: color:chatbox-brand, color:teal, light, size:md, size:xs
  • Text: New, Pro, Reasoning, Tool Use, Vision

components/ModelSelectorV2/CapabilityIconRow

  • Source: src/renderer/components/ModelSelectorV2/CapabilityIconRow.tsx
  • Metadata: kind: component; area: app
  • Components: CAPABILITY_ICON_COLOR_CLASSES, CAPABILITY_STYLES, CapabilityIconRow
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: None detected
  • Variants: reasoning, tool_use, vision
  • Text: Reasoning, Tool Use, Vision

components/ModelSelectorV2/ChatboxProviderRows

  • Source: src/renderer/components/ModelSelectorV2/ChatboxProviderRows.tsx
  • Metadata: kind: component; area: app
  • Components: ChatboxProviderRows
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: active, collapsed, isAdvanced, isChatboxAIAdvancedGroup, isChatboxAIModelLocked, isFavorited, isFeaturedOnly, isLocked, isMobile, selected, visible
  • Variants: chatbox, size:sm, size:xs, transparent
  • Text: Collapse, Unavailable, Upgrade to Pro, View all advanced models

components/ModelSelectorV2/DetailCard

  • Source: src/renderer/components/ModelSelectorV2/DetailCard.tsx
  • Metadata: kind: component; area: app
  • Components: COST_LEVEL_BAR_IDS, CostLevelIndicator, DetailCard, PriceMetric, PricingBlock, TieredPricingDetails, TieredPricingTag
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: expanded, hasTieredPricing, isCN, isFinite, mobileTieredOpen
  • Variants: default, light, size:sm, size:xs
  • Text: Available on Pro and above, Capabilities, Close, Compute point exchange, Condition, Input, Official API price, Otherwise, Output, Pricing, Tiered pricing, Upgrade to Pro

components/ModelSelectorV2/GenericProviderRows

  • Source: src/renderer/components/ModelSelectorV2/GenericProviderRows.tsx
  • Metadata: kind: component; area: app
  • Components: ByokSectionDivider, GenericProviderRows
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: collapsed, isFavorited, isMobile, selected
  • Variants: None detected
  • Text: More Providers

components/ModelSelectorV2

  • Source: src/renderer/components/ModelSelectorV2/index.tsx
  • Metadata: kind: component; area: app
  • Components: ModelSelectorV2
  • Platform signals: mobile
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen, uses isMobile state/prop
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Missing real fixture
  • States: activeTab, advancedExpanded, collapsed, collapsedGroupIds, desktopDetail, hasRightSideSpace, isCustom, isFavorited, isFavoritedModel, isMobile, isValidElement, mobileDetail, mobileOpen, search, success, visible
  • Variants: size:sm, size:xs, unstyled
  • Text: All, Auto, Chatbox AI, Favorite, Model details, No eligible models available, No favorite models, Search models, Select Model

components/ModelSelectorV2/ModelRow

  • Source: src/renderer/components/ModelSelectorV2/ModelRow.tsx
  • Metadata: kind: component; area: app
  • Components: ModelRow
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: disabled, isDisabled, selected, visible
  • Variants: size:sm, transparent
  • Text: Add to favorites, Model details, Reasoning, Remove from favorites, Vision

components/ModelSelectorV2/ProviderRowHeader

  • Source: src/renderer/components/ModelSelectorV2/ProviderRowHeader.tsx
  • Metadata: kind: component; area: app
  • Components: ProviderRowHeader
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Missing real fixture
  • States: collapsed, isChatbox, isCustom, visible
  • Variants: size:sm, size:xs
  • Text: None detected

components/session/SessionItem

  • Source: src/renderer/components/session/SessionItem.tsx
  • Metadata: kind: component; area: session
  • Components: ARCHIVE_TIP_INTERVAL, ARCHIVE_TIP_STORAGE_KEY, ARCHIVED_SESSION_CLEANUP_THRESHOLD, MOBILE_LONG_PRESS_DELAY, MOBILE_LONG_PRESS_MOVE_TOLERANCE, SessionItem
  • Platform signals: mobile
  • Platform notes: checks platform.type === mobile, responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Session item selected starred and picture states
  • States: archiving, disabled, error, isSame, isSmallScreen, loading, longPressing, mobileMenuOpened, opened, selected
  • Variants: color:chatbox-tertiary, size:sm, transparent
  • Text: Archive, Archived. Manage archived chats in Settings., Clean up, Manage, Pin, Too many archived chats, Unpin, You have archived more than {{count}} chats. Do you want to clean them up now?

components/session/SessionList

  • Source: src/renderer/components/session/SessionList.tsx
  • Metadata: kind: component; area: session
  • Components: SessionList, SessionListLoadingFooter, SortableItem
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Session list search clear selected paginated states
  • States: active, activeDragId, hasNextPage, isDragging, isFetchingNextPage, isSmallScreen, selected
  • Variants: size:xs
  • Text: Chats, Pinned

components/session/ThreadHistoryDrawer

  • Source: src/renderer/components/session/ThreadHistoryDrawer.tsx
  • Metadata: kind: component; area: session
  • Components: ThreadHistoryDrawer, ThreadItem
  • Platform signals: desktop
  • Platform notes: contains desktop-only UI option, responsive branch via isSmallScreen/useIsSmallScreen, uses CHATBOX_BUILD_PLATFORM
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Thread history drawer with current and archived threads
  • States: isSmallScreen, menuOpened, opened, visible
  • Variants: color:chatbox-primary, color:chatbox-tertiary, size:md, size:xs, temporary, transparent
  • Text: Delete, Edit Thread Name, New Thread, Switch, Thread History

components/settings/DocumentParserSettings

  • Source: src/renderer/components/settings/DocumentParserSettings.tsx
  • Metadata: kind: component; area: settings
  • Components: DocumentParserSettings
  • Platform signals: desktop
  • Platform notes: checks platform.type === desktop, contains desktop-only UI option, uses isDesktop state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Document parser desktop mineru and token states
  • States: connectionResult, disabled, error, isDesktop, loading, success, testingConnection
  • Variants: color:blue, light, size:compact-xs, size:xs, transparent
  • Text: API key invalid!, Check, Connection successful!, Document Parser, Get API Token, MinerU API Token, Parser Type

components/settings/mcp/BuiltinServersSection

  • Source: src/renderer/components/settings/mcp/BuiltinServersSection.tsx
  • Metadata: kind: component; area: settings
  • Components: BuiltinServersSection
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Builtin MCP server premium accessible states
  • States: checked, disabled, isPremium
  • Variants: size:sm, size:xs
  • Text: Builtin MCP Servers, One-click MCP servers for Chatbox AI subscribers

components/settings/mcp/ConfigModal

  • Source: src/renderer/components/settings/mcp/ConfigModal.tsx
  • Metadata: kind: component; area: settings
  • Components: ConfigModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: MCP config modal http edit form states
  • States: disabled, error, loading, opened, testing, testingResult
  • Variants: color:blue, color:red, outline, size:lg, size:md, size:sm, subtle
  • Text: Add MCP Server, Cancel, Command, Delete, Edit MCP Server, Environment Variables, HTTP Header, https://..., KEY=VALUE, Local (stdio), Make sure you have the following command installed:, Name, NAME=VALUE, npx mcp-server arg1 arg2..., Please test before saving, Remote (http/sse), Save, Test, Tools, Type, URL

components/settings/mcp/CustomServersSection

  • Source: src/renderer/components/settings/mcp/CustomServersSection.tsx
  • Metadata: kind: component; area: settings
  • Components: CustomServersSection
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Custom MCP server cards add edit and install states
  • States: checked, modal, success
  • Variants: color:chatbox-brand, filled, light, size:sm, size:xs
  • Text: {{count}} MCP servers imported, Add Server, Are you sure you want to delete this server?, Custom MCP Servers, Edit, MCP server added, No MCP servers parsed from clipboard

components/settings/mcp/ServerRegistrySpotlight

  • Source: src/renderer/components/settings/mcp/ServerRegistrySpotlight.tsx
  • Metadata: kind: component; area: settings
  • Components: ServerRegistrySpotlight
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: MCP registry spotlight custom import official and community states
  • States: None detected
  • Variants: color:initials
  • Text: Add Custom Server, Add or Import, Configure MCP server manually, Explore (community), Explore (official), Import from JSON in clipboard, Import MCP servers from JSON in your clipboard, Nothing found..., Search...

components/settings/provider/AddProviderModal

  • Source: src/renderer/components/settings/provider/AddProviderModal.tsx
  • Metadata: kind: component; area: settings
  • Components: AddProviderModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Add provider modal name and API mode states
  • States: disabled, error, isCustom, newProviderMode, newProviderName, opened
  • Variants: size:sm
  • Text: Add, Add provider, API Mode, Claude API Compatible, Google Gemini API Compatible, Name, Name is required, OpenAI API Compatible, OpenAI Responses API Compatible

components/settings/provider/ImportProviderModal

  • Source: src/renderer/components/settings/provider/ImportProviderModal.tsx
  • Metadata: kind: component; area: settings
  • Components: ImportProviderModal, ReadOnlyInput
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Import provider modal overwrite and model preview states
  • States: disabled, error, opened
  • Variants: color:var(--chatbox-tint-error), size:lg, size:sm
  • Text: A provider with this ID already exists. Continuing will overwrite the existing configuration., API Host, API Key, API Path, Failed to import provider, ID, Import Provider Configuration, Model, Provider already exists, Provider Name, Save

components/settings/provider/providerIcons

  • Source: src/renderer/components/settings/provider/providerIcons.tsx
  • Metadata: kind: component; area: settings
  • Components: ProviderIconImage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Provider icon image aliases and fallback states
  • States: None detected
  • Variants: None detected
  • Text: None detected

components/settings/provider/ProviderList

  • Source: src/renderer/components/settings/provider/ProviderList.tsx
  • Metadata: kind: component; area: settings
  • Components: ProviderList
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Provider list activated featured custom and add states
  • States: isCustom, isSmallScreen, success
  • Variants: color:chatbox-success, outline, size:sm
  • Text: Add

components/settings/provider/ProviderSpotlight

  • Source: src/renderer/components/settings/provider/ProviderSpotlight.tsx
  • Metadata: kind: component; area: settings
  • Components: ProviderSpotlight
  • Platform signals: all
  • Platform notes: branches when platform.type is not mobile
  • Preview modes: None detected
  • Preview links: Storybook: Provider spotlight quick actions popular and more providers
  • States: isImporting
  • Variants: None detected
  • Text: Add Custom Provider, Configure a custom OpenAI-compatible provider, Custom Additions, Import from clipboard, Import provider config from clipboard, Importing..., More Providers, Nothing found..., Popular, Search providers...

components/settings/skills/GitHubInstallModal

  • Source: src/renderer/components/settings/skills/GitHubInstallModal.tsx
  • Metadata: kind: component; area: settings
  • Components: GitHubInstallModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: GitHub install modal detected skill selection states
  • States: checked, disabled, error, installing, installStatuses, loading, opened, selected, selectedPaths, success
  • Variants: color:green, color:red, default, size:lg, size:sm, size:xs
  • Text: {{count}} selected, Cancel, Failed, Install failed, Install Selected, Install Skills from {{owner}}/{{repo}}, Installed, Installing, Select all

components/settings/skills/SkillsSection

  • Source: src/renderer/components/settings/skills/SkillsSection.tsx
  • Metadata: kind: component; area: settings
  • Components: SkillsSection
  • Platform signals: desktop
  • Platform notes: contains desktop-only UI option
  • Preview modes: None detected
  • Preview links: Storybook: Skills section builtin user claude and GitHub install entry states
  • States: checked, detectedSkills, error, githubUrl, hasUpdate, installModalOpen, isBuiltin, isTranslating, loading, menuOpened, opened, repoInfo, scanning, searchQuery, showGithubInput, skills, success
  • Variants: color:chatbox-tertiary, color:gray, light, size:sm, size:xs, subtle, transparent
  • Text: Add Skills, Add skills from the marketplace or install from a GitHub repository., Browse Skills, Built-in Skills, Check Update, Claude Code Skills, Confirm Delete?, Delete, Failed to check for updates, Failed to delete skill, Failed to scan repository, https://github.com/owner/repo, Install from GitHub, Install from GitHub Repository, Installed Skills, Local Agent Skills, No custom skills yet, No skills found in this repository, No updates for {{name}}, Open Skills Folder, Please enter a valid GitHub repository URL, Refresh, Scan, Search skills..., Skill deleted, Translate, Update available for {{name}}

components/settings/skills/SkillsSpotlight

  • Source: src/renderer/components/settings/skills/SkillsSpotlight.tsx
  • Metadata: kind: component; area: settings
  • Components: CHUNK_SIZE, SEARCH_DEBOUNCE_MS, SEARCH_MAX_LIMIT, SEARCH_MIN_QUERY_LENGTH, SEARCH_PAGE_SIZE, SEARCH_SCROLL_THRESHOLD
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Skills spotlight popular installed and replacement states
  • States: debouncedSearchQuery, error, hasMore, hasNextPage, installing, isFetchingNextPage, isInstalled, isLoading, isSearchLoading, loading, opened, searchQuery, success, translatedPopular, translatedSearch
  • Variants: color:blue, color:green, color:initials, color:orange, light, size:xs
  • Text: Fetch next batch from marketplace, Fetching marketplace results, Installation failed, Installed, Installing, Load more skills, Loaded {{count}} skills · Loading next batch..., Loaded {{count}} skills · Reached end, Loaded {{count}} skills · Scroll to load more, Loading more skills..., More, More results will load automatically when you reach the bottom, No more marketplace results for current query, Nothing found..., Popular Skills, Replace {{source}}, Search Results, Search skills..., Search starts after a short pause to reduce requests, Searching skills..., Status, Type at least 2 characters, unknown source

components/Shortcut

  • Source: src/renderer/components/Shortcut.tsx
  • Metadata: kind: component; area: app
  • Components: Keys, ShortcutConfig, ShortcutSelect, ShortcutText
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Model list shortcut table and sortable placeholder states
  • States: error, isConflict
  • Variants: None detected
  • Text: Action, Create a New Conversation, dialogOpenSearch, Focus on the Input Box, Focus on the Input Box and Enter Web Browsing Mode, Hotkeys, inputBoxFocus, inputBoxInsertNewLine, inputBoxSendMessage, inputBoxSendMessageWithoutResponse, inputBoxWebBrowsingMode, Insert a New Line into the Input Box, messageListRefreshContext, Navigate to the Next Conversation, Navigate to the Next Option (in search dialog), Navigate to the Previous Conversation, Navigate to the Previous Option (in search dialog), Navigate to the Specific Conversation, New Thread, newChat, None, optionNavDown, optionNavUp, optionSelect, quickToggle, Select the Current Option (in search dialog), Send, Send Without Generating Response, sessionListNavNext, sessionListNavPrev, sessionListNavTargetIndex, Show/Hide the Application Window, Show/Hide the Search Dialog

components/SortableItem

  • Source: src/renderer/components/SortableItem.tsx
  • Metadata: kind: component; area: app
  • Components: SortableItem
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Model list shortcut table and sortable placeholder states
  • States: None detected
  • Variants: None detected
  • Text: None detected

components/SponsorChip

components/StyledMenu

components/ui/command

  • Source: src/renderer/components/ui/command.tsx
  • Metadata: kind: component; area: app
  • Components: Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Command palette primitives and dialog primitives states
  • States: disabled, selected
  • Variants: None detected
  • Text: Command menu

components/ui/dialog

  • Source: src/renderer/components/ui/dialog.tsx
  • Metadata: kind: component; area: app
  • Components: Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Command palette primitives and dialog primitives states
  • States: disabled
  • Variants: None detected
  • Text: Close

routes/copilots/-components/CopilotDetailModal

  • Source: src/renderer/routes/copilots/-components/CopilotDetailModal.tsx
  • Metadata: kind: route-component; area: copilots
  • Components: CopilotDetailModal, CopilotScreenshotGalleryItem, StorageKeyGalleryItem, UrlGalleryItem
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Copilot detail local remote screenshots and action states
  • States: opened
  • Variants: filled, outline, size:lg, size:sm, size:xxs
  • Text: Add to My Copilots, Created on {{date}}, Description, Edit, Prompt Content, Published on {{date}}, Screenshots, Use this Copilot

routes/copilots/-components/CopilotItem

  • Source: src/renderer/routes/copilots/-components/CopilotItem.tsx
  • Metadata: kind: route-component; area: copilots
  • Components: CopilotItem
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Copilot item local starred remote and highlighted states
  • States: detailOpened, error, opened
  • Variants: size:sm, size:xs, transparent
  • Text: Created on {{date}}, Delete, Edit, Published on {{date}}, Star, Unstar

routes/copilots/-components/CopilotSettingsModal

  • Source: src/renderer/routes/copilots/-components/CopilotSettingsModal.tsx
  • Metadata: kind: route-component; area: copilots
  • Components: CopilotSettingsModal, MAX_IMAGE_SIZE
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Copilot settings create edit form states
  • States: error, errors, formData, isSmallScreen, opened, visible
  • Variants: outline, size:lg, size:sm, size:xs
  • Text: cancel, cannot be empty, Copilot Prompt Demo, Copilot Settings, Description, Icon, Prompt Content, save, Set Background Image, Support jpg or png file smaller than 5MB, Title, Upload

routes/copilots/-components/ExpandableSearch

  • Source: src/renderer/routes/copilots/-components/ExpandableSearch.tsx
  • Metadata: kind: route-component; area: copilots
  • Components: ExpandableSearch
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Expandable search collapsed expanded and typed states
  • States: isOpen, isSmallScreen, value
  • Variants: color:chatbox-tertiary, size:lg, size:sm, size:xs, subtle
  • Text: Search copilots...

routes/guide/-components/ActionButton

  • Source: src/renderer/routes/guide/-components/ActionButton.tsx
  • Metadata: kind: route-component; area: guide
  • Components: AUTO_NEW_CHAT_DELAY_SECONDS, AutoNewChatLoading, FreeTrialLink, GUIDE_ACTION_BUTTON_MAX_WIDTH, LoginButton, NewChatButton, NewChatTip, ProviderSettingsButton, ViewLicenseButton
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Guide action login settings license free trial and new chat states
  • States: activatingLicense, disabled, error, hasSucceeded, isFocused, isLastSelectedValid, isWindowFocused, licenses, loading, loginModalOpened, opened, pendingExternalAction, remainingSeconds, selected, selectedLicenseKey, showLicenseModal, success, visible
  • Variants: light, size:compact-sm, size:sm, size:xs
  • Text: Claim Free Plan, Confirm, For general conversations, please click, Login Successful, Login to Chatbox AI, New Chat, on the side bar to start a new conversation., Opening a new chat..., Select License, Set up API, Sit back, relax. Chatbox will start a new chat in {{count}}s..., This is the onboarding assistant, View License Details, You have multiple licenses. Please select one to use:

routes/guide/-components/ClaimWaitingCard

  • Source: src/renderer/routes/guide/-components/ClaimWaitingCard.tsx
  • Metadata: kind: route-component; area: guide
  • Components: ClaimWaitingCard
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Guide claim waiting card polling and escape actions
  • States: hasLicense, timedOut
  • Variants: size:sm, size:xs
  • Text: Open page again, Skip for now

routes/guide/-components/GuideMessage

  • Source: src/renderer/routes/guide/-components/GuideMessage.tsx
  • Metadata: kind: route-component; area: guide
  • Components: GuideMessage, ToolPartRenderer
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Guide message user assistant streaming and tool part states
  • States: disabled, hasTextContent, isAssistant, isLastMessage, isStreaming, isUser, success
  • Variants: None detected
  • Text: None detected

routes/guide/-components/SuggestedQuestions

  • Source: src/renderer/routes/guide/-components/SuggestedQuestions.tsx
  • Metadata: kind: route-component; area: guide
  • Components: SuggestedQuestions
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Guide suggested questions active and disabled states
  • States: disabled
  • Variants: size:sm, size:xs
  • Text: How do I switch to different models, like DeepSeek?, I want to try Chatbox for free!, What is an API? Where to get it? How to connect?, What is the relationship between Chatbox and other model providers?, Where is the Knowledge Base feature?, You might also want to ask

routes/guide/-components/UserTypeCards

  • Source: src/renderer/routes/guide/-components/UserTypeCards.tsx
  • Metadata: kind: route-component; area: guide
  • Components: UserTypeCards
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Guide user type cards active disabled and selected states
  • States: disabled, isSelected, selectedType
  • Variants: size:sm, size:xs
  • Text: I know how to configure API keys, Recommended, Skip guide, Use Chatbox AI service

routes/image-creator/-components/EmptyState

  • Source: src/renderer/routes/image-creator/-components/EmptyState.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: EmptyState
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image creator empty quick prompt states
  • States: None detected
  • Variants: size:sm, size:xl
  • Text: A cozy coffee shop interior, A cute rabbit in Pixar animation style, A futuristic city with flying cars, A serene mountain landscape at sunset, An abstract painting with vibrant colors, Create amazing images, Describe the image you want to generate. Be as detailed as possible for best results.

routes/image-creator/-components/GeneratedImagesGallery

  • Source: src/renderer/routes/image-creator/-components/GeneratedImagesGallery.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: GeneratedImageGalleryItem, GeneratedImagesGallery, MAX_HEIGHT, MAX_WIDTH, MIN_WIDTH, MOBILE_SIZE
  • Platform signals: mobile
  • Platform notes: checks platform.type === mobile, responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: Generated images gallery desktop aspect hover action states
  • States: disabled, error, hovered, isButton, isCustomSVG, isDirectImageSource, isDirectSource, isError, isHttpImageSource, isHttpSource, isSmallScreen, visible
  • Variants: color:red, size:lg, size:sm, size:xs, white
  • Text: Click to retry, custom-download-button, Download, Failed to load, report, Use as Reference, View

routes/image-creator/-components/HistoryItem

  • Source: src/renderer/routes/image-creator/-components/HistoryItem.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: HistoryItem, HistoryThumbnail
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Image generation history item active desktop mobile and empty thumbnail states
  • States: deletePopoverOpened, isActive, isDirectImageSource, isDirectSource, isError, isMobile, opened
  • Variants: color:gray, color:red, default, size:sm, size:xs, transparent
  • Text: Cancel, Delete, Delete this record?

routes/image-creator/-components/HistoryPanel

  • Source: src/renderer/routes/image-creator/-components/HistoryPanel.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: HistoryListContent, HistoryListFooter, HistoryPanel
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Image creator history panel loading empty populated and collapsed states
  • States: hasNextPage, isActive, isFetchingNextPage, isMobile, loading
  • Variants: color:gray, size:sm, size:xs, subtle
  • Text: Close, History, Load More, New Creation, No history yet

routes/image-creator/-components/ImageGenerationErrorTips

  • Source: src/renderer/routes/image-creator/-components/ImageGenerationErrorTips.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: ImageGenerationErrorTips, ImageGenerationTaskErrorMessage
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image generation error tips moderation provider and retrying states
  • States: disabled, error, isImageGenerationTaskErrorCode, isLicenseError, isRetrying, loading
  • Variants: ai_provider_error, color:chatbox-error, color:gray, image_content_moderation_blocked, image_generation_failed, light, size:sm, size:xs, subtle
  • Text: Content not allowed. Please modify your request and try again., Copied, Copy, Generation Failed, Image generation failed. Please try again., Retry, Settings, The AI provider is temporarily unavailable. Please try again later.

routes/image-creator/-components/MobileDrawers

  • Source: src/renderer/routes/image-creator/-components/MobileDrawers.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: MobileHistoryDrawer, MobileModelDrawer, MobileRatioDrawer
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Image creator mobile history model and ratio drawer states
  • States: hasNextPage, isCustom, isFetchingNextPage, isMobile, isSelected
  • Variants: color:gray, size:sm, size:xs, subtle
  • Text: Aspect Ratio, History, Select Model

routes/image-creator/-components/PromptDisplay

  • Source: src/renderer/routes/image-creator/-components/PromptDisplay.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: PromptDisplay
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image creator prompt display with model and reference count states
  • States: None detected
  • Variants: size:sm, size:xs
  • Text: {{count}} ref

routes/image-creator/-components/ReferenceImagesPreview

  • Source: src/renderer/routes/image-creator/-components/ReferenceImagesPreview.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: ReferenceImageItem, ReferenceImagesPreview
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image creator reference images preview removable and add states
  • States: isDirectImageSource, isDirectSource
  • Variants: color:dark, filled, size:xs
  • Text: Add Reference Image

routes/image-creator/-components/Shimmer

  • Source: src/renderer/routes/image-creator/-components/Shimmer.tsx
  • Metadata: kind: route-component; area: image-creator
  • Components: LoadingShimmer
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Image creator shimmer loading animation state
  • States: None detected
  • Variants: None detected
  • Text: None detected

routes/settings/provider/chatbox-ai/-components/EmailCodeLoginModal

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/EmailCodeLoginModal.tsx
  • Metadata: kind: route-component; area: settings
  • Components: EmailCodeLoginModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Email code login modal email and verification states
  • States: disabled, hasEnteredCodeStep, isSendingCode, isVerifyingCode, loading, opened, success
  • Variants: color:chatbox-gray, color:red, light, size:md, size:sm, size:xs
  • Text: By continuing, you agree to our, Cancel, Email, Enter the 6-digit verification code we sent to your email., If no account exists, it will automatically create one., Login to Chatbox AI, [email protected], Privacy Policy, Promise, Read our, Resend in {{count}}s, Send Code, Terms of Service, Verification Code, Verification failed, Verify and Log in

routes/settings/provider/chatbox-ai/-components/LicenseDetailCard

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/LicenseDetailCard.tsx
  • Metadata: kind: route-component; area: settings
  • Components: ExpansionPackIcon, InfoPanel, LicenseDetailCard, MessageDotsIcon, QuotaCard, QuotaCardDes, QuotaRingIcon, RewardIcon
  • Platform signals: all
  • Platform notes: responsive branch via isSmallScreen/useIsSmallScreen
  • Preview modes: desktop-wide, narrow/mobile-layout
  • Preview links: Storybook: License detail card active expired quota and reward states
  • States: disabled, isCN, isExpired, isSmallScreen, pendingAction
  • Variants: color:orange, light, size:sm
  • Text: (Remaining/Total), Bonus points are used first, then plan quota, and expansion packs are used last., Buy, Expansion Pack Quota, Expired, Image Quota (Remaining/Total), License Expiry, License Plan Overview, Loading..., No Expansion Pack, No rewards yet, Quota, Quota Details, Quota Reset Time, Renew License, Reward Quota, View Details, Your license has expired. You can continue using your expansion pack.

routes/settings/provider/chatbox-ai/-components/LicenseKeyView

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/LicenseKeyView.tsx
  • Metadata: kind: route-component; area: settings
  • Components: LicenseKeyView
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: License key view inactive activation and purchase states
  • States: error, isChatboxAIPlanFree, isLicenseNotFound, loading, success
  • Variants: color:chatbox-success, color:red, color:yellow, light, outline, size:sm, subtle, transparent
  • Text: Activate License, Back to Login, Chatbox AI, Chatbox AI License, Chatbox AI offers a user-friendly AI solution to help you enhance productivity, Deactivate, Expired, Failed to activate license, please check your license key and network connection, Get License, get more, Hassle-free setup, How to use?, Ideal for work and study, License Activated, License expired, please check your license key, License not found, please check your license key, Manage License, Retrieve License, Smartest AI-Powered Services for Rapid Access, This license key has reached the activation limit., View More Plans, Vision, Drawing, File Understanding and more, You have no more Chatbox AI quota left this month., You have no more Chatbox AI quota left today.

routes/settings/provider/chatbox-ai/-components/LicenseSelectionModal

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/LicenseSelectionModal.tsx
  • Metadata: kind: route-component; area: settings
  • Components: LicenseSelectionModal
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: License selection modal active expired and quota states
  • States: disabled, isExpired, opened, selectedKey
  • Variants: size:md, size:sm, size:xs
  • Text: Confirm, Expired, Expires, Remaining/Total Quota, Select License, Total Quota, You have multiple licenses. Please select one to use:

routes/settings/provider/chatbox-ai/-components/LoggedInView

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/LoggedInView.tsx
  • Metadata: kind: route-component; area: settings
  • Components: LoggedInView
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Logged in account selected license and quota states
  • States: activationError, disabled, displayLicenseKey, error, isChatboxAIPlanFree, isExpired, isLastSelectedValid, isLoading, loading, pendingExternalAction, selectedLicenseKey, switchingLicense
  • Variants: color:red, color:yellow, filled, light, outline, size:compact-sm, size:sm, size:xs, subtle, transparent
  • Text: Chatbox AI, Claim Free Plan, Continue with, Email, Expired, Expires, Failed to activate license, please check your license key and network connection, Failed to load account data. Please try again., Failed to load license details, get more, License expired, please check your license key, license key, License not found, please check your license key, Loading license details..., Loading..., Log out, Manage License, No expiration, No licenses found. Please purchase a license to continue., Retry, Select a license, Selected Key, Switching license..., This license key has reached the activation limit., View More Plans, You have no more Chatbox AI quota left this month., You have no more Chatbox AI quota left today., Your license has expired.

routes/settings/provider/chatbox-ai/-components/LoginView

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/LoginView.tsx
  • Metadata: kind: route-component; area: settings
  • Components: LoginView
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Chatbox AI login view real account entry states
  • States: loginModalOpened, opened
  • Variants: outline, size:sm
  • Text: By continuing, you agree to our, Chatbox AI offers a user-friendly AI solution to help you enhance productivity, Continue with, Get License, Hassle-free setup, Ideal for work and study, license key, Log in to your Chatbox account, Login, Privacy Policy, Promise, Read our, Retrieve License, Smartest AI-Powered Services for Rapid Access, Terms of Service, Vision, Drawing, File Understanding and more, Welcome to Chatbox

routes/settings/provider/chatbox-ai/-components/ModelManagement

  • Source: src/renderer/routes/settings/provider/chatbox-ai/-components/ModelManagement.tsx
  • Metadata: kind: route-component; area: settings
  • Components: ModelManagement
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Model management list fetch reset add remove states
  • States: opened, showFetchedModels
  • Variants: color:chatbox-gray, light, size:compact-xs, size:lg
  • Text: Fetch, Model, Models, Reset

Storybook Previews

components/stories/AppBaseReal.stories

  • Source: src/renderer/components/stories/AppBaseReal.stories.tsx
  • Metadata: kind: story; area: app; stories: CommandAndDialogStates, ControlsAndMenusStates, DevToolsStates, McpRuntimeStates, MediaAndGenerationControlsStates, ModelShortcutStates, RichContentStates, RootRouteShellState, VisualIdentityStates
  • Components: CommandAndDialogFixture, ControlsAndMenusFixture, DevToolsFixture, McpRuntimeFixture, MediaAndGenerationFixture, ModelShortcutFixture, RichContentFixture, SeedAppBase, SettingsSurface, StoryRouteContext, StoryRouter, StoryRouteSlot, SurfaceLabel, VisualIdentityFixture
  • Platform signals: desktop
  • Platform notes: contains desktop-only UI option
  • Preview modes: None detected
  • Preview links: Storybook: Command palette primitives and dialog primitives states, Storybook: App controls accordion action menu adaptive select and styled menu states, Storybook: Dev header theme switch session RAG pane and error test panel states, Storybook: MCP menu and status idle running starting error states, Storybook: Image display count style and model select states, Storybook: Model list shortcut table and sortable placeholder states, Storybook: Markdown mermaid SVG and artifact preview states, Storybook: Root route shell provider and outlet state, Storybook: App icons provider avatars file icons and static feedback states
  • States: count, disabled, error, isCustom, opened, preview, selectValue, shortcuts, style, styledAnchor
  • Variants: light, size:18, size:sm, size:xs
  • Text: Accordion content with real MUI summary/details styling., Actual app root route responsibility: theme providers, modal provider, error boundary, sidebar/outlet shell, shortcut hooks, and startup guards., Actual command palette and Radix dialog primitives used by app overlays., Actual HTML surface, Actual image display and image generation controls., Actual list and configuration surfaces used by settings., Actual Markdown, Mermaid, SVG, and artifact rendering surfaces., Actual MCP status dots and hover menu trigger with enabled tool count., Actual provider, brand, model, file, avatar, and feedback visuals., Actual Radix dialog content with header, description, footer, and close button., Actual shared controls used across settings, model, and action surfaces., App controls accordion action menu adaptive select and styled menu states, App icons provider avatars file icons and static feedback states, Artifact, Artifact Preview, Command and dialog primitives, Command dialog..., Command palette primitives and dialog primitives states, Confirm, Controls and menus, Dev header theme switch session RAG pane and error test panel states, Dialog title, Docs Search, Export chat, Image controls, Image display count style and model select states, Internal Gateway, Key badges:, Markdown mermaid SVG and artifact preview states, MCP menu and status idle running starting error states, MCP runtime, Model list shortcut table and sortable placeholder states, Models and shortcuts, New Chat, No command found., Open action menu, Open session, Open Settings, OpenAI, Promise, Provider, Provider limits, Rich content, Root route shell, Root route shell provider and outlet state, Search commands..., Search sessions, Select image model, Styled MUI menu, SVG Preview, Theme switch button, Toggle MCP, UI Inventory Preview, Visual identity

components/stories/ChatSurfacesReal.stories

  • Source: src/renderer/components/stories/ChatSurfacesReal.stories.tsx
  • Metadata: kind: story; area: app; stories: AttachmentGridStates, CompactionStatusStates, MessageListStates, MessageLoadingStates, MessageStates, NavigationControls, SummaryMessageStates
  • Components: CompactionFailedFixture, CompactionRunningFixture, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Message attachments with files, links, and RAG states, Storybook: Compaction running and failed states, Storybook: Message list grouped conversation summary navigation states, Storybook: Message loading and tool preparation states, Storybook: Message system user assistant error generating attachment states, Storybook: Message navigation floating controls, Storybook: Summary message latest editable state
  • States: collapsed, error, isLatestSummary, isNameManuallyEdited, isSummary, loading, visible
  • Variants: size:sm
  • Text: Actual chat message bubble with system, user, assistant, attachment, metadata, error, and generating states., Actual collapsed summary divider used after conversation compaction., Actual conversation compaction banner driven through the Jotai compaction UI state., Actual floating message navigation controls and scroll-to-bottom affordance., Actual message attachment grid with collapsed overflow, file cards, web links, and retrieval status., Actual status rows shown while the assistant is preparing work., Actual virtualized conversation list with grouped latest turn, system note, attachments, summary, assistant response, and error message., Compaction running and failed states, CompactionStatus, Customer interview transcript.txt, Launch readiness review, Market analysis.xlsx, Message, Message attachments with files, links, and RAG states, Message list grouped conversation summary navigation states, Message loading and tool preparation states, Message navigation floating controls, Message system user assistant error generating attachment states, MessageAttachmentGrid, MessageList, MessageNavigation, MessageStatuses, Product requirements.pdf, Scanned contract.png, Summary message latest editable state, SummaryMessage

components/stories/CommonControlsReal.stories

  • Source: src/renderer/components/stories/CommonControlsReal.stories.tsx
  • Metadata: kind: story; area: app; stories: AdaptiveModalStates, ConfirmDeleteStates, FormFieldStates, MessageLayoutSelectorStates, ModelParameterSliderStates, NumericControlsStates, PopoverConfirmStates
  • Components: ConfirmDeleteFixture, PopoverConfirmFixture, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Adaptive modal open actions and close button states, Storybook: Confirm delete button and menu item idle confirm states, Storybook: Creatable select password reset and mini button states, Storybook: Message layout selector classic bubble selected states, Storybook: Temperature and top-p slider settings states, Storybook: Lazy number slider combined slider and context count states, Storybook: Popover confirm opened and confirm action states
  • States: apiHost, confirmed, contextMessages, deleted, disabled, error, layout, lazyNumber, lazySlider, opened, password, provider, providers, selected, sliderWithInput, temperature, topP
  • Variants: color:chatbox-brand, color:error, outlined, size:sm
  • Text: Actual adaptive modal shell used for shared desktop modal and mobile drawer flows., Actual confirmation popover that clones its child trigger while preserving the original button behavior., Actual deferred-change numeric inputs used by settings forms and context controls., Actual legacy settings sliders for temperature and top-p with text input mirrors., Actual settings control for choosing classic left-aligned or bubble chat layout., Actual settings form controls for custom options, masked secrets, resettable text, and compact icon actions., Actual two-step destructive action controls, including the confirmation state after the first click., Adaptive modal open actions and close button states, AdaptiveModal, API Host, API Key, Button confirmation, Clear all generated images?, Clear image cache, Confirm delete button and menu item idle confirm states, ConfirmDeleteButton and ConfirmDeleteMenuItem, Creatable select password reset and mini button states, Delete model, Delete provider, Form field controls, Lazy number, Lazy number slider combined slider and context count states, Lazy numeric controls, Lazy slider, Menu item confirmation, Message layout selector classic bubble selected states, MessageLayoutSelector, Model parameter sliders, Not set, Open adaptive modal, Popover confirm opened and confirm action states, PopoverConfirm, Provider, Reset model settings?, Save changes, Slider with input, Temperature and top-p slider settings states

components/stories/CommonFeedbackReal.stories

  • Source: src/renderer/components/stories/CommonFeedbackReal.stories.tsx
  • Metadata: kind: story; area: app; stories: AvatarStates, ChatboxAIErrorMessageStates, ChatboxWelcomeCardStates, CompressionModalStates, ErrorBoundaryStates, InlineUtilityStates, ToastStates
  • Components: AvatarSample, SeedLicensePlan, SeedToasts, SurfaceLabel, ThrowOnRender
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Avatar user assistant system chat picture states, Storybook: Chatbox AI error message quota license file and web browsing states, Storybook: Chatbox welcome card login no-license and expired states, Storybook: Compression modal opened confirmation state, Storybook: Error boundary fallback and retry states, Storybook: Divider link mark scalable icon and segmented control states, Storybook: Toast stack top-right feedback states
  • States: error, opened, segment, success
  • Variants: size:lg, size:sm, size:xs
  • Text: Actual account/license welcome card variants shown on empty chat and image creator surfaces., Actual conversation compression confirmation modal used before forced context compaction., Actual global toast renderer backed by the shared UI store., Actual localized Chatbox AI service error copy with settings, plan, homepage, and parser action links., Actual Sentry-backed error boundary with the default app fallback, retry, reload, and details states., Actual user, assistant, system, chat, and picture avatar variants used in session and message rows., Actual utility components used throughout settings, message content, and toolbar controls., Assistant, Avatar, Avatar user assistant system chat picture states, Chat icon, Chatbox AI error message quota license file and web browsing states, Chatbox homepage link, Chatbox welcome card login no-license and expired states, ChatboxAIErrorMessage, ChatboxWelcomeCard, Compression modal opened confirmation state, CompressionModal, Divider link mark scalable icon and segmented control states, Error boundary fallback and retry states, ErrorBoundary, Inline common utilities, Long support conversation, Open compression modal, Picture, System, Toast stack top-right feedback states, Toast store is populated; notifications render in the production Snackbar stack., Toasts, User, Vertical divider

components/stories/CopilotsReal.stories

  • Source: src/renderer/components/stories/CopilotsReal.stories.tsx
  • Metadata: kind: story; area: app; stories: CopilotDetailModalStates, CopilotItemStates, CopilotSettingsModalStates, ExpandableSearchStates
  • Components: CopilotSettingsFixture, ExpandableSearchFixture, StoryRouteContext, StoryRouter, StoryRouteSlot, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Copilot detail local remote screenshots and action states, Storybook: Copilot item local starred remote and highlighted states, Storybook: Copilot settings create edit form states, Storybook: Expandable search collapsed expanded and typed states
  • States: collapsed, expanded, opened, term
  • Variants: size:34, size:sm, size:xs
  • Text: Actual collapsible copilot search control with collapsed icon, expanded input, clear button, and submit action., Actual copilot card with avatar, highlighted search text, tags, created/published dates, local edit menu, starred state, and remote card state., Actual copilot detail modal with avatar, tags, description, prompt content, screenshot gallery, local edit action, remote add action, and use action., Actual create and edit copilot settings modal with title, avatar upload, background upload, description, prompt, validation-ready fields, cancel, and save actions., Both production detail modal variants are mounted open., Collapsed, Copilot detail local remote screenshots and action states, Copilot item local starred remote and highlighted states, Copilot settings create edit form states, CopilotDetailModal, CopilotItem, CopilotSettingsModal, Drafts concise support replies with product-specific next steps., Expandable search collapsed expanded and typed states, ExpandableSearch, Expanded with typed query, Launch Product Manager, Support Reply Writer, Turns release notes, QA signals, and roadmap context into crisp launch decisions.

components/stories/GuideReal.stories

  • Source: src/renderer/components/stories/GuideReal.stories.tsx
  • Metadata: kind: story; area: app; stories: ClaimWaitingCardStates, GuideActionButtonsStates, GuideMessageStates, SuggestedQuestionsStates, UserTypeCardsStates
  • Components: ActionSurface, GuideMessageFixture, GuideStoryEnvironment, StoryRouteContext, StoryRouter, StoryRouteSlot, SuggestedQuestionsFixture, SurfaceLabel, UserTypeCardsFixture
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Guide claim waiting card polling and escape actions, Storybook: Guide action login settings license free trial and new chat states, Storybook: Guide message user assistant streaming and tool part states, Storybook: Guide suggested questions active and disabled states, Storybook: Guide user type cards active disabled and selected states
  • States: active, claimStarted, disabled, isLastMessage, isStreaming, lastQuestion, selected, selectedType
  • Variants: size:sm, size:xs
  • Text: ActionButton, Active, Actual guide action components for login, provider settings, new chat, onboarding tip, license details, and free trial claim., Actual guide chat message renderer with user bubble, assistant markdown, streaming loader, and rendered tool parts., Actual onboarding user-type card group with recommended state, hover-ready actions, disabled state, and selected state., Actual suggested guide questions with active chip buttons and disabled previous-message state., Actual waiting card shown after the free-plan claim page opens, including progress indicator, reopen, and skip actions., ClaimWaitingCard, Disabled, Free trial, Guide action login settings license free trial and new chat states, Guide claim waiting card polling and escape actions, Guide message user assistant streaming and tool part states, Guide suggested questions active and disabled states, Guide user type cards active disabled and selected states, GuideMessage, License, Login, New chat, New chat tip, Provider settings, Selected, Start a new chat, SuggestedQuestions, UserTypeCards

components/stories/HeaderReal.stories

  • Source: src/renderer/components/stories/HeaderReal.stories.tsx
  • Metadata: kind: story; area: app; stories: Default, LongTitle, NoThreadName, SameThreadNameAsSession, UntitledSession
  • Components: HeaderReal.stories
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Default, Storybook: Long Session Title, Storybook: No Thread Name, Storybook: Thread Name Same as Session (hidden), Storybook: Untitled Session
  • States: None detected
  • Variants: None detected
  • Text: Default, Long Session Title, No Thread Name, Quick Chat, React Hooks Discussion, Thread Name Same as Session (hidden), Understanding React Server Components, Untitled, Untitled Session, Very Long Session Title That Should Be Truncated With Ellipsis When It Exceeds Available Space

components/stories/ImageCreatorReal.stories

  • Source: src/renderer/components/stories/ImageCreatorReal.stories.tsx
  • Metadata: kind: story; area: app; stories: EmptyStateStates, GeneratedImagesGalleryStates, HistoryItemStates, HistoryPanelStates, ImageGenerationErrorTipsStates, LoadingShimmerStates, MobileDrawerStates, PromptDisplayStates, ReferenceImagesPreviewStates
  • Components: EmptyStateFixture, HistoryCard, MobileDrawersFixture, PanelFrame, PromptSurface, SurfaceLabel
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Image creator empty quick prompt states, Storybook: Generated images gallery desktop aspect hover action states, Storybook: Image generation history item active desktop mobile and empty thumbnail states, Storybook: Image creator history panel loading empty populated and collapsed states, Storybook: Image generation error tips moderation provider and retrying states, Storybook: Image creator shimmer loading animation state, Storybook: Image creator mobile history model and ratio drawer states, Storybook: Image creator prompt display with model and reference count states, Storybook: Image creator reference images preview removable and add states
  • States: active, collapsed, error, hasNextPage, isActive, isCustom, isFetchingNextPage, isMobile, isRetrying, loading, selectedModel, selectedPrompt, selectedRatio
  • Variants: size:sm, size:xs
  • Text: Active desktop, Actual desktop history panel with header actions, virtualized records, load-more footer, loading skeletons, empty state, and collapsed state., Actual generated image gallery with dynamic dimensions, preview affordance, use-as-reference, download, and report action wiring., Actual history item cards with active border, prompt, model label, date on mobile, delete action, image thumbnail, and empty thumbnail state., Actual image creator empty state with prompt examples and prompt selection callback., Actual image generation error panel with moderation message, debug IDs, copy action, retry action, and retry loading state., Actual image generation loading shimmer used while a generation task is waiting for results., Actual mobile bottom drawers for history, model selection, and aspect ratio selection. They are mounted open to expose their production layout., Actual prompt summary shown above generated results with model display name and reference image count., Actual reference image strip with thumbnails, remove affordance, and add placeholder while under the max image count., Collapsed, EmptyState, Generated images gallery desktop aspect hover action states, GeneratedImagesGallery, HistoryItem, HistoryPanel, Image creator empty quick prompt states, Image creator history panel loading empty populated and collapsed states, Image creator mobile history model and ratio drawer states, Image creator prompt display with model and reference count states, Image creator reference images preview removable and add states, Image creator shimmer loading animation state, Image generation error tips moderation provider and retrying states, Image generation history item active desktop mobile and empty thumbnail states, ImageGenerationErrorTips, Loading, LoadingShimmer, Mobile, MobileDrawers, No generated image, Populated, PromptDisplay, ReferenceImagesPreview

components/stories/InputControlsReal.stories

  • Source: src/renderer/components/stories/InputControlsReal.stories.tsx
  • Metadata: kind: story; area: app; stories: ImageUploadButtonStates, ImageUploadInputState, SessionSettingsButtonStates, TokenCountMenuStates, WebBrowsingButtonStates
  • Components: ImageUploadInputFixture, SurfaceLabel, ToolbarSample
  • Platform signals: mobile
  • Platform notes: uses isMobile state/prop
  • Preview modes: None detected
  • Preview links: Storybook: Image upload button desktop and mobile states, Storybook: Hidden image upload input configuration, Storybook: Session settings button enabled disabled and mobile states, Storybook: Token count menu normal calculating and auto compaction states, Storybook: Web browsing button active and inactive states
  • States: active, disabled, isCalculating, isCompacting, isMobile, lastChange, selected, visible
  • Variants: color:chatbox-brand, light, size:sm, size:xs
  • Text: Active, Actual conversation settings affordance shown in the input toolbar., Actual hidden file input paired with a visible trigger in the image upload flow., Actual image attachment trigger used by image-capable models., Actual token estimate dropdown used in the input toolbar with compression and auto-compaction controls., Actual toolbar button used to toggle web browsing for the next user message., Calculating, Desktop, Disabled, Enabled, Hidden image upload input configuration, Image upload button desktop and mobile states, ImageUploadButton, ImageUploadInput, Inactive, Mobile, Mobile active, Normal usage, Session settings button enabled disabled and mobile states, SessionSettingsButton, Token count menu normal calculating and auto compaction states, TokenCountMenu, Trigger input, Web browsing button active and inactive states, WebBrowsingButton

components/stories/InputSurfacesReal.stories

  • Source: src/renderer/components/stories/InputSurfacesReal.stories.tsx
  • Metadata: kind: story; area: app; stories: AgentModeButtonStates, AgentModePanelStates, AttachmentMiniCardStates, AttachmentParserTypeStates, InputBoxComposerStates, MessageAttachmentStates
  • Components: AgentModeButtonFixture, SeedInputSettings, StoryRouteContext, StoryRouteOutlet, StoryRouter, StoryRouteSlot, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Agent mode button auto on off unsupported popover states, Storybook: Agent mode panel auto on off unsupported and extension states, Storybook: Attachment mini card image file processing completed error states, Storybook: Attachment parser type label local chatbox-ai mineru inline and indexed, Storybook: InputBox composer ready selected model generating and missing model states, Storybook: Message attachment inline retrieval indexed indexing blocked failed states
  • States: disabled, error, selected, visible, webBrowsing
  • Variants: size:sm, size:xs
  • Text: Actual agent mode capability panel with AUTO/ON/OFF modes, web search, code execution, skills, MCP, and knowledge base rows., Actual chat composer with model selector, agent mode, file/image upload actions, token menu, send/stop, and session settings controls., Actual composer button with mode color, mode label, disabled state, and hover popover., Actual message attachment row with inline file, URL, retrieval indexing progress, ready, blocked, failed, and retry states., Actual upload preview cards used in the input composer for images, files, processing progress, completed status, and retryable errors., Agent mode button auto on off unsupported popover states, Agent mode panel auto on off unsupported and extension states, AgentModeButton, AgentModePanel, Attachment mini card image file processing completed error states, Attachment parser type label local chatbox-ai mineru inline and indexed, Auto with popover, Chatbox AI parsed, Document parser label, Failed transcript, Generating response, ImageMiniCard and FileMiniCard, Indexed attachment — parser hidden in subtitle (index status takes priority), Indexed handbook, Inline message attachment — parser in subtitle, InputBox, InputBox composer ready selected model generating and missing model states, Knowledge base report, Local filesystem, Local parsed, Message attachment inline retrieval indexed indexing blocked failed states, MessageAttachment, MinerU parsed, Model not selected, New chat ready, Oversized archive, Product roadmap, Quarterly deck, Reference URL, Scanned contract, Shows which parser produced each attachment (Local / Chatbox AI / MinerU). Inline attachments show the parser in the subtitle; session-retrieval (indexed) attachments hide it to make room for index status — the full parser + index info is shown in the click preview window instead., Unsupported model, Upload preview card (FileMiniCard) — parser shown on completed

components/stories/KnowledgeBaseReal.stories

  • Source: src/renderer/components/stories/KnowledgeBaseReal.stories.tsx
  • Metadata: kind: story; area: app; stories: KnowledgeBaseDocumentsStates, KnowledgeBaseFormStates, KnowledgeBaseMenuStates, KnowledgeBaseModalStates, KnowledgeBasePageStates
  • Components: KnowledgeBaseFormFixture, KnowledgeBaseMenuFixture, SeedKnowledgeBaseEnvironment, StoryRouteContext, StoryRouter, StoryRouteSlot, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Knowledge base documents upload ready processing paused failed states, Storybook: Knowledge base form provider parser model and action states, Storybook: Knowledge base menu selected and create states, Storybook: Knowledge base chunks preview and remote retry modal states, Storybook: Knowledge base page list documents and provider states
  • States: embeddingModel, error, isKnowledgeBaseEnvironmentSeeded, name, opened, parserConfig, providerMode, rerankModel, selected, success, visionModel
  • Variants: light, size:sm, size:xs
  • Text: Actual composer knowledge base selector menu with selected state and settings/create entry points., Actual documents section with upload affordance, completed file, processing progress, paused file, local parse failure, server parse failure, retry, pause, resume, delete, and chunks preview entry points., Actual form controls used for create/edit knowledge base flows, including provider mode, parser selection, model selectors, read-only parser display, Chatbox AI info, and destructive edit actions., Actual knowledge base modals for inspecting parsed chunks and retrying local parser failures with server parsing., Actual knowledge base settings page with configured bases, provider pills, parser pills, edit actions, and embedded document lists., Chatbox AI support handbook, ChunksPreviewModal and RemoteRetryModal, Empty knowledge base, Empty onboarding docs, Empty state uses the same menu after the query returns no knowledge bases., Knowledge Base, Knowledge base chunks preview and remote retry modal states, Knowledge base documents upload ready processing paused failed states, Knowledge base form provider parser model and action states, Knowledge base menu selected and create states, Knowledge base page list documents and provider states, Knowledge Base: Product launch, KnowledgeBase, KnowledgeBaseDocuments, KnowledgeBaseForm, KnowledgeBaseMenu, Name, Product launch knowledge base, The production modals are mounted open in this preview.

components/stories/LayoutReal.stories

  • Source: src/renderer/components/stories/LayoutReal.stories.tsx
  • Metadata: kind: story; area: app; stories: DesktopDownloadReminderState, ExitFullscreenButtonState, OverlayStates, PageStates, ToolbarStates, WindowControlsStates
  • Components: FullscreenPlatformFixture, SeedLayoutAtoms, StoryRouteContext, StoryRouter, StoryRouteSlot, SurfaceLabel, WebPlatformFixture
  • Platform signals: web
  • Platform notes: mentions web-only behavior
  • Preview modes: None detected
  • Preview links: Storybook: Desktop download reminder web floating prompt state, Storybook: Exit fullscreen hit area state, Storybook: Overlay modal drawer stacked escape management states, Storybook: Page header sidebar title and action states, Storybook: Toolbar search layout thread history and menu states, Storybook: Window controls normal and maximized desktop states
  • States: drawerOpened, isFullscreen, isFullscreenAtom, modalOpened, opened
  • Variants: light, size:sm, size:xs
  • Text: Actual app page shell with sidebar toggle, title area, right actions, and scrollable content body., Actual chat title toolbar with search, layout width toggle, thread history, export, raw JSON, clear, and delete menu actions., Actual desktop window controls shown for Windows and Linux title bars, including restore state., Actual invisible top hit area that appears when the desktop window is in fullscreen., Actual overlay wrappers with shared stack management so only the top overlay responds to Escape., Actual web-only floating reminder that promotes the desktop app outside settings routes., Both overlays use the production overlay manager., Configure, Conversation Settings, Delete conversation?, Desktop download reminder web floating prompt state, DesktopDownloadReminder, Exit fullscreen hit area state, ExitFullscreenButton, Fullscreen exit zone is mounted, Modal and Drawer, Model defaults, Open drawer, Open modal, Overlay modal drawer stacked escape management states, Page, Page header sidebar title and action states, Real page content area below the shared title bar., Session controls, The header keeps its fixed height while this body scrolls., The real fixed reminder is rendered at the bottom right of this iframe viewport., The shaded strip visualizes the actual top hit area rendered by the component., This is the actual managed Drawer wrapper stacked above the modal., This is the actual managed Modal wrapper used by layout overlays., Thread history, Toolbar, Toolbar search layout thread history and menu states, Web chat viewport, Window controls normal and maximized desktop states, WindowControls, Windows maximized, Windows normal

components/stories/MessageErrTipsReal.stories

components/stories/ModalsReal.stories

components/stories/ModelSelectorReal.stories

  • Source: src/renderer/components/stories/ModelSelectorReal.stories.tsx
  • Metadata: kind: story; area: app; stories: DesktopModelSelectorStates, MobileModelSelectorStates, ModelItemStates, ModelSelectorDropdownStates, ProviderHeaderStates
  • Components: DesktopSelectorFixture, MobileSelectorFixture, ModelSelectorFixture, SeededProviderSettings, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Desktop model selector all favorite search disabled states, Storybook: Mobile model selector drawer states, Storybook: Model item selected favorited disabled capability and drawer states, Storybook: Model selector dropdown with configured providers, Storybook: Provider header default favorite mobile custom and collapsed states
  • States: activeTab, collapsed, disabled, isCollapsed, isCustom, isFavorited, isSelected, opened, search, selected
  • Variants: favorite, light, mobile, size:sm
  • Text: Actual desktop combobox with auto option, favorites, grouped providers, selected row, search, and disabled model state., Actual mobile drawer with tabs, search, auto row, grouped providers, selected row, favorite state, and disabled model state., Actual provider group header used in desktop dropdowns and mobile drawers., Actual responsive model selector entry point backed by configured provider settings., Actual selectable model rows with recommendation color, badges, capabilities, favorite affordance, selected state, and disabled tooltip state., Claude, Desktop dropdown rows, Desktop model selector all favorite search disabled states, DesktopModelSelector, Favorite, Local Gateway, Mobile drawer rows, Mobile model selector drawer states, MobileModelSelector, Model item selected favorited disabled capability and drawer states, Model selector dropdown with configured providers, ModelItem and ModelItemInDrawer, ModelSelector, Open mobile selector, OpenAI, Provider header default favorite mobile custom and collapsed states, ProviderHeader

components/stories/ReasoningContentReal.stories

components/stories/SessionReal.stories

  • Source: src/renderer/components/stories/SessionReal.stories.tsx
  • Metadata: kind: story; area: app; stories: SessionItemStates, SessionListStates, ThreadHistoryDrawerStates
  • Components: SessionListFixture, StoryRouteContext, StoryRouter, StoryRouteSlot, SurfaceLabel, ThreadHistoryDrawerFixture
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Session item selected starred and picture states, Storybook: Session list search clear selected paginated states, Storybook: Thread history drawer with current and archived threads
  • States: opened, selected
  • Variants: size:sm
  • Text: Actual session list row with assistant avatar, selected state, starred state, and picture session variant., Actual sortable chat session list with search action, clear action, selected row, starred row, and picture session row., Actual thread history drawer populated from a real Session object with historical threads., Campaign hero image exploration, Launch planning, Positioning research, Pricing page copy, Product strategy and release notes, Session item selected starred and picture states, Session list search clear selected paginated states, SessionItem, SessionList, Support reply drafts for enterprise users, The drawer is opened through the same Jotai UI state used by the app., Thread history drawer with current and archived threads, ThreadHistoryDrawer

components/stories/SettingsChatboxAIReal.stories

components/stories/SettingsManagementReal.stories

  • Source: src/renderer/components/stories/SettingsManagementReal.stories.tsx
  • Metadata: kind: story; area: app; stories: AddProviderModalStates, BuiltinMcpServersStates, CustomMcpServersStates, DocumentParserSettingsStates, GitHubInstallModalStates, ImportProviderModalStates, McpConfigModalStates, McpRegistrySpotlightStates, ProviderIconStates, ProviderListStates, ProviderSpotlightStates, SkillsSectionStates, SkillsSpotlightStates
  • Components: OpenDefaultSpotlight, OpenProviderSpotlight, OpenSkillsSpotlight, SeedSettingsManagement, SettingsSurface, StoryRouteContext, StoryRouter, StoryRouteSlot, SurfaceLabel
  • Platform signals: all
  • Platform notes: None detected
  • Preview modes: None detected
  • Preview links: Storybook: Add provider modal name and API mode states, Storybook: Builtin MCP server premium accessible states, Storybook: Custom MCP server cards add edit and install states, Storybook: Document parser desktop mineru and token states, Storybook: GitHub install modal detected skill selection states, Storybook: Import provider modal overwrite and model preview states, Storybook: MCP config modal http edit form states, Storybook: MCP registry spotlight custom import official and community states, Storybook: Provider icon image aliases and fallback states, Storybook: Provider list activated featured custom and add states, Storybook: Provider spotlight quick actions popular and more providers, Storybook: Skills section builtin user claude and GitHub install entry states, Storybook: Skills spotlight popular installed and replacement states
  • States: active, disabled, hasUpdate, isBuiltin, isCustom, isImporting, opened, success
  • Variants: size:sm, size:xs
  • Text: A Claude Code compatible workflow discovered from the local skills folder., Actual add-provider modal with provider name validation and API compatibility mode selector., Actual Chatbox built-in MCP server cards with enabled and disabled switch states., Actual custom MCP grid with add-server tile, existing server cards, and install-config modal state., Actual install-from-GitHub modal with detected skills, checkboxes, install status badges, cancel, and install action., Actual MCP server editor modal with name, transport type, URL/header fields, delete, test, and save actions., Actual MCP server registry spotlight with custom add, JSON import, official, and community entries., Actual parser selector with desktop MinerU token and connection check affordance., Actual provider command palette with quick actions, popular providers, more providers, and import state., Actual provider icon loader for bundled provider PNG assets, aliases, and fallback icon rendering., Actual provider import review modal with overwrite warning, API fields, model list, cancel, and save actions., Actual settings provider navigation list with active, configured, custom, featured, and add states., Actual skills management section with built-in, user, Claude Code, marketplace, GitHub install, refresh, and translation controls., Actual skills marketplace spotlight with popular skills, installed badges, replacement badges, and search input., Add provider modal name and API mode states, AddProviderModal, Answer questions about Chatbox product features and plans., Builtin MCP server premium accessible states, BuiltinServersSection, Chatbox AI, chatbox-product-info, Claude, claude-imported-workflow, ConfigModal, Custom MCP server cards add edit and install states, CustomServersSection, Docs Search, Document parser desktop mineru and token states, DocumentParserSettings, Existing Gateway, Gemini, Generate release notes from local commits and issue labels., GitHub install modal detected skill selection states, GitHubInstallModal, Import provider modal overwrite and model preview states, Imported Gateway, ImportProviderModal, Internal Gateway, Local Git Tools, MCP config modal http edit form states, MCP registry spotlight custom import official and community states, OpenAI, Promise, Provider icon image aliases and fallback states, Provider list activated featured custom and add states, Provider spotlight quick actions popular and more providers, ProviderIconImage, ProviderList, ProviderSpotlight, release-notes, repo-code-review, Review changed files and produce concrete risk findings., Review pull requests and summarize risk before merge., ServerRegistrySpotlight, Skills section builtin user claude and GitHub install entry states, Skills spotlight popular installed and replacement states, SkillsSection, SkillsSpotlight

components/stories/ToolCallPartReal.stories