- Introduced QuickPhraseSettings component for managing quick phrases with add, edit, and delete functionality.
- Added PreprocessSettings component to configure document preprocessing options, including provider selection.
- Updated SettingsPage to include links to the new Quick Phrase and Preprocess settings.
- Removed the deprecated ToolSettings component and its associated routes.
- Enhanced WebSearchSettings with new compression settings and improved UI for managing web search providers.
- Removed the patch for windows-system-proxy@npm:1.0.0 and updated the dependency to version 1.0.1 in package.json and yarn.lock.
- Deleted the corresponding patch file to clean up the project.
- Updated AppUpdater to eliminate the mainWindow parameter from the constructor.
- Replaced direct mainWindow references with windowService calls to retrieve the main window, improving modularity and decoupling.
* feat: add code tools
* feat(CodeToolsService): add CLI executable management and installation check
- Introduced methods to determine the CLI executable name based on the tool.
- Added functionality to check if a package is installed and create the necessary bin directory if it doesn't exist.
- Enhanced the run method to handle installation and execution of CLI tools based on their installation status.
- Updated terminal command handling for different operating systems with improved comments and error messages.
* feat(ipService): implement IP address country detection and npm registry URL selection
- Added a new module for IP address country detection using the ipinfo.io API.
- Implemented functions to check if the user is in China and to return the appropriate npm registry URL based on the user's location.
- Updated AppUpdater and CodeToolsService to utilize the new ipService functions for improved user experience based on geographical location.
- Enhanced error handling and logging for better debugging and user feedback.
* feat: remember cli model
* feat(CodeToolsService): update options for auto-update functionality
- Refactored the options parameter in CodeToolsService to replace checkUpdate and forceUpdate with autoUpdateToLatest.
- Updated logic to handle automatic updates when the CLI tool is already installed.
- Modified related UI components to reflect the new auto-update option.
- Added corresponding translations for the new feature in multiple languages.
* feat(CodeToolsService): enhance CLI tool launch with debugging support
- Added detailed logging for CLI tool launch process, including environment variables and options.
- Implemented a temporary batch file for Windows to facilitate debugging and command execution.
- Improved error handling and cleanup for the temporary batch file after execution.
- Updated terminal command handling to use the new batch file for safer execution.
* refactor(CodeToolsService): simplify command execution output
- Removed display of environment variable settings during command execution in the CLI tool.
- Updated comments for clarity on the command execution process.
* feat(CodePage): add model filtering logic for provider selection
- Introduced a modelPredicate function to filter out embedding, rerank, and text-to-image models from the available providers.
- Updated the ModelSelector component to utilize the new predicate for improved model selection experience.
* refactor(CodeToolsService): improve logging and cleanup for CLI tool execution
- Updated logging to display only the keys of environment variables during CLI tool launch for better clarity.
- Introduced a variable to store the path of the temporary batch file for Windows.
- Enhanced cleanup logic to remove the temporary batch file after execution, improving resource management.
* feat(Router): replace CodePage with CodeToolsPage and add new page for code tools
- Updated Router to import and route to the new CodeToolsPage instead of the old CodePage.
- Introduced CodeToolsPage component, which provides a user interface for selecting CLI tools and models, managing directories, and launching code tools with enhanced functionality.
* refactor(CodeToolsService): improve temporary file management and cleanup
- Removed unused variable for Windows batch file path.
- Added a cleanup task to delete the temporary batch file after 10 seconds to enhance resource management.
- Updated logging to ensure clarity during the execution of CLI tools.
* refactor(CodeToolsService): streamline environment variable handling for CLI tool execution
- Introduced a utility function to remove proxy-related environment variables before launching terminal processes.
- Updated logging to display only the relevant environment variable keys, enhancing clarity during execution.
* refactor(MCPService, CodeToolsService): unify proxy environment variable handling
- Replaced custom proxy removal logic with a shared utility function `removeEnvProxy` to streamline environment variable management across services.
- Updated logging to reflect changes in environment variable handling during CLI tool execution.
- Introduced ApiOptionsSettings component to manage API options for providers.
- Added ApiOptionsSettingsPopup for displaying API options in a modal.
- Updated ProviderSetting to include a button for opening the API options popup for non-system providers.
- Refactored imports and adjusted layout in ProviderSetting for better UI consistency.
- Simplified proxy setting logic by removing unnecessary dispatches for 'system' and 'none' modes.
- Updated useAppInit to set proxy to undefined for 'system' mode and clarified direct mode handling with comments.
- Removed TranslateSettings and TranslateModelSettings components to streamline the translation settings interface.
- Introduced CustomLanguageSettings and TranslatePromptSettings components for better management of custom languages and prompt settings.
- Updated ModelSettings to utilize the new TranslateSettingsPopup for handling translation-related configurations.
- Enhanced the overall structure and readability of the translation settings page.
* refactor(FileManager): streamline file path handling in FilesPage and ImageBlock components
* refactor(file): implement getSafeFilePath utility for consistent file path handling across loaders and preprocessors
* refactor(FileStorage): replace getSafeFilePath with fileStorage.getFilePathById for consistent file path retrieval across services
* refactor(file): unify file path retrieval across loaders and preprocessors for improved consistency
* refactor(Inputbar, MessageEditor): replace getFileExtension with file.ext for improved file type handling
* refactor(FileStorage): simplify getFilePathById method by removing redundant checks for file path retrieval
* fix(FileStorage): update getFilePathById to ensure file.path is consistent with generated filePath
* refactor(FileStorage): simplify getFilePathById method by removing unnecessary file path consistency checks
* fix(FileStorage): update duplicate file check to use file.path for accurate detection
* fix(FileStorage): correct file path usage in uploadFile method for accurate duplicate detection
* fix(loader): update file path retrieval to use file.path for consistency across loaders
- Removed unused imports and components to simplify the codebase.
- Refactored the token count calculation for improved readability.
- Adjusted the layout of the operation bar and input/output containers for better spacing and alignment.
- Enhanced the copy button functionality and visibility within the output area.
- Updated styles for consistency and improved user experience.
* Update models.ts
* Update models.ts
* Update models.ts
* feat: add OpenAI verbosity setting for GPT-5 model
Introduces a new 'verbosity' option for the OpenAI GPT-5 model, allowing users to control the level of detail in model output. Updates settings state, migration logic, UI components, and i18n translations to support this feature.
* fix(models): 修正gpt-5模型判断逻辑以支持包含gpt-5的模型ID
* fix(i18n): 修正繁体中文和希腊语的翻译错误
* fix(models): 优化OpenAI推理模型判断逻辑
* fix(OpenAIResponseAPIClient): 不再为response api添加stream_options
* fix: update OpenAI model check and add verbosity setting
Changed GPT-5 model detection to use includes instead of strict equality. Added default 'verbosity' property to OpenAI settings in migration logic.
* feat(models): 添加 GPT-5 系列模型的图标和配置
添加 GPT-5、GPT-5-chat、GPT-5-mini 和 GPT-5-nano 的图标文件,并在 models.ts 中配置对应的模型 logo
* Merge branch 'main' into fix-gpt5
* Add verbosity setting to OpenAI API client
Introduces a getVerbosity method in BaseApiClient to retrieve verbosity from settings, and passes this value in the OpenAIResponseAPIClient request payload. This enables configurable response verbosity for OpenAI API interactions.
* Upgrade OpenAI package to 5.12.2 and update patch
Replaced the OpenAI dependency from version 5.12.0 to 5.12.2 and updated related patch files and references in package.json and yarn.lock. Also updated a log message in BaseApiClient.ts for clarity.
* fix: add type and property checks for tool call handling
Improves robustness by adding explicit checks for 'function' property and 'type' when parsing tool calls and estimating tokens. Also adds error handling for unknown tool call types in mcp-tools and updates related test logic.
* feat(模型配置): 添加gpt5模型支持及相关配置
- 在模型类型中新增gpt5支持
- 添加gpt5系列模型检测函数
- 更新推理选项配置和国际化文本
- 调整effort ratio数值
* fix(ThinkingButton): 为gpt-5及后续模型添加minimal到low的选项回退映射
* feat(i18n): 更新思维链长度的中文翻译并调整对应图标
为思维链长度的"minimal"选项添加中文翻译"微念",同时调整各选项对应的灯泡图标亮度
* feat(i18n): 为推理努力设置添加"minimal"选项并调整英文文案
* fix: openai patch
* wip: OpenAISettingsGroup display
* fix: 修复OpenAISettingsGroup组件中GPT5条件下的渲染逻辑
* refactor(OpenAISettingsGroup): 优化设置项的分组和分隔符逻辑
* feat(模型配置): 添加gpt-5到visionAllowedModels列表
* feat(模型配置): 添加gpt-5到函数调用支持列表
将gpt-5及其变体添加到FUNCTION_CALLING_MODELS支持列表,同时将gpt-5-chat添加到排除列表
* fix: 在OpenAI推理模型检查中添加gpt-5-chat支持
* Update OpenAISettingsGroup.tsx
* feat(模型支持): 添加对verbosity模型的支持判断
新增isSupportVerbosityModel函数用于判断是否支持verbosity模型
替换原有isGPT5SeriesModel判断逻辑,统一使用新函数
* fix: 修复支持详细程度模型的判断逻辑
使用 getLowerBaseModelName 处理模型 ID 以确保大小写不敏感的比较
* feat: 添加对gpt-5模型的网络搜索支持但不包括chat变体
* fix(models): 修复gpt5模型支持选项缺少'off'的问题
* fix: 添加gpt-5到支持Flex Service Tier的模型列表
* refactor(aiCore): 优化OpenAI verbosity类型定义和使用
移除OpenAIResponseAPIClient中冗余的OpenAIVerbosity导入
在BaseApiClient中明确getVerbosity返回类型为OpenAIVerbosity
简化OpenAIResponseAPIClient中verbosity的类型断言
* fix(openai): 仅在支持verbosity的模型中添加verbosity参数
* fix(i18n): 修正OpenAI设置中不一致的翻译
* fix: modify low effort ratio
* fix(openai): 修复GPT5系列模型在启用网页搜索时不能使用minimal reasoning_effort的问题
* fix(openai): 修复GPT5系列模型在启用web搜索时不能使用minimal推理的问题
---------
Co-authored-by: icarus <eurfelux@gmail.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
* Updated electron-builder configuration to include RPM as a target for Linux builds.
* Modified GitHub workflows to install RPM dependencies during the build process for both nightly and release workflows.
Updated the logic for determining tool usage by consolidating conditions into a single variable. Improved the handling of MCP tools by filtering active servers and checking for enabled tools before sending notifications. Removed redundant code and ensured that tool execution completion notifications are sent based on the new logic.
* feat: add language filter to local web search queries
Integrates user's language setting into search queries by applying a language filter based on the provider (Google, Bing, or others). This improves search relevance for localized results.
* fix: update language filter logic in LocalSearchProvider
Refactored applyLanguageFilter to use provider.id instead of provider.name for search engine identification. Adjusted filtering for Google, Bing, and Baidu, and removed default language filter for other providers.
* Update LocalSearchProvider.ts