Commit Graph

54 Commits

Author SHA1 Message Date
kangfenmao
0b8ebd55df refactor(MCP): Simplify IPC handlers and improve server management 2025-03-11 13:52:36 +08:00
kangfenmao
3e7446ec2e refactor(MCPService): Rename MCP service file and implement comprehensive server management 2025-03-11 10:08:38 +08:00
suyao
bb5000c024 feat(Proxy): Implement proxy management system
- Add ProxyManager service to handle system, custom, and no proxy configurations
- Integrate proxy support for Gemini, Knowledge, and WebDav services
- Add fetch-socks and undici for advanced proxy handling
- Enhance proxy configuration with environment variable and session management
2025-03-11 09:56:40 +08:00
Vaayne
80fa674361 feat(MCPService): Implement IPC communication for server management and updates 2025-03-11 09:55:59 +08:00
kangfenmao
ad8ef81783 refactor: Extract file path utility functions
Move hardcoded file path generation logic to dedicated utility functions in file.ts, improving code modularity and reducing duplication across services and IPC handlers
2025-03-09 17:33:46 +08:00
LiuVaayne
eda82fa23e 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
2025-03-06 11:35:29 +08:00
kangfenmao
bdf883dcbf feat(app-update): Refactor update handling and add manual update dialog
- 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
2025-03-05 14:33:10 +08:00
kangfenmao
7a4be73dc0 revert: some proxy errors in main process (#2294) 2025-03-01 23:17:44 +08:00
SuYao
9d3ca4f1f0 fix: some proxy errors in main process (#2294)
* formatter proxy config type

* fix: some proxy errors in main process

* chore: Remove debug logging in ProxyManager
2025-02-27 16:46:05 +08:00
kangfenmao
f62caba4e9 feat: add aihubmix oauth 2025-02-07 22:27:28 +08:00
kangfenmao
e35af87035 feat: add file reading functionality and integrate system agents
- 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.
2025-01-22 14:35:38 +08:00
kangfenmao
6692f6035d feat: add a startup switch for quick assistant 2025-01-19 19:22:25 +08:00
kangfenmao
0f3c7aa648 feat: add mini window 2025-01-19 13:59:32 +08:00
Nanami
82266800e6 feat: add support for qwenlm and image upload (#726)
* feat: add support for qwenlm and image upload

* fix: qwenlm return

* feat: add provider config
2025-01-14 18:59:19 +08:00
kangfenmao
509566dc07 fix: @google/generative-ai local compilation issue #682
close #682
2025-01-07 23:18:18 +08:00
kangfenmao
b4da93da74 feat: add gemini files support 2025-01-07 16:49:11 +08:00
kangfenmao
3f44e1e4ac fix: the minimum width limit of the window is too large #544
close #544
2025-01-06 16:25:00 +08:00
kangfenmao
3e64fa2025 fix: knowledge bugs 2024-12-23 10:48:40 +08:00
kangfenmao
7cb381be40 feat: knowledge base 2024-12-19 09:24:20 +08:00
kangfenmao
7ecf3f093c style: update api key input field formatting and validation 2024-12-03 12:24:25 +08:00
kangfenmao
5a6d2652f0 refactor: shortcuts feature 2024-12-03 10:23:53 +08:00
kangfenmao
e47311afd2 feat: add shortcut feature 2024-12-02 18:03:38 +08:00
kangfenmao
f253ca4103 fix: update ipc handle to retrieve update information 2024-11-30 20:22:00 +08:00
kangfenmao
b007f8a437 fix: proxy 2024-11-25 15:57:16 +08:00
kangfenmao
4a37192961 feat: clear app cache 2024-11-25 11:16:24 +08:00
kangfenmao
0581c347f6 feat: improve proxy configuration handling 2024-11-23 14:21:08 +08:00
kangfenmao
518a3b26b6 feat: added data folder 2024-11-19 18:48:57 +08:00
kangfenmao
1bd190e986 feat: added proxy settings and handling functionality 2024-11-18 14:05:17 +08:00
injurka
bc479a999d feat: added settings for minimize to tray instead of closing 2024-11-11 23:49:18 +08:00
kangfenmao
b34de79ca3 feat: add the ability to display the application in tray #297 2024-11-09 08:42:09 +08:00
kangfenmao
a81960bd7b chore(version): 0.8.10 2024-11-07 23:06:42 +08:00
injurka
ddc39d1fd4 added locale for context-menu 2024-11-06 22:09:28 +08:00
kangfenmao
bddedb7759 refactor: main code 2024-11-02 23:32:59 +08:00
kangfenmao
2f05435ce6 feat: export to word 2024-11-02 21:45:23 +08:00
kangfenmao
3b08ee2720 feat: added file download functionality and improved api 2024-10-30 00:32:27 +08:00
kangfenmao
1cbe342940 feat: use real file path 2024-10-27 18:58:23 +08:00
kangfenmao
051d46bf5d fix: old version of the backup file cannot be restored. 2024-10-12 10:09:52 +08:00
kangfenmao
dde77d03e2 feat: add webdav settings component and backup user data files #69 2024-09-29 16:44:18 +08:00
kangfenmao
4bddbb04ce feat: backup all files
1. remove window.api.compress window.api.decompress
2024-09-27 22:35:22 +08:00
kangfenmao
31626bde46 feat: export topic message as image #103 2024-09-22 00:16:36 +08:00
kangfenmao
ca3150c6ed feat: Improved file management and added new features.
- Updated file manager to use FileManager class instead of File class.
- Improved file management functionality with features for finding duplicate files, file uploading, and storage management.
- Added styles to wrap and truncate text in a no-drag area.
- Added explicit file extensions to imageExts constant.
- Added the 'paste long text as file' input setting.
- Added image file display and UI improvements for file names and overflow.
- Improved file paste and long text handling functionality.
- awaited onSendMessage function call and added message to chat completion.
- Implemented new option to paste long text as file in the Settings page.
- Updated content display logic to include file origin name along with the file content for text files.
- Improved functionality for handling image and text file contents in the Gemini chat provider.
- Updated file content formatting logic for text files with origin name and content prefix.
- Added a new setting "pasteLongTextAsFile" and its corresponding action to the application settings.
2024-09-19 10:51:30 +08:00
kangfenmao
540f0126d8 feat: copy and paste files or images 2024-09-18 21:18:42 +08:00
kangfenmao
b9bb0c0f40 feat: add file attachment 2024-09-18 18:00:49 +08:00
kangfenmao
3e8a00f3a5 fix: backup and restore 2024-09-16 14:59:42 +08:00
kangfenmao
7eb56ef2d1 refactor: update file management to use filetype instead of filemetadata 2024-09-14 16:08:43 +08:00
kangfenmao
be6c2c14b7 refactor: remove sqlite3 use dexie 2024-09-14 15:25:56 +08:00
kangfenmao
62973d8fd2 refactor: use sequelize replace better-sqlite3 2024-09-13 13:26:22 +08:00
kangfenmao
0a6ba48122 fix: Corrected image mime type in IPC message.
- Corrected image mime type in IPC message.
2024-09-13 13:26:22 +08:00
kangfenmao
fa0cacda26 feat: Improved IPC image handling and added vision model support.
- 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.
2024-09-13 13:26:22 +08:00
kangfenmao
11ab80f87d feat: add attachment files 2024-09-13 13:26:22 +08:00