* feat: support Github Copilot
* feat: finish i18n translate
* fix: add safeStorage
* clean code
* chore: remove vision model
* ✨ feat: add Model Context Protocol (MCP) support (#2809)
* ✨ feat: add Model Context Protocol (MCP) server configuration (main)
- Added `@modelcontextprotocol/sdk` dependency for MCP integration.
- Introduced MCP server configuration UI in settings with add, edit, delete, and activation functionalities.
- Created `useMCPServers` hook to manage MCP server state and actions.
- Added i18n support for MCP settings with translation keys.
- Integrated MCP settings into the application's settings navigation and routing.
- Implemented Redux state management for MCP servers.
- Updated `yarn.lock` with new dependencies and their resolutions.
* 🌟 feat: implement mcp service and integrate with ipc handlers
- Added `MCPService` class to manage Model Context Protocol servers.
- Implemented various handlers in `ipc.ts` for managing MCP servers including listing, adding, updating, deleting, and activating/deactivating servers.
- Integrated MCP related types into existing type declarations for consistency across the application.
- Updated `preload` to expose new MCP related APIs to the renderer process.
- Enhanced `MCPSettings` component to interact directly with the new MCP service for adding, updating, deleting servers and setting their active states.
- Introduced selectors in the MCP Redux slice for fetching active and all servers from the store.
- Moved MCP types to a centralized location in `@renderer/types` for reuse across different parts of the application.
* feat: enhance MCPService initialization to prevent recursive calls and improve error handling
* feat: enhance MCP integration by adding MCPTool type and updating related methods
* feat: implement streaming support for tool calls in OpenAIProvider and enhance message processing
* fix: finish_reason undefined
* fix migrate
* feat: add rate limit and warning
* feat: add delete copilot token file
feat: add login message
feat: add default headers and change getCopilotToken algorithm
* fix
* feat: add rate limit
* chore: change apihost
* fix: remove duplicate apikey
* fix: change api host
* chore: add vertify first tooltip
---------
Co-authored-by: 亢奋猫 <kangfenmao@qq.com>
Co-authored-by: LiuVaayne <10231735+vaayne@users.noreply.github.com>
commit 97d251569690462763810270ad850ad6b0057ac9
Author: kangfenmao <kangfenmao@qq.com>
Date: Mon Mar 17 10:24:43 2025 +0800
feat: refactor IPC handlers for binary management and update localization strings
- Simplified IPC handlers for checking binary existence and retrieving binary paths by removing unnecessary await statements.
- Updated localization strings in English, Japanese, Russian, Simplified Chinese, and Traditional Chinese to change "Install Dependencies" to "Install".
- Removed the MCPSettings component, replacing it with a new InstallNpxUv component for better management of binary installations.
commit d0f6039c7659a0f4cc97555434999c731ea07f9f
Author: Vaayne <liu.vaayne@gmail.com>
Date: Sun Mar 16 23:52:18 2025 +0800
feat: enhance showAddModal to pre-fill form with server details
commit dde8253dc8bdffb482b9af19a07bc89886a19d3a
Author: Vaayne <liu.vaayne@gmail.com>
Date: Sun Mar 16 23:27:17 2025 +0800
feat: add binary management APIs and enhance MCP service for dependency installation
commit d8fda4b7b0e238097f1811850517bd56fe0de0df
Author: Vaayne <liu.vaayne@gmail.com>
Date: Sun Mar 16 21:57:34 2025 +0800
fix: improve error logging in MCPService and streamline tool call response handling in OpenAIProvider
commit e7af2085a66989d9be546701e4f5308e1008cb18
Author: Vaayne <liu.vaayne@gmail.com>
Date: Sun Mar 16 15:14:32 2025 +0800
fix: lint
commit 2ef7d16298a1270df26974158140015b8cbd91bc
Author: Vaayne <liu.vaayne@gmail.com>
Date: Sat Mar 15 21:11:26 2025 +0800
feat: implement uv binary installation script and integrate with MCP service
commit d318b4e5fc8b506e6d4b08490a9e7ceffe9add80
Author: Vaayne <liu.vaayne@gmail.com>
Date: Sat Mar 15 20:28:58 2025 +0800
feat: add uv binary installation script and enhance MCP service command handling
- Modified Inputbar to include a new resizeTextArea function for better text area management.
- Adjusted MessageGroup and MessageStream components to remove unnecessary props and streamline message handling.
- Enhanced message dispatching logic in the messages store for improved state management.
- Cleaned up unused imports and code in Message components to enhance readability and maintainability.
* ✨ feat: add Model Context Protocol (MCP) server configuration (main)
- Added `@modelcontextprotocol/sdk` dependency for MCP integration.
- Introduced MCP server configuration UI in settings with add, edit, delete, and activation functionalities.
- Created `useMCPServers` hook to manage MCP server state and actions.
- Added i18n support for MCP settings with translation keys.
- Integrated MCP settings into the application's settings navigation and routing.
- Implemented Redux state management for MCP servers.
- Updated `yarn.lock` with new dependencies and their resolutions.
* 🌟 feat: implement mcp service and integrate with ipc handlers
- Added `MCPService` class to manage Model Context Protocol servers.
- Implemented various handlers in `ipc.ts` for managing MCP servers including listing, adding, updating, deleting, and activating/deactivating servers.
- Integrated MCP related types into existing type declarations for consistency across the application.
- Updated `preload` to expose new MCP related APIs to the renderer process.
- Enhanced `MCPSettings` component to interact directly with the new MCP service for adding, updating, deleting servers and setting their active states.
- Introduced selectors in the MCP Redux slice for fetching active and all servers from the store.
- Moved MCP types to a centralized location in `@renderer/types` for reuse across different parts of the application.
* feat: enhance MCPService initialization to prevent recursive calls and improve error handling
* feat: enhance MCP integration by adding MCPTool type and updating related methods
* feat: implement streaming support for tool calls in OpenAIProvider and enhance message processing
- Modify AppUpdater to separate update dialog logic
- Add new IPC handler for manually showing update dialog
- Update renderer hooks and store to track downloaded update state
- Switch import for UpdateInfo from electron-updater to builder-util-runtime
* feat: knowledge base support more file types
* chore: add common document types
* feat: finish basic odloader
* feat: finish open document loader
* feat: support more type from dictionary
* fix: 删除目录时仍能检索到信息
* chore
- Introduced FileService to handle file reading operations via IPC.
- Implemented a new IPC handler for reading files, enhancing the application's ability to access and manage data.
- Integrated system agents from a JSON file, allowing dynamic loading of agent data into the application.
- Updated the AgentsPage and AddAssistantPopup components to utilize the new system agents, improving user experience and functionality.
- Enhanced application state management by adding resourcesPath to the runtime state, ensuring proper resource handling across components.
- Improved IPC image handling to return mime type and base64 encoded data alongside the image data.
- Updated type definition for `base64` method in image object to return an object with mime, base64, and data properties.
- Added support for vision models using new function and regex.
- Table cell size has been reduced on the FilesPage component.
- Added support for vision model attachments.
- Added model dependency to AttachmentButton component.
- Implemented new functionality to handle image messages in the GeminiProvider class.
- Update image base64 encoding to directly use API response data.
- Improved functionality for file management has been added.
- Added file system management functionality through IPC.
- Added functionality to interact with files including selection, upload, deletion, and batch operations.
- Added new file operations to the custom API, including file select, upload, delete, batch upload, and batch delete functions.
- Implemented feature to select and upload files via API.