* feat(WebSearch, RAG): support RAG for external websearch
* refactor(WebSearch): handle content limit in service
* refactor: update migrate
* refactor: UI, constants, types
* refactor: migrate contentLimit to cutoffLimit
* refactor: update default rag document count
* refactor: add a helper function for merging references
* refactor: reference filtering
* feat: feedback for websearch phases
* feat: support cutoff by token
* refactor: add a warning and fix the bound of cutoff limit
* fix: not pass `dimensions` if it is not set by the user
* refactor: update i18n and error message
* refactor: improve UI
* fix: cutoff unit style
* WIP
* feat: integrate Vertex AI support and enhance service account configuration
- Added Vertex AI service integration with authentication via service accounts.
- Implemented IPC channels for Vertex AI authentication and cache management.
- Updated UI components to support service account configuration, including private key and client email fields.
- Enhanced localization for Vertex AI settings in multiple languages.
- Refactored AiProvider to support dynamic provider creation for Vertex AI.
- Updated Redux store to manage Vertex AI settings and service account information.
* chore: remove debug script from package.json and clean up console log in main process
* fix: ensure async handling in useKnowledge hook for base parameters
- Updated the useKnowledge hook to await the result of getKnowledgeBaseParams when removing items, ensuring proper asynchronous behavior.
* fix: ensure async handling in KnowledgeQueue for base parameters
* fix(i18n): add English prompt placeholder to Russian localization
* chore(yarn): update yarn.lock and patch for @google/genai
* fix(AihubmixPage): update AI provider instantiation to use async create method
* refactor: update VertexAPIClient import and class definition
- Changed import statement for VertexAPIClient to use named import.
- Updated VertexProvider class to VertexAPIClient for consistency with naming conventions.
* refactor: update AiProvider instantiation across components
- Replaced the use of AiProvider.create() with the new AiProvider() constructor in AddKnowledgePopup, AihubmixPage, SiliconPage, and KnowledgeService for consistency and improved clarity.
* refactor: simplify getKnowledgeBaseParams and update API key checks
- Changed getKnowledgeBaseParams to a synchronous function for improved performance.
- Updated API key validation logic to remove unnecessary checks for 'vertexai' provider type across multiple functions.
* feat: add Cephalon provider configuration with API and website links
- Introduced a new provider configuration for Cephalon, including API URL and various website links for official resources, API key, documentation, and models.
* refactor: streamline API call in AddKnowledgePopup component
- Removed unnecessary await from the create API call in the AddKnowledgePopup component, improving code clarity and performance.
* refactor: remove unnecessary await from getKnowledgeBaseParams call
- Simplified the searchKnowledgeBase function by removing the await from getKnowledgeBaseParams, enhancing performance and code clarity.
* refactor: remove externalLiveBindings option from Rollup output configuration in electron.vite.config.ts
- Added @cherrystudio/pdf-to-img-napi dependency to package.json and yarn.lock for enhanced PDF processing.
- Updated pdfjs-dist to version 4.10.38 for improved PDF rendering capabilities.
- Modified MacSysOcrProvider to utilize the new pdf-to-img-napi module for OCR processing of PDF files.
- Removed unnecessary Windows build steps from the release workflow to streamline the process.
- Eliminated the canvas and pdfjs-dist dependencies from package.json and yarn.lock.
- Removed the image cropping functionality from BaseOcrProvider, simplifying the OCR process in MacSysOcrProvider.
- Updated the NSIS configuration in electron-builder.yml to reflect these changes.
- Updated the resolution and checksum for the app-builder-lib patch in yarn.lock.
- Modified installAppDependencies method to accept excludeReBuildModules parameter.
- Adjusted platformPackager to pass excludeReBuildModules during dependency installation.
- Updated yarn.js to correctly reference excludeReBuildModules from options.
- Updated the resolution and checksum for the app-builder-lib patch in yarn.lock.
- Modified macPackager.js and updateInfoBuilder.js to correctly reference LSMinimumSystemVersion.
- Enhanced ArchiveTarget.js and NsisTarget.js to include minimumSystemVersion in updateInfo if specified.
* chore: update jsdom dependency to patch version 26.1.0
- Changed jsdom version from ^26.0.0 to a patched version 26.1.0 in package.json and yarn.lock.
- Applied a specific patch to address issues with the jsdom package.
* chore: update package.json dependencies
- Removed outdated dependencies and added new ones to improve project functionality.
- Updated versions for several packages, including @strongtz/win32-arm64-msvc, os-proxy-config, and selection-hook.
- Reorganized dependencies and devDependencies for better clarity and maintenance.
* chore: update package dependencies and remove jsdom patch
- Replaced @cherrystudio/embedjs-libsql with @libsql/client and added @libsql/win32-x64-msvc and jsdom as new dependencies.
- Updated turndown version and removed the jsdom patch from the project.
- Ensured consistency in dependency versions across package.json and yarn.lock.
* feat: add plain text copy functionality for messages and topics.
* refactor: move minapp settings to minapp page
* fix: add success message after copying topic and message as text
* fix: refactor test imports and add mocks for translation and window.message
---------
Co-authored-by: Guscccc <Augustus.Li@outlook.com>
Co-authored-by: kangfenmao <kangfenmao@qq.com>
Co-authored-by: 自由的世界人 <3196812536@qq.com>
* chore: update OpenAI package to version 5.1.0 and adjust related patches
- Updated OpenAI dependency from version 4.96.0 to 5.1.0 in package.json and yarn.lock.
- Removed obsolete patch for OpenAI 4.96.0 and added new patch for OpenAI 5.1.0.
- Adjusted types for image handling in OpenAIResponseProvider to use Uploadable instead of FileLike.
- Minor code refactoring for better clarity and maintainability.
* refactor(OpenAIResponseProvider): remove logging for image generation process
* feat: add filter mode and list functionality to selection assistant
- Introduced new filter mode options (default, whitelist, blacklist) for the selection assistant.
- Added methods to set and get filter mode and filter list in ConfigManager.
- Enhanced SelectionService to manage filter mode and list, affecting text selection processing.
- Updated UI components to allow users to configure filter settings.
- Localized new filter settings in multiple languages.
* feat: support Shift+Click & enhance Ctrl key method
* fix: remove comments
- Replaced the existing TikToken implementation with a placeholder error message indicating it is not implemented.
- Removed the js-tiktoken dependency from package.json to streamline the project.
- Updated yarn.lock to reflect changes in dependencies and checksums.
- Updated the @google/genai dependency in package.json and yarn.lock to version 1.0.1.
- Removed the GeminiService and its related references from the codebase to streamline functionality.
- Introduced a new CacheService for managing cached data effectively.
* chore: update package dependencies and refactor BackupManager to use fs.promises
- Removed unused dependencies: fetch-socks and fs-extra from package.json and yarn.lock.
- Updated BackupManager to utilize fs.promises for file system operations, improving consistency and modernizing the codebase.
- Ensured all file operations in BackupManager are handled with promises for better error handling and readability.
* chore: add fs-extra dependency and refactor BackupManager for improved file handling
- Added fs-extra to package.json and updated yarn.lock to enhance file system operations.
- Refactored BackupManager to utilize fs-extra methods for better readability and functionality, replacing fs.promises with fs-extra equivalents for directory and file operations.
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>