- Enhanced tool call information management in OpenAIBaseProvider and API implementation.
- Updated AIChatPlugin to streamline tool call status updates and conversation handling.
- Improved WoxAIChatView to conditionally render tool call badges and manage chat responses effectively.
- Refactored duration calculation in ToolCallInfo to account for various tool call statuses.
- Introduced a tool call start timestamp map for better tracking of tool call durations.
- On Linux, launch prevailing locate command to search for files.
- The maximum number of results is currently limited to 256 which should be reasonable for GUI use case.
- Simplified the updateActiveIndexByDirection method to improve clarity in logging and functionality.
- Refactored active index updates in WoxLauncherController to enhance consistency in item selection logic.
- Improved debug logging messages for better traceability during active index updates.
- Changed background color handling for tool calls to match the AI assistant's background.
- Simplified border radius for chat message containers to enhance visual consistency.
- Refactored tool call badge to improve layout and display of tool call information.
- Updated avatar rendering logic to differentiate user and tool roles more clearly.
- Enhanced padding and margin for better spacing in UI elements, improving overall readability.
- Introduced OpenAIBaseProviderOptions to allow custom headers for API requests.
- Updated NewOpenAIBaseProvider to support options, enhancing flexibility in provider configuration.
- Improved tool call handling in convertConversations method for better integration with OpenAI responses.
- Refactored AIChatPlugin to streamline chat data management and update logic, ensuring consistent state handling.
- Removed deprecated WoxPreview and WoxPreviewChatConversation classes, consolidating functionality into WoxAIChatConversation.
- Introduced WoxAIChatData structure to manage chat conversations and tool call information effectively.
- Enhanced WoxAIChatView to better display tool call statuses and integrate new UI elements for improved user interaction.
- Updated WoxAIChatController to manage tool call states and improve message handling.
- Refactored related components for consistency and maintainability across the AI chat interface.
- Updated ChatStream interface to return structured ChatStreamData, enhancing clarity in message handling.
- Improved logging and error handling for AI chat streams, ensuring robust communication with the AI provider.
- Refactored OpenAIBaseProvider to streamline tool call processing and status management.
- Enhanced WoxAIChatPlugin to support recursive chat calls for tool execution, improving user interaction flow.
- Updated UI components to better display tool call information and manage conversation states effectively.
- Added detailed logging for tool calls in MCPListTools and OpenAIBaseProvider.
- Updated ChatStream interface to include message type.
- Implemented tool call handling in OpenAIBaseProvider, including status tracking and response management.
- Enhanced WoxAIChatView to visually differentiate tool calls and display their status.
- Introduced ToolCallInfo structure to encapsulate tool call details.
- Updated WoxAIChatController to manage tool call expansion states.
- Improved JSON serialization/deserialization for tool call information.
- Added UI elements to display tool call details and statuses in the chat interface.
- Refactored the ChatStream method in OpenAIBaseProvider to conditionally handle tools, improving flexibility in chat interactions.
- Updated WoxAIChatController to utilize Rx types for aiChatData, enhancing state management and reactivity.
- Simplified processAIThinking function to streamline thinking tag extraction and content separation.
- Improved WoxAIChatView and related components to ensure consistent data handling and UI updates.
- Refactored WoxListController to support Rx types for item management, enhancing performance and maintainability.
- Simplified keyboard navigation in WoxListView by consolidating updateActiveIndexByDirection calls.
- Removed unnecessary initialization of chat select items in WoxAIChatController, enhancing clarity.
- Updated filtering logic in WoxListController to include parent groups for matched items, improving search results.
- Introduced WoxListItemTail class to replace WoxQueryResultTail, enhancing item representation and organization.
- Refactored WoxQueryResult to utilize the new WoxListItemTail structure, promoting consistency across the application.
- Added WoxAIChatController to manage AI chat interactions, including model selection and tool configuration.
- Refactored WoxAIChatView to utilize GetX for state management, improving responsiveness and code organization.
- Implemented chat select panel for dynamic model and tool selection, enhancing user experience.
- Updated WoxPreviewView to initialize chat data from WoxAIChatController, ensuring consistent data handling.
- Improved overall architecture by consolidating chat-related logic within the new controller, promoting maintainability.
- Renamed WoxPreviewChatData to WoxAIChatData for clarity in AI chat context.
- Updated method signatures in WoxLauncherController and WoxApi to reflect the new data class name.
- Refactored WoxListView to enhance focus handling and keyboard navigation for filter input.
- Removed deprecated WoxPreviewChatView component, streamlining the chat interface.
- Improved overall code organization and maintainability by consolidating chat-related functionalities.
- Updated WoxListView to support generic item types, enhancing flexibility in item management.
- Refactored WoxLauncherController to streamline action execution and improve interaction handling.
- Introduced traceId parameter for action callbacks, allowing better tracking of user interactions.
- Enhanced filtering capabilities in WoxListController with fuzzy matching support for improved search functionality.
- Removed deprecated action handling methods and improved overall code organization for maintainability.
- Introduced WoxLauncherController and WoxListController to manage launcher and list functionalities, enhancing separation of concerns.
- Updated WoxSettingController to streamline settings management and improve user experience.
- Refactored theme handling in various components to utilize WoxThemeUtil for consistent theming across the application.
- Removed deprecated module imports and improved code organization for better maintainability.
- Enhanced WoxListItem to support generic data types, allowing for more flexible item management.
- Added maxHeight property to WoxListView for better height management.
- Refactored WoxThemeUtil to include methods for retrieving maximum result counts and heights, improving dynamic layout capabilities.
- Updated WoxQueryResultView to utilize new maxHeight property, ensuring consistent UI behavior across different views.
- Improved overall code organization and readability by streamlining height calculations and theme management.
- Updated WoxListItemView to accept a WoxTheme parameter, allowing for dynamic theming based on the current theme.
- Refactored WoxListView to include a filter box for improved item searching, utilizing fuzzy matching for better user experience.
- Removed direct references to WoxTheme in WoxListItem, simplifying the model and enhancing separation of concerns.
- Improved event handling for item interactions, including double-tap and keyboard shortcuts for executing actions.
- Enhanced the overall structure and readability of the code, promoting better maintainability and organization.
- Refactored WoxListItemView to accept a WoxListItem object, simplifying the widget's properties.
- Removed Rx types for title, subtitle, and icon, replacing them with direct properties from WoxListItem.
- Enhanced background color and padding logic based on the list view type.
- Updated WoxQueryResultView to utilize WoxListView for rendering results, improving code organization and readability.
- Introduced a new WoxListViewTypeEnum for chat view type, expanding the list view capabilities.
- Introduced a new field `SelectedTools` in `AIChatData` to hold the list of selected tools for the chat session.
- Updated the `Chat` method in `AIChatPlugin` to filter tools based on the selected tools from the chat data.
- Enhanced the Flutter UI to include a chat select panel for selecting models and configuring tools, allowing users to filter and select tools dynamically.
- Modified `WoxPreviewChatData` to include `selectedTools` for serialization and deserialization.
- Removed unnecessary tool usage toggle and integrated tool selection directly into the chat interface.
- Implement GetAllTools method in AIChater interface to fetch all available MCP tools.
- Update AIChatPlugin to provide the implementation for retrieving tools.
- Introduce new API endpoint "/ai/mcp/tools/all" to handle requests for all MCP tools.
- Enhance WoxApi with a method to call the new endpoint, improving tool management capabilities.
- Introduce SiliconFlowProvider to the AI provider factory, enabling integration with the SiliconFlow API.
- Implement default host configuration for the provider to streamline setup.
- Add GetIcon method to maintain consistency with other AI providers.
- Introduce a unified provider factory system for easier management of AI providers.
- Update AI provider interfaces to include GetIcon method for better UI representation.
- Refactor existing providers (OpenAI, Google, Groq, Ollama) to inherit from a common base provider, streamlining code and enhancing maintainability.
- Implement new API endpoints for fetching available AI providers and their tools.
- Update UI components to support dynamic tool selection and management within the chat interface.
- Modify conversation roles to include Assistant and Tool for improved clarity in AI interactions.
- Introduce parameters and callback functions for MCP tools, allowing for dynamic tool execution within the AI chat framework.
- Update MCPTool struct to include parameters and a callback function for handling tool calls.
- Refactor GroqProvider to support tool callbacks and integrate tool responses into chat conversations.
- Modify AIChatPlugin to manage MCP tools as a slice, improving tool handling and interaction within the chat system.
- Refactor MCP client handling to cache clients and tools for improved performance.
- Introduce a disabled state for MCP server configurations, allowing for better control over active servers.
- Update language resources to include translations for the new disabled state and tool descriptions.
- Modify UI components to reflect the disabled state of MCP servers in the settings view.
- Introduce a new section in the README to outline Linux dependencies, specifically for keybinder.
- Provide installation instructions and a link to the keybinder repository for user convenience.
- Update AIChatPlugin to manage MCP server tools, enhancing the chat functionality.
- Introduce new types and methods for handling MCP tools, including AIMCPTool and related API endpoints.
- Remove deprecated chat plugin code to streamline the system and improve maintainability.
- Update go.mod and go.sum for new dependencies and versioning.
- Refactor chat settings to accommodate new tool management features.
- Add a new setting for selecting a default AI model in the AIChatPlugin, enhancing user customization options.
- Update language resources to include translations for the new default model setting and its tooltip in English, Portuguese, Russian, and Chinese.
- Refactor the AIChatPlugin to utilize the selected default model for chat interactions, improving the overall user experience.
- Correct the naming convention for AI model settings to ensure consistency across the codebase.
- Refactor listTool method in AIChatMCPServerConfig to return a slice of common.Tool and handle errors appropriately.
- Introduce mcpToolsMap in AIChatPlugin to store tools associated with MCP servers for better management.
- Update Init and reloadMCPServers methods to populate mcpToolsMap with tools from MCP servers.
- Add Keys method to HashMap for retrieving keys, facilitating tool management in AIChatPlugin.
- Implement convertTools method to transform common.Tool into llms.Tool with JSON schema definitions.
- Enhance ChatStream method to utilize the new tools parameter for improved AI interaction capabilities.
- Update imports to include jsonschema for tool definition management.
- Update AI chat stream methods to include options for enhanced customization.
- Introduce new ChatOptions struct to manage tools and settings for AI interactions.
- Add MCP server configuration options in language resources for better user guidance.
- Remove deprecated AI chat plugin code to streamline the system.
- Ensure all AI providers are updated to handle the new options parameter in chat stream methods.
- Update WoxLauncherView to display WoxQueryToolbarView only when there are results, improving UI responsiveness and clarity.
- This change enhances the user experience by preventing unnecessary display of the toolbar when no results are available.
- Introduce EverythingNotRunningError to handle cases when the Everything application is not running.
- Update searcher interfaces for Linux, macOS, and Windows to return errors, improving error management.
- Implement user notifications and logging for search errors in the file plugin.
- Add new translations for error messages in English, Portuguese, Russian, and Chinese.
- Refactor resource extraction to include additional files in the 'others' directory.
- Remove conditional rendering of WoxQueryToolbarView in WoxLauncherView for consistent display.
- Update WoxQueryResultView to directly return WoxPreviewView with snapshot data, improving clarity and performance.
- Clean up clipboard copy text handling in WoxQueryToolbarView for better state management.
- Update logging statements in various components to use debug level instead of info for size and paint logs, reducing log verbosity.
- Adjust WoxPreviewChatView and WoxQueryBoxView to improve logging clarity and maintainability.
- Ensure consistent logging practices across the application for better debugging and performance monitoring.
- Initialize results as an empty slice in handleAIModels for clarity.
- Refactor WoxPreviewChatView to utilize Obx for reactive updates, enhancing model selection and chat data display.
- Introduce reloadAIModels method in WoxLauncherController to streamline AI model fetching and ensure UI reflects the latest data.
- Update WoxSettingController to trigger model reload when AIProviders setting is updated, improving responsiveness to configuration changes.
- Introduce UpdateableResult type to facilitate direct updates of chat results without polling.
- Enhance AIChatPlugin to utilize resultChatIdMap for managing chat result IDs, improving title updates.
- Refactor WoxPreviewChatView to support dynamic updates of chat messages and titles based on user interactions.
- Update WoxLauncherController to handle result updates and ensure UI reflects the latest chat data.
- Move selection query handling from RegisterSelectionHotkey to a new QuerySelection method for improved code organization and readability.
- Update hotkey registration to call the new QuerySelection method, maintaining existing functionality.
- Enhance command processing to trigger selection query when the "select" command is received.
- Update the import statement in wox_setting_view.dart to use the correct casing for wox_setting_ui_view.dart, ensuring proper file reference and preventing potential runtime errors.
- Implement support for double hotkeys, allowing users to trigger actions with double presses of modifier keys.
- Refactor hotkey parsing and management to utilize a new HotkeyX class, enhancing clarity and functionality.
- Update WoxHotkey and related components to accommodate the new double hotkey logic, improving user experience.
- Adjust UI components to reflect changes in hotkey handling, ensuring consistent behavior across the application.
- Replace ListView.builder with Scrollbar and SingleChildScrollView for improved message display in WoxPreviewChatView.
- Enhance user experience by allowing smoother scrolling and better visibility of chat messages.
- Maintain padding and message item rendering within a Column for consistent layout.
- Refactor focus handling in WoxLauncherController to streamline focus requests for the query box, ensuring text selection behavior is consistent.
- Introduce hover state management in WoxListItemView, allowing for visual feedback when items are hovered over, improving user interaction.
- Update WoxQueryResultView to utilize the new hover state and focus methods, enhancing the overall user experience in the query results display.
- Introduce a new setting for maximum results to display in the list, allowing users to configure values between 5-15 items.
- Update language files for English, Portuguese, Russian, and Chinese to include translations for the new max result count setting and tips.
- Refactor WoxSetting and related components to support the new configuration, enhancing user experience and flexibility in result display.
- Change the AIChatData reference in the preview.go file for clarity.
- Enhance the Chat method in AIChatPlugin to provide clearer comments and streamline conversation handling.
- Simplify JSON marshaling for chat previews, improving code readability and maintainability.
- Update WoxLauncherController to set action type when focusing on chat input, enhancing user experience.
- Add functionality to summarize chats at specific conversation intervals, improving user experience by providing concise titles.
- Introduce a "Summarize Chat" action in the chat interface, allowing users to trigger summarization directly.
- Refactor AI model loading to utilize caching for improved performance in the chat view.
- Update UI components to reflect dynamic action titles based on the current context, enhancing clarity and usability.
- Introduce model selection functionality in WoxPreviewChatView, allowing users to select AI models through an action panel.
- Refactor model selection logic to improve state management and UI responsiveness.
- Implement hotkey support for triggering model selection, enhancing user experience and accessibility.
- Update WoxResultAction to include an onExecute callback for better action handling in the launcher controller.
- Implement focus change handling in WoxPreviewChatView to update the toolbar based on input focus state.
- Introduce updateToolbarByChat method in WoxLauncherController to configure the toolbar for chat interactions.
- Refactor query handling to ensure proper toolbar updates when switching between chat and other actions.
- Introduce a new feature for configuring the result preview width ratio, allowing plugins to specify a width ratio for better UI layout.
- Update debounce feature parameter naming for consistency, changing `intervalMs` to `IntervalMs`.
- Implement API endpoint to retrieve the result preview width ratio based on user queries.
- Refactor related components to support the new width ratio feature in both backend and Flutter UI.
- Enhance error handling for feature parameters to ensure robust functionality.
- Introduce new settings for adjusting the application window width, allowing users to set values between 800-1600 pixels.
- Update language files for English, Portuguese, Russian, and Chinese to include translations for the new UI width settings and tips.
- Refactor UI positioning functions to utilize the configurable window width for better layout management.
- Enhance the settings view to include a dedicated section for UI-related configurations.
- Introduce AIChatData structure to manage chat sessions, including conversations and metadata.
- Update UI components to support sending and receiving chat responses.
- Refactor chat handling in AIChatPlugin to streamline conversation management and improve user experience.
- Enhance WoxPreviewChatView to allow model selection and display chat messages effectively.
- Implement API endpoint for handling chat requests and responses, ensuring smooth integration with the UI.