Commit Graph

3846 Commits

Author SHA1 Message Date
qianlifeng d488d98eec
feat(script_plugin): Add script plugin support
- Introduced a new runtime type for script plugins in `runtime.go`.
- Created script plugin templates for JavaScript, Python, and Bash in the resource directory.
- Implemented functionality to create script plugins in `wpm.go`, including handling of template files.
- Added a new `ScriptHost` to manage script plugin execution and communication via JSON-RPC.
- Enhanced the `Location` utility to manage directories for user script plugins and templates.
- Updated resource extraction to include script plugin templates.
- Implemented JSON-RPC handling in script templates for query and action methods.
2025-05-25 14:42:02 +08:00
qianlifeng a6b014823d
feat(chat): enhance AI chat resource management and UI updates
* Added `ReloadChatResources` method to manage chat resources dynamically.
* Updated `AIChatPlugin` to call `ReloadChatResources` for agents and tools.
* Modified `WoxSettingController` to trigger resource reload on AI provider updates.
* Improved UI layout in `WoxSettingPluginTable` for better responsiveness.
* Cleaned up unused imports and optimized existing methods for better performance.
2025-05-23 16:20:30 +08:00
qianlifeng 04d9a4ed83
feat(chat): update AI chat plugin settings and UI components
* Adjusted the width of the AI chat icon from 60 to 45.
* Updated the type for tools in the metadata from `AIMCPServerTools` to `AISelectMCPServerTools`.
* Modified the plugin setting table to handle new image types and improved tooltip display for tools.
* Enhanced the plugin setting view to reset the active tab index on update.
2025-05-23 13:29:34 +08:00
qianlifeng a68c21b842 [Bot] Update plugin store manifests 2025-05-22 22:51:18 +08:00
qianlifeng eb930ac53c
feat(plugin-installer): enhance plugin installation process
* Added support for checking if a plugin is already installed.
* Implemented version comparison to determine action title and button text.
* Updated notification messages for installation actions.
* Added new translation keys for plugin installation actions in multiple languages.
2025-05-22 21:59:51 +08:00
qianlifeng a3bad11da7
feat(ui): update flutter dependencies
- Added file_picker plugin to GeneratedPluginRegistrant.swift and Podfile.lock.
- Updated pubspec.yaml to include the latest version of syncfusion_flutter_pdfviewer.
- Updated various dependencies in pubspec.lock to their latest versions.
2025-05-22 20:40:48 +08:00
qianlifeng a9ea5d12d8
refactor(setting): Enhance actioned result tracking with raw query
* Updated `AddActionedResult` method to include `query` parameter for better context.
* Modified `ActionedResult` struct to store the raw query text when an action is performed.
* Improved scoring logic in `calculateResultScore` to consider historical queries for more accurate results.
2025-05-18 23:09:57 +08:00
qianlifeng e9e663fd26
fix(chat): Optimize the display time of toolcall in chat plugin
* Introduced a new component `WoxChatToolcallDuration` to automatically update and display the duration of tool calls.
* The component updates every 100ms when the end timestamp is null, enhancing user experience by providing real-time feedback.
* Refactored `WoxAIChatView` to utilize the new duration component, improving code clarity and maintainability.
2025-05-18 22:25:17 +08:00
qianlifeng 243b38ef96
refactor(ai): Support multiple tool calls in one conversation [WIP]
* Changed `ChatStreamData` structure to use `Status` instead of `Type`.
* Improved handling of tool call statuses during streaming.
* Refactored related functions to ensure consistent status updates across the application.
* Enhanced logging for better debugging and tracking of AI interactions.
2025-05-17 23:55:25 +08:00
qianlifeng df9f4e342b
refactor(ai): Fix the issue of tools not working in chat
* Updated the property name in `WoxAIChatData` for consistency.
* Adjusted related references in `WoxAIChatController` to reflect the new naming.
* This change improves clarity regarding the purpose of the tools in the AI chat context.
2025-05-16 23:17:39 +08:00
qianlifeng 5ccd96557d
fix(query-box): Fix the issue where the input box defaults to selecting text when it gains focus and then cancels the selection.
* Removed unnecessary `selectAll` parameter from `focusQueryBox` method.
* Updated calls to `focusQueryBox` throughout the application for consistency.
* Added `extended_text_field` dependency for enhanced text input capabilities.
2025-05-16 16:36:18 +08:00
qianlifeng 199f06d802
refactor(markdown): improve markdown rendering in WoxAIChatView and WoxPreviewView
- Replaced `flutter_markdown` with `markdown_widget` for improved markdown rendering.
- Created a new `WoxMarkdownView` component to encapsulate markdown rendering logic and styling.
- Updated dependencies in `pubspec.yaml` and `pubspec.lock` to reflect the change in markdown package.
- Enhanced color utility functions in `colors.dart` to support darker and lighter color variants.
2025-05-16 15:17:15 +08:00
qianlifeng 7954732173 fix(searcher): correct file name retrieval in search results
* Updated the `Name` field in `SearchResult` to use `filepath.Base(path)` for accurate file name extraction.
* This change ensures that the correct base name of the file is returned in search results.
2025-05-14 20:54:37 +08:00
qianlifeng 0de641ab13
feat(update): enhance DMG installation process with detailed logging
- Improved the update script for macOS to handle DMG installations more robustly.
- Added comprehensive logging to track the update process, including waiting for the application to exit and verifying the existence of the DMG file.
- Implemented checks for running processes to ensure the application is not active during the update.
- Enhanced error handling and user feedback throughout the update process.
2025-05-14 15:02:52 +08:00
qianlifeng 065592309a
feat(ui): add auto focus feature for chat input on query execution
* Introduced `AutoFocusToChatInput` flag in `ShowContext` to manage focus behavior.
* Updated `ShowApp` method to handle the new focus logic based on query type.
* Enhanced `WoxLauncherController` to set focus state when launching chat queries.
* Modified `WoxPreviewView` to focus on chat input after UI build if required.
2025-05-11 20:30:04 +08:00
qianlifeng 988366d62b feat(ui): enhance window management and query box interaction
* Added `asyncExecuteOnWindows` method to handle keyboard state issues on Windows.
* Refactored `WoxLauncherView` to simplify widget structure.
* Integrated `WoxBorderDragMoveArea` for improved drag-and-drop functionality.
* Removed unnecessary delays in window hiding logic to streamline user experience.
2025-05-10 23:40:31 +08:00
qianlifeng 67667ab8ef
feat(instructions): add comprehensive project and coding standards documentation
* Removed outdated coding standards and guides.
* Added new documentation for project structure, Flutter UI development, Python plugin development, and Go code standards.
* Updated commit message instructions to follow Conventional Commits format.
2025-05-10 22:13:53 +08:00
qianlifeng 1d02557b91 refactor(ui): #4198 fix focus issues on windows
- Removed unnecessary delays for window focus and hide operations on Windows, simplifying the code.
- Ensured consistent behavior across platforms by directly invoking focus and hide methods without conditional delays.
- Improved code readability and maintainability by eliminating commented-out code and redundant checks.
2025-05-10 11:51:21 +08:00
qianlifeng 72e35e03d0
feat(preview): add html preview type support
- Updated the doctor plugin to support HTML previews for version checks and update notes, improving the user experience with styled error and success messages.
- Added new localization strings for update error messages in English, Portuguese, Russian, and Chinese.
- Integrated the flutter_inappwebview package to render HTML content within the app, enhancing the display of update information.
2025-04-28 23:37:12 +08:00
qianlifeng 46baef9599
feat(toolbar): Refactor toolbar visibility logic
- Replaced the shouldShowDoctorCheckInfo method with a computed property isShowDoctorCheckInfo for better readability.
- Updated toolbar visibility conditions in WoxLauncherView and WoxQueryToolbarView to enhance user experience.
- Adjusted padding and background color of the toolbar based on the presence of results for a more seamless UI integration.
2025-04-28 21:18:12 +08:00
qianlifeng ef226b89a1
feat(doctor): Add DoctorCheckResult model and integrate into EntityFactory for JSON parsing
- Introduced DoctorCheckResult and DoctorCheckInfo models to handle doctor check results.
- Updated EntityFactory to support parsing of DoctorCheckResult from JSON.
- Removed unused translation method from EntityFactory to streamline code.
2025-04-28 14:11:32 +08:00
qianlifeng 6a2ce850cf
feat(doctor): enhance doctor check functionality with previews and update notes 2025-04-27 23:35:35 +08:00
qianlifeng 4b56c61e58
feat(updater): add download URLs and checksums for version 2.0.0-beta.2 2025-04-27 22:14:31 +08:00
qianlifeng d551717d82
feat(chat): improve ai chat agent
- Implemented new AI chat features including message copying, response regeneration, and message editing.
- Added localization strings for Portuguese, Russian, and Chinese languages to support new AI chat features.
- Introduced a new API endpoint to retrieve the default AI model.
- Enhanced the Wox API to include a method for fetching the default AI model.
- Updated the UI components to support image uploads and emoji selection for agents.
- Improved the agent selection process with a cancel option and default model usage.
- Refactored the AI chat controller to manage agent states and user interactions more effectively.
- Added inline action buttons for chat messages to facilitate user actions like copying and regenerating responses.
2025-04-25 15:06:07 +08:00
qianlifeng e2e55ea5d5
feat(ui): update app width settings for improved user experience #4197 2025-04-25 10:51:54 +08:00
qianlifeng 345e65bdbf
refactor(ai): improve ai agent functionality
- Removed outdated rules and guidelines from the .cursor/rules directory.
- Added comprehensive coding standards for Go, Python, and Flutter, including naming conventions, error handling, and logging practices.
- Updated the Wox project structure documentation to reflect the current organization of core components, plugins, and frontend interfaces.
- Enhanced the Python plugin development guide with standards for type annotations, async programming, and API usage examples.
- Improved the Flutter UI development guide to include directory structure and UI development principles.
- Renamed and refactored agent and model handling in the AI chat system for clarity and consistency.
- Updated internationalization strings across multiple language files to support new features.
2025-04-24 21:40:59 +08:00
qianlifeng 82f7049a52
feat(ai): Add AI agent management and selection functionality [WIP]
- Introduced AIAgent struct to represent AI agents with properties like Id, Name, Prompt, Model, and Tools.
- Updated AIChatData to include Tools and AgentId for better agent integration.
- Implemented agent loading and management in AIChatPlugin, including settings UI for configuring agents.
- Enhanced chat functionality to support agent selection via mentions in chat input.
- Added new API endpoints for fetching agents and integrated them into the Flutter UI.
- Updated localization files to support new agent-related strings in English, Portuguese, Russian, and Chinese.
2025-04-24 15:35:51 +08:00
qianlifeng a4971c8c8f
feat(updater): implement auto-update feature [WIP]
- Added functionality to enable automatic update checks and downloads in the settings.
- Introduced a background task to periodically check for updates if enabled.
- Enhanced the updater logic to handle update status and error reporting.
- Updated UI to include options for enabling auto-update with corresponding tooltips.
- Refactored doctor checks to utilize the new update status handling.
2025-04-22 21:25:52 +08:00
qianlifeng 75e439ec63
feat(ui): add about page
- Changed version to 2.0.0-beta.2 in updater.json.
- Added download URLs and checksums for Mac (Arm64 and Amd64) and Windows in the version manifest.
- Enhanced the updater logic to handle new download URLs based on architecture.
- Introduced a new endpoint to retrieve the current version in the API.
- Updated UI to display version information in the settings view.
2025-04-22 09:08:05 +08:00
qianlifeng 36919e964f
feat(ai): add auto-focus setting for chat input when opened with query hotkey 2025-04-22 00:17:19 +08:00
qianlifeng 4d76847751 refactor(data): improve user data directory handling #4192
- Updated ChangeUserDataDirectory method to copy only necessary directories (plugins, settings, themes) instead of the entire user data directory.
- Added checks to skip non-existent source directories to prevent errors during the copy process.
- Enhanced comments for clarity and to address potential recursive copying issues.
2025-04-21 22:52:49 +08:00
qianlifeng 8db08a30c4
refactor(ui): fix chat view color issues. close #4188
- Updated _buildMessageItem method to accept BuildContext for better theme integration.
- Refined color handling for user and tool messages to improve visual consistency.
- Replaced InkWell with GestureDetector for better performance.
- Removed unnecessary box shadows and adjusted background colors for a cleaner UI.
- Enhanced Markdown styling to utilize the current theme's text colors.
2025-04-21 21:05:46 +08:00
qianlifeng 215ed6107d
fix(ai): support mcp sse server type 2025-04-21 20:02:13 +08:00
qianlifeng 67c8afdcd0
fix(ui): handle null json for list types in generateOBJ method #4148 2025-04-21 20:01:22 +08:00
qianlifeng 80bdd70e58 fix(shell): update file opening method to use PowerShell for better compatibility fix #4186
- Changed the file opening command from using explorer.exe directly to utilizing PowerShell's Start-Process for improved argument handling.
- This modification enhances the reliability of opening files in their respective folders on Windows systems.
2025-04-19 21:27:43 +08:00
Weifeng Liu 9d80c2d848 feat(ui): Get screen size using gtk APIs on Linux
- In favor of gtk APIs for screen size query since this way considers DPI of the screen.
- Fall back to X11 APIs when failing to call gtk APIs.
2025-04-18 21:00:19 +08:00
qianlifeng 03a44e8759
feat(ui): enhance WoxSettingPluginTable and WoxSettingPluginView with tooltips and layout adjustments
- Added tooltips to header cells and operation columns in WoxSettingPluginTable for better user guidance.
- Improved layout in WoxSettingPluginView by adjusting content padding and using Flexible widgets for better text handling.
- Updated width settings in theme and plugin views for consistent UI presentation.
2025-04-18 11:15:11 +08:00
qianlifeng d3ae3dbd4c
docs(README): update link to screenshots directory 2025-04-18 10:13:54 +08:00
qianlifeng ecbe292ad8
docs(README): add more screenshots 2025-04-18 10:12:53 +08:00
qianlifeng 24dff69f65
feat(i18n): add AI chat related translations for multiple languages 2025-04-18 09:37:04 +08:00
qianlifeng 00f45ae9ad
feat(chat): add fallback search feature for chat plugin 2025-04-17 23:22:01 +08:00
qianlifeng 19242ac1dd [Bot] Update plugin store manifests 2025-04-17 23:03:46 +08:00
qianlifeng 34a744ff4b
feat(textbox): add maxLines property to PluginSettingValueTextBox and update related components 2025-04-17 21:03:07 +08:00
qianlifeng f71657d73f
refactor(ui): apply theme for setting window
- Added color utility functions to manage theme colors dynamically.
- Updated tooltip view to accept a color parameter for better customization.
- Enhanced various UI components to utilize the new color utility functions for consistent theming.
- Improved the styling of buttons, text, and other elements to align with the current theme.
- Refactored the WoxSettingDataView and WoxSettingPluginView to enhance readability and maintainability.
- Ensured that the application adheres to the theme settings across different views and components.
2025-04-17 20:12:46 +08:00
Sacha Duvivier 88f64ca381 Introducing dracula theme 2025-04-17 19:39:05 +08:00
Sacha Duvivier a82e3be056 fix(custom-commands): handle bad ID in plugin logic 2025-04-17 19:38:44 +08:00
Sacha Duvivier 071eacdef1 Introducting Custom Commands 2025-04-17 15:43:56 +08:00
qianlifeng 7f0962c1a7
feat(ai): Enhance tool call handling and logging in AI components 2025-04-17 15:05:00 +08:00
qianlifeng db87491e58 feat(window): Add delay for window hide
- Implemented a logging mechanism to capture messages from native code in WindowsWindowManager.
- Introduced a delay before hiding the window to prevent keyboard state inconsistencies.
- Enhanced FlutterWindow to log messages via the window manager channel.
2025-04-17 10:15:33 +08:00
qianlifeng 78e5ebfba0
fix(chat): Update chat summarization logic to count non-tool conversations 2025-04-16 20:05:05 +08:00