Skip to content
CAI
Software that uses CAICheck a score

Mintplex-Labs/anything-llm

37.3

Weak · 25 September 2026

247.5k

lines of production code

JavaScript

primary language

3

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a self-hostable, monolithic AI assistant platform that enables users to ingest, process, and query diverse data sources through a unified interface. It features a robust document collector that supports live synchronization with repositories, wikis, and websites, alongside extensive support for various file formats, audio transcription, and OCR. The application provides a flexible frontend for managing workspaces and configuring a wide array of LLM, embedding, and vector database providers, while offering multiple deployment options including Docker, Kubernetes, and bare-metal servers.

How it got here

2023–2024 — monorepo scaffolding and frontend overhaul

231 changes.

The project established its foundational monorepo structure and introduced official Docker and cloud deployment support. A comprehensive frontend overhaul implemented a new design system, PWA capabilities, and a robust multi-user authentication framework with role-based access control. The backend collector was rewritten in Node.js to support a wider array of data connectors and enhanced security protocols.

2025–2026 — Agent builder and localization expansion

124 changes.

This period focused on introducing a visual Agent Flow Builder with block-based configuration and variable scoping, alongside significant enhancements to chat capabilities such as collapsible thought chains and in-chat model routing. The work also heavily expanded internationalization support by adding numerous new language locales and integrated a local auto-translation tool. Additionally, the platform broadened its ecosystem with new data connectors, LLM provider integrations, and administrative tools for managing scheduled jobs and agent skills.

Features

AWS Bedrock configuration UI with manual region entry

The AWS Bedrock settings panel now includes a dedicated region selector that supports both standard AWS regions and manual entry for specialized regions like GovCloud. Users can configure their API key, select a region from a predefined list or type a custom region code, and adjust model context windows and maximum token limits directly within the interface.

frontend/src/components/LLMSelection/AwsBedrockLLMOptions · high confidence

Ability to delete messages from conversation history

Users can now delete messages from the chat history. A new DeleteMessage component has been added to the HistoricalMessage Actions, which renders a button with a trash icon and 'Delete' text for assistant messages (excluding user messages and those currently being edited). Clicking this button dispatches a DELETE\_EVENT, triggering a hook that monitors the deletion state and calls the workspace's deleteChat method for assistant messages once the animation completes.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/DeleteMessage · high confidence

Add AnythingLLM Helm Chart

Introduces a new Helm chart for deploying AnythingLLM on Kubernetes, packaging the application (image tag 1.16.2, app version 1.85.0) with standard resources including a Deployment, Service, PersistentVolumeClaim for storage, and Ingress/HTTPRoute support. The chart provides configurable environment injection via ConfigMaps and Kubernetes Secrets, health probes, and a test hook to verify connectivity post-installation.

cloud-deployments/helm/charts/anythingllm · high confidence

Add Apipie LLM configuration options

A new settings component for Apipie integration has been added, allowing users to input their Apipie API Key and select a specific chat model. The model selection dropdown dynamically loads available models grouped by organization from the system's custom models endpoint, providing a dedicated interface for configuring this specific LLM provider.

frontend/src/components/LLMSelection/ApiPieOptions · high confidence

Add CTAButton component with primary styling

A new CTAButton component has been introduced to standardize call-to-action button rendering. It provides a consistent visual style using primary background colors, rounded corners, and specific padding, while supporting disabled states, custom click handlers, and additional CSS classes for flexibility.

frontend/src/components/lib/CTAButton · high confidence

Add Cerebras LLM provider configuration options

Users can now configure the Cerebras AI provider within the application settings. This change introduces a new UI component that allows users to input their Cerebras API key and select a specific chat model from the available options fetched via the system's custom models endpoint.

frontend/src/components/LLMSelection/CerebrasLLMOptions · high confidence

Add Chat Temperature Settings component

A new ChatTemperatureSettings component has been added to the Workspace Settings area, allowing users to configure the LLM temperature for chat interactions. The UI includes a numeric input field with a default value of 0.7 (or 0 for Mistral providers), localized labels and descriptions via i18n, and styling consistent with the workspace settings theme. Changes to this setting trigger a 'has changes' flag to indicate unsaved modifications.

frontend/src/pages/WorkspaceSettings/ChatSettings/ChatTemperatureSettings · high confidence

Add CometAPI LLM configuration options

The settings interface now includes a dedicated section for configuring CometAPI integrations. Users can enter their CometAPI API key, select a chat model from a dynamically loaded and deduplicated list, and adjust the stream timeout value (defaulting to 3,000 ms) via an expandable advanced settings panel.

frontend/src/components/LLMSelection/CometApiLLMOptions · high confidence

Add DeepSeek LLM configuration options

Users can now configure DeepSeek language models in the settings. This change introduces a new UI component that allows entering a DeepSeek API key and selecting a specific chat model from a list fetched dynamically via the System API, with support for both light and dark theme styling.

frontend/src/components/LLMSelection/DeepSeekOptions · high confidence

Add Drupal Wiki collector extension

A new collector extension for Drupal Wiki sites has been added, enabling the extraction of page content and attachments from specified spaces via the Drupal REST API. Users can now configure a base URL, access token, and space IDs to import wiki pages into the system, with support for deduplication and attachment processing.

collector/utils/extensions/DrupalWiki · high confidence

Add ElevenLabs and OpenAI Text-to-Speech configuration options

Users can now configure Text-to-Speech settings for ElevenLabs and OpenAI providers. The ElevenLabs component allows entering an API key and selecting a voice model, with models fetched dynamically and grouped by organization. The OpenAI component provides an API key input and a dropdown to select from available voice models (alloy, echo, fable, onyx, nova, shimmer).

frontend/src/components/TextToSpeech/ElevenLabsOptions · high confidence

Add Fireworks AI integration with API key and model selection

Users can now configure Fireworks AI by entering their API key and selecting a specific chat model from a dropdown. The component fetches available custom models for the Fireworks AI provider and groups them by organization, allowing users to choose the desired model for their interactions.

frontend/src/components/LLMSelection/FireworksAiOptions · high confidence

Add Gitea data connector for self-hosted repositories

Users can now connect to self-hosted Gitea instances to collect repository content. The new connector includes a backend loader that validates URLs, supports optional personal access tokens for private repos, and recursively fetches files while respecting ignore patterns. On the frontend, a new configuration modal allows users to input the repository URL, optional access token, target branch, and path exclusions, providing a seamless way to ingest Gitea-hosted code into the workspace.

collector/utils/extensions/RepoLoader/GiteaRepo, frontend/src/components/Modals/ManageWorkspace/DataConnectors/Connectors/Gitea · high confidence

Add Gitee AI configuration options

A new settings component for the Gitee AI LLM provider has been added, allowing users to input their API key, select a chat model from a list grouped by organization, and specify the model's context window size (token limit).

frontend/src/components/LLMSelection/GiteeAIOptions · high confidence

Add Google Vertex AI LLM configuration options

The LLM selection interface now includes a dedicated settings panel for Google Vertex AI. Users can configure their connection by entering a Vertex AI API Key and GCP Project ID, selecting a specific region from a comprehensive list of supported global locations (or entering one manually), and choosing a model. The component also supports manual entry for custom or Model Garden partner models and allows setting a specific context window limit for non-standard models.

frontend/src/components/LLMSelection/VertexLLMOptions · high confidence

Add Hindi (hi) language support

Users can now interact with the application in Hindi. This change adds a new locale file (frontend/src/locales/hi/common.js) containing translations for the onboarding flow, login, workspace management, settings, and chat interfaces, enabling full Hindi UI support for these areas.

frontend/src/locales/hi · high confidence

Add Indonesian (id) language support

Users can now access the application interface in Indonesian. This change introduces the initial translation file (common.js) for the 'id' locale, covering key areas such as onboarding, login, workspace settings, and chat interactions, enabling Indonesian-speaking users to navigate and configure the system in their native language.

frontend/src/locales/id · high confidence

Add LLM performance metrics display to chat messages

Users can now view performance details for individual chat responses, including the model name, generation duration, and tokens-per-second (TPS) rate. This new RenderMetrics component displays these metrics as a text string and includes a toggle button to control whether metrics are shown automatically or only on hover, with the preference saved in local storage.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/RenderMetrics · high confidence

Add LLMMan provider configuration options

The LLMMan provider settings panel now includes controls for the base URL (with auto-detection support), model context window limits, and keep-alive duration for model caching. Users can configure how long llmman keeps models in memory before unloading and specify token limits for the context window, with tooltips providing guidance on these settings.

frontend/src/components/LLMSelection/LlmmanOptions · high confidence

Add LM Studio embedding configuration options

The LM Studio embedding settings panel now includes controls for configuring the embedding model's maximum chunk length, allowing users to adjust text processing limits. It also provides fields for manually entering the LM Studio base URL and an optional authentication token, with an auto-detect button to simplify endpoint discovery.

frontend/src/components/EmbeddingSelection/LMStudioOptions · high confidence

Add Latvian language support

Added a new Latvian (lv) locale file containing translations for the onboarding flow, login, settings, workspaces, and chat interfaces, enabling users to interact with the application in Latvian.

frontend/src/locales/lv · high confidence

Add LiteLLM embedding provider configuration UI

A new settings component has been added to allow users to configure the LiteLLM embedding provider. This interface includes fields for entering the LiteLLM Base URL and an optional API Key, alongside a dynamic dropdown that fetches and displays available embedding models from the specified LiteLLM endpoint. It also provides a setting for the maximum embedding chunk length and includes tooltips to guide users in selecting valid embedding models rather than chat models.

frontend/src/components/EmbeddingSelection/LiteLLMOptions · high confidence

Add LiteLLM provider configuration UI

Users can now configure LiteLLM-compatible endpoints directly in the settings. This new component provides fields to enter the Base URL and an optional API Key, along with a Model context window limit. It also includes a dynamic model selector that fetches available models from the specified LiteLLM endpoint, allowing users to choose a specific chat model for their interactions.

frontend/src/components/LLMSelection/LiteLLMOptions · high confidence

Add LocalAI provider configuration with auto-detection and API key support

Users can now configure LocalAI as an LLM provider directly from the settings page. This new component allows users to input an optional API key, auto-detect the LocalAI base URL, and manually override the model context window size. It also includes a model selection interface that fetches available models from the configured LocalAI instance.

frontend/src/components/LLMSelection/LocalAiOptions · high confidence

Add Memories sidebar for managing workspace and global memories

The Memories sidebar now allows users to create, edit, delete, and promote/demote memories between workspace and global scopes. Users can toggle memory personalization and auto-extraction on or off, view memories in tabs with usage limits, and manage individual memories via a context menu.

frontend/src/components/WorkspaceChat/ChatContainer/MemoriesSidebar · high confidence

Add Milvus Vector Database configuration options

Users can now configure a Milvus vector database connection directly within the application settings. This change introduces a new UI component that provides input fields for the Milvus DB Address, Username, and Password, allowing users to specify connection details for Milvus instances.

frontend/src/components/VectorDBSelection/MilvusDBOptions · high confidence

Add Minimax LLM provider configuration UI

Users can now configure the Minimax LLM provider directly in the settings. This change introduces a new UI component that allows users to input their Minimax API key and select a specific chat model. The model selection dropdown dynamically fetches available custom models from the backend once the API key is provided, enabling seamless integration with the Minimax service.

frontend/src/components/LLMSelection/MinimaxOptions · high confidence

Add Mistral AI embedding configuration options

Users can now configure Mistral AI embeddings via a new settings component that accepts an API key and allows selection of the 'mistral-embed' model.

frontend/src/components/EmbeddingSelection/MistralAiOptions · high confidence

Add Mistral API configuration and model selection

Users can now configure Mistral AI integration via a new settings component that accepts an API key and allows selection of available Mistral models. The interface dynamically fetches custom models associated with the provided key and presents them in a dropdown, while handling loading states and masking existing keys for security.

frontend/src/components/LLMSelection/MistralOptions · high confidence

Add NVIDIA NIM configuration options

The settings interface now includes a dedicated section for configuring NVIDIA NIM endpoints. Users can specify the base URL for a remote NVIDIA NIM instance, with an option to auto-detect the endpoint. The interface also allows selection of the specific chat model to use from the available models on the configured endpoint.

frontend/src/components/LLMSelection/NvidiaNimOptions · high confidence

Add OpenShift-compatible deployment template with arbitrary UID support

Users deploying AnythingLLM on Red Hat OpenShift or clusters with restricted Security Context Constraints can now use a specialized Dockerfile and entrypoint script. This template handles OpenShift's requirement for arbitrary UIDs with GID 0 by dynamically injecting user entries into /etc/passwd at runtime, setting group-writable permissions, and adding the user to the root group, ensuring compatibility with OpenShift's security model.

cloud-deployments/openshift · high confidence

Add PPIO model provider configuration

Users can now configure the PPIO model provider in the LLM selection settings. This change introduces a new UI component that allows users to input their PPIO API key and select a specific chat model from a list fetched dynamically from the system. The model selection dropdown is grouped by organization and includes a loading state while fetching available models.

frontend/src/components/LLMSelection/PPIOLLMOptions · high confidence

Add Paperless-ngx data connector

Users can now ingest documents from a Paperless-ngx instance via a new data connector. The implementation fetches paginated document metadata and content (including PDF text extraction) from the Paperless-ngx API, processes the content, and saves the resulting documents to the server's document store with appropriate metadata and chunking information for later resyncing.

collector/utils/extensions/PaperlessNgx · high confidence

Add Perplexity AI provider configuration

Users can now configure Perplexity AI as an LLM provider. This change introduces a new settings component that allows users to input their Perplexity API key and select from available Perplexity chat models, which are fetched dynamically from the system's custom models list.

frontend/src/components/LLMSelection/PerplexityOptions · high confidence

Add Private Mode LLM configuration UI

A new settings component has been added to allow users to configure Private Mode AI integration. This interface provides a field to enter the Private Mode Proxy URL and a dropdown to select a specific chat model, which is dynamically populated by fetching available models from the configured proxy endpoint.

frontend/src/components/LLMSelection/PrivateModeOptions · high confidence

Add SambaNova LLM configuration options

Users can now configure SambaNova as an LLM provider by entering an API key and selecting a specific model. The new SambaNovaOptions component fetches available models from the SambaNova API, groups them by organization, and presents them in a dropdown for selection.

frontend/src/components/LLMSelection/SambaNovaOptions · high confidence

Add Simple SSO passthrough login page

A new login component has been added to handle Simple SSO flows from external services. This page accepts a token via URL query parameters, validates it against the backend, and stores the resulting user session data in local storage. Upon successful authentication, the user is redirected to a specified path; otherwise, an error message is displayed.

frontend/src/pages/Login/SSO · high confidence

Add Together AI provider support with dynamic model selection

Users can now configure and use the Together AI provider. This change introduces a new settings component that allows users to input their Together AI API key and dynamically fetch available chat models. The model selection dropdown is populated based on the provided API key, grouping models by organization, and ensures that only chat-compatible models are displayed for selection.

frontend/src/components/LLMSelection/TogetherAiOptions · high confidence

Add Voyage AI Embedder Configuration UI

Users can now configure the Voyage AI embedding service directly within the application settings. This change introduces a new UI component that allows users to input their Voyage AI API key and select from a comprehensive list of supported embedding models, including voyage-2, voyage-3, voyage-3-lite, voyage-3-large, voyage-code-3, and various specialized models like finance, law, and multilingual variants.

frontend/src/components/EmbeddingSelection/VoyageAiOptions · high confidence

Add Z.AI LLM provider configuration UI

Users can now configure the Z.AI language model provider directly in the settings. This change introduces a new component that allows users to input their Z.AI API key and select a specific chat model from a list of available custom models fetched via the System API. The interface includes a password field for the API key and a dropdown for model selection, with loading states and validation to ensure a valid key is provided before displaying available models.

frontend/src/components/LLMSelection/ZAiLLMOptions · high confidence

Add Zilliz Cloud configuration options

Users can now configure Zilliz Cloud vector database connections via a new form in the VectorDBSelection component. This addition introduces input fields for the Cluster Endpoint and API Token, allowing users to specify their Zilliz Cloud credentials and endpoint URL directly within the application settings.

frontend/src/components/VectorDBSelection/ZillizCloudOptions · high confidence

Add ability to edit chat messages

Users can now edit their own prompts and assistant responses directly within the chat history. This change introduces an 'Edit' button on historical messages that opens an inline editing form, allowing users to modify the text and save changes. The feature respects the user's spell-check preference and provides distinct action buttons for submitting edits or canceling the operation.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/EditMessage · high confidence

Add browser extension API key management

A new settings page has been added to manage API keys for connecting the AnythingLLM browser extension. Users can now generate new connection strings, copy them to the clipboard, and automatically trigger a connection to the extension via a postMessage event. Existing keys can be revoked, and in multi-user mode, the interface displays the username of the key creator and warns that the key grants access to all associated workspaces.

frontend/src/pages/GeneralSettings/BrowserExtensionApiKey · high confidence

Add configurable chat history retention setting

A new Chat History Settings component has been added to the Workspace Settings, allowing users to configure the number of chat messages retained (defaulting to 20). This input field supports internationalization via i18n keys and includes basic UI styling consistent with the workspace settings theme.

frontend/src/pages/WorkspaceSettings/ChatSettings/ChatHistorySettings · high confidence

Add configuration UI for Pinecone and Chroma vector databases

New input forms have been added to the VectorDBSelection component, allowing users to configure credentials and endpoints for Pinecone and Chroma vector databases. The Pinecone form collects the API key and index name, while the Chroma form collects the endpoint URL, API header, and API key, integrating these options into the existing settings interface.

frontend/src/components/VectorDBSelection/PineconeDBOptions · high confidence

Add configuration UI for self-hosted Kokoro TTS

A new settings component has been added to allow users to connect to a self-hosted Kokoro FastAPI server. Users can now specify the server's base URL and an optional API key, and the interface will automatically fetch available voice models from the server for selection, falling back to manual entry if the server is unreachable.

frontend/src/components/TextToSpeech/KokoroOptions · high confidence

Add configuration options for Text Generation Web UI provider

Users can now configure the Text Generation Web UI (Oobabooga) LLM provider directly in the settings. This new component adds input fields for the Base URL, Model context window (token limit), and an optional API Key, allowing seamless integration with this specific backend.

frontend/src/components/LLMSelection/TextGenWebUIOptions · high confidence

Add custom PDFLoader for page-aware PDF text extraction

A new PDFLoader module has been introduced in the PDF conversion pipeline to handle PDF file ingestion. This loader utilizes the pdf-parse library to read PDF files and extract text content, offering a configurable option to split output by individual pages or combine them into a single document. It preserves metadata such as PDF version, document info, and page numbers, enabling downstream processes to access structured, page-level text data from PDF sources.

collector/processSingleFile/convert/asPDF/PDFLoader · high confidence

Add default badge component for agent skills

A new DefaultBadge component has been introduced in the Admin Agents Badges section to visually represent skills that are enabled by default and cannot be disabled. This component displays a styled label with a tooltip indicating the skill's immutable status, utilizing specific styling for both light and dark modes.

frontend/src/pages/Admin/Agents/Badges · high confidence

Add in-browser Piper TTS voice selection and demo

Users can now select from available Piper TTS voice models directly in the settings, with voices grouped by language and labeled with quality and file size. The component includes a demo button to preview each voice locally in the browser and a cache management option to flush stored voice models.

frontend/src/components/TextToSpeech/PiperTTSOptions · high confidence

Add max tokens configuration to generic OpenAI LLM connector

The GenericOpenAiOptions component now includes a 'Max Tokens' input field, allowing users to specify the maximum number of tokens per request (defaulting to 1024). This complements the existing 'Model context window' setting and the Base URL, API Key, and Model Selection fields already present in the generic OpenAI connector UI.

frontend/src/components/LLMSelection/GenericOpenAiOptions · high confidence

Add multi-step Community Hub import flow for agent skills, flows, and prompts

The Community Hub import page now features a structured three-step wizard (Introduction, Review, Completed) that allows users to import agent skills, agent flows, system prompts, and slash commands. The flow includes specific review interfaces for each item type—such as code file inspection for agent skills and workspace selection for system prompts—and automatically enables imported agent flows upon completion.

frontend/src/pages/GeneralSettings/CommunityHub/ImportItem · high confidence

Add settings UI for Cohere embedding and chat models

New configuration components have been added to the settings interface for both embedding and chat capabilities powered by Cohere. Users can now input their Cohere API key and dynamically select from available models for both the 'cohere-embedder' and 'cohere' LLM services, with the chat model selector being hidden when the component is used in credentials-only mode.

frontend/src/components/EmbeddingSelection/CohereOptions, frontend/src/components/LLMSelection/CohereAiOptions · high confidence

Add workspace deletion confirmation UI

The General Appearance settings page now includes a dedicated component for deleting a workspace. This new UI element presents a confirmation dialog via the browser's native confirm prompt before proceeding, displays localized text for the title, description, and button states using i18n keys, and provides visual feedback (disabled state and animation) while the deletion request is in progress. Upon successful deletion, the user is redirected to the home page if they are currently viewing the workspace being deleted, or the page is reloaded otherwise.

frontend/src/pages/WorkspaceSettings/GeneralAppearance/DeleteWorkspace · high confidence

Add xAI (Grok) LLM configuration options

The settings interface now includes a dedicated section for configuring xAI integrations. Users can enter their xAI API key and select a specific chat model from a dropdown list that dynamically populates with available custom models once a valid key is provided. This component handles the UI for inputting credentials and model selection, integrating with the existing system model-fetching logic.

frontend/src/components/LLMSelection/XAiLLMOptions · high confidence

Added Astra DB configuration options UI

A new component has been added to the VectorDBSelection area to allow users to configure Astra DB connections. This UI presents two input fields: one for the Astra DB Endpoint (URL) and another for the Astra DB Application Token (masked as a password). The inputs are styled with theme-aware backgrounds and focus states, and the token field displays masked characters if a value is already present in the settings.

frontend/src/components/VectorDBSelection/AstraDBOptions · high confidence

Added Brazilian Portuguese (pt\_BR) localization file

The application now includes a dedicated translation file for Brazilian Portuguese (pt\_BR), providing UI strings for onboarding, login, settings, chat, and workspace management in Portuguese. This enables users with this language preference to see the interface translated rather than falling back to English keys.

_frontend/src/locales/pt\BR · high confidence

Added Catalan language support

Introduced a new Catalan (ca) locale file containing translations for the application's interface, including onboarding flows, workspace settings, chat interactions, and system configuration menus, enabling users to interact with the platform in Catalan.

frontend/src/locales/ca · high confidence

Added Chroma Cloud configuration UI

A new settings component has been added to the frontend for configuring Chroma Cloud vector database connections. Users can now input their API Key, Tenant ID, and Database Name directly within the application interface, with the API Key field masked for security.

frontend/src/components/VectorDBSelection/ChromaCloudOptions · high confidence

Added Contextual Save Bar component

A new ContextualSaveBar component has been introduced to the frontend. This UI element displays a fixed bar at the top of the screen when unsaved changes are detected, featuring a warning icon, an 'Unsaved Changes' label, and 'Cancel' and 'Save' action buttons. It allows users to confirm or discard pending modifications before leaving a context.

frontend/src/components/ContextualSaveBar · high confidence

Added Croatian (hr) language support

The application now includes a complete Croatian translation file, enabling users to interface with the platform in their native language. This update covers key areas including onboarding flows, workspace management, chat interactions, and system settings, ensuring a localized experience for Croatian-speaking users.

frontend/src/locales/hr · high confidence

Added Danish language support

Users can now interact with the application in Danish. This change introduces a new localization file (frontend/src/locales/da/common.js) containing translations for the onboarding flow, login screens, workspace settings, chat interface, and general system messages, enabling a fully localized Danish experience for these core areas.

frontend/src/locales/da · high confidence

Added Drupal Wiki data connector configuration UI

Users can now configure a new Drupal Wiki data source within the Manage Workspace modal. This change introduces a form component that collects the Drupal Wiki base URL, specific Space IDs, and an API access token, allowing users to initiate the collection of pages from their Drupal Wiki instances directly from the frontend interface.

frontend/src/components/Modals/ManageWorkspace/DataConnectors/Connectors/DrupalWiki · high confidence

Added Estonian language support

The application now includes a complete Estonian translation file (frontend/src/locales/et/common.js), enabling users to interact with the interface, settings, and onboarding flows in Estonian. This covers key areas such as workspace management, chat modes, agent skills, and system settings.

frontend/src/locales/et · high confidence

Added Farsi (Persian) localization support

Users can now interact with the application in Farsi (Persian). This change introduces a new translation file for the Persian locale, covering key interface elements such as the onboarding survey, login screens, workspace settings, chat modes, and system configuration menus.

frontend/src/locales/fa · high confidence

Added Foundry Local LLM configuration interface

A new settings component has been introduced to configure the Microsoft Foundry Local LLM provider. Users can now specify the service's base URL, optionally override the model context window (token limit), and select from available models via a searchable list that supports fuzzy matching. The interface includes tooltips explaining that leaving the context window blank allows the server to auto-detect the limit, while a manual entry acts as an explicit override.

frontend/src/components/LLMSelection/FoundryOptions · high confidence

Added Hebrew language support

Users can now interact with the application in Hebrew. This change introduces a new localization file (common.js) containing translations for the onboarding flow, login screens, workspace settings, chat interface, and general UI elements, enabling full Hebrew language support for these areas.

frontend/src/locales/he · high confidence

Added Korean (ko) locale translations

The application now supports the Korean language. This change introduces a new translation file for the Korean locale, providing localized strings for the onboarding flow, login screens, workspace settings, chat interface, and general UI elements, allowing Korean-speaking users to interact with the platform in their native language.

frontend/src/locales/ko · high confidence

Added LLM provider setup modal and missing credentials warning

Users can now configure LLM provider settings directly within the chat interface via a new setup modal. This component, located in the LLM selector area, presents a form to update provider credentials and settings, handling save operations and displaying error toasts if the update fails. Additionally, a warning indicator is now shown when required credentials are missing, offering a clickable link to open the setup modal and resolve the issue.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/LLMSelector/SetupProvider · high confidence

Added Lao (lo) language support

The application now includes a complete translation file for the Lao language, enabling users to view the interface, onboarding flows, settings, and chat components in Lao.

frontend/src/locales/lo · high confidence

Added Lithuanian language support

The application now includes a Lithuanian (lt) locale, providing translations for the onboarding flow, user setup, workspace management, chat interface, and system settings. Users can now interact with the interface in Lithuanian, covering key areas such as login, workspace creation, and general configuration.

frontend/src/locales/lt · high confidence

Added Moonshot AI configuration options

Users can now configure the Moonshot AI provider by entering an API key and selecting a specific chat model. This new component in the LLM selection settings allows users to input their Moonshot AI credentials and dynamically fetches available models from the system once a valid key is provided, enabling the use of Moonshot AI as an LLM backend.

frontend/src/components/LLMSelection/MoonshotAiOptions · high confidence

Added Obsidian Vault data connector

Users can now ingest content from Obsidian Vaults. The new \loadObsidianVault\ utility processes provided files, extracts metadata (such as title, word count, and token estimates), and writes the documents to the server's document store using a generated folder structure based on the vault name.

collector/utils/extensions/ObsidianVault · high confidence

Added OpenRouter embedding model configuration UI

Users can now configure OpenRouter for embedding tasks via a new settings component that accepts an API key and allows selection of a specific embedding model. The interface dynamically fetches available OpenRouter embedding models and pre-selects the user's previous preference or the first available model if none is set.

frontend/src/components/EmbeddingSelection/OpenRouterOptions · high confidence

Added Polish language translations

Added a new Polish (pl) locale file containing translations for the onboarding flow, user settings, workspace management, chat interface, and login screens, enabling the application to be displayed in Polish for users.

frontend/src/locales/pl · high confidence

Added Preloader and FullScreenLoader components

A new Preloader component and a FullScreenLoader wrapper have been added to the frontend components. The Preloader provides a reusable spinning indicator with configurable sizing, while the FullScreenLoader displays a full-screen overlay with a centered spinner, utilizing the theme's background and loader color variables to ensure visual consistency across the application.

frontend/src/components · high confidence

Added Romanian language support

Introduced a new Romanian (ro) translation file for the frontend interface, enabling users to view the application in Romanian. This includes translations for onboarding flows, user setup, workspace settings, chat interactions, and general UI elements.

frontend/src/locales/ro · high confidence

Added Russian language support

Added a new Russian translation file (common.js) for the frontend interface, enabling users to view the application in Russian. This includes translations for onboarding flows, login screens, workspace settings, chat modes, and general UI elements.

frontend/src/locales/ru · high confidence

Added Simplified Chinese (zh) translations for the frontend interface

Users can now see the application interface in Simplified Chinese. This change introduces the \frontend/src/locales/zh/common.js\ file, providing translations for key areas including the onboarding flow, login screens, workspace settings, chat modes, and general UI elements.

frontend/src/locales/zh · high confidence

Added Swedish language support

The frontend now includes a Swedish locale file (sv/common.js), providing translations for onboarding, user setup, workspace management, chat, and settings interfaces. Users can now interact with the application in Swedish.

frontend/src/locales/sv · high confidence

Added Traditional Chinese (zh\_TW) localization file

Introduced a new Traditional Chinese (zh\_TW) translation file for the frontend interface, covering key areas such as onboarding, user setup, system settings, login, workspace management, and chat modes. This enables users with zh\_TW locale preferences to see the application interface in their native language.

_frontend/src/locales/zh\TW · high confidence

Added Turkish language support

Added a new Turkish (tr) localization file to the frontend, enabling the user interface to be displayed in Turkish for onboarding, login, workspace settings, chat, and other core application areas.

frontend/src/locales/tr · high confidence

Added Vietnamese language support

Added Vietnamese translations for the application interface, including onboarding flows, settings, login, and chat components.

frontend/src/locales/vn · high confidence

Added configuration UI for PGVector database connections

A new settings component has been added to the frontend, allowing users to configure connections to a PostgreSQL database using the pgvector extension. This interface includes fields for entering the Postgres connection string and specifying the vector table name, along with tooltips that explain the required connection format, necessary database permissions, and the requirement that the pgvector extension be installed.

frontend/src/components/VectorDBSelection/PGVectorOptions · high confidence

Added configuration options for generic OpenAI-compatible TTS services

Users can now configure text-to-speech functionality for third-party services that follow the OpenAI API format. The new OpenAiGenericOptions component provides input fields for the service's Base URL, an optional API Key, the specific TTS Model identifier, and the Voice Model identifier, allowing integration with compatible external TTS endpoints.

frontend/src/components/TextToSpeech/OpenAiGenericOptions · high confidence

Added prompt history management panel in workspace settings

A new slide-out panel has been added to the Workspace Settings \> Chat Settings area, allowing users to view, restore, publish, and delete their system prompt history. The panel displays a list of previous prompts with metadata (author, time ago), supports expanding long prompts, and provides actions to restore a prompt to the editor, publish it to the hub, or delete it individually. Users can also clear all history at once. The interface includes loading skeletons and empty states, and respects light/dark mode theming.

frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory · high confidence

Added script to verify dependency version consistency

A new script, verifyPackageVersions.mjs, has been added to the extras/scripts directory to ensure that the server and collector components use identical versions of their shared dependencies. This tool compares the dependency lists from both package.json files and fails if any common dependency has a version mismatch, helping to prevent runtime issues caused by divergent dependency trees.

extras/scripts · high confidence

Added sidebar search for workspaces and threads

Users can now search for and navigate to specific workspaces and threads directly from the sidebar. The new SearchBox component provides a debounced input that queries the backend via Workspace.searchWorkspaceOrThread, displaying results categorized by 'Workspaces' and 'Threads' in a dropdown. Each result links to the corresponding chat or thread view, and the search interface includes loading states, empty-state messaging, and a reset function triggered upon selection.

frontend/src/components/Sidebar/SearchBox · high confidence

Added stop generation button to chat input

A new StopGenerationButton component has been added to the chat prompt input area, allowing users to interrupt ongoing AI text generation. The button features a square icon, displays a tooltip with the localized 'Stop generating' text, and includes an accessible aria-label. When clicked, it dispatches a custom event to abort the current stream response.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/StopGenerationButton · high confidence

Added utility modules for Foundry and Lemonade model management

New utility files have been added to the frontend models layer to support integration with Foundry and Lemonade services. The new \foundryUtils.js\ module provides a function to fetch Foundry capabilities from the backend. The \lemonadeUtils.js\ module introduces capabilities to download Lemonade models with real-time progress tracking via server-sent events and to delete local Lemonade models, handling both success and error states for these operations.

frontend/src/models/utils · high confidence

Admin interface for managing system prompt variables

Administrators can now create, edit, and delete custom system prompt variables via a new dedicated page in the Admin settings. This interface allows users to define key-value pairs (with optional descriptions) that can be referenced in system prompts using the {key} syntax, enabling dynamic content injection. The page displays a table of existing variables, supports adding new entries through a modal form, and allows editing or removing static variables directly from the list.

frontend/src/pages/Admin/SystemPromptVariables · high confidence

Admin panel now supports configuring file creation agent skills

A new CreateFileSkillPanel has been added to the Admin Agents interface, allowing administrators to enable or disable specific file creation capabilities for agents. The panel provides toggles for creating text files, PowerPoint presentations, PDFs, Excel spreadsheets, and Word documents, with the ability to fine-tune which specific file types are disabled via system preferences.

frontend/src/pages/Admin/Agents/CreateFileSkillPanel · high confidence

Admin user creation and editing modals now support roles, bios, and message limits

The NewUserModal and EditUserModal components have been introduced to the Admin Users interface, providing a unified UI for managing user accounts. Administrators can now assign roles (Default, Manager, and Administrator for admin users) with contextual hints, add or edit a user bio, and configure daily message limits per user. Username validation follows defined pattern and length constraints, and passwords require a minimum of 8 characters. When editing a user, changes to username, bio, and role are also reflected in local storage if the current user is editing their own profile.

frontend/src/pages/Admin/Users/NewUserModal, frontend/src/pages/Admin/Users/UserRow/EditUserModal · high confidence

Admin user row component with role-based actions

The Admin Users page now renders individual user rows that display the username, role, and creation date. Administrators can edit, suspend, or delete users directly from the row, with actions gated by a role-based permission map (e.g., admins can modify managers and default users, while managers can only modify default users). Suspend and delete actions include confirmation prompts and provide immediate feedback via toast notifications.

frontend/src/pages/Admin/Users/UserRow · high confidence

Agent Flows management UI with toggle sync and flow list

The Agent Flows admin page now includes a dedicated flow list component that displays available flows with their enabled/disabled status and allows selection, alongside a flow detail panel featuring a toggle switch to enable or disable individual flows. The toggle switch is wired to the backend API to persist state changes, ensuring the UI reflects the actual flow status, and includes a context menu for editing or deleting flows with confirmation dialogs.

frontend/src/pages/Admin/Agents/AgentFlows · high confidence

Agent flow builder introduces configurable block types and direct output control

The Agent Builder now supports a structured flow with distinct block types including Flow Information, Start (variables), API Call, LLM Instruction, Web Scraping, and Finish. Users can configure specific settings for each block, such as HTTP methods for API calls or query selectors for web scraping. A new 'Direct Output' toggle is available on the last configurable block before the finish node, allowing users to return the block's output directly to the chat and prevent further tool calls.

frontend/src/pages/Admin/AgentBuilder/BlockList · high confidence

Agent selection menu added to chat input

A new UI component has been introduced in the chat prompt input area to allow users to select an agent. This includes a button that toggles a dropdown menu listing available agents, specifically featuring a default agent option that inserts the '@agent' command into the input field. The menu automatically opens if the URL contains an 'action=set-agent-chat' query parameter, and it is hidden when an agent session is already active.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/AgentMenu · high confidence

Agent-specific model selection with OpenAI capability filtering

A new AgentModelSelection component has been added to the Workspace Settings, allowing users to choose a specific model for agents independently of the workspace's general chat model. The component groups available options into 'General', 'Downloaded', and 'Custom' categories. Crucially, it filters out OpenAI models that do not support function calling or system prompts (such as older gpt-3.5-turbo versions), ensuring only compatible models are selectable for agent configurations.

frontend/src/pages/WorkspaceSettings/AgentConfig/AgentModelSelection · high confidence

Azure OpenAI configuration UI with model type and token limit selectors

The Azure AI options panel now provides a dedicated interface for configuring Azure OpenAI connections, featuring input fields for the service endpoint, API key, and chat deployment name. Users can explicitly select the model type (default or reasoning) via a dropdown with a tooltip explanation, and choose the token limit from a list of options mapped to specific models (e.g., gpt-3.5-turbo, gpt-4-turbo, o1-series, gpt-4.1), allowing for precise control over context window sizes and model behavior modes.

frontend/src/components/LLMSelection/AzureAiOptions · high confidence

Bulgarian language support and translation maintenance tooling

The application now includes a full Bulgarian (bg) translation file, allowing users to interface with the system in Bulgarian. Additionally, the frontend locale infrastructure has been enhanced with new maintenance scripts: \findUnusedTranslations.mjs\ detects and can prune translation keys no longer used in the source code, while \normalizeEn.mjs\ and \verifyTranslations.mjs\ ensure that all language files maintain structural consistency with the English source, automatically adding missing keys or flagging schema mismatches.

frontend/src/locales · high confidence

Chat prompt input now includes a text size adjustment menu

Users can now adjust the font size of the chat interface directly from the prompt input area. A new button, accessible via a tooltip, allows selection between small, normal, and large text sizes. The chosen preference is saved to local storage and persists across sessions, ensuring a consistent reading experience.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/TextSizeMenu · high confidence

Community Hub authentication and user item management

Users can now connect their AnythingLLM Community Hub account via a new authentication page in General Settings, enabling access to private items and the ability to upload content. This update introduces a dedicated UI to manage the Hub API key, including save and disconnect actions, and displays a categorized list of items created by the user or shared by their teams (such as Agent Skills, System Prompts, and Agent Flows).

frontend/src/pages/GeneralSettings/CommunityHub/Authentication · high confidence

A new Community Hub trending page has been added under General Settings, displaying recently added community contributions in categorized sections (agent skills, system prompts, slash commands, and agent flows). Each category shows a grid of cards that preview item details—such as step counts for flows, verification status for skills, or command/prompt snippets—and provide an 'Import' link to bring the item into the user's workspace. The page fetches explore items from the backend, handles loading states with skeletons, and routes users to the import flow via the community hub paths.

frontend/src/pages/GeneralSettings/CommunityHub/Trending · high confidence

The footer component now supports customizable icon links fetched from system settings, allowing administrators to configure which icons appear and where they link. It includes a fallback set of default icons (GitHub, Docs, Discord) when no custom configuration is present, and integrates react-tooltip to provide accessible hover labels for each icon.

frontend/src/components/Footer · high confidence

Customizable refusal response for query mode

A new configuration field has been added to the Workspace Chat Settings, allowing users to define the specific text returned when a query yields no relevant context. This component supports internationalization and includes a default refusal message, giving users control over how the system communicates missing information in query mode.

frontend/src/pages/WorkspaceSettings/ChatSettings/ChatQueryRefusalResponse · high confidence

Default skill toggle UI component

The Admin Agents page now includes a dedicated DefaultSkillPanel component that displays individual default skills with their icon, title, description, and an image. Users can enable or disable each default skill directly via a toggle switch within this panel, allowing granular control over which default skills are active for an agent.

frontend/src/pages/Admin/Agents/DefaultSkillPanel · high confidence

Drag-and-drop and paste support for files and images in chat

The Workspace Chat now supports attaching files and images via drag-and-drop or paste operations. Users can drop files directly into the chat window or paste content from their clipboard, with images automatically embedded as base64 attachments and other files queued for upload and embedding. The component manages the upload lifecycle, providing visual feedback on processing status and allowing users to remove individual files or clear the entire queue before sending a message.

frontend/src/components/WorkspaceChat/ChatContainer/DnDWrapper · high confidence

Edit and manage existing SQL agent connections

The SQL Connector Selection page now allows administrators to edit and delete existing database connections in addition to creating new ones. Users can click the edit icon on a saved connection to modify its details (host, port, credentials, SSL/encrypt settings) via a modal, with duplicate name detection and connection string validation. Deleted connections are marked for removal locally until the form is saved, ensuring a smoother configuration experience.

frontend/src/pages/Admin/Agents/SQLConnectorSelection · high confidence

The Vector Database settings page now supports a wider range of vector storage backends, adding Zilliz Cloud, Chroma Cloud, AstraDB, and PGVector to the existing options of LanceDB, Chroma, Pinecone, Weaviate, QDrant, and Milvus. The interface includes a search filter to help users quickly locate their preferred provider among the expanded list, and retains the existing warning mechanism that prompts users to confirm changes if embeddings are already present.

frontend/src/pages/GeneralSettings/VectorDatabase · high confidence

French localization for onboarding, settings, and chat interfaces

Users can now interact with the application in French. This change introduces a complete set of translations for the initial onboarding flow (including user setup and LLM preference selection), the main settings panels (covering instance configuration, security, and agent skills), and the chat workspace interface (including model selection and chat modes).

frontend/src/locales/fr · high confidence

Frontend utility library overhaul and expansion

The frontend utility module has been significantly expanded and restructured to support new application features. New capabilities include folder upload support that preserves directory structure via the File System Access API, rich-text clipboard copying for markdown content, and a comprehensive keyboard shortcut system for navigation and actions. The API request layer now includes safe JSON parsing, timezone/language headers, and session validation. UI helpers have been added for toast notifications with theme resolution, date/time formatting, and human-readable duration/file-size display. Additionally, the paths module has been updated to support new settings pages, workspace threading, and onboarding flows, while constants have been expanded to include auto-discovery URLs for various local LLM providers.

frontend/src/utils · high confidence

Gemini Embedding configuration UI added

A new settings component for Google Gemini embeddings has been added to the frontend, allowing users to configure the Gemini API key, select between the 'gemini-embedding-001' and 'gemini-embedding-2' models, and optionally specify custom output dimensions for the embedding model.

frontend/src/components/EmbeddingSelection/GeminiOptions · high confidence

GitLab Data Connector UI for Workspace Management

A new GitLab connector interface has been added to the Manage Workspace modal, allowing users to configure data ingestion from GitLab repositories. The component provides input fields for the repository URL and an optional Personal Access Token (PAT), along with toggle switches to enable fetching of issues and wikis. Users can also specify branch selection and define file path ignore patterns using a tag-based input, with the form submitting these settings to the backend for collection.

frontend/src/components/Modals/ManageWorkspace/DataConnectors/Connectors/Gitlab · high confidence

Groq AI provider integration with model selection

Users can now configure the Groq AI provider within the application settings. This change introduces a new UI component that allows users to input their Groq API key and select a specific chat model from the available options fetched via the Groq /models endpoint. The interface handles loading states while retrieving the model list and provides a dropdown for model selection, enabling per-workspace configuration of the Groq provider.

frontend/src/components/LLMSelection/GroqAiOptions · high confidence

This change introduces a new \htmlToMarkdown.js\ helper that converts HTML content to Markdown while preserving table structures (including colspan/rowspan) and ignoring non-content images, and updates the \index.js\ helper to support YouTube video URLs, infer file extensions from Content-Type headers, and properly handle static file downloads with metadata preservation.

collector/processLink/helpers · high confidence

Imported skill configuration interface

Added a new UI component for managing imported agent skills, allowing administrators to toggle skills on or off and modify their specific setup arguments. The interface dynamically renders input fields based on the skill's configuration schema, validates required fields and data types upon saving, and provides a summary of the skill's description and author.

frontend/src/pages/Admin/Agents/Imported/ImportedSkillConfig · high confidence

In-browser text-to-speech with streaming and thread-safe playback

The frontend now includes a client-side PiperTTS utility that generates speech directly in the browser using a Web Worker, eliminating the need for server-side audio generation. This feature supports streaming playback, allowing audio to play sentence-by-sentence as it is rendered rather than waiting for the entire text to process. It also includes logic to strip internal reasoning tags (\\\\think\\\\ blocks) from the text before synthesis and implements a stream-abort mechanism using unique IDs to ensure that audio playback stops cleanly when switching threads or contexts.

frontend/src/utils/piperTTS · high confidence

Initial Arabic localization support added

The application now includes a complete Arabic translation file (common.js) for the user interface. This adds support for Arabic text across key areas including onboarding, login, workspace settings, chat modes, and general system settings, allowing Arabic-speaking users to interact with the platform in their native language.

frontend/src/locales/ar · high confidence

Initial Czech (cs) language translation support

Added a new Czech (cs) locale file containing translations for the onboarding flow, login, home page, workspace settings, chat interface, and instance settings, enabling users to interact with the application in Czech.

frontend/src/locales/cs · high confidence

Initial Docker deployment support for AnythingLLM

This release introduces the first official Docker support for AnythingLLM, providing a \Dockerfile\, \docker-compose.yml\, and configuration scripts to run the application in a containerized environment. The setup includes a comprehensive \.env.example\ file that documents configuration for a wide range of LLM providers (such as OpenAI, Ollama, Azure, and Anthropic) and vector databases, along with a \HOW\_TO\_USE\_DOCKER.md\ guide. The Docker image is built on Ubuntu Noble and supports both amd64 and arm64 architectures, featuring a multi-stage build process that separates frontend and backend compilation to optimize image size and build speed.

docker · high confidence

Initial Dutch (nl) localization added

A new Dutch language file has been added to the application, providing translations for the onboarding flow, login screens, workspace settings, chat interface, and general system messages. This enables Dutch-speaking users to interact with the platform in their native language.

frontend/src/locales/nl · high confidence

Initial English localization file for the application

The frontend now includes a comprehensive English translation file (\frontend/src/locales/en/common.js\) covering onboarding, user setup, workspace management, chat interfaces, settings, and login screens. This establishes the base i18n structure for the UI, ensuring all key interface elements are translatable and consistent across the application.

frontend/src/locales/en · high confidence

Initial German localization added

The application now includes a German language translation file (common.js), enabling German-speaking users to see the interface in their native language. This covers core UI elements such as onboarding flows, login screens, workspace settings, chat interactions, and general system messages.

frontend/src/locales/de · high confidence

Initial Italian localization added

Added the initial Italian translation file (common.js) for the frontend interface, covering onboarding, login, workspace settings, chat modes, and general UI strings.

frontend/src/locales/it · high confidence

Initial Japanese language localization added

Added the initial Japanese translation file (common.js) for the frontend interface, covering onboarding flows, login screens, workspace settings, chat modes, and general UI elements.

frontend/src/locales/ja · high confidence

Initial OMLX LLM provider configuration UI

Added a new settings component for configuring OMLX (Ollama Model Library Exchange) LLM providers. This interface allows users to specify the OMLX Base URL with auto-detection support, set a manual context window limit (defaulting to 16,000 tokens if auto-detection fails or is unspecified), and provide an authentication token. The component includes advanced settings toggling and tooltips explaining the context window behavior and memory implications.

frontend/src/components/LLMSelection/OMLXOptions · high confidence

Initial Spanish (es) localization added

A new Spanish translation file (common.js) has been added to the frontend, providing the first set of localized strings for the application interface. This includes translations for onboarding flows, user setup, workspace settings, chat interactions, and login screens, enabling Spanish-speaking users to interact with the platform in their native language.

frontend/src/locales/es · high confidence

Initial repository scaffolding and project configuration

Establishes the foundational structure for the AnythingLLM monorepo by adding essential configuration files including \.dockerignore\, \.editorconfig\, \.gitattributes\, and \.prettierrc\ to standardize development environments and build processes. Introduces \BARE\_METAL.md\ to provide official, step-by-step instructions for running the application on bare-metal servers without Docker, alongside \SECURITY.md\ and \TERMS\_SELF\_HOSTED.md\ to define vulnerability reporting workflows and data privacy policies. The repository is initialized with \eslint.config.js\ for code linting, \jest.config.cjs\ for testing, and git submodules for the browser extension and embed widget, while removing legacy maintenance scripts like \clean.sh\.

(repo-wide) · high confidence

Inline LLM configuration for workspace agents

Users can now configure Large Language Model (LLM) settings directly within the Workspace Agent configuration without leaving the settings page. The new AgentLLMItem component allows users to edit provider credentials via an inline modal triggered by a gear icon or by selecting a provider that requires setup. This change ensures that required API keys or configuration options are collected and saved immediately, enabling the agent to use the selected LLM provider seamlessly.

frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/AgentLLMItem · high confidence

Inline LLM configuration from workspace settings

Users can now configure provider-specific settings directly within the Workspace Settings page without leaving the context. The new WorkspaceLLMItem component detects when a selected LLM provider requires additional configuration keys; if settings are missing, it intercepts the selection action to open a modal for immediate setup. Additionally, an edit button (gear icon) is now visible for already-enabled providers, allowing users to update their credentials or options at any time via the same modal interface.

frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/WorkspaceLLMItem · high confidence

Interactive audit log rows with expandable metadata and event badges

The Admin Logging page now renders individual log entries as interactive rows. Each row displays a color-coded badge for the event type (e.g., sky for general, yellow for updates, red for failures/deletions, green for logins) and the user who performed the action. If a log entry contains metadata, a clickable indicator allows users to expand the row and view the raw JSON details in a formatted block. The component uses safe JSON parsing to handle metadata and formats timestamps using moment.js.

frontend/src/pages/Admin/Logging/LogRow · high confidence

Interactive clarifying-question surveys in chat

Users can now respond to agent-initiated clarifying questions directly within the chat interface. The new ClarifyingQuestion component supports paginated single-select and multi-select choice options, free-text input fields, and an 'Other' option for custom answers. A progress indicator and skip controls help users navigate through multiple questions, with responses submitted via WebSocket to the agent. Completed surveys are displayed as read-only summaries in both live interactions and historical chat replays.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/ClarifyingQuestion, frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/HistoricalClarifyingQuestions · high confidence

Introduce Agent Flow Builder with block-based configuration and variable scoping

The Agent Builder page now supports creating and editing agent flows using a visual block-based interface. Users can add, remove, and configure blocks (such as Start, Finish, and intermediate processing steps) via the AddBlockMenu, which intelligently prevents adding blocks after those with direct output disabled. The builder manages flow state through a context provider (AvailableVariablesProvider) that exposes variables defined in the Start block to other components, enabling structured variable usage across the flow. This change establishes the core UI and state management for the new agent flow capability.

frontend/src/pages/Admin/AgentBuilder · high confidence

Introduce ChatRow component for workspace chat management

Added a new ChatRow component that renders individual chat entries within the General Settings \> Chats table. This component displays chat metadata (ID, user, workspace, prompt, response, and creation time) and enables users to view full prompt and response content via modal dialogs, with the response supporting Markdown rendering. It also provides a delete action that triggers a confirmation dialog before removing the chat.

frontend/src/pages/GeneralSettings/Chats/ChatRow · high confidence

Introduce Live Document Sync feature with toggle and management UI

Adds a new experimental feature allowing automatic synchronization of web-based content (such as websites, Confluence, YouTube, and GitHub files) across workspaces. Users can enable or disable this capability via a toggle in the Admin Experimental Features settings, which triggers a backend API call to update the feature flag. Once enabled, administrators can access a dedicated management page to view a list of currently watched documents, see their last synced time and next scheduled refresh, and remove specific documents from the sync queue.

frontend/src/pages/Admin/ExperimentalFeatures/Features/LiveSync · high confidence

Introduce Model Router configuration interface

Adds a new Model Routers section in General Settings, enabling users to create, edit, and delete routing configurations that direct requests to specific LLM providers and models. The interface includes a rule builder supporting two rule types: 'calculated' rules that route based on conditions like token count, message count, or time of day, and 'LLM' rules that route based on prompt description matching. Users can manage fallback providers and models, reorder calculated rules via drag-and-drop, and toggle rule activation.

frontend/src/pages/GeneralSettings/ModelRouters · high confidence

Introduce MonoProviderIcon component for model-specific branding

A new MonoProviderIcon component has been added to the frontend library to display branded icons for AI model providers. It supports two matching modes: exact provider key lookup (e.g., 'openai', 'anthropic') and pattern-based matching against model names (e.g., 'gpt-4', 'claude-3', 'llama-3'). The component includes a fallback mechanism to ensure a valid icon is displayed even if no specific match is found, enhancing the visual identification of models across the application.

frontend/src/components/lib/MonoProviderIcon · high confidence

Introduce Open Computer: QEMU-based virtual desktop environment for AI agents

Adds a new Open Computer module that provides an isolated, purpose-built virtual desktop (Debian ARM64 with XFCE and Chromium) for AI agents to operate in, allowing humans to monitor and interact with agents in real time via a web UI. The change includes the CLI tooling for VM lifecycle management, provisioning scripts to set up the base image with necessary tools (Node.js, Python, AT-SPI accessibility libraries), and custom extensions for browser automation and native app manipulation via accessibility APIs.

open-computer · high confidence

Introduce chat prompt settings with history and variable support

Adds a new Chat Prompt Settings page within Workspace Settings, allowing users to edit and manage system prompts. This component introduces a history feature to view and restore previous prompt versions, supports the insertion of prompt variables (with highlighting), and provides an option to publish custom prompts to the community hub. It also handles default system prompt initialization and focuses the input field when accessed via specific URL actions.

frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings · high confidence

Introduce configurable agent flow builder nodes

The Agent Builder now includes a set of configurable nodes for constructing agent flows, allowing users to define flow metadata, inputs, and processing steps. The Start node lets users define variables with specific types (Required, Optional, or Static) to control LLM exposure, while the Flow Info node captures the flow's name and description. Processing capabilities include the Api Call node (supporting GET, POST, PUT, and PATCH methods with dynamic headers and body types), the Web Scraping node (with options for text, HTML, or CSS query selector extraction and optional summarization), and the Website node (for reading content or simulating user actions like clicking and typing). Additional nodes allow for executing custom JavaScript, Python, or Shell code, reading/writing files, and issuing LLM instructions, with all nodes supporting variable insertion and result storage.

frontend/src/pages/Admin/AgentBuilder/nodes · high confidence

Introduce cross-platform CLI for managing open-computer VM agents

The CLI now provides commands to create, start, stop, and destroy isolated VM agents, as well as manage a golden base image (install, provision, compact). It automatically selects the correct hypervisor (WHPX on Windows, HVF on macOS, KVM on Linux) and CPU model, fixing a Windows x64 boot crash by using the Haswell CPU model instead of host passthrough. It also resolves a blank-display issue on Windows by correctly using the OVMF VARS template instead of the CODE firmware, and restricts installer ISO attachment to Windows to avoid bus errors on ARM64 macOS/Linux hosts.

open-computer/cli · high confidence

Introduce dedicated workspace LLM selection interface with model router support

The Workspace Settings now features a new, dedicated UI for selecting the Large Language Model provider and specific model for each workspace. This change replaces the previous settings layout with a searchable dropdown that lists available LLM providers (such as OpenAI, Anthropic, and Azure) and allows users to select a specific model. A key addition is support for 'Model Routers': if a workspace is configured to use the 'anythingllm-router' provider, the interface dynamically displays a selector to choose from available routers, enabling traffic distribution across multiple backend models. The UI also handles providers that do not expose a \/models\ endpoint by allowing free-form text input for model names, and clearly indicates when a provider does not support per-workspace model selection.

frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection · high confidence

Introduce in-chat LLM provider and model selector with router support

Users can now switch the Large Language Model and provider directly from the chat input area via a new LLM selector button and modal. This component allows selecting from available workspace providers, choosing specific models, and configuring an 'anythingllm-router' for dynamic model routing. The UI includes validation for missing credentials, auto-scrolling to the selected provider, and a setup flow for new providers, while restricting access to admin users in multi-user workspaces.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/LLMSelector · high confidence

Introduce model router selection and routing notifications in chat

Users can now select a model router from a dropdown in the chat prompt input and settings, allowing the system to automatically route requests to different models based on defined rules. When a rule triggers during a chat session, an ephemeral notification appears in the chat history indicating which model and rule were used, accompanied by a visual indicator during streaming.

frontend/src/components/LLMSelection/ModelRouterOptions, frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/ModelRouteNotification, frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/LLMSelector/RouterPickerSelection · high confidence

Introduce multilingual OCR support for scanned documents

The collector now includes a new OCR module (OCRLoader) that allows scanned PDFs and images to be processed using Tesseract.js. This change adds support for multiple target languages, configurable via a comma-separated list of language codes (defaulting to English), enabling the system to extract text from documents in various languages rather than being limited to a single language.

collector/utils/OCRLoader · high confidence

Introduce thought expansion context and parsing utilities

The ThoughtContainer component now provides a React context (ThoughtExpansionProvider and useThoughtExpansion hook) to persist the expansion state of thinking blocks across component transitions, ensuring that user preferences for expanded or collapsed thought chains are maintained. It also exports utility functions and regular expressions for parsing and stripping model-agnostic thinking tags (such as \<thought\> or \<thinking\>) from response content, supporting the display of structured reasoning chains.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/ThoughtContainer · high confidence

Introduces a unified Modal component library with standardized layout and password input support

The frontend now includes a new, reusable Modal component system located in \frontend/src/components/lib/Modal\. This system provides a consistent modal shell with configurable sizes (sm, md, lg, xl), a 'bare' variant for non-card layouts, and composable sub-components (\ModalHeader\, \ModalBody\, \ModalFooter\) to enforce uniform spacing and styling across the application. It also introduces a \PasswordInput\ component featuring a hold-to-reveal eye icon, ensuring secure and consistent password entry fields within modals.

frontend/src/components/lib/Modal · high confidence

Introduces dedicated row component for API key management

Adds a new ApiKeyRow component to the General Settings API Keys page, providing a structured table row view for individual API keys. This component displays the key's name (or a default 'unnamed' label), the secret key value, the username of the creator, and a formatted creation date. It also introduces user-facing actions to copy the secret key to the clipboard with a temporary 'copied' status indicator and to delete the key via a confirmation dialog, handling the deletion logic by routing to either the Admin or System model based on the current user context.

frontend/src/pages/GeneralSettings/ApiKeys/ApiKeyRow · high confidence

Introduction of UserMenu component wrapper

A new UserMenu component has been added to the frontend, serving as a container that renders a UserButton and passes through any child elements. This component acts as the structural wrapper for the user menu interface within the application.

frontend/src/components/UserMenu · high confidence

Introduction of role-based and mode-aware route protection components

The frontend now includes a new PrivateRoute component file that implements granular access control for different application modes and user roles. It introduces AdminRoute and ManagerRoute components that restrict access based on user roles (admin or manager) while allowing full access in single-user mode, and a SingleUserRoute that restricts access to single-user mode only. The default PrivateRoute handles general authentication, session validation, and onboarding redirects, ensuring users are guided through the correct flow based on their authentication status and the system's multi-user configuration.

frontend/src/components/PrivateRoute · high confidence

Introduction of the LLM Preference Settings Page

A new General Settings page for LLM preferences has been added, providing a centralized interface for users to select and configure their preferred Large Language Model provider. The page features a searchable list of supported providers—including OpenAI, Azure, Anthropic, Gemini, Ollama, LM Studio, and many others—each with its own dedicated configuration options and required API keys. It also introduces a 'Model Router' option that allows users to route messages to different LLM providers based on defined rules, offering greater flexibility in model selection and management.

frontend/src/pages/GeneralSettings/LLMPreference · high confidence

Introduction of unified Login page with Simple SSO support

A new Login page component has been added to handle authentication flows for both single-user and multi-user modes. It integrates with the existing PasswordModal for credential-based login and introduces support for Simple SSO configurations. When Simple SSO is enabled with the 'noLogin' setting, the page automatically redirects users to the SSO login page or a specified external redirect URL if no token is present, ensuring seamless access control based on the current authentication mode.

frontend/src/pages/Login · high confidence

LM Studio configuration gains auto-detection and context window controls

The LM Studio options panel now includes an 'Auto-Detect' button for the Base URL, leveraging the new \useProviderEndpointAutoDiscovery\ hook to simplify server connection setup. Additionally, users can explicitly configure the 'Model Context Window' (max tokens) via a new input field, which overrides the default 4096 limit or auto-detected value, and the UI provides a toggle to reveal these advanced settings.

frontend/src/components/LLMSelection/LMStudioOptions · high confidence

Lemonade embedding provider configuration UI

The settings interface for the Lemonade embedding provider now includes dedicated controls for managing connection and model parameters. Users can configure the maximum embedding chunk length and provide an optional API key for their Lemonade instance. The component also supports automatic endpoint discovery via an 'Auto-Detect' button, with a toggle to reveal manual input fields for the Lemonade Base URL, allowing users to specify the exact URL where the Lemonade service is running.

frontend/src/components/EmbeddingSelection/LemonadeOptions · high confidence

Lemonade provider configuration options added

The LemonadeOptions component now allows users to configure the Lemonade LLM provider by specifying a Base URL (with auto-detection support), setting the Model context window (token limit), and optionally providing an API Key. This introduces the necessary UI fields to manage these specific settings for the Lemonade integration.

frontend/src/components/LLMSelection/LemonadeOptions · high confidence

Live variable reference highlighting in Agent Builder inputs

The Agent Builder now visually distinguishes variable references (formatted as ${variableName}) within input fields. As you type, valid variables defined in the flow are highlighted with a blue tint, while unrecognized or invalid references are highlighted in red, providing immediate feedback on which parts of the text will be swapped for actual values at runtime.

frontend/src/pages/Admin/AgentBuilder/VariableInput · high confidence

Major PromptInput overhaul with undo/redo, agent mode, and LLM selector

The PromptInput component has been significantly refactored to support advanced interaction patterns. Users can now undo and redo changes within the input field, and the component persists draft text to local storage to prevent data loss on navigation. A new LLM selector side panel allows users to choose specific model providers directly from the input area. The input also integrates native agent session support, automatically opening the agent command when triggered via URL parameters, and includes a stop-generation button to halt streaming responses. Additionally, the UI has been updated to use Phosphor icons, supports speech-to-text input, and handles file/image attachments with improved styling and drag-and-drop capabilities.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput · high confidence

Native Embedder model selection UI added

A new UI component has been introduced in the Embedding Selection area that allows users to choose from available native embedding models. The interface fetches the list of supported models, displays a dropdown for selection, and provides detailed metadata for the chosen model, including its description, training language, download size, and a link to its Hugging Face model card.

frontend/src/components/EmbeddingSelection/NativeEmbeddingOptions · high confidence

New AI-driven file creation skills for Word, PowerPoint, PDF, Excel, and text

The create-files agent plugin now includes new capabilities for generating professional documents directly from chat. Users can create Microsoft Word (.docx) files with customizable color themes (neutral, blue, warm) and page margins, as well as PowerPoint (.pptx) presentations that use a dedicated sub-agent to research and build slide content from section outlines. The plugin also supports generating branded PDF reports, Excel spreadsheets, and plain text files, with all outputs saved to the generated-files storage directory.

server/utils/agents/aibitat/plugins/create-files · high confidence

New Account Settings Modal with Profile, Theme, and Accessibility Controls

This change introduces the AccountModal component, providing users with a centralized interface to manage their profile picture (upload/remove), update their username and password, and edit their bio. It also consolidates user preferences, allowing direct adjustment of theme (light/dark mode), language selection, and accessibility settings for auto-submit and auto-speak within the same modal.

frontend/src/components/UserMenu/AccountModal · high confidence

The Admin Invitations page has been introduced, allowing administrators to create and manage invitation links for new organization members. The interface displays a table of existing invitations showing their status, accepted user, creator, and creation date, with a loading state handled by skeleton screens. Administrators can generate new single-use invitation links via a dedicated button that opens a modal dialog, and the page integrates with the existing settings sidebar layout.

frontend/src/pages/Admin/Invitations · high confidence

New Agent Builder Header Menu with Flow Management and Publishing

Added a new HeaderMenu component for the Agent Builder interface, providing users with a centralized control bar to manage agent flows. This component introduces a dropdown selector for switching between multiple available flows, buttons to create a new flow, save the current state, and publish the flow to the hub, along with a link to the relevant documentation.

frontend/src/pages/Admin/AgentBuilder/HeaderMenu · high confidence

New Agent Skill Settings modal for clarifying questions, skill reranking, and tool call limits

The Agent Skill Settings area now includes a new modal (triggered by a sliders icon) that exposes three configurable options for users: enabling and tuning 'Clarifying Questions' (with a max-per-turn limit), enabling 'Intelligent Skill Selection' via a reranker (with a max-tools limit), and setting a global 'Max Tool Call Stack' depth. These settings allow administrators to fine-tune agent behavior regarding clarification prompts, tool selection logic, and execution depth.

frontend/src/pages/Admin/Agents/AgentSkillSettings · high confidence

New Agent Skills tab in chat tools menu

The chat interface now includes a dedicated Agent Skills tab within the tools menu, allowing users to browse, search, and toggle agent capabilities directly from the prompt input. This new UI component consolidates default and configurable agent skills, app integrations (such as Gmail, Google Calendar, and Outlook), custom imported skills, agent flows, and MCP server tools into a single, searchable list. Users can enable or disable individual tools and sub-skills, with changes persisting to system preferences and immediately affecting the active agent session.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu/Tabs/AgentSkills · high confidence

New Audio Preference settings page with expanded STT/TTS provider support

A new Audio Preference page has been added to General Settings, allowing users to configure Speech-to-Text (STT) and Text-to-Speech (TTS) providers via dedicated sub-components. The STT section now supports System native, OpenAI, Lemonade, Deepgram, Groq, and Generic OpenAI-compatible endpoints. The TTS section supports System native, OpenAI, ElevenLabs, PiperTTS (in-browser), Kokoro, and Generic OpenAI-compatible endpoints. Users can search for and select their preferred provider for each service, with changes saved via the system settings API.

frontend/src/pages/GeneralSettings/AudioPreference · high confidence

New ChangeWarningModal component for irreversible actions

A new ChangeWarningModal component has been introduced to handle user confirmation for irreversible actions. It displays a warning message with a red warning icon, splits the provided warning text by newlines for better readability, and includes Cancel and Confirm buttons. This component is built using the existing ModalHeader, ModalBody, and ModalFooter components from the shared modal library.

frontend/src/components/ChangeWarning · high confidence

New Chat Settings page with multiple configuration options

A new Chat Settings page has been added to the General Settings area, providing users with a centralized location to configure chat behavior. This page introduces controls for AutoSubmit, AutoSpeak, SpellCheck, ShowScrollbar, AutoScroll, and ChatRenderHTML, allowing users to customize how chat interactions are processed and displayed.

frontend/src/pages/GeneralSettings/Settings/Chat · high confidence

New Citations UI component with source grouping and sidebar integration

A new Citations component has been introduced to the Workspace Chat interface, replacing previous inline citation displays. This component groups identical sources together, displays up to three source icons (with a count for additional sources), and opens a dedicated Sources Sidebar when clicked. It supports various source types (files, links, YouTube, GitHub, GitLab, Gitea, Confluence, etc.) by rendering specific icons or favicons, and handles custom images for email/calendar integrations.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Citation · high confidence

New Confluence data connector for importing pages and spaces

A new Confluence data connector has been added to the collector, enabling users to import documents from Confluence spaces or fetch individual pages. The implementation supports both cloud and self-hosted instances, allowing authentication via username/access token or personal access tokens (PAT). It also includes options to bypass SSL certificates for self-hosted setups and handles custom base URLs and context paths. Imported content is processed, tokenized, and saved to the server's document storage with sanitized filenames.

collector/utils/extensions/Confluence · high confidence

New Data Handling & Privacy step in onboarding flow

A new 'Data Handling' step has been added to the onboarding flow, positioned between user setup and the survey. This step displays provider privacy information via the ProviderPrivacy component and includes a hint regarding data settings, allowing users to review privacy policies before proceeding.

frontend/src/pages/OnboardingFlow/Steps/DataHandling · high confidence

New Event Logging page in Admin settings

A new Event Logging page has been added to the Admin settings area, allowing administrators to view, paginate, and clear system event logs. The page displays a table of events with columns for type, user, and occurrence time, and includes a confirmation dialog before clearing logs to prevent accidental data loss.

frontend/src/pages/Admin/Logging · high confidence

New File System Agent Skill configuration panel

Administrators can now manage granular file system permissions for agents via a new configuration panel. This UI allows enabling or disabling the main File System agent skill and provides individual toggles for specific sub-skills, categorized into 'read' operations (such as reading text files, listing directories, and searching) and 'write' operations (including writing, editing, creating directories, copying, and moving files). The panel also includes a link to the relevant documentation and displays a warning banner regarding the capabilities.

frontend/src/pages/Admin/Agents/FileSystemSkillPanel · high confidence

New Filesystem Agent Skills for File and Directory Management

The Filesystem Agent plugin has been overhauled to include a comprehensive suite of new capabilities for managing files and directories. Users can now read text files and images (with automatic attachment), read multiple files at once, and search for files by name or content using glob patterns or regex. The agent can also create, write, edit, move, and copy files and directories, including recursive directory copying. A new tool retrieves detailed file metadata, and all operations are secured by path validation to ensure they remain within allowed directories.

server/utils/agents/aibitat/plugins/filesystem · high confidence

New GMail Agent Skill Panel for Admin Configuration

A new GMail skill panel has been added to the Admin Agents interface, allowing administrators to configure GMail integration via deployment ID and API key. The panel provides a UI to toggle the GMail agent on or off, manage specific enabled/disabled skills (such as inbox search, draft management, sending, and thread handling), and displays warnings in multi-user mode. This change introduces the frontend component and utility logic required to manage these GMail-specific agent capabilities.

frontend/src/pages/Admin/Agents/GMailSkillPanel · high confidence

New General Appearance workspace settings page

A new General Appearance settings page has been introduced, consolidating workspace customization options into a single view. Users can now update the workspace name, manage suggested chat messages, and delete the workspace (if not protected) on one screen. The interface includes an 'Update Workspace' button that appears when changes are detected, allowing users to save their preferences without automatic reloading.

frontend/src/pages/WorkspaceSettings/GeneralAppearance · high confidence

New Generic OpenAI Embedding Provider Configuration

A new configuration interface for the Generic OpenAI embedding provider has been added, allowing users to set the Base URL, Embedding Model, and API Key. The form includes a 'Max embedding chunk length' setting with a descriptive tooltip, and exposes advanced options such as 'Max concurrent Chunks', 'Passage Prefix', and 'Query Prefix' to support specific model requirements for distinguishing passages from queries.

frontend/src/components/EmbeddingSelection/GenericOpenAiOptions · high confidence

New Generic Skill Panel Component for Agent Configuration

A new \GenericSkillPanel\ component has been introduced in the Admin Agents interface to standardize the display and control of individual agent skills. This component renders a skill's title, icon, description, and associated image, and provides a toggle switch that allows users to enable or disable specific skills directly from the panel.

frontend/src/pages/Admin/Agents/GenericSkillPanel · high confidence

New GitHub Data Connector UI

A new user interface for the GitHub data connector has been added, allowing users to input a repository URL and an optional access token, select specific branches, and define file ignore patterns via tags. The component handles the submission of these settings to collect files from the specified GitHub repository, providing feedback on the collection status and output destination.

frontend/src/components/Modals/ManageWorkspace/DataConnectors/Connectors/Github · high confidence

New GitHub Repository Loader with Enterprise and URL normalization support

A new GitHub repository loader has been introduced to handle loading content from GitHub repositories. This component normalizes repository URLs by stripping the \.git\ suffix and correctly resolves the REST API base URL for various GitHub flavors, including github.com, GitHub Enterprise (GHE) data-residency subdomains, and self-hosted GitHub Enterprise Server instances. It supports optional branch selection, path ignoring, and access-token-based authentication for recursive loading, while automatically falling back to default branches if none is specified.

collector/utils/extensions/RepoLoader/GithubRepo/RepoLoader · high confidence

New GitHub repository loader extension

A new GitHub repository loader has been added to the collector, enabling users to recursively load source files from a GitHub repository or fetch individual files by path. The implementation handles repository initialization, file discovery, and content extraction, then saves the processed documents to the server's storage directory with unique identifiers and token count estimates. It supports both public repositories and private ones requiring a Personal Access Token (PAT), and includes logic to encrypt repository credentials for future synchronization.

collector/utils/extensions/RepoLoader/GithubRepo · high confidence

New GitLab repository loader with support for issues and wikis

A new GitLab repository loader has been added to the collector, enabling the ingestion of code files, issues, and wiki pages from GitLab repositories. The loader supports both GitLab.com and self-hosted instances, automatically detecting the API base URL from the provided repository URL. It handles authentication via access tokens, validates branches, and allows users to configure which content types to fetch (files, issues, wikis) and which paths to ignore. This provides a comprehensive way to load GitLab project data into the system.

collector/utils/extensions/RepoLoader/GitlabRepo/RepoLoader · high confidence

New GitLab repository, issue, and wiki data connector

A new GitLab connector has been added to the collector, enabling the ingestion of source code files, issues, and wiki pages from GitLab repositories. The implementation recursively loads repository content and supports fetching individual files, specific issues, and wiki pages, storing the resulting documents in the server's storage directory with appropriate metadata and tokenization.

collector/utils/extensions/RepoLoader/GitlabRepo · high confidence

New Gmail Agent plugin with comprehensive email management tools

The Gmail agent plugin has been introduced, providing a suite of tools for interacting with Gmail. Users can now search and read email threads, manage drafts (create, update, delete, list, and send), send and reply to emails, and perform thread management actions like marking as read/unread or moving to trash/archive. The plugin also includes account-level tools to retrieve mailbox statistics. Draft creation and updates support file attachments up to a 20MB total limit, and email reading tools can parse attachment content with user approval.

server/utils/agents/aibitat/plugins/gmail · high confidence

New Google Calendar agent skill with granular control

The Admin Agents page now includes a dedicated Google Calendar skill panel, allowing administrators to configure the integration and toggle individual capabilities such as listing calendars, reading or writing events, and managing RSVPs. This new skill is available for single-user mode and integrates with the existing skill management UI, including search filtering and mode-based visibility.

frontend/src/pages/Admin/Agents · high confidence

New Google Calendar integration for agent skills

Added a new Google Calendar plugin that enables agents to interact with Google Calendars via a Google Apps Script bridge. The integration provides read-only tools to list calendars and retrieve event details (by ID, for a specific day, within a date range, or upcoming events using natural language time periods like 'today' or 'next week'). It also includes write capabilities to create events (with support for timed, all-day, and recurring events), update existing events, quick-add events from natural language descriptions, and set RSVP statuses. The plugin requires configuration of a Deployment ID and API Key in the agent settings and is restricted to single-user mode for security reasons.

server/utils/agents/aibitat/plugins/google-calendar · high confidence

New Imported Skill List UI component

The Admin Agents interface now includes a dedicated ImportedSkillList component that displays a scrollable list of imported skills. This UI element renders each skill with its formatted name, an active/inactive status indicator, and a selection handler, while providing a helpful link to the developer documentation when no skills are present.

frontend/src/pages/Admin/Agents/Imported/SkillList · high confidence

New Instance Workspaces management page in Admin settings

A new 'Instance Workspaces' page has been added to the Admin settings sidebar, allowing administrators to view a table of all workspaces on the instance, including their name, link, associated users, and creation date. The page includes a 'New Workspace' button that opens a modal for creating workspaces and displays a warning that removing a workspace deletes all associated chats and settings. It also respects a 'WorkspaceDeletionProtection' system setting to prevent accidental deletions.

frontend/src/pages/Admin/Workspaces · high confidence

New KoboldCPP configuration interface with auto-detection and token controls

The KoboldCPP settings panel now includes a dedicated UI for managing connection and generation parameters. Users can configure the model context window and maximum response tokens via new input fields, and the interface supports automatic endpoint discovery through an 'Auto-Detect' button that leverages common KoboldCPP URLs. Advanced manual configuration, such as entering a custom base URL, is available behind a toggle to keep the default view uncluttered.

frontend/src/components/LLMSelection/KoboldCPPOptions · high confidence

New LocalAI and Azure AI embedding configuration components

The embedding selection interface now includes dedicated configuration panels for LocalAI and Azure AI. The new LocalAI component allows users to set an API key, configure the maximum embedding chunk length, and specify output dimensions, with support for auto-detecting the LocalAI base URL. The new Azure AI component provides fields for the Azure Service Endpoint, API Key, and Embedding Deployment Name, enabling users to configure Azure OpenAI embedding services directly within the embedding selection workflow.

frontend/src/components/EmbeddingSelection/LocalAiOptions · high confidence

New MCP Server Management Interface in Admin Panel

A new user interface has been added to the Admin Agents section for managing Model Context Protocol (MCP) servers. This includes a server list view that displays server status (running/stopped) and tool counts, with warnings for servers having more than 10 enabled tools. Users can now start, stop, and delete individual MCP servers via a context menu, with confirmation dialogs and toast notifications for actions. The interface also provides a refresh button to reload the server list and links to documentation.

frontend/src/pages/Admin/Agents/MCPServers · high confidence

New Obsidian and Paperless-ngx data connectors added

Users can now import data from Obsidian vaults and Paperless-ngx document management systems via the Manage Workspace modal. The Obsidian connector allows selecting a local folder of Markdown files for import, while the Paperless-ngx connector enables fetching documents by providing a base URL and API token. These new options are now available alongside existing connectors like GitHub, GitLab, and Confluence in the data connector selection interface.

frontend/src/components/Modals/ManageWorkspace/DataConnectors · high confidence

New Ollama embedding configuration interface with batch size and auth support

The OllamaOptions component now provides a dedicated UI for configuring Ollama embedding providers, introducing fields for maximum embedding chunk length and embedding batch size (allowing parallel processing for improved speed). It also supports optional Bearer authentication tokens and includes an auto-detection feature for the Ollama base URL, with advanced settings like the base URL and auth token hidden by default to simplify the initial setup.

frontend/src/components/EmbeddingSelection/OllamaOptions · high confidence

New Onboarding Flow Entry Point

A new entry point for the onboarding experience has been added at frontend/src/pages/OnboardingFlow/index.jsx. This component dynamically renders specific onboarding steps based on the URL parameter, wrapping the active step in a shared layout that provides header and navigation button controls.

frontend/src/pages/OnboardingFlow · high confidence

New Onboarding Survey Step Added

A new Survey step has been introduced into the Onboarding Flow, allowing users to submit their email, use case, and comments via a form. The component handles form validation, sends the data to the configured survey endpoint (using sendBeacon with a fetch fallback), and stores completion status in local storage. Upon submission, users are redirected to the home page, and a thank-you view is displayed if the survey has already been completed.

frontend/src/pages/OnboardingFlow/Steps/Survey · high confidence

New OpenAI embedding options component

A new OpenAiOptions component has been introduced to handle configuration for OpenAI embedding services. This component provides a user interface for entering an API key and selecting a preferred embedding model, specifically supporting text-embedding-ada-002, text-embedding-3-small, and text-embedding-3-large. The UI is styled to fit the application's theme settings, with inputs for the API key and model preference displayed side-by-side.

frontend/src/components/EmbeddingSelection/OpenAiOptions · high confidence

New Outlook agent plugin for email management

The Outlook agent plugin is now available, providing tools to interact with Outlook email via Microsoft Graph. Users can read their inbox, search emails, and read full conversation threads. The agent also supports drafting, updating, listing, and deleting emails, as well as sending new emails or replies with support for CC, BCC, HTML bodies, and file attachments. Additionally, users can view mailbox statistics to see folder counts and unread totals.

server/utils/agents/aibitat/plugins/outlook · high confidence

New Privacy and Data Handling settings page

A new Privacy and Data Handling page has been added to General Settings, allowing users to manage their data privacy preferences. This page includes a toggle to enable or disable anonymous telemetry, with clear explanations that collected events do not record IP addresses or contain identifying content. The interface also provides links to view the specific event tags collected on GitHub and contact the development team for feedback.

frontend/src/pages/GeneralSettings/PrivacyAndData · high confidence

New Quick Actions and Suggested Messages components for the home page

The home page now includes dedicated UI components for user interactions: QuickActions renders role-based buttons (Create Agent, Edit Workspace, Upload Document) that appear depending on the user's permissions and workspace status, while SuggestedMessages displays a list of clickable prompt suggestions that auto-submit when selected. These components provide the visual interface for the redesigned home page experience.

frontend/src/components/lib/QuickActions, frontend/src/components/lib/SuggestedMessages · high confidence

New SQL Agent plugin for querying PostgreSQL, MySQL, and SQL Server

The SQL Agent plugin is now available, enabling AI agents to interact with PostgreSQL, MySQL, and SQL Server databases. This update introduces a unified connector system that parses RFC-3986 connection strings and supports parameterized queries to prevent SQL injection. Users can now leverage agent functions to list available databases, discover table schemas, and execute read-only SELECT queries against configured data sources.

server/utils/agents/aibitat/plugins/sql-agent · high confidence

New Scheduled Jobs management interface

A new Scheduled Jobs section has been added to General Settings, allowing users to create, edit, and delete scheduled jobs. The interface includes a main list view with real-time status polling, the ability to manually trigger runs, and detailed history and run-detail pages that display execution metrics, tool calls, generated files, and agent thoughts.

frontend/src/pages/GeneralSettings/ScheduledJobs · high confidence

New Security settings page for multi-user mode configuration

A new Security settings page has been added to the General Settings area, allowing administrators to enable or disable Multi-User mode. When enabling this mode, users must provide an admin username and password that are validated against specific length and pattern constraints (USERNAME\_MIN\_LENGTH, USERNAME\_MAX\_LENGTH, USERNAME\_PATTERN) to ensure security standards are met during the initial setup.

frontend/src/pages/GeneralSettings/Security · high confidence

New Settings Button component with role-based visibility and accessibility

A new SettingsButton component has been added to the frontend, providing a sidebar footer icon that navigates to the settings interface or returns to the home workspace depending on the current route. The button is conditionally rendered to remain hidden for users with the 'default' role, ensuring that only authorized users can access settings. The component includes proper accessibility attributes, such as aria-labels for screen readers and data-tooltip attributes for visual tooltips, enhancing usability for all users.

frontend/src/components/SettingsButton · high confidence

New Settings Sidebar Menu Option Component

Introduces a new MenuOption component for the settings sidebar that supports hierarchical navigation with expandable child items. The component handles role-based visibility filtering, automatically expands menu sections when their active child is selected, persists expansion state in local storage, and ensures the active item scrolls into view.

frontend/src/components/SettingsSidebar/MenuOption · high confidence

New Telegram Bot connection settings page

A new Telegram Bot configuration interface has been added to the General Settings Connections area. This page allows users to create a new bot connection by entering a token, view details of the connected bot (including workspace, thread, and model), and manage user access by approving, denying, or revoking permissions for specific users. The UI also supports reconnecting a disconnected bot by updating the token.

frontend/src/pages/GeneralSettings/Connections · high confidence

New Terraform-based deployment option for DigitalOcean

Added a new set of Terraform configuration files (main.tf, outputs.tf, user\_data.tp1) and deployment documentation (DEPLOY.md) to the cloud-deployments/digitalocean/terraform directory, enabling users to provision a private AnythingLLM instance on DigitalOcean using Infrastructure as Code. This configuration creates a DigitalOcean Droplet running Ubuntu 24.04, installs Docker, populates the application's .env file via cloud-init user data, and runs the AnythingLLM container, outputting the public IP address for access.

cloud-deployments/digitalocean · high confidence

New Toggle component with size variants and layout options

A new Toggle component has been added to the frontend library, providing a customizable switch control with three size variants (sm, md, lg) and two layout modes (default vertical and horizontal). The component supports controlled or uncontrolled states, disabled styling, and includes optional label, description, and hint (tooltip) text, allowing for consistent UI updates across settings and configuration pages.

frontend/src/components/lib/Toggle · high confidence

New Transcription Preference settings page with multi-provider support

A new TranscriptionPreference page has been added to the General Settings, allowing users to select their audio transcription provider. The interface supports three options: OpenAI (using the Whisper-large model via API key), OpenAI Compatible (using any OpenAI-compatible API via custom configuration), and AnythingLLM Built-In (running a local Whisper model privately). Users can search for providers, select their preferred option, and save changes, with the system defaulting to the local provider if no previous selection exists.

frontend/src/pages/GeneralSettings/TranscriptionPreference · high confidence

New UI components for image generation status and results

Added two new React components to the chat history view to support the new \/img\ command: \ImageGenerationCard\ displays the final generated image with options to download, copy, or edit it, while \ImageGenerationPending\ shows a loading spinner or an aborted status placeholder while the image is being created.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/ImageGenerationCard, frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/ImageGenerationPending · high confidence

New User Menu Button Component

A new UserButton component has been introduced in the frontend to manage user account interactions. This component provides a clickable button that toggles a dropdown menu containing options for account settings, support contact, and signing out. It supports both single and multi-user modes, displaying either a generic icon or the user's profile picture/initials in multi-user mode. The component also handles fetching support email addresses and managing local storage cleanup during sign-out.

frontend/src/components/UserMenu/UserButton · high confidence

New Vector Database configuration options in Workspace Settings

The Vector Database settings page now includes controls for adjusting the vector search mode (Default vs. Accuracy Optimized with reranking, currently supported for LanceDB), setting the document similarity threshold, and defining the maximum number of context snippets. It also displays the vector count and provides a dedicated button to reset the workspace's vector database.

frontend/src/pages/WorkspaceSettings/VectorDatabase · high confidence

New Website Depth Data Connector for Crawling and Scraping

Added a new data connector in the collector that crawls websites by depth, starting from a seed URL and following links up to a specified maximum depth and link count. The implementation scopes crawling to the origin and path segment of the start URL to prevent leaking to external sites or unrelated subdirectories. It uses Puppeteer to load pages, extracts text content, and writes the scraped documents to the server's document store, including metadata like token estimates and word counts. A workaround is included to disable headless mode in development on macOS to prevent Chromium crashes.

collector/utils/extensions/WebsiteDepth · high confidence

New Workspace Chat Settings page

A new ChatSettings page has been added to the Workspace Settings area, providing a centralized form for managing chat-specific configurations. Users can now adjust the workspace LLM selection, chat mode (including query mode with custom refusal responses), history settings, system prompts, and temperature. The page aggregates these distinct sub-settings into a single interface with a unified save mechanism.

frontend/src/pages/WorkspaceSettings/ChatSettings · high confidence

New Workspace Chats settings page with multi-format export and markdown rendering

A new Workspace Chats management interface has been added to General Settings, allowing users to view, clear, and export their chat history. The page supports exporting chats in four formats: CSV, JSON, JSONL, and JSON (Alpaca). It also introduces a new MarkdownRenderer component that safely renders chat content with syntax highlighting and provides a collapsible 'View thoughts' UI for hidden reasoning blocks.

frontend/src/pages/GeneralSettings/Chats · high confidence

New Workspace Directory management modal for document handling

The Workspace Directory component has been introduced to provide a dedicated interface for managing documents within a workspace. This modal allows users to view file lists, select multiple items for bulk removal, and monitor the status of document embedding processes. It integrates with the embedding progress context to display real-time status updates and offers controls to add files to the embedding queue, replacing or augmenting previous ad-hoc document management interactions.

frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory · high confidence

New WorkspaceFileRow component for document management

Introduces the WorkspaceFileRow component, which renders individual file entries within the ManageWorkspace modal. This component enables users to select files for bulk operations, pin or unpin documents to the workspace, and remove documents from the workspace. It also supports watching documents for changes and displays file metadata such as title, date, and extension via tooltips.

frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow · high confidence

New action menu for historical chat messages

A new ActionMenu component has been introduced for historical messages in the chat history, providing users with options to fork a thread or delete a message. The menu is accessible via a 'more actions' button and includes logic to close when clicking outside the menu area. It respects user context by hiding for user-sent messages or during editing states, and supports localization for its labels.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/ActionMenu · high confidence

New action toolbar for historical chat messages

A new Actions component has been introduced for historical messages in the chat history, providing users with a consistent set of interaction controls. This toolbar includes buttons to copy message text, edit the message content, and regenerate the response (for the last assistant message). It also features a feedback mechanism allowing users to mark responses as helpful, alongside an action menu for additional options like forking the thread. The layout adapts based on the message role, positioning user message actions to the right and assistant message actions to the left, while also integrating a metrics rendering component.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions · high confidence

New admin users management interface with role-based permissions and message limits

The Admin Users page now provides a dedicated interface for managing instance accounts, displaying a table of users with their assigned roles (default, manager, admin) and the specific permissions associated with each level. Administrators can add new users via a modal dialog and configure daily message limits for non-admin users using a toggle switch and numeric input, allowing for granular control over user activity within a 24-hour window.

frontend/src/pages/Admin/Users · high confidence

New agent LLM provider selection interface in workspace settings

A new AgentLLMSelection component has been added to the Workspace Settings area, allowing users to choose a specific Large Language Model provider for workspace agents. The interface features a searchable dropdown that filters from a predefined list of enabled providers (including OpenAI, Anthropic, Ollama, and many others) and displays a performance warning banner for providers known to have lower performance (such as LMStudio, KoboldCPP, and Ollama). This change introduces the UI logic for selecting and persisting the agent provider setting within the workspace configuration.

frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection · high confidence

New attachment management UI in the chat prompt input

The chat interface now includes a dedicated component for managing file attachments within the prompt input area. Users can see visual previews for images and icons for other file types, along with status indicators for uploading, success, or errors. Attachments can be removed individually via a close button, and image attachments open a lightbox viewer when clicked. The UI distinguishes between files attached for the current chat session versus those embedded into the workspace for RAG, providing specific tooltips for each state.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/Attachments · high confidence

New chart rendering components for workspace chat history

Added a new \Chartable\ component and its supporting utilities (\CustomCell\, \CustomTooltip\, \chart-utils\) to the workspace chat history view. This change introduces the ability to render various chart types (area, bar, line, composed, scatter, etc.) directly within chat messages, utilizing the Tremor and Recharts libraries for visualization, custom styling, and data export capabilities.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Chartable · high confidence

New chat mode selection UI in workspace settings

A new component has been added to the Workspace Settings to allow users to select their preferred chat mode. The interface presents three distinct options: 'Automatic', 'Chat', and 'Query', with the default set to 'chat'. Users can switch between these modes directly in the settings, and an explanation panel dynamically updates to describe the selected mode's behavior. This change introduces the frontend control for workspace-level chat mode configuration.

frontend/src/pages/WorkspaceSettings/ChatSettings/ChatModeSelection · high confidence

New collapsible activity chain UI for agent status updates

The chat interface now groups intermediate agent status updates and model thoughts into a single, collapsible 'Chain of Thought' block instead of displaying them as separate bubbles. This new StatusResponse component provides real-time visual feedback during agent runs, including a shimmering animation for active thinking states and a brain icon for completed thoughts. It also calculates and displays the duration of each activity step client-side, giving users clearer insight into how long specific agent actions take.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/StatusResponse · high confidence

New collector extension endpoints for data sources and live sync

The collector now exposes a set of new API endpoints under the /ext prefix to ingest data from various sources and support live document synchronization. These include endpoints for syncing source documents (/ext/resync-source-document), scraping website depth (/ext/website-depth), loading YouTube transcripts (/ext/youtube-transcript), and connecting to Confluence (/ext/confluence), Drupal/Wiki (/ext/drupalwiki), and generic Git repositories (/ext/:repo\_platform-repo and /ext/:repo\_platform-repo/branches). All endpoints enforce payload integrity verification via middleware to ensure secure communication between the server and collector.

collector/extensions · high confidence

New configuration UI for Qdrant and Weaviate vector databases

Added dedicated settings components for Qdrant and Weaviate vector databases, providing users with input fields to configure the API endpoint and API key for each service. These new UI elements allow users to specify connection details directly within the application's settings interface.

frontend/src/components/VectorDBSelection/QDrantDBOptions, frontend/src/components/VectorDBSelection/WeaviateDBOptions · high confidence

New data connector options for Gitea, GitHub, GitLab, and more

The Data Connector Option UI now includes visual support for several new data sources. Users will see dedicated icons for Gitea, GitHub, GitLab, YouTube, Confluence, Obsidian, Paperless-ngx, and DrupalWiki, alongside a generic link icon for website depth scraping. These assets are provided in the frontend component directory to identify the connectors in the selection interface.

frontend/src/components/DataConnectorOption · high confidence

New document management interface for workspaces

Introduces a new DocumentSettings component that provides a dual-pane interface for managing workspace documents. Users can now select files from a directory picker and stage them for embedding, with the system optimistically updating the UI before the server processes the job. The interface displays real-time embedding progress, prevents duplicate rendering of files mid-process, and allows users to save changes to add documents to the workspace.

frontend/src/components/Modals/ManageWorkspace/Documents · high confidence

New embed chat history view with export and detailed inspection

A new interface has been added to General Settings \> Chat Embed Widgets to view, manage, and export the history of chats from embedded widgets. Users can now see a paginated table of embed chats, including the source workspace, session ID, prompt, response, and timestamp. Clicking on the prompt or response opens a modal for full-text inspection, with responses rendered as Markdown (including syntax-highlighted code blocks) and internal 'thought' processes displayed in collapsible bubbles. Connection details (username, IP, host) are also viewable in a dedicated modal. Additionally, users can export the entire chat history in CSV, JSON, JSONL, or JSON (Alpaca) formats directly from the page.

frontend/src/pages/GeneralSettings/ChatEmbedWidgets/EmbedChats · high confidence

New embed configuration interface with message history limits

The Embed Configs page in General Settings has been rebuilt to provide a comprehensive interface for managing chat embed widgets. Administrators can now create, edit, and delete embeds, with new configuration options including a 'Message History Limit' to control the number of previous messages included in the chat context, as well as toggles to allow dynamic overrides for the LLM model, temperature, and system prompt. The interface also includes a dedicated modal to view and copy the generated HTML script tag for embedding the chat widget on external websites.

frontend/src/pages/GeneralSettings/ChatEmbedWidgets/EmbedConfigs · high confidence

New experimental features management interface

Administrators can now manage experimental features through a dedicated settings page. This new interface provides a sidebar list of configurable features (currently including Live Document Sync) and a detail panel for toggling them, replacing the previous method of enabling these capabilities.

frontend/src/pages/Admin/ExperimentalFeatures · high confidence

New file converters for audio, documents, and spreadsheets

The collector now includes dedicated processors for audio files (transcribing via local or OpenAI-compatible Whisper models), Word documents (.docx), e-books (.epub), images (OCR), plain text (.txt), MBOX email archives, and generic Office files. Additionally, XLSX spreadsheets are now parsed with date-aware formatting and combined into a single document for chat visibility, ensuring numbers and dates are preserved accurately.

collector/processSingleFile/convert · high confidence

The document manager now includes a dedicated UploadFile component that supports both file uploads and URL scraping. Users can drag-and-drop files (preserving relative folder paths) or submit a website link, which is automatically prefixed with 'https://' if missing. The interface provides real-time progress for multiple files, debounces UI updates to prevent excessive refreshes, and displays specific states for when the upload processor is offline or no files are selected.

frontend/src/components/Modals/ManageWorkspace/Documents/UploadFile · high confidence

New file upload progress component with folder path preservation and error display

The FileUploadProgress component has been introduced to handle individual file upload states within the document manager. It now supports folder uploads by preserving relative paths in the metadata and ensuring unique filenames to prevent collisions. The component provides visual feedback for pending, complete, and failed states, including displaying specific error messages for failed uploads and fading out entries after completion.

frontend/src/components/Modals/ManageWorkspace/Documents/UploadFile/FileUploadProgress · high confidence

New file-type detection and storage utilities in the collector

The collector now includes a new file-handling module that improves how it identifies and stores documents. It introduces a MIME-based detection system that remaps specific extensions (such as .ts, .tsx, .py, .go, and .ino) to text/plain to ensure code files are parsed correctly, and falls back to buffer inspection for unknown types. Additionally, it standardizes how processed documents and direct uploads are saved to specific server storage folders, ensuring consistent file paths and metadata for downstream processing.

collector/utils/files · high confidence

New frontend API models for admin, agent flows, and system integrations

This change introduces a comprehensive set of new frontend API models in \frontend/src/models\ to support newly added or overhauled features. The \admin.js\ model provides the client-side interface for user management, workspace administration, invitation handling, and system preferences. \agentFlows.js\ and \agentSkillWhitelist.js\ enable the creation, management, and execution of agent flows and skill whitelisting. Integration models for \communityHub.js\, \dataConnector.js\ (GitHub, GitLab, Confluence, etc.), \mcpServers.js\, and \memory.js\ expose the APIs for community content, data ingestion, Model Context Protocol servers, and user memories. Additionally, models for \appearance.js\, \browserExtensionApiKey.js\, \embed.js\, \document.js\, \mobile.js\, \modelRouter.js\, \outlookAgent.js\, \promptHistory.js\, and \scheduledJobs.js\ are added to support UI customization, embedded chats, file organization, mobile sync, model routing, Outlook integration, chat history, and automated jobs.

frontend/src/models · high confidence

New frontend hooks for chat, UI, and system features

This update introduces a suite of new React hooks in the frontend to power recent product capabilities. Chat interaction is enhanced with \useAutoScroll\ for intelligent history scrolling, \useChatContainerQuickScroll\ for keyboard shortcuts, and \usePromptInputStorage\ for draft persistence. The UI layer gains \useTheme\ for dark/light mode, \useTextSize\ for font scaling, \useModal\ and \useModalEscape\ for consistent dialog handling, and \useScrollActiveItemIntoView\ for sidebar navigation. System and configuration features are supported by \useAppVersion\ for version display, \useSimpleSSO\ for authentication modes, \useLoginMode\ for session management, \useProviderEndpointAutoDiscovery\ for LLM provider setup, and \useWebPushNotifications\ for client-side push alerts.

frontend/src/hooks · high confidence

New frontend infrastructure and UI components for settings, embeddings, and PWA support

This change introduces several new React context providers and UI components to the frontend. It adds \EmbeddingProgressContext\ to display real-time file embedding status via Server-Sent Events, and \LogoContext\ to handle dynamic instance logo and light/dark mode switching. It also includes \PWAContext\ for detecting and styling the app as a standalone Progressive Web App, \PfpContext\ for user profile pictures, and \ThemeContext\ for theme management. On the UI side, it adds an \ErrorBoundaryFallback\ with error copying, an \ImageLightbox\ for viewing attachments, a \KeyboardShortcutsHelp\ modal, and a \CronBuilder\ for configuring scheduled jobs. Additionally, it introduces pages for configuring default system prompts and chat embed widgets, and sets up i18n initialization.

frontend/src · high confidence

New image generation provider options in settings

The General Settings page now includes a dedicated Image Generation Preference section where users can select from multiple image generation providers: OpenAI, Ollama, Lemonade, LocalAI, and OpenRouter. Each provider has its own configuration panel, allowing users to input API keys, base URLs, and authentication tokens as needed. The interface supports auto-detection for local services like Ollama, Lemonade, and LocalAI, and provides model selection with organization grouping where applicable. Users can also specify image dimensions, with options varying by provider (e.g., OpenAI supports 1024x1024, 1024x1536, 1536x1024; Lemonade supports 256x256, 512x512, 768x768, 1024x1024). The settings are saved via the system update API and persist across sessions.

frontend/src/components/ImageGenerationSelection, frontend/src/pages/GeneralSettings/ImageGenerationPreference · high confidence

New invite modal allows automatic workspace assignment

The new invite creation interface now includes an optional feature to automatically add invited users to specific workspaces upon acceptance. Administrators can select one or more workspaces from a list before generating the invite link; if no workspaces are selected, the user will join with the default role and no workspace access. The modal also features a unified design using the new ModalWrapper components and Phosphor icons, with a copy-to-clipboard function for the generated invite link.

frontend/src/pages/Admin/Invitations/NewInviteModal · high confidence

New invite row component for admin invitation management

Added a new InviteRow component that renders individual rows in the admin invitations table. This component displays the invitation status, the username of the person who claimed the invite (or 'deleted user' if unavailable), the creator's username, and a formatted creation date. For pending invitations, it provides a 'Copy Invite Link' button that copies the acceptance URL to the clipboard with a temporary 'Copied' state, and a delete button that triggers a confirmation dialog to disable the invite, immediately updating the UI to show 'Disabled' before making the API call.

frontend/src/pages/Admin/Invitations/InviteRow · high confidence

Added a new \collector/processLink\ module that provides two functions for handling web links: \processLink\ scrapes a URL's content, saves it as a document for embedding, and now supports passing custom HTTP headers (\scraperHeaders\) and optional \metadata\ to the scraped content; \getLinkText\ retrieves the text content of a link without saving it as a document, primarily for agentic flows.

collector/processLink · high confidence

New local auto-translation tool for locale files

A new standalone translation utility has been added to the extras/translator directory, allowing users to automatically translate application locale files using a local Ollama model (specifically translategemma:4b) via the Docker Model Runner. The tool preserves formatting by protecting i18next placeholders ({{variable}}) and React Trans component tags (\<tag\>) during the translation process, ensuring that dynamic content and rich text structures are not corrupted. Users can run the script manually to translate specific languages or all available locales, providing a cost-free alternative to external translation APIs.

extras/translator · high confidence

New mobile device connection and management interface

A new 'Connected Mobile Devices' section has been added to General Settings, allowing users to register, approve, and revoke access for mobile devices. The interface displays a list of registered devices with their OS and registration time, and provides 'Approve' or 'Revoke' actions for each. Users can initiate a new connection via a 'Register New Device' button, which opens a modal displaying a QR code for the AnythingLLM mobile app to scan, facilitating live sync of chats, workspaces, and documents.

frontend/src/pages/GeneralSettings/MobileConnections · high confidence

New model selection dropdown with categorized model groups

The chat interface now includes a dedicated model selection dropdown that organizes available LLMs into distinct categories: 'General models' (defaults), 'Downloaded models' (locally stored), and 'Discovered models' (custom or provider-specific). This component replaces the previous implicit selection mechanism, providing users with a clear, grouped view of available models and supporting dynamic loading states with a 'waiting for models' placeholder.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/LLMSelector/ChatModelSelection · high confidence

New onboarding flow layout with mobile support and accessibility improvements

The onboarding flow now uses a new layout component that adapts to mobile and desktop views. On mobile, the layout is a full-screen scrollable view with centered content and navigation buttons at the bottom. On desktop, it uses a three-column layout with navigation buttons on the sides. The layout includes state management for headers, back buttons, and forward buttons, allowing steps to control their visibility and disabled state. Accessibility improvements include aria-labels on navigation buttons. The layout also integrates a hook to redirect users to the home page upon onboarding completion.

frontend/src/pages/OnboardingFlow/Steps · high confidence

New options added to the Workspace Chat settings menu

The Workspace Chat settings menu now includes four new capabilities: users can export chat history to PDF, Markdown, Plain Text, JSON, or HTML formats; copy a direct link to the current chat session; toggle the visibility of the Memories sidebar (admin-only if memory features are enabled); and adjust the chat text size (small, normal, large) which persists across sessions.

frontend/src/components/WorkspaceChat/ChatContainer/ChatSettingsMenu · high confidence

New password reset flow with recovery code support for multi-user mode

The password authentication modal now supports a dedicated password reset workflow for multi-user instances. Users can initiate a reset by entering their username and recovery codes, which triggers a new form to set a new password. This flow includes a new RecoveryCodeModal component that allows users to view, copy, or download their recovery codes, ensuring they can regain access if needed. The single-user mode remains unchanged, continuing to use the standard login form.

frontend/src/components/Modals/Password · high confidence

New privacy policy display for LLM, embedding, and vector database providers

A new 'ProviderPrivacy' component has been added to the frontend to display data handling information for the currently configured LLM provider, embedding engine, and vector database. The component imports a comprehensive map of provider logos and privacy policy URLs (including OpenAI, Azure, Anthropic, Google Gemini, NVIDIA NIM, LMStudio, LocalAI, Ollama, and various vector databases like Pinecone and Qdrant) and renders a user-facing view that links to the respective service's privacy policy or displays specific data locality descriptions (e.g., for local-only providers like Ollama or LMStudio).

frontend/src/components/ProviderPrivacy · high confidence

New raw text document processing capability

The collector now includes a new \processRawText\ module that handles the ingestion of raw text documents. This feature validates that both the text content and the document title are present and non-empty, then generates a unique ID, normalizes metadata (including a robust fallback for the \published\ date to prevent epoch-zero errors), estimates token counts, and saves the processed document to the server for embedding.

collector/processRawText · high confidence

New resync endpoint for live document content updates

A new \resync\ extension has been added to the collector, introducing an endpoint that allows users to re-fetch and update the content of existing documents without re-importing them. This feature supports live synchronization for content sourced from GitHub files, GitLab files/issues/wiki pages, Confluence pages, YouTube videos, and generic web links. For self-hosted instances, the implementation correctly preserves the original URL scheme (http/https) and carries necessary authentication details (such as Confluence personal access tokens) to ensure successful re-syncs.

collector/extensions/resync · high confidence

New scheduled job card in chat history

A new card component has been added to the chat history to display when a scheduled job is created. This card shows the job name and schedule, and clicking it navigates the user directly to the job's run history page.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/ScheduledJobCreatedCard · high confidence

New settings UI for multiple Speech-to-Text providers

The Speech-to-Text settings panel now includes dedicated configuration forms for OpenAI, Deepgram, Groq, and Lemonade providers, as well as a native browser option. Users can now enter API keys, select specific transcription models (with dynamic model lists fetched from the backend for Deepgram, Groq, and Lemonade), and configure base URLs for compatible services like Lemonade and generic OpenAI endpoints.

frontend/src/components/SpeechToText · high confidence

New settings components for customization and appearance

The General Settings page now includes dedicated UI components for managing user preferences and appearance. Users can toggle auto-scroll, auto-speak (TTS), auto-submit (STT), HTML rendering, and spellcheck. The interface also supports customizing the app name, logo, site title, favicon, display language, theme, scrollbar visibility, support email, and sidebar footer icons.

frontend/src/pages/GeneralSettings/Settings/components · high confidence

New speech-to-text input with native and server-side providers

The chat prompt input now supports voice commands via a new Speech-to-Text component. Users can toggle listening using the microphone button or the Ctrl+M keyboard shortcut. The system offers two modes: a browser-native mode using the Web Speech API for immediate, streaming transcription, and a server-side mode that records audio and uploads it to a configured remote provider for transcription. Both modes support auto-submitting the transcribed text when the user stops speaking, and the server-side mode includes a silence detector to automatically stop recording after a period of inactivity.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SpeechToText · high confidence

New text chunking configuration in General Settings

A new EmbeddingTextSplitterPreference page has been added to the General Settings, allowing administrators to customize the text splitting strategy for embeddings. Users can now explicitly set the chunk size and chunk overlap values, with built-in validation to prevent the overlap from exceeding the chunk size. The interface supports internationalization and includes a confirmation modal before saving changes to ensure the new text chunking strategy is applied correctly.

frontend/src/pages/GeneralSettings/EmbeddingTextSplitterPreference · high confidence

New tools menu with slash commands and agent skills tabs

The chat input now features a dedicated tools menu that allows users to browse and select commands. The menu includes a 'Slash Commands' tab available to all users and an 'Agent Skills' tab restricted to admins or single-user mode. It supports keyboard navigation (arrow keys to switch tabs or highlight items, Enter to select) and dynamically adjusts its height to prevent overflow on smaller viewports.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu · high confidence

New transcription provider options for OpenAI-compatible services and local Whisper models

The TranscriptionSelection component now includes dedicated configuration UIs for three distinct transcription backends. Users can configure an OpenAI-compatible service by providing a base URL, optional API key, and model identifier via the new GenericOpenAiOptions component. For native local transcription, the NativeTranscriptionOptions component allows selection between 'Xenova/whisper-small' and 'Xenova/whisper-large' models, displaying specific warnings about model sizes (250MB vs 1.56GB). The existing OpenAI provider settings remain available, allowing users to input their API key and select the fixed 'Whisper Large' model.

frontend/src/components/TranscriptionSelection · high confidence

New user setup step in onboarding flow

The onboarding process now includes a dedicated 'User Setup' step where users choose between a single-user mode ('Just Me') or a multi-user team mode ('My Team'). In single-user mode, users can optionally set a password that must meet specific character restrictions (length \>= 8, allowed symbols: \,-,!,@,$,%,^,&,\,(,),;) and is validated before proceeding. Selecting 'My Team' enables multi-user login capabilities. This step integrates with the system's authentication model, handling token storage and navigation to the next onboarding stage upon completion.

frontend/src/pages/OnboardingFlow/Steps/UserSetup · high confidence

New web search provider configuration options added to Admin UI

The Admin interface for Agent web search settings now includes dedicated configuration forms for SerpApi, SearchApi, Serper.dev, and Bing Search. Users can now input API keys and select specific search engines (such as Google, Baidu, Amazon, or Bing) directly within the agent setup workflow, expanding the available web search integrations beyond the previously supported providers.

frontend/src/pages/Admin/Agents/WebSearchSelection/SearchProviderOptions · high confidence

New workspace agent configuration page

A new agent configuration interface has been added to the workspace settings, allowing users to manage agent-specific preferences. The page includes an LLM selection component and, for admin users, a link to configure agent skills. It handles saving changes to workspace, system, and environment settings, providing visual feedback via a loading skeleton and toast notifications upon completion.

frontend/src/pages/WorkspaceSettings/AgentConfig · high confidence

New workspace creation modal added to admin interface

A new modal dialog has been introduced in the Admin Workspaces section, allowing administrators to create a new workspace by providing a name. The form includes client-side validation (minimum 4 characters) and displays error messages if the creation fails. Upon successful creation, the page reloads to reflect the new workspace, which is initially visible only to admins until users are added.

frontend/src/pages/Admin/Workspaces/NewWorkspaceModal · high confidence

New workspace member management interface

A new UI for managing workspace members has been added to the Workspace Settings. The Members page now displays a table of current users with their roles and join dates, and includes a 'Manage Users' button that opens a modal. This modal allows administrators to search for existing users, select or deselect them individually or in bulk, and save changes to update the workspace's membership list.

frontend/src/pages/WorkspaceSettings/Members/AddMemberModal · high confidence

New workspace member row component with formatted dates

A new WorkspaceMemberRow component has been added to the workspace settings members page. It displays the member's username, role (formatted with title case), and last updated time (formatted using moment.js). This component is used to render individual rows in the workspace members table.

frontend/src/pages/WorkspaceSettings/Members/WorkspaceMemberRow · high confidence

New workspace settings for suggested chat messages and workspace name

Users can now configure workspace-specific settings directly within the General Appearance tab. A new Suggested Chat Messages component allows administrators to add, edit, and remove up to four pre-defined chat prompts that appear to users, with support for merging legacy heading/message fields into a unified input. Additionally, a new Workspace Name component provides a dedicated input field to customize the workspace's display name, enforcing a 2-80 character limit and tracking changes for saving.

frontend/src/pages/WorkspaceSettings/GeneralAppearance/SuggestedChatMessages · high confidence

New workspace-level chat model selection interface

A new component has been added to the Workspace Settings to allow users to select the LLM model for chat interactions. This interface fetches available models via the \useGetProviderModels\ hook and presents them in a categorized dropdown, grouping options into 'General models', 'Downloaded models', and 'Discovered models' (or organization-specific groups for providers like TogetherAi). The UI handles loading states with a placeholder and tracks changes to the selection to flag unsaved modifications.

frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/ChatModelSelection · high confidence

Novita AI LLM integration settings

A new settings component for Novita AI has been added, allowing users to configure their API key, select a chat model from a list of available options grouped by organization, and adjust the stream timeout value (defaulting to 3,000 ms) through an expandable advanced settings section.

frontend/src/components/LLMSelection/NovitaLLMOptions · high confidence

Ollama configuration UI with auto-detection and keep-alive options

The Ollama LLM options panel now includes an 'Auto-Detect' button for the Base URL, which attempts to discover the running Ollama endpoint automatically. Users can also configure how long the model stays in memory via a 'Keep Alive' selector (options: No cache, 5 minutes, 1 hour, Forever) and specify a custom 'Model context window' limit, with a fallback of 4096 tokens if auto-detection fails or the field is left blank.

frontend/src/components/LLMSelection/OllamaLLMOptions · high confidence

OpenRouter integration with model, tier, and timeout configuration

Users can now configure OpenRouter as an LLM provider directly in the settings. This includes entering an API key, selecting a specific chat model from a list grouped by organization, and choosing a service tier (Auto, Default, Fast, Flex, Priority, or Scale) to manage request prioritization. Advanced controls allow users to adjust the stream timeout value for slower connections, providing finer control over the streaming experience.

frontend/src/components/LLMSelection/OpenRouterOptions · high confidence

Outlook agent skill configuration panel

The Admin interface now includes a dedicated OutlookSkillPanel for configuring the Outlook agent integration. This panel allows administrators to manage authentication credentials (client ID, tenant ID, and secret) for both common and organization-based Entra ID authentication, toggle individual Outlook skills (such as inbox retrieval, search, draft management, and email sending) on or off, and view the current authentication status. The UI supports multi-user mode detection and provides visual feedback for configuration changes and loading states.

frontend/src/pages/Admin/Agents/OutlookSkillPanel · high confidence

Publish agent flows, slash commands, and system prompts to the Community Hub

Users can now publish their custom agent flows, slash commands, and system prompts directly to the Community Hub. This change introduces a new PublishEntityModal that handles the submission workflow for these three entity types, allowing users to provide names, descriptions, tags, and visibility settings (public or private) before publishing. The interface includes specific forms for each entity type, such as displaying flow steps for agent flows and command details for slash commands, and handles authentication checks to ensure users are logged in before publishing.

frontend/src/components/CommunityHub · high confidence

Scheduled Jobs UI components for run history and job management

This change introduces the frontend components for the new Scheduled Jobs feature, adding a dedicated view within General Settings to manage and monitor scheduled tasks. Users can now see a list of jobs with their status, schedule, and last run times, and can trigger, edit, delete, or enable/disable jobs directly from the list. The run history view displays individual job executions with their status, duration, and any errors, allowing users to click through to detailed run pages. These components also support viewing generated files with download capabilities and inspecting tool call arguments and results with syntax highlighting.

frontend/src/pages/GeneralSettings/ScheduledJobs/components · high confidence

Users can now hide or show the sidebar using a new toggle button or the keyboard shortcut (Ctrl/Cmd + Shift + S). The sidebar's visibility state is persisted in local storage, so the preference is remembered across sessions, and the toggle button is only available on pages where the sidebar is relevant (home and specific workspace paths).

frontend/src/components/Sidebar/SidebarToggle · high confidence

Slash command presets now support custom creation, editing, and publishing

Users can now create, edit, and delete custom slash command presets directly from the chat interface. The new SlashPresets UI includes an AddPresetModal and EditPresetModal that validate inputs against reserved system commands (like /reset and /img) and allow saving new presets or modifying existing ones. Custom presets appear in the slash command menu alongside built-in commands, and users can publish their custom presets to the community hub via a dedicated publish flow.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu/Tabs/SlashCommands · high confidence

Support for GitLab and Gitea repository loaders

The repository loader utility now supports GitLab and Gitea in addition to GitHub. Users can dynamically load the correct repository loader and file-fetching functions for these platforms by specifying the platform type ('github', 'gitlab', or 'gitea'), with GitHub remaining the default fallback.

collector/utils/extensions/RepoLoader · high confidence

Support for external and local Whisper transcription providers

The audio transcription system now supports multiple provider backends. Users can utilize the official OpenAI Whisper API via the new OpenAiWhisper provider, or connect to any OpenAI-compatible endpoint using the GenericOpenAiWhisper provider by configuring the base URL and API key. Additionally, a new LocalWhisper provider enables on-instance transcription using the Xenova/whisper-small model (downloaded from Hugging Face), which includes a custom FFMPEG wrapper for converting audio files to the required WAV format and validation logic for audio sample rates and duration.

collector/utils/WhisperProviders · high confidence

Web push notification support added

The application now supports web push notifications. A new service worker script handles incoming push events by displaying system notifications using the payload's title and icon, and allows users to navigate to a specific URL when they click on a notification.

frontend/public/service-workers · high confidence

Workspaces in the sidebar can now be reordered via drag-and-drop

Users can now customize the order of workspaces in the sidebar by dragging and dropping them. The component uses \react-beautiful-dnd\ to handle the interaction, persisting the new order to local storage so it is remembered across sessions. The UI also highlights the most recently visited workspace when on the home page, and includes visual cues like a drag handle icon and hover states to indicate reordering capability.

frontend/src/components/Sidebar/ActiveWorkspaces · high confidence

YouTube transcript extraction with metadata and document saving

The YouTube transcript extension now fetches video transcripts and optionally saves them as server documents. When \parseOnly\ is true, it returns the transcript content with embedded metadata (title, author, description, view count) for better LLM context. When saving to documents, it creates a sanitized folder structure under the documents directory, generates unique filenames, and stores the transcript along with metadata and token estimates. The extension validates YouTube URLs, handles errors gracefully, and ensures file paths remain within the designated documents folder for security.

collector/utils/extensions/YoutubeTranscript · high confidence

Removals

Removal of Jazzicons component

The UserIcon component, which previously rendered Jazzicons (deterministic avatar images generated via the @metamask/jazzicon library based on user IDs), has been removed from the frontend. This eliminates the dependency on Jazzicons for user avatar display in this specific component location.

frontend/src/components/UserIcon · high confidence

Removal of legacy collector scripts for GitBook, Medium, Substack, YouTube, and generic links

The collector scripts for GitBook, Medium, Substack, YouTube, and generic links have been removed from the \collector/scripts\ directory. This deletion eliminates the ability to scrape and ingest content from these specific sources, including the associated utility modules for metadata extraction and token estimation.

collector/scripts · high confidence

Removal of legacy file-watching and conversion scripts

The \collector/scripts/watch\ module has been completely removed, eliminating the previous mechanism for monitoring a directory for new files and automatically converting supported formats (such as .txt, .md, .pdf, .docx, and .odt) into processed documents. This change removes the local file-system watcher, the file-type dispatch logic, and the utilities for moving processed files and writing JSON metadata to the server, indicating a shift away from this specific local-watch-and-process workflow.

collector/scripts/watch · high confidence

Security

Server-to-collector communication now uses RSA signing and AES encryption

The collector now verifies the authenticity of incoming data from the server using RSA-SHA256 signatures and decrypts sensitive payloads using AES-256-CBC. A new \CommunicationKey\ utility reads the server's public key to validate request signatures, ensuring data integrity, while a new \EncryptionWorker\ class handles the decryption of encrypted query parameters. This change secures the communication channel between the server and the collector by replacing previous unverified transmission methods.

collector/utils/comKey · high confidence

Behavioural changes

2 commits (0 fixes) modifying frontend/src/media/animations

A change to existing behaviour in frontend/src/media/animations — 2 commits, 5 files.

frontend/src/media/animations · medium confidence · unverified

Agent session state management and Markdown rendering overhaul

This change introduces a dedicated agent session utility (frontend/src/utils/chat/agent.js) that manages the chat loading state based on specific WebSocket events, ensuring the 'Stop Generation' button is correctly shown or hidden during agent execution loops and passive bookkeeping events. It also overhauls the Markdown rendering pipeline by adding a custom Svelte syntax highlighter, implementing a new 'thought' rendering mode that normalizes indentation to prevent code-block parsing errors, and adding a message-to-speech helper that strips Markdown syntax for cleaner Text-to-Speech output. Additionally, the core chat handler (frontend/src/utils/chat/index.js) is updated to support streaming responses, model routing notifications, and image generation pending states, while integrating TTS event emission and citation buffering.

frontend/src/utils/chat · high confidence

Anthropic provider configuration with prompt caching and model selection

The Anthropic provider settings now include a dedicated UI for managing API keys, selecting chat models, and configuring prompt caching. Users can input their Anthropic API key and select from available models (including custom ones fetched via the System API). An advanced settings toggle reveals a dropdown to control prompt caching behavior with options for no caching, 5 minutes, or 1 hour. This replaces the previous generic input fields with a structured provider-specific configuration panel.

frontend/src/components/LLMSelection/AnthropicAiOptions · high confidence

Centralized file-type support and shell environment patching

The collector now explicitly defines supported file types and their converters in a new constants module, adding parsing capabilities for EPUB, XLSX, and additional audio/video formats (such as MP4 and M4A) alongside existing text, PDF, and image support. Additionally, a new shell utility patches the environment PATH on non-Windows platforms using dynamic ESM imports to ensure compatibility with the fix-path library in the current Node.js environment.

collector/utils · high confidence

Centralized tooltip rendering to improve chat performance

The chat interface now uses a centralized component to manage all tooltips, preventing the browser from crashing when many chats are open. Previously, each chat rendered its own tooltips, attaching individual event listeners to the body that accumulated and caused performance issues. This change batches all tooltip definitions (including those for message actions, feedback, editing, metrics, routing, citations, and attachments) into a single top-level component, significantly reducing DOM overhead and improving stability.

frontend/src/components/WorkspaceChat/ChatContainer/ChatTooltips · high confidence

Collector rewritten from Python to Node.js with new API endpoints

The collector has been completely rewritten from a Python-based CLI tool to a Node.js Express server, replacing the old \main.py\ and \watch.py\ scripts with a new \index.js\ entry point. This change introduces new REST API endpoints for processing files (\/process\), parsing (\/parse\), processing links (\/process-link\), retrieving link text (\/util/get-link\), converting audio to WAV (\/util/convert-audio-to-wav\), and processing raw text (\/process-raw-text\). The new server includes payload integrity verification, configurable port support, and optional HTTP logging in development mode. It also adds a 3GB file size limit for body parsers and supports uploading raw text documents via the API.

collector · high confidence

Configurable collector port via environment variable

The HTTP utility module for the collector now supports setting the listening port through the COLLECTOR\_PORT environment variable. If the variable is not set or contains an invalid value, the system falls back to the default port 8888, ensuring flexible deployment configurations without code changes.

collector/utils/http · high confidence

Confluence connector now supports self-hosted instances, personal access tokens, and SSL bypass

The Confluence data connector modal has been updated to support self-hosted Confluence deployments in addition to Atlassian Cloud. Users can now select their deployment type, authenticate using either a username/password or a personal access token, and bypass SSL certificate verification for self-hosted instances. The form also accepts various Confluence URL formats to accommodate different hosting configurations.

frontend/src/components/Modals/ManageWorkspace/DataConnectors/Connectors/Confluence · high confidence

Consolidated branding settings into a single view

The Branding settings page now presents all customization options—custom app name, logo, footer, support email, and site settings—in one unified interface, replacing the previous multi-page structure.

frontend/src/pages/GeneralSettings/Settings/Branding · high confidence

Context-aware file attachment management with embedding options

The attachment interface in the chat prompt input now displays a detailed menu of parsed files, including a token usage counter and a context window limit warning. When the context window is exceeded, users with appropriate permissions can choose to embed files directly into the workspace to improve chat relevance, while default role users are prevented from embedding and instead see a tooltip explaining the limitation. The attachment button also shows a count of attached files and provides access to this menu via a tooltip.

frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/AttachItem · high confidence

Custom Confluence loader with code block extraction and SSL bypass

The Confluence loader has been replaced with a custom implementation that correctly extracts code snippets from Confluence storage format, ensuring code blocks are preserved in the indexed content. Additionally, the loader now supports a \bypassSSL\ option to allow connections to self-hosted Confluence instances with self-signed certificates, and it correctly appends \/wiki\ to the base URL for Confluence Cloud instances while omitting it for server instances.

collector/utils/extensions/Confluence/ConfluenceLoader · high confidence

Default chat view now displays user-specific welcome and workspace selection

The DefaultChat component has been refactored to replace the static, multi-message onboarding text with a personalized welcome screen. It now fetches the user's available workspaces and, if a previously visited workspace is stored in local storage, prioritizes it for navigation. The UI displays the user's username, a custom logo, and dynamic text (translated via i18n) that either prompts the user to choose a workspace or indicates they have none assigned, along with a loading skeleton state during data fetch.

frontend/src/components/DefaultChat · high confidence

Dynamic OpenAI model selection with custom model support

The OpenAI settings component now dynamically fetches and displays available chat models, including custom fine-tuned models, grouped by organization. Users can select their preferred model from a dropdown that loads asynchronously based on the provided API key, replacing any previous static or hardcoded model lists. The component also ensures the API key input persists correctly during interaction.

frontend/src/components/LLMSelection/OpenAiOptions · high confidence

Enhanced security and logging in collector middleware

The collector middleware now includes new files to improve security and observability. A new \httpLogger.js\ middleware provides HTTP request/response logging for development mode, including optional timestamps and color-coded status codes. Two new security-focused middleware files, \setDataSigner.js\ and \verifyIntegrity.js\, implement RSA-based signing and verification for server-to-collector communication. \setDataSigner\ decrypts and attaches an encryption worker to the response using a rolling communication key, while \verifyIntegrity\ validates the \X-Integrity\ header to ensure payload integrity, skipping this check in development environments.

collector/middleware · high confidence

Expanded LLM provider selection in onboarding flow

The LLM preference step in the onboarding flow now supports a significantly wider range of model providers, including SambaNova, Groq, Together AI, PPIO, HuggingFace Inference Endpoints, Dell Pro AI Studio, Cohere, Z.ai, CometAPI, Grok/XAI, Moonshot AI, NVIDIA NIM, Novita AI, Perplexity AI, LiteLLM, Gitee AI, Apipie, Cerebras, Mistral, MiniMax, PrivateModeAI, Google Vertex, and Llmman (replacing the previous Docker Model Runner). This update replaces the native LLM option with these diverse cloud and local inference endpoints, allowing users to configure their preferred AI backend directly during initial setup.

frontend/src/pages/OnboardingFlow/Steps/LLMPreference · high confidence

Extract Model Table into reusable component library

The Model Table functionality has been extracted into a dedicated component structure under \frontend/src/components/lib/ModelTable\. This change introduces \ModelTable\ to handle the display of model lists with device type tags (CPU, GPU, NPU) and runtime information, \ModelTableLayout\ to provide a unified header with search and refresh capabilities, and \ModelTableLoadingSkeleton\ to show loading states. This refactoring centralizes the UI logic for model management, making it easier to maintain and reuse across the application.

frontend/src/components/lib/ModelTable · high confidence

Frontend overhaul: new design system, PWA support, and ESLint migration

The frontend has been significantly refactored to support a new design system and improved developer tooling. Users will see updated social sharing metadata (OG/Twitter) pointing to the new anythingllm.com domain and a new favicon. The application now supports Progressive Web App (PWA) features, including a manifest file and mobile-specific meta tags. Under the hood, the project has migrated from the legacy \.eslintrc.cjs\ format to a modern flat \eslint.config.js\ with stricter rules, updated the Node.js version requirement to v18.18.0, and reconfigured Vite to support SSR-friendly build outputs and in-browser text-to-speech assets.

frontend · high confidence

Gemini LLM configuration now uses OpenAI-compatible API with model ID selection

The Gemini LLM options component has been refactored to use the OpenAI interface API instead of the native Gemini API. This change removes the previously available safety threshold settings, as they are not supported by the OpenAI-compatible endpoint. Users can now configure their Google AI API Key and select models via a dropdown that groups available models into 'Stable' and 'Experimental' categories based on their experimental flag, with the model ID displayed as the selection value.

frontend/src/components/LLMSelection/GeminiLLMOptions · high confidence

Guard against accidental navigation during chat generation and introduce tool approval workflows

The chat interface now prevents users from accidentally leaving a conversation while a response is actively generating; attempting to navigate away triggers a confirmation modal that can abort the stream or proceed. Additionally, the chat history now supports interactive tool approval requests, allowing users to review and approve or reject agent tool calls with options to always allow specific skills, and the chat sidebar has been refactored to use a shared context provider for managing sources and memories panels.

frontend/src/components/WorkspaceChat/ChatContainer · high confidence

HistoricalMessage component overhaul with editing, deletion, and modern UI

The HistoricalMessage component has been completely rewritten to support new message management capabilities and a modernized interface. Users can now edit and delete their own chat messages, with dedicated UI forms and animation states for these actions. The component also integrates citation display, markdown rendering, and attachment handling directly into the message bubble. Additionally, the visual design has been updated to use Phosphor icons, improved error states, and responsive layouts, replacing the previous React-Feather icons and basic styling.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage · high confidence

Improved LaTeX rendering in chat messages

The chat interface now renders LaTeX math expressions more reliably, specifically fixing issues with Firefox and handling edge cases around dollar sign delimiters (e.g., preventing currency values like $5 from being misinterpreted as math). This is achieved by introducing a dedicated markdown plugin that validates inline and block math delimiters ($, $$, \\(, \\)) to ensure correct parsing and rendering of mathematical content in user messages.

frontend/src/utils/chat/plugins · high confidence

Improved accessibility and rendering for chat replies

The PromptReply component now provides better screen-reader support by announcing generation status and failure reasons using ARIA roles (status and alert) instead of relying solely on visual cues. Additionally, the component has been refactored to render assistant messages as sanitized, markdown-formatted HTML via a new RenderAssistantChatContent helper, replacing the previous plain-text display. The local Citations component was moved to a shared location, and the component no longer requires the 'workspace' or 'closed' props, simplifying its interface.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply · high confidence

Improved chat loading skeleton responsiveness and theme integration

The loading skeleton in the Workspace Chat now adapts to mobile viewports by widening the placeholder bars to better fit smaller screens, and it dynamically respects the application's light/dark theme colors instead of using hardcoded hex values.

frontend/src/components/WorkspaceChat/LoadingChat · high confidence

Improved workspace chat stability and file upload handling

The Workspace Chat component now prevents loader flashes when switching between workspaces or threads by maintaining the previous chat state until the new one is ready. It also introduces a new File Upload Warning Modal that alerts users when adding files would exceed the context window limit, offering options to cancel, continue anyway, or embed files (if permitted). Additionally, the component now supports automatic TTS playback for assistant responses and handles file drops even when no thread is currently selected by queuing them for upload once a thread is created or selected.

frontend/src/components/WorkspaceChat · high confidence

Improved workspace switching experience and authentication handling

The WorkspaceChat page now handles authentication via a password modal before rendering content, ensuring users are prompted for credentials when required. Workspace switching has been optimized to prevent UI flashing by maintaining the previous workspace's chat interface during data loading (Slack/Linear-style transition). Additionally, the component now fetches suggested messages and agent command availability per workspace, passing this context to the chat container, and tracks the last visited workspace in local storage.

frontend/src/pages/WorkspaceChat · high confidence

Introduce generic text fallback for unsupported file types

The file processing logic in the collector now attempts to treat files with unsupported extensions as plain text if they are detected as text content, rather than immediately rejecting them. This allows users to upload and process files like \Dockerfile\ or \Jenkinsfile\ (which may lack standard extensions or have unrecognized ones) by falling back to \.txt\ processing, while still trashing non-text files with unsupported extensions.

collector/processSingleFile · high confidence

Introduces per-request runtime settings for IP bypass and browser arguments

A new RuntimeSettings singleton class has been added to the collector utilities, enabling configuration of specific runtime behaviors on a per-request basis. This change introduces support for bypassing IP limitations via the \allowAnyIp\ setting and allows users to specify custom arguments for the Chromium process via \browserLaunchArgs\, which facilitates running the collector in containers without requiring SYS\_ADMIN privileges. These settings are parsed from the request body options and validated before being applied, ensuring that only defined configurations are accepted.

collector/utils/runtimeSettings · high confidence

Introduces token estimation for large inputs to prevent CPU issues

The tokenizer utility now uses a singleton TikTokenTokenizer instance backed by js-tiktoken to count tokens. For inputs estimated to exceed 10 KB, it switches to a fast character-based heuristic (dividing length by 8) instead of full encoding, ensuring that very large strings do not cause excessive CPU usage or encoding errors.

collector/utils/tokenizer · high confidence

New API key management interface with named keys and copy-to-clipboard

The API Keys settings page has been redesigned to allow users to assign custom names to new API keys during creation. The updated interface includes a modal for generating keys where users can input a name, and displays the generated secret with a one-click copy button that provides visual feedback. Existing keys are now listed in a table showing their name, key value, creator, and creation date, with the ability to remove keys directly from the list.

frontend/src/pages/GeneralSettings/ApiKeys · high confidence

New PDF processing pipeline with OCR fallback

The PDF conversion logic in the collector has been replaced with a new implementation that first attempts to extract text using a custom PDFLoader. If no text content is found, it automatically falls back to an OCRLoader to parse the document, ensuring that scanned or image-based PDFs are processed. The extracted content is then tokenized and written to server documents with metadata such as title, author, and description.

collector/processSingleFile/convert/asPDF · high confidence

New Workspace Settings layout with dedicated tabs

The Workspace Settings page has been restructured into a tabbed interface, replacing the previous single-page view. Users can now navigate between General Appearance, Chat Settings, Vector Database, Members, and Agent Configuration via a horizontal tab bar. The Members tab is now conditionally visible, appearing only for users with admin or manager roles, and the layout includes a back navigation link to the workspace chat.

frontend/src/pages/WorkspaceSettings · high confidence

New chat layout controls for text size and model selection

The chat interface now includes dedicated UI components for adjusting text size and selecting LLM models. A new TextSizeMenu component allows users to toggle between small, normal, and large text sizes, with the preference persisted in local storage and applied via a custom event; this menu is hidden on mobile devices. Additionally, a WorkspaceModelPicker component provides a button (visible on desktop and restricted to admins in multi-user modes) that opens a modal for selecting or configuring the workspace's LLM provider and model, including support for the model router. These changes implement the v2 chat layout designs and address cluttered menu issues on smaller screens.

frontend/src/components/WorkspaceChat/ChatContainer/WorkspaceModelPicker · high confidence

New generic URL scraper with flexible capture formats and custom headers

The link processing pipeline now uses a new \generic.js\ module to scrape web pages, allowing users to capture content as either Markdown (default) or raw HTML via the \captureAs\ configuration. This change introduces support for custom HTTP headers during scraping, enabling access to pages that require specific authentication or user-agent strings. It also includes a workaround for Chromium crashes on macOS 15+ development environments and ensures SSL errors are ignored to improve reliability for self-signed certificates.

collector/processLink/convert · high confidence

New home page layout with workspace-aware chat entry

The home page now initializes by detecting the last visited workspace or creating a default one, presenting a unified entry point for new chats. It supports drag-and-drop and paste events for file attachments even before a thread is created, automatically provisioning a workspace and thread if needed. The layout includes quick actions, suggested messages, and a prompt input, with conditional rendering for users without assigned workspaces.

frontend/src/pages/Main/Home · high confidence

New settings sidebar UI with chat history visibility control

The settings interface has been redesigned with a new sidebar component that adapts to mobile and desktop views, featuring updated navigation options, support email links, and app version display. A new \CanViewChatHistory\ wrapper component has been introduced to enforce system-level permissions, redirecting users who lack the 'view chat history' privilege to the home page, thereby ensuring that sensitive conversation data is only accessible to authorized users.

frontend/src/components/SettingsSidebar · high confidence

New sidebar thread management with bulk deletion and virtual threads

The sidebar's thread list in Active Workspaces has been restructured to support a new interaction model. Users can now perform bulk thread deletion by holding Ctrl or Meta while hovering over the list, which reveals a delete button for selected items. The UI also introduces a 'virtual' new thread entry that appears when no default chats exist, and handles thread renaming and forking via window events to keep the list synchronized with the current view.

frontend/src/components/Sidebar/ActiveWorkspaces/ThreadContainer · high confidence

New thread item component with visual hierarchy and accessibility improvements

The sidebar now uses a new ThreadItem component that visually connects threads to their workspaces using curved leader lines and distinct active/inactive states. It includes tooltips for thread names, proper ARIA labels for the options menu, and ensures the active thread scrolls into view instantly. Deleted threads are displayed with a specific style, and the component supports a control-click mode for bulk deletion actions.

frontend/src/components/Sidebar/ActiveWorkspaces/ThreadContainer/ThreadItem · high confidence

New workspace row component with deletion protection and member count display

The Admin Workspaces list now uses a dedicated WorkspaceRow component to display individual workspace entries. This component renders the workspace name, a direct link to the chat interface, and the count of associated users. It also displays the creation date in a human-readable format. Crucially, the delete action is now conditional: the delete button is hidden if the workspace is marked as deletion-protected, preventing accidental removal of protected workspaces.

frontend/src/pages/Admin/Workspaces/WorkspaceRow · high confidence

Production logging now uses Winston with stack trace support

The collector's logging mechanism has been updated to use the Winston library in production environments, replacing the default console output. This change ensures that error stack traces are included in log messages and that logs are formatted with service and origin metadata. In development, the system continues to use the standard console for logging.

collector/utils/logger · high confidence

Redesigned Main layout with authentication gating and mobile support

The Main page now integrates a password authentication flow, displaying a full-screen loader while checking for auth requirements and rendering a password modal if access is restricted. The visual design has shifted to a dark zinc/slate theme, and the layout now conditionally renders a mobile-specific sidebar header on smaller screens instead of the standard sidebar, while replacing the default chat container with the new Home component.

frontend/src/pages/Main · high confidence

Redesigned document picker with drag-and-drop, selection, and folder management

The document picker in the Manage Workspace modal has been rebuilt to support a more robust file management experience. Users can now drag and drop files directly onto specific folders to upload them while preserving relative paths, and use a new context menu to select or clear all files at once. The interface includes a dedicated modal for creating new folders, visual indicators for file selection states (including partial folder selection), and a 'Load more' pagination system for folders with many documents. Additionally, a utility has been added to strip UUIDs and .json extensions from filenames to improve search relevance.

frontend/src/components/Modals/ManageWorkspace/Documents/Directory · high confidence

Redesigned invite acceptance flow with standardized modal UI

The invite page now uses a standardized Modal component to present a new account creation form, replacing the previous dialog implementation. This update introduces stricter username validation constraints (min/max length and pattern) and enforces a minimum 8-character password requirement. The flow validates the invite code upfront, displaying a clear error for invalid codes, and handles the account creation and authentication token storage within the modal context.

frontend/src/pages/Invite · high confidence

Redesigned onboarding home screen with theme-aware branding

The onboarding home step now features a completely new visual design that adapts to the user's light or dark mode preference. The screen displays a dedicated wordmark logo and a large, gradient-filled abstract graphic that changes colors based on the active theme, replacing the previous static appearance. A prominent "Get Started" button remains to guide users to the next step, but the overall aesthetic is now fully responsive to system or manual theme settings.

frontend/src/pages/OnboardingFlow/Steps/Home · high confidence

Redesigned sources sidebar with mobile citation modal

The Sources sidebar in the chat interface has been updated to follow new layout designs, introducing a dedicated mobile experience via a new \MobileCitationModal\ component that displays source lists and detailed citation views in a modal overlay on small screens. On desktop, the sidebar now uses a refined \SourceItem\ component to display source titles, icons, and reference counts, while clicking a source opens a \CitationDetailModal\ to show the specific text chunks and similarity scores. This change improves the visual consistency and usability of source citations across different device sizes.

frontend/src/components/WorkspaceChat/ChatContainer/SourcesSidebar · high confidence

Redesigned workspace management modal with tabbed interface

The workspace management modal has been completely rewritten to feature a modern, tabbed layout that separates 'Documents' and 'Data Connectors' settings. This new implementation includes a dedicated component for selecting data connectors, supports light/dark mode theming, and integrates an escape-key handler for closing the modal. It also introduces a mobile-only restriction, displaying a dismiss message on small screens while providing full functionality on desktop.

frontend/src/components/Modals/ManageWorkspace · high confidence

Refactor workspace creation modal to use shared UI components and router navigation

The NewWorkspace modal has been rewritten to use the shared Modal component library (Modal, ModalHeader, ModalBody, ModalFooter) and i18n translations, replacing the previous inline Tailwind styling. Additionally, creating a workspace now navigates directly to the new workspace's chat page via the React Router instead of performing a full page reload, and it dispatches an event to refresh the sidebar list.

frontend/src/components/Modals · high confidence

Refactored chat history rendering with new message action and output components

The chat history view has been refactored to support a more modular message structure. A new MessageActionsContext centralizes edit and delete event handling to improve performance, while new components like FileDownloadCard, ImageGenerationCard, and ScheduledJobCreatedCard allow the UI to render specific assistant outputs (files, images, scheduled jobs) directly within the chat stream. The main ChatHistory component now uses a compiled message builder to group related items (like status responses and tool calls) and supports features like message editing, thread forking, and auto-scrolling.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory · high confidence

Removal of legacy document conversion scripts

The individual conversion modules for DOCX, ODT, Markdown, PDF, and plain text files have been removed from the collector's watch/convert directory. This eliminates the previous per-file-type processing logic (using libraries like Docx2txtLoader, UnstructuredODTLoader, PyPDFLoader, and UnstructuredMarkdownLoader) in favor of the new Document Processor v2 architecture.

collector/scripts/watch/convert · high confidence

Replaced flaky external YouTube transcript library with in-house loader

The YouTube transcript collection capability now uses a custom, in-house implementation of the YouTubeLoader class instead of the external \youtube-transcript\ dependency. This change improves reliability by removing the dependency on a fragile third-party library, allowing the system to directly fetch and parse transcript segments and video metadata using internal logic and the \youtubei.js\ library. Users will experience more stable transcript extraction for YouTube videos, particularly in scenarios where the previous library failed or required frequent updates.

collector/utils/extensions/YoutubeTranscript/YoutubeLoader · high confidence

Restructured Interface settings page layout

The Interface settings page has been reorganized into a dedicated subpage that presents a new layout with a sidebar and distinct sections for Theme and Language preferences, replacing the previous super-page structure.

frontend/src/pages/GeneralSettings/Settings/Interface · medium confidence

Scheduled job creation now requires tool discovery and user approval

The create-scheduled-job plugin now enforces a two-step workflow: agents must first call the tool with \listTools: true\ to discover valid, configured tool IDs before creating a job, preventing errors from guessing IDs. Additionally, creating a new scheduled job now triggers a user approval request, giving users the ability to confirm or reject the new automation. The plugin also filters the tool catalog to only show tools that are fully configured, hiding those that still require setup credentials.

server/utils/agents/aibitat/plugins/create-scheduled-job · high confidence

The sidebar has been redesigned to support a collapsible state via a toggle button, replacing the previous static layout. A new search box has been added to allow users to quickly find workspaces and threads. The component now uses Phosphor icons instead of React Feather, and the previous LLM status and index count indicators have been removed. Additionally, a new mobile-optimized sidebar header with an overlay has been introduced to improve usability on smaller screens.

frontend/src/components/Sidebar · high confidence

Standardized selection item components for LLM, Embedder, and VectorDB

The LLM, Embedder, and VectorDB selection interfaces now use dedicated, consistent UI components (LLMItem, EmbedderItem, VectorDBItem) that display a provider logo, name, and description. These components support a unified visual style with hover effects and theme-aware background colors, and they handle selection state via a hidden checkbox to ensure accessible, clickable interaction areas for users choosing their model, embedding, or vector database providers.

frontend/src/components/EmbeddingSelection/EmbedderItem, frontend/src/components/LLMSelection/LLMItem, frontend/src/components/VectorDBSelection/VectorDBItem · high confidence

Strict URL validation and private IP blocking in the URL collector utility

The \collector/utils/url\ module now enforces strict validation for URLs processed by the collector, allowing only HTTP and HTTPS protocols and blocking requests to private or internal IP addresses (such as 192.168.x.x, 10.x.x.x, 172.16-31.x.x, and 127.x.x.x) to prevent accidental access to local services. This protection can be bypassed by setting the \COLLECTOR\_ALLOW\_ANY\_IP\ environment variable. Additionally, the module introduces a new utility to validate and extract video IDs from YouTube URLs, supporting various formats including shorts, live streams, and embeds.

collector/utils/url · high confidence

Unified TTS button with provider-specific playback strategies

The TTS button component in the chat history has been refactored to support multiple text-to-speech providers. It now dynamically selects the appropriate playback implementation based on the configured provider: cloud services (OpenAI, ElevenLabs, Kokoro) use an asynchronous audio-streaming approach, the local Piper engine uses a streaming chunk-based player with abort handling to prevent audio leakage between threads, and unsupported browsers fall back to the native Web Speech API. This ensures consistent UI behavior while leveraging the best available audio engine for the user's settings.

frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/Actions/TTSButton · high confidence

Unified embedding provider selection in General Settings

The EmbeddingPreference page now presents a consolidated list of supported embedding providers, allowing users to select and configure their preferred engine from a single interface. The available options include AnythingLLM (native), OpenAI, Azure OpenAI, Gemini, Local AI, Ollama, LM Studio, Lemonade, OpenRouter, LiteLLM, Cohere, Voyage AI, Mistral AI, and Generic OpenAI. Each provider is accompanied by its specific configuration options and a warning modal is triggered if the user attempts to switch engines while embeddings already exist, ensuring data integrity during migration.

frontend/src/pages/GeneralSettings/EmbeddingPreference · high confidence

Updated embedded chat widget with new styles and React 18 runtime

The embedded chat widget has been updated to include a new minified CSS file (\anythingllm-chat-widget.min.css\) featuring Tailwind-based utility classes and a new \fadeIn\ animation for message suggestions, alongside a minified JavaScript bundle (\anythingllm-chat-widget.min.js\) that now bundles React 18.2.0 and its associated scheduler and DOM runtimes to power the widget's UI.

frontend/public/embed · high confidence

Web search selection UI now defaults to You.com

The WebSearchSelection component in the Admin Agents settings has been updated to set You.com as the default web search provider. The interface now initializes with 'you-search' selected by default, replacing the previous default configuration, while maintaining support for other providers like DuckDuckGo, Brave, and SerpApi.

frontend/src/pages/Admin/Agents/WebSearchSelection · high confidence

Fixes

Infer file extension from Content-Type for URLs without explicit extensions

The file download utility now automatically appends the correct file extension when a URL lacks one in its path but the server provides a Content-Type header (e.g., adding .pdf for application/pdf). This ensures files are saved with recognizable extensions even when the source URL does not include them, improving compatibility with downstream processing that relies on file extensions.

collector/utils/downloadURIToFile · high confidence

Preserve Unicode characters in imported skill names

The skill name formatting logic now correctly handles non-Latin scripts (such as CJK, Cyrillic, and Arabic) by using a Unicode-aware word separator pattern. Previously, names containing these characters were stripped to empty strings; now they are preserved and properly formatted with sentence casing, ensuring that imported skills with international names display correctly in the Admin Agents interface.

frontend/src/pages/Admin/Agents/Imported · high confidence

Test coverage

Added server-side type checking and test coverage for mobile and document sync logic; Added test coverage for Gitea, GitHub, and GitLab repository loaders; Added tests for Confluence URL resolution and page loading; Added tests for FFMPEGWrapper utility; Added tests for OCRLoader image processing; Added tests for Paperless-ngx resync handler; Added tests for URI download file extension inference; Added tests for URL validation and YouTube video detection; Added tests for WebsiteDepth link extraction scoping; Added tests for XML control character stripping in file creation; Added tests for link processing and HTML-to-markdown conversion; Added unit tests for processRawText input validation and metadata handling.

Dependencies

Introduce Open Computer CLI and modular service dependencies

The project now includes a new \@open-computer/cli\ package for cross-platform VM management and splits the application into modular services (\interface-service\, \memory-manager\) with their own dependency manifests. The CLI relies on \commander\ and \esbuild\, while the services adopt \express\ version 5.1.0 and update related utilities like \http-proxy-middleware\ and \node-html-parser\. Additionally, the \collector\ component has migrated from Python (\requirements.txt\) to a Node.js environment (\package.json\), introducing dependencies such as \langchain\, \openai\, and \sharp\ for document processing.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 31 → 37 (+6.1)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 38 → 40 (+2.6)
  • Architecture 58 → 63 (+5.1)
  • Maturity 60 → 57 (-3.4)
  • Readiness 15 → 27 (+11.7)
  • Security 48 → 66 (+17.6)
  • Accessibility 43 (new)

Resolved (189)

  • (anonymous) (cognitive 16) (server/utils/boot/MetaGenerator.js)
  • (anonymous) (cognitive 17) (server/endpoints/telegram.js)
  • (anonymous) (cognitive 17) (server/jobs/cleanup-generated-files.js)
  • (anonymous) (cognitive 24) (server/endpoints/system.js)
  • (anonymous) (cognitive 25) (server/endpoints/admin.js)
  • (anonymous) (cognitive 25) (server/endpoints/utils/dockerModelRunnerUtils.js)
  • (anonymous) (cognitive 27) (server/utils/helpers/chat/responses.js)
  • (anonymous) (cognitive 36) (server/endpoints/utils/lemonadeUtilsEndpoints.js)
  • (anonymous) (cyclomatic 17) (server/endpoints/telegram.js)
  • (anonymous) (cyclomatic 17) (server/utils/boot/MetaGenerator.js)
  • (anonymous) (cyclomatic 19) (server/endpoints/system.js)
  • (anonymous) (cyclomatic 19) (server/endpoints/utils/lemonadeUtilsEndpoints.js)
  • (anonymous) (cyclomatic 21) (server/utils/helpers/chat/responses.js)
  • (anonymous) (cyclomatic 40) (server/endpoints/admin.js)
  • Boundary-crossing change coupling: constants.js ↔ ai-provider.js (frontend/src/components/ProviderPrivacy/constants.js)
  • Boundary-crossing change coupling: constants.js ↔ index.js (frontend/src/components/ProviderPrivacy/constants.js)
  • Boundary-crossing change coupling: constants.js ↔ index.js (frontend/src/components/ProviderPrivacy/constants.js)
  • Boundary-crossing change coupling: constants.js ↔ index.js (frontend/src/components/ProviderPrivacy/constants.js)
  • Boundary-crossing change coupling: constants.js ↔ updateENV.js (frontend/src/components/ProviderPrivacy/constants.js)
  • Boundary-crossing change coupling: index.jsx ↔ index.js (frontend/src/pages/OnboardingFlow/Steps/DataHandling/index.jsx)
  • …and 169 more

New (1064)

  • #fetchConfg (cognitive 24) (server/utils/boot/MetaGenerator.js)
  • #fetchConfg (cyclomatic 19) (server/utils/boot/MetaGenerator.js)
  • #normalize (cognitive 19) (server/utils/AiProviders/foundry/catalog.js)
  • #normalize (cyclomatic 16) (server/utils/AiProviders/foundry/catalog.js)
  • (anonymous) (cognitive 16) (open-computer/services/memory-manager/public/app.js)
  • (anonymous)::walk (cognitive 36) (open-computer/services/interface-service/utils/browser-harvest.js)
  • (anonymous)::walk (cyclomatic 19) (open-computer/services/interface-service/utils/browser-harvest.js)
  • AIbitat.chat (cognitive 28) (server/utils/agents/aibitat/index.js)
  • AIbitat.chat (cyclomatic 19) (server/utils/agents/aibitat/index.js)
  • AIbitat.handleAsyncExecution (cognitive 22) (server/utils/agents/aibitat/index.js)
  • AIbitat.handleExecution (cognitive 21) (server/utils/agents/aibitat/index.js)
  • AIbitat.reply (cognitive 23) (server/utils/agents/aibitat/index.js)
  • AgentHandler.#attachPluginByName (cognitive 17) (server/utils/agents/index.js)
  • AgentHandler.checkSetup (cognitive 77) (server/utils/agents/index.js)
  • AgentHandler.checkSetup (cyclomatic 78) (server/utils/agents/index.js)
  • AnthropicProvider.#prepareMessages (cognitive 29) (server/utils/agents/aibitat/providers/anthropic.js)
  • AnthropicProvider.#prepareMessages (cyclomatic 21) (server/utils/agents/aibitat/providers/anthropic.js)
  • AnthropicProvider.stream (cyclomatic 22) (server/utils/agents/aibitat/providers/anthropic.js)
  • AstraDB.addDocumentToNamespace (cognitive 26) (server/utils/vectorDbProviders/astra/index.js)
  • AstraDB.addDocumentToNamespace (cyclomatic 17) (server/utils/vectorDbProviders/astra/index.js)
  • …and 1044 more

Changes since last survey

  • 149 commits — 78 feature/other, 71 fixes

By area

  • server/utils — 37 commits
  • frontend/src — 31 commits
  • server/tests — 14 commits
  • (root) — 12 commits
  • collector/tests — 12 commits
  • (repo) — 7 commits
  • server/endpoints — 6 commits
  • .github/workflows — 4 commits
  • collector/utils — 4 commits
  • cloud-deployments/helm — 3 commits
  • collector/processSingleFile — 3 commits
  • server/models — 3 commits
  • collector/extensions — 2 commits
  • collector/processLink — 2 commits
  • server/package.json — 2 commits
  • cloud-deployments/gcp — 1 commit
  • docker/HOW_TO_USE_DOCKER.md — 1 commit
  • docker/docker-healthcheck.sh — 1 commit
  • open-computer/README.md — 1 commit
  • open-computer/services — 1 commit

Notable commits

  • fix: Fix JSON body corruption when agent flow variables contain quotes (#6402)
  • fix: Fix agent backend crash from oversized tool reranker query (#6152)
  • fix: Fix generic openai thinking parsers (#6105)
  • fix: New AnythingLLM wordmark + fix logo theme resolution (#6138)
  • fix: fix 404 link, closes #6404
  • fix: fix path resolution double slash on fastCRW (#6324)
  • fix: fix warns
  • fix: fix(a11y): announce that a reply is generating, and that one failed (#6135)
  • fix: fix(collector): keep upload-link metadata when the link resolves to a file (#6277)
  • fix: fix(collector): read spreadsheet dates as dates, not serial numbers (#6478)
  • fix: fix(collector): treat a blank published value as absent, not as the epoch (#6275)
  • fix: fix(docker): check the port the server is actually listening on (#6159)
  • fix: fix(generic-openai): honor max tokens in Tooled/UnTooled agent streams (#6331)
  • fix: fix(i18n): correct six Italian UI translations (#6317)
  • fix: fix(i18n): correct zh-TW scheduled job labels (#6112)
  • fix: fix(localai): pass API key when fetching generated image URL (#6425)
  • fix: fix(mistral): batch embedding requests and declare the engine's limits (#6378)
  • fix: fix(xlsx): escape spreadsheet cells the way CSV requires (#6381)
  • fix: fix: OCR 1-bit scanned PDFs instead of dropping pages (#6128)
  • fix: fix: Only block explicit matches for built-in slash commands (#6243)
  • …and 129 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Mintplex-Labs/anything-llm was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 25 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 58ae6fee08e10e649ca13d0cfc55598d90422cf8 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-dd72cc24c749.