* feat(QuickPanel): enhance close action options and improve input handling
- Added 'enter_empty' as a new close action option for QuickPanel.
- Refactored input handling to include a delay before clearing search text after panel closure.
- Updated keyboard event handling to prevent default actions for specific keys.
- Improved styling for selected and focused states in QuickPanel components.
- Enhanced AttachmentPreview to utilize a separate FileNameRender component for better readability and functionality.
* feat(AttachmentPreview): enhance file icon rendering and styling
* feat(CustomTag): add closable functionality and improve styling
- Enhanced CustomTag component to support closable tags with an onClose callback.
- Updated styling for better visual integration and added hover effects for the close icon.
- Refactored usage of CustomTag in AttachmentPreview, KnowledgeBaseInput, and MentionModelsInput components for consistency.
* feat(SelectModelPopup, QuickPanel): update tag component and enhance search functionality
* feat(Inputbar, SettingsTab): add enable quick panel triggers setting and update translations
* feat(QuickPanel): integrate color library for dynamic styling and update package dependencies
* fix: 解决聊天页面图片复制失败的问题和点击编辑回复的时候,不显示图片url的问题
* fix: 解决chat模式,gemini-2.0-flash-exp-image-generation返回base64图片,无法复制的问题
* fix(MessageImage): Update the image copying feature to process base64 and URL formatted images based on their type
---------
Co-authored-by: magicdmer <magicdmer@163.com>
Co-authored-by: eeee0717 <chentao020717Work@outlook.com>
* feat: implement tool usage handling and system prompt building for AI providers
* refactor: streamline tool usage handling and remove unused code in OpenAIProvider and formats
* refactor: simplify tool usage handling in Anthropic and Gemini providers, and update prompt instructions
* refactor: remove unused function calling model checks and simplify MCP tools handling in Inputbar
* hidden tool use in message
* revert import
* Add idx parameter to parseAndCallTools for unique tool IDs
- Improved icon size handling in the ModelTagsWithLabel component for better visual consistency.
- Adjusted the layout of the tags to prevent wrapping and added horizontal scrolling for better usability.
- Updated the EditModelsPopup to increase its width for improved content display.
- Removed unnecessary CustomTag usage in ModelList for cleaner code.
* feat(websearch): add overwrite functionality for search service
- Introduced new settings to allow users to override the default search service.
- Updated localization files for English, Japanese, Russian, Simplified Chinese, and Traditional Chinese to include new overwrite options and tooltips.
- Modified relevant components and services to support the new overwrite feature in the web search settings.
* feat(websearch): enhance web search model integration
* chore(websearch): unnecessary return
- Added `bodered` property to the dangbei miniapp configuration.
- Refactored migration logic to utilize a new `addMiniApp` function for cleaner code.
- Incremented store version from 91 to 92 for migration compatibility.
- Added `activeKey` prop to `CustomCollapse` for better control over active panels.
- Updated styles in `CustomCollapse` for improved visual consistency.
- Refactored `KnowledgeContent` to include expand/collapse functionality for file and directory sections, enhancing user experience.
- Added translations for "collapse" in multiple languages.
- Minor style adjustments across various components for better UI consistency.
* chore(version): 1.1.19
* style(ProviderSettings): Refactor ProviderSettings UI
* style(CustomTag, ModelTagsWithLabel): enhance layout and styling for better UI consistency
* refactor(CustomTag, ModelTagsWithLabel, MentionModelsButton): update props handling and improve component usage
* feat(CustomTag, ModelTagsWithLabel): add tooltip support and improve label visibility based on container size
* fix(ModelTagsWithLabel): adjust maxWidth for non-Chinese languages to improve layout
* style(ModelList): add text overflow handling for list item names
* feat(ModelList): enhance group label with item count using CustomTag
* feat(FileItem): add style prop for customizable background color in FileItem component
* style(index.scss): update border color variables for improved UI consistency
* style(EditModelsPopup): update background color for model items to enhance visual distinction
* style(HealthCheckPopup): update button size for improved usability
* feat(CustomCollapse): add collapsible prop to customize collapse behavior
* chore: remove hover models color
---------
Co-authored-by: kangfenmao <kangfenmao@qq.com>
Co-authored-by: eeee0717 <chentao020717Work@outlook.com>
fix(NpxSearch): update search result mapping to use record name as key and handle optional search results
Co-authored-by: lizhixuan <zhixuan.li@banosuperapp.com>
- Implemented functionality to automatically register MCP servers when the '@cherry/mcp-auto-install' tool is called.
- Utilized nanoid for unique server ID generation and dispatched the new server to the Redux store.
- Updated error handling in FileSystemServer to throw errors instead of exiting the process.
- Enhanced MCPService to use a more flexible server name check and updated the path for MCP_REGISTRY_PATH.
- Refined Inputbar to conditionally set enabled MCPs only if they are not empty.
- Cleaned up MCPToolsButton and MCPSettings by removing unused imports and effects.
- Updated NpxSearch to include a new npm scope and improved search result handling.
- Enhanced builtin MCP server descriptions for better clarity.
BREAKING CHANGE: 🧨 SyntaxError: The requested module
'/@fs/Users/bary/code/tools/cherry-studio/node_modules/.vite/deps/lru-cache.js?v=9139ab94'
does not provide an export named 'LRUCache' (at
CodeCacheService.ts:2:10)
* bugfix: ensure memory path exists on initialization and remove unused everything mcp server
* refactor(factory): remove unused EverythingServer import and case
* fix(CodeCacheService): update import statement for LRUCache to default import
Error: src/renderer/src/services/CodeCacheService.ts(2,10): error TS2595: 'LRUCache' can only be imported by using a default import.
- Updated libsql patch reference in package.json.
- Added sindresorhus/is package to yarn.lock with version 7.0.1.
- Removed duplicate sindresorhus/is entry from yarn.lock.
- Refactored AttachmentButton to use useMemo for extensions calculation.
- Simplified citation extraction in Markdown by moving logic to a new utility function.
- Updated TopicsTab dependencies for better performance and reactivity.
* feat(UI, OpenAI): support OpenAI 4o web search add support for web search citations
- refactor: Introduced a new CitationsList component to display citations in MessageContent.
- feat: Enhanced message handling to support web search results and annotations from OpenAI.
- refactor: Removed the deprecated MessageSearchResults component for cleaner code structure.
- refactor: Added utility functions for link conversion and URL extraction from Markdown.
* chore: remove debug logging from ProxyManager
* revert(OpenAIProvider): streamline reasoning check for stream output handling
* chore(OpenAIProvider): correct placement of webSearch in response object
* fix(patches): update OpenAI package version and remove patch references
- Integrated dayjs for dynamic date formatting in prompts.ts.
* feat(Citation, Favicon): enhance OpenAI web search support and citation handling
- Improved FallbackFavicon component to cache failed favicon URLs.
- Support all web search citation preview
- Added support for Hunyuan search model in OpenAIProvider and ApiService.
* refactor(provider/AI): move additional search parameters to AI Provider
* refactor(settings): Add export menu setting & optimize data settings page
* feat: add dynamic export menu options from Redux state in MessageMenubar and TopicsTab
* feat(export): Add export to markdown with reasoning method
* feat(export): optimize reasoning style
* feat(export): Add export to markdown with reasoning to export menu
* feat(i18n): Update i18n for new export options
---------
Co-authored-by: 亢奋猫 <kangfenmao@qq.com>