- Changed the build context and Dockerfile path for the frontend service in docker-compose.yml for better organization.
- Removed the knowledge base settings route from the router to streamline navigation and improve code clarity.
- Added build context and Dockerfile specification for the frontend service in docker-compose.yml.
- Refactored Dockerfile.app to ensure non-root user creation is idempotent and streamlined the ownership setup for application directories.
- Added APK_MIRROR_ARG to allow dynamic configuration of the Alpine package mirror.
- Updated the repository URL in the Dockerfile to use the specified APK mirror if provided.
- Enhanced runtime dependencies installation by including additional packages and updating pip before installing uvx.
- Added vue-i18n integration to various components for dynamic text translation.
- Updated text placeholders, button labels, and error messages to utilize translation functions.
- Enhanced user experience by providing localized content in the Knowledge Base, chat components, and settings.
- Removed hardcoded strings and replaced them with translation keys for better maintainability and scalability.
- Added optional chat model to KnowledgeSearchTool for enhanced reranking using LLM prompt scoring.
- Updated rerankResults method to prioritize LLM-based reranking over traditional rerank model.
- Implemented new functions for LLM scoring and parsing scores from responses, improving search result relevance.
- Enhanced migration script to handle database versioning and dirty state checks more robustly.
- Changed the upload action dropdown trigger from click to hover for improved user interaction.
- Removed the popup component and integrated dropdown directly for a cleaner implementation.
- Enhanced CSS styles for the dropdown menu to improve visual presentation and user experience.
- Refined CSS styles for the manual knowledge editor, enhancing layout and visual consistency.
- Improved button interactions and hover effects for better user experience in the toolbar.
- Enhanced answer event handling in AgentStreamDisplay to support copying answers and improved content retrieval logic.
- Updated logic to display the last thinking event when an answer is empty, ensuring relevant information is presented to users.
- Streamlined button functionalities for adding to knowledge base and copying answers, improving overall usability.
- Added a knowledge title display in the tooltip for improved context.
- Updated the rendering logic to escape HTML attributes for safety.
- Introduced a truncation function for document names to enhance readability.
- Adjusted CSS styles for better visual presentation and user experience.
- Improved animation timing for action pending states to create a smoother interaction.
- Introduced a new function to parse HTML tag attributes, improving the handling of web and knowledge base citations.
- Updated citation rendering logic to utilize the new attribute parsing function, ensuring more robust and flexible attribute extraction.
- Enhanced the regular expressions for web and knowledge base citations to support a broader range of attribute formats, improving overall rendering accuracy.
- Added functionality for manual knowledge entry, allowing users to create and edit Markdown content directly in the browser.
- Introduced new API endpoints for creating and updating manual knowledge entries.
- Enhanced UI components to support the new manual knowledge editor, including integration with existing knowledge base features.
- Updated knowledge retrieval logic to accommodate manual entries, ensuring seamless user experience across knowledge types.
- Improved agent configuration to support custom system prompts, enhancing flexibility in agent responses.
- Eliminated duplicate assignment of step.Duration in the executeLoop method to streamline duration tracking.
- Ensured accurate logging of round duration without affecting overall functionality.
- Added duration tracking for agent steps and tool calls, improving event data accuracy.
- Updated AgentStreamDisplay and ToolResultRenderer components to include fallback headers and improved output styling.
- Refactored duration handling in the agent engine and session management to ensure consistent duration reporting.
- Enhanced UI elements for better user experience, including scrollable output areas and improved tooltip visibility.
- Added support for stdio transport type in MCP service configuration, allowing command execution via standard input/output.
- Updated MCPService interface to include optional stdio_config and env_vars fields for managing command arguments and environment variables.
- Enhanced frontend components to handle stdio transport, including dynamic form fields for command and arguments.
- Implemented validation logic for stdio configuration in the service update process, ensuring proper handling of required fields.
- Updated backend logic to manage stdio transport connections and ensure proper client lifecycle management.
- Introduced a mechanism to track initialization state, preventing automatic saves during configuration loading.
- Added logic to store initial configuration for comparison, ensuring changes are detected before saving.
- Implemented a function to check for configuration changes, optimizing save operations.
- Updated the saveConfig function to avoid unnecessary saves when no changes are detected.
- Enhanced the loadTenantConfig function to handle default values and initialization more effectively.
- Enhanced the float close logic to double-check mouse position over citations and popups before closing, improving user experience.
- Adjusted the positioning and width of the float popup to minimize mouseout triggers when transitioning to the popup.
- Updated hover event handling to cancel pending close actions, ensuring tooltips remain visible during user interactions.
- Removed deprecated tooltip styles to streamline the component's styling and functionality.
- Added logic to load and manage web search configuration in the InputField component, ensuring proper handling of web search states.
- Implemented user notifications for unconfigured web search settings, guiding users to the appropriate settings page.
- Enhanced the AgentStreamDisplay component to improve tooltip content rendering for knowledge base citations.
- Updated event data structures to include total duration in milliseconds for better precision in agent completion events.
- Refactored citation handling to ensure inline citations are displayed correctly, improving user experience in content rendering.
- Introduced a new endpoint to fetch chunks by ID, improving access to specific knowledge base entries.
- Updated tool result types to include web search results, enhancing the display capabilities in the chat component.
- Enhanced the AgentStreamDisplay component to support rendering web search results with improved HTML formatting.
- Implemented logic for managing web search result summaries and citations, ensuring a cohesive user experience.
- Refactored session management to accommodate new web search functionalities, improving overall system integration.
- Updated AgentConfig to include web search settings, allowing for dynamic configuration of web search features.
- Refactored AgentService to accept SessionService, enabling better management of session-specific web search states.
- Implemented methods in SessionService for handling temporary knowledge base states related to web search.
- Enhanced PluginSearch to utilize SessionService for managing web search state, improving integration with the overall system.
- Updated container setup to ensure proper dependency injection for the new web search service and session management functionalities.
- Enabled single line break support in Markdown rendering by setting breaks option to true.
- Refactored image rendering logic to use a custom renderer, improving image URL validation and safety.
- Updated Markdown processing to utilize the new renderer and options for better content display.
- Ensured proper handling of line breaks in the rendered output for improved readability.
- Updated RegisterMCPTools and GetMCPToolsInfo functions to accept a context parameter, improving control over timeouts and cancellations.
- Implemented timeout handling for ListTools operations to prevent hanging during long-running requests.
- Enhanced GetFunctionDefinitions to include all MCP tools regardless of the allowed tools list, ensuring comprehensive tool access.
- Improved MCP service management by adding checks for service enabled state and critical configuration changes, ensuring robust client connection handling.
- Refactored session handling to utilize AgentModeEnabled for better session configuration management.
- Added DuckDuckGo as a new web search provider in the configuration.
- Removed deprecated web search providers (Baidu, Bing, Bocha, Exa, Google, Kuaisou, Searxng, Tavily, Zhipu) to streamline the codebase.
- Enhanced knowledge base management by introducing temporary knowledge base handling in the session service.
- Updated the web search service to support RAG-based compression for improved search result processing.
- Refactored session and knowledge service interfaces to accommodate new functionalities.
- Updated tenant web search and agent configuration endpoints to utilize a KV-style API for better flexibility.
- Enhanced the tenant handler to support generic key-value operations for retrieving and updating configurations.
- Improved frontend API calls to align with the new KV API structure, ensuring consistent data handling.
- Removed deprecated direct configuration endpoints for a cleaner and more maintainable codebase.
- Introduced web search configuration in config.yaml, allowing multiple providers with specific settings.
- Updated InputField component to manage agent mode and web search toggles, improving user interaction.
- Enhanced chat API to include web search status in requests, enabling dynamic query handling.
- Implemented backend support for web search integration, merging results with knowledge base queries.
- Added tenant-level web search configuration management, allowing customization per tenant.
- Introduced a new PlaceholderDefinition interface to manage available placeholders for system prompts.
- Enhanced AgentSettings.vue to allow users to configure system prompts with dynamic placeholders, improving user experience.
- Updated the AgentConfig structure to include a system prompt field, enabling custom prompt templates.
- Modified backend components to support the new system prompt template, ensuring compatibility with existing configurations.
- Implemented logic for rendering placeholders in the system prompt, allowing for dynamic content generation based on user input.
- Introduced new MCP services functionality, including management routes and integration with the agent service.
- Updated Docker Compose configuration to include a new SQL migration for MCP services.
- Enhanced Makefile with new migration commands for versioning and creating migrations.
- Improved chat component to handle selected MCP services in message processing.
- Updated migration documentation to reflect new strategies and added MCP services migration files.
- Added Swiper library to package dependencies for improved UI components.
- Updated chat API to include summary model ID in message handling, allowing for more flexible model selection.
- Enhanced InputField component to manage model selection and state more effectively.
- Improved event handling in chat components to support new model features and ensure accurate message processing.
- Refactored SVG assets for better visual consistency and updated styles for improved user experience.
- Updated chat component to reset loading and reply states when switching sessions, improving user experience.
- Modified event handling to support agent completion events, ensuring accurate message state updates.
- Enhanced message reconstruction logic to handle completed messages and empty content scenarios effectively.
- Improved loading state management during message streaming, preventing unnecessary loading indicators for existing messages.
- Implemented a new API endpoint to stop ongoing chat sessions, allowing users to cancel message generation.
- Enhanced InputField component to include a stop button, enabling users to halt the assistant's response generation.
- Updated chat view to manage the assistant message ID and loading state effectively during stop events.
- Improved event handling in the backend to support stop events, ensuring proper session management and user feedback.
- Removed the StreamEvent accumulation logic, transitioning to an append-only model for event streaming.
- Updated StreamManager interface to support appending events and retrieving events with offsets.
- Enhanced session handling to support real-time event emission through an EventBus, improving responsiveness.
- Refactored chat pipeline components to utilize the new event-driven architecture, ensuring seamless integration of agent responses and knowledge references.
- Improved frontend components to handle the new event structure, ensuring accurate rendering of agent interactions and responses.
- Moved knowledge base initialization logic to the onMounted lifecycle hook for better organization.
- Simplified the loading of knowledge base information and message lists based on route changes.
- Enhanced the watch function to conditionally refresh the message list only when necessary, reducing unnecessary re-renders.
- Improved event handling for closing dropdown menus to enhance user experience.
- Introduced a new method to handle navigation to agent settings, improving code organization and reusability.
- Updated tooltip content in the agent mode button to include a link for quick access to agent settings.
- Enhanced error handling in the KnowledgeBase component to provide actionable links for VLM configuration errors.
- Added initial section handling in the KnowledgeBaseEditorModal for improved user experience during knowledge base editing.
- Added 'logs/' and '*.pid' to .gitignore to exclude log files and process ID files from version control.
- Expanded Makefile with new development commands for easier local environment management, including 'dev-start', 'dev-stop', 'dev-restart', 'dev-logs', 'dev-status', 'dev-app', and 'dev-frontend'.
- Updated README_CN.md to include instructions for the new development mode and commands for improved developer experience.
- Updated chat message sending logic to conditionally validate knowledge base IDs based on agent mode status.
- Improved endpoint selection for chat requests, allowing for dynamic routing between agent and knowledge chat.
- Introduced a new method to select the appropriate chat model ID, prioritizing remote models for enhanced flexibility.
- Changed JSON column types for agent and context configurations in session and tenant types to jsonb for better performance.
- Removed validation for empty knowledge_base_ids in useStream, allowing backend to manage this case.
- Adjusted routing in KnowledgeBase.vue to decouple session creation from knowledge base ID.
- Updated getCurrentKbId function to simplify knowledge base ID retrieval from the route.
- Enhanced comments for clarity regarding knowledge base handling in chat components.
- Updated submenu item styles in menu.vue for better alignment and consistency.
- Removed unnecessary loading state resets in chat/index.vue to improve user experience during data processing.
- Enhanced comments for clarity regarding loading state management in chat events.
- Replaced the dialog component with a custom modal layout for better user experience.
- Enhanced form structure with custom styles and validation for required fields.
- Updated model source selection and added dynamic placeholders based on model type.
- Improved API validation logic for model saving in both ModelEditorDialog and ModelSettings.
- Refactored styles for better alignment and responsiveness across components.
- Enhanced dropdown positioning logic to intelligently determine whether to display above or below the trigger element based on available space.
- Updated styles for the dropdown and list components to ensure proper alignment and responsiveness.
- Added event handling for wheel events to prevent unintended scrolling and improve user experience.
- Implemented maximum height constraints for the dropdown to enhance usability on smaller screens.
- Replaced emoji icons with tdesign icons in KnowledgeBaseEditorModal for consistency.
- Updated button in KnowledgeBaseList to include an icon and improved layout.
- Adjusted styles for navigation items and buttons for better alignment and visual appeal.
- Added new sections for TenantInfo and ApiInfo in Settings.vue to enhance settings organization.
- Upgraded tdesign-vue-next to version 1.17.2 for improved features and performance.
- Replaced emoji icons with corresponding tdesign icons in UserMenu and Settings components for consistency.
- Adjusted styles in the nav-icon class for better alignment and visual appeal.
- Introduced new menu items for accessing API documentation, the official website, and GitHub repository.
- Implemented corresponding methods to open these links in a new tab.
- Removed the previous API documentation card from TenantInfo.vue to streamline the UI.
- Added logout API call in both menu and user menu components.
- Enhanced error handling for logout process to ensure local state is cleared even if API fails.
- Updated styles for submenu items for better UI consistency.
- Updated agentChat API to accept optional knowledge_base_ids and agent_enabled parameters.
- Introduced getSession API to retrieve session details.
- Modified useStream to validate knowledge_base_ids for agent-chat requests and prepare POST body accordingly.
- Enhanced createKnowledgeBase API to include additional configuration options.
- Refactored chat routing to remove knowledge base ID from the chat path, allowing for dynamic knowledge base selection.
- Improved session management by preventing duplicate session entries in the menu store.
- Updated UI components for better session handling and display.
- Added context management for agent conversations to improve state persistence across sessions.
- Removed theme initialization and management from the UI store.
- Cleaned up CSS styles across multiple components, replacing CSS variables with fixed color values for consistency.
- Updated background colors and text colors to enhance UI clarity and responsiveness.
- Streamlined component styles to improve maintainability and readability.
- Added theme initialization and management in the UI store.
- Enhanced dark mode styles for various components, including tables, dialogs, and inputs.
- Updated multiple components to use CSS variables for consistent theming.
- Introduced a new simplified API for updating knowledge base configurations.
- Improved overall UI consistency and responsiveness with new styles.