Commit Graph

3334 Commits

Author SHA1 Message Date
icarus
aaa51c435e feat(翻译): 添加对Qwen MT模型翻译选项的特殊处理
添加对Qwen MT模型的支持,当助手类型为翻译时设置翻译选项。若目标语言不支持则抛出错误
2025-08-29 19:36:40 +08:00
icarus
9bde8b3cae Merge branch 'main' of github.com:CherryHQ/cherry-studio into feat/aisdk-package 2025-08-29 19:34:55 +08:00
icarus
e56218f3ac Merge branch 'feat/aisdk-package' of github.com:CherryHQ/cherry-studio into feat/aisdk-package 2025-08-29 19:19:59 +08:00
icarus
58874a954c feat(aiCore): 添加对智谱AI模型的支持
在getReasoningEffort函数中新增对智谱AI模型的支持逻辑,包括判断模型类型及设置对应的推理参数
2025-08-29 19:19:54 +08:00
MyPrototypeWhat
6fa82533d5 refactor(aiCore): improve provider registration and model resolution logic
- Enhanced the model resolution logic to support dynamic provider IDs for chat modes.
- Updated provider registration to handle both OpenAI and Azure with a unified approach for chat variants.
- Refactored the `buildOpenAIProviderOptions` function to streamline parameter handling and removed unnecessary parameters.
- Added configuration options for Azure to manage API versions and deployment URLs effectively.
2025-08-29 19:16:21 +08:00
icarus
a7b8b40301 feat(reasoning): 增强模型推理控制逻辑,支持更多提供商和模型类型
添加对Hunyuan、DeepSeek混合推理等模型的支持
优化OpenRouter、Qwen等提供商的推理控制逻辑
统一不同提供商的思考控制方式
添加日志记录和错误处理
2025-08-29 19:09:33 +08:00
icarus
bdbb2c2c75 refactor(aiCore): 重构provider选项构建逻辑以支持更多provider类型
重构buildProviderOptions函数,使用schema验证providerId并分为基础provider和自定义provider处理
新增对deepseek、openai-compatible等provider的支持
2025-08-29 18:43:03 +08:00
one
86635eef49
refactor(SvgPreview): add tag use and animate (#9660)
* refactor(SvgPreview): add tag use

* refactor(Svg): add tag animate
2025-08-29 18:29:52 +08:00
icarus
3d131dc213 feat(OrchestrateService): 添加提示变量替换功能
在调用API前替换assistant.prompt中的变量,以支持动态提示内容
2025-08-29 17:53:19 +08:00
icarus
b5c1530d97 docs(OrchestrateService): 添加注释说明暂时未使用的类和函数用途 2025-08-29 17:53:05 +08:00
one
25c94dc2f0
fix: mcp tags overflow (#9662) 2025-08-29 17:29:27 +08:00
Konv Suu
c376426cdf
fix: useAssistant hook 导致快捷助手渲染问题 (#9657) 2025-08-29 17:19:22 +08:00
icarus
a2326ee825 refactor(transformParameters): 移除DEFAULT_MAX_TOKENS并替换console.log为logger.debug
移除未使用的DEFAULT_MAX_TOKENS常量,直接使用传入的maxTokens参数
将调试日志输出从console.log改为更规范的logger.debug
2025-08-29 17:13:23 +08:00
one
2f5cd78f7f
chore(deps): bump mermaid, shiki, tanstack, etc. (#9658)
* chore(deps): bump mermaid, shiki, tanstack, etc.

* refactor: update code languages, fix lint warnings
2025-08-29 16:17:55 +08:00
MyPrototypeWhat
0944faf8e5 refactor(aiCore): clean up KnowledgeSearchTool and searchOrchestrationPlugin
- Commented out unused parameters and code in the KnowledgeSearchTool to improve clarity and maintainability.
- Removed the tool choice assignment in searchOrchestrationPlugin to streamline the logic.
- Updated instructions handling in KnowledgeSearchTool to eliminate unnecessary fields.
2025-08-29 16:01:11 +08:00
one
ffbbec879b
refactor: provider list and urlSchema popup (#9626)
* refactor: separate ProviderList from index

* refactor: add UrlSchemaInfoPopup

* refactor: improve popup style
2025-08-29 15:51:33 +08:00
MyPrototypeWhat
c9d0265872 refactor(aiCore): enhance temperature and TopP parameter handling
- Updated `getTemperature` and `getTopP` functions to incorporate reasoning effort checks for Claude models.
- Refactored logic to ensure temperature and TopP settings are only returned when applicable.
- Improved clarity and maintainability of parameter retrieval functions.
2025-08-29 15:06:34 +08:00
MyPrototypeWhat
2ca5116769 refactor(aiCore): streamline provider options and enhance OpenAI handling
- Simplified the OpenAI mode handling in the provider configuration.
- Added service tier settings to provider-specific options for better configuration management.
- Refactored the `buildOpenAIProviderOptions` function to remove redundant parameters and improve clarity.
2025-08-29 14:20:03 +08:00
Yongfu
e5416827cb
fix: missing model icons (#9650)
* Update models.ts

修复图标的缺失

* Update models.ts

解决CI
2025-08-29 14:17:11 +08:00
MyPrototypeWhat
efeada281a feat(aiCore): introduce provider configuration enhancements and initialization
- Added a new provider configuration module to handle special provider logic and formatting.
- Implemented asynchronous preparation of special provider configurations in the ModernAiProvider class.
- Refactored provider initialization logic to support dynamic registration of new AI providers.
- Updated utility functions to streamline provider option building and improve compatibility with new provider configurations.
2025-08-29 13:34:15 +08:00
MyPrototypeWhat
49cd9d6723 chore(aiCore): update version to 1.0.0-alpha.11 and refactor model resolution logic
- Bumped the version of the ai-core package to 1.0.0-alpha.11.
- Removed the `isOpenAIChatCompletionOnlyModel` utility function to simplify model resolution.
- Adjusted the `providerToAiSdkConfig` function to accept a model parameter for improved configuration handling.
- Updated the `ModernAiProvider` class to utilize the new model parameter in its configuration.
- Cleaned up deprecated code related to search keyword extraction and reasoning parameters.
2025-08-29 12:20:22 +08:00
MyPrototypeWhat
1735a9efb6 feat(ErrorBlock): add centered modal display for error details
- Updated the ErrorBlock component to include a centered modal for displaying error details, enhancing the user interface and accessibility of error information.
2025-08-29 11:30:16 +08:00
MyPrototypeWhat
1b86997f14 refactor(aiCore): enhance completions methods with developer mode support
- Introduced a check for developer mode in the completions methods to enable tracing capabilities when a topic ID is provided.
- Updated the method signatures and internal calls to streamline the handling of completions with and without tracing.
- Improved code organization by making the completionsForTrace method private and renaming it for clarity.
2025-08-29 11:14:38 +08:00
suyao
cf777ba62b
feat(inputbar): enhance MCP tools visibility with prompt tool support
- Updated the Inputbar component to include the `isPromptToolUse` function, allowing for better visibility of MCP tools based on the assistant's capabilities.
- This change improves user experience by expanding the conditions under which MCP tools are displayed.
2025-08-29 07:02:00 +08:00
suyao
4918628131
feat(i18n): add error detail translations and enhance error handling UI
- Added new translation keys for error details in multiple languages, including 'detail', 'details', 'message', 'requestBody', 'requestUrl', 'stack', and 'status'.
- Updated the ErrorBlock component to display a modal with detailed error information, allowing users to view and copy error details easily.
- Improved the user experience by providing a clear and accessible way to understand error messages and their context.
2025-08-29 06:55:25 +08:00
suyao
fee6ad58d1
refactor(errorHandling): improve error serialization and update error handling in callbacks
- Updated the error handling in the `onError` callback to use `AISDKError` type for better type safety.
- Introduced a new `serializeError` function to standardize error serialization.
- Modified the `ErrorBlock` component to directly access the error message.
- Removed deprecated error formatting functions to streamline the error utility module.
2025-08-29 06:12:16 +08:00
suyao
a30df46c40
feat(aihubmix): add 'type' property to provider configuration for Gemini integration 2025-08-29 04:20:32 +08:00
suyao
3004f84be3
refactor(modelResolver): replace ':' with '|' as the default separator for model IDs
Updated the ModelResolver and related components to use '|' as the default separator instead of ':'. This change improves compatibility and resolves potential conflicts with model ID suffixes. Adjusted model resolution logic accordingly to ensure consistent behavior across the application.
2025-08-29 04:12:48 +08:00
Pleasure1234
279ab8f808
feat: add batch delete functionality for files page (#9636)
* feat: add batch delete functionality for files page

- Add batch selection with checkboxes for individual files
- Implement batch delete operation with confirmation dialog
- Add select all/none functionality with indeterminate state
- Include safety check to prevent deleting files used in paintings
- Support multiple languages for batch operation UI text
- Exclude image files from batch operations per design requirements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* style: make batch delete popconfirm icon color consistent

- Add red color styling to batch delete popconfirm icon to match individual delete
- Update i18n translations for batch warning message across all locales

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: improve batch delete UX and i18n translations

- Change "batch_operation" label to "Select All" across all languages
- Remove unused batch_warning translation for paintings
- Simplify delete confirmation messages to use single form
- Optimize batch delete to use Promise.all for better performance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-29 00:57:24 +08:00
one
144012b980
test: link and hyperlink (#9638)
* test: add tests for Link

* test: add tests for HyperLink

* refactor: use zod for citation data

* refactor: update import
2025-08-29 00:37:14 +08:00
one
95ff67e99c
fix(ImageViewer): prevent double menu, improve icons (#9637)
* fix(ImageViewer): prevent double menu, improve icons

* refactor: default icon size, standard error messages
2025-08-29 00:25:58 +08:00
one
649a2a645c
feat: capture iframe as image (#9607)
* refactor: update capture function signatures

* feat: capture html as png

* refactor: rename the ipc channel

* fix: stop propagate double clicks

* fix: improve conversion from title to filename

* refactor: improve capture, add more capture options

* fix: button icons

* refactor: add success message
2025-08-28 21:22:56 +08:00
MyPrototypeWhat
9551c49452 feat(release): update version to 1.6.0-beta.1 and enhance release notes with new features, improvements, and bug fixes
- Integrated a new AI SDK architecture for better performance
- Added OCR functionality for image text recognition
- Introduced a code tools page with environment variable settings
- Enhanced the MCP server list with search capabilities
- Improved SVG preview and HTML content rendering
- Fixed multiple issues including document preprocessing failures and path handling on Windows
- Optimized performance and memory usage across various components
2025-08-28 18:25:45 +08:00
Phantom
626a5ed4f1
fix: qwen-mt translate (#9627)
* feat(translate): 优化翻译助手类型定义和服务逻辑

重构翻译助手类型定义,将内容字段和模型校验逻辑分离
修改翻译服务以使用助手中的模型而非全局配置
为QwenMT模型添加特殊处理逻辑

* docs(i18n): 添加Qwen MT模型在对话中不可用的错误提示

* refactor(openai): 优化翻译选项处理逻辑

移除不必要的的TranslateAssistant类型断言并重构翻译选项的生成方式

* fix(types): 修复isTranslateAssistant类型检查逻辑

确保assistant.content为字符串类型时才返回true
2025-08-28 17:06:38 +08:00
MyPrototypeWhat
d10ba04047 refactor(aiCore): streamline type exports and enhance provider registration
Removed unused type exports from the aiCore module and consolidated type definitions for better clarity. Updated provider registration tests to reflect new configurations and improved error handling for non-existent providers. Enhanced the overall structure of the provider management system, ensuring better type safety and consistency across the codebase.
2025-08-28 15:28:44 +08:00
Phantom
f95b9cef77
feat: System (MacOS & Windows) OCR (#9572)
* build: 添加 macOS 系统 OCR 作为可选依赖

* refactor: 移动TesseractService

* feat(ocr): 添加MacOS Vision OCR支持并优化类型定义

添加对MacOS Vision OCR的支持,同时重构OCR相关类型定义以提升可维护性。新增PDF文件元数据类型为后续功能做准备。

* refactor(types): 重命名 isImageFile 为 isImageFileMetadata 以更准确描述功能

* refactor(ocr): 更新导入

* feat(ocr): 实现MacOS Vision OCR服务并重构OCR基础结构

添加MacOcrService以支持MacOS Vision OCR功能
创建OcrBaseService作为OCR服务的基类
清理MacOS OCR配置中的冗余字段

* fix(store): 更新持久化存储版本至138并添加MAC OCR提供者

添加内置OCR提供者支持并清空翻译输入框

* chore: 更新 @cherrystudio/mac-system-ocr 依赖至 0.2.4 版本

* feat(ocr): 添加 macOS 原生 OCR 服务支持

添加 macOS 原生 OCR 服务作为内置 OCR 提供商
在设置页面显示不可配置提示
添加相关 logo 和翻译文本

* build: 将 @cherrystudio/mac-system-ocr 从可选依赖移至常规依赖

* fix(ocr): 临时使用any类型替代平台特定依赖的类型定义

为了避免在Linux上运行类型检查CI时抛出错误,暂时将MacOCR属性的类型从平台特定依赖的类型定义改为any类型

* refactor(build): 将mac-system-ocr移至optionalDependencies并更新vite配置

将@cherrystudio/mac-system-ocr从dependencies移至optionalDependencies
更新electron.vite.config.ts中的external配置以包含该依赖

* feat(OCR设置): 根据平台过滤OCR提供商选项

添加平台检测逻辑,在非Mac平台隐藏Mac内置OCR提供商选项

* feat(OCR): 添加非MacOS系统的错误提示

在OCR图片设置中添加对非MacOS系统的错误提示,当用户尝试在非Mac系统上使用OCR功能时显示错误标签

* feat(i18n): 添加 OCR 相关多语言翻译

为 OCR 功能添加错误提示和配置项的多语言翻译,包括非 MacOS 系统提示和无配置项提示

* fix(MacOcrService): 忽略macOS专属模块的类型检查错误

添加@ts-ignore注释以避免在非macOS平台上的类型检查错误,该模块仅在macOS上可用

* build: 添加 @napi-rs/system-ocr 依赖以支持OCR功能

* chore: 移除未使用的mac-system-ocr依赖

* refactor(ocr): 将 MacOS OCR 重构为跨平台的系统 OCR

重构 OCR 服务,将原本仅支持 MacOS 的 OCR 功能扩展为支持 Windows 和 MacOS 的系统 OCR
更新相关类型定义、配置和界面适配

* feat(hooks): 添加设置图片OCR提供商的功能

* refactor(ocr): 重构OCR提供者相关逻辑,优化代码结构

- 将OCR提供者相关工具函数和hook合并到useOcrProvider中
- 替换mac提供者为system提供者
- 优化OCR设置界面的错误处理和UI展示
- 删除不再使用的ocr.ts工具文件

* refactor(OCR设置): 移除多余的SettingGroup包装并优化provider设置逻辑

移除OcrSettings中多余的SettingGroup包装,将主题样式直接应用于OcrProviderSettings组件
优化OcrProviderSettings逻辑,对于system provider直接返回null

* fix(i18n): 移除OCR服务中不可配置项的翻译并更新系统OCR支持提示

* fix(ocr): 根据系统平台设置默认OCR提供商

在Windows和Mac平台上使用系统OCR作为默认提供商,其他平台继续使用Tesseract

* build: 从外部依赖中移除 @cherrystudio/mac-system-ocr

* fix(i18n): 更新多语言OCR相关翻译

* fix(store): 在迁移配置中移除翻译输入的清空操作

* refactor(hooks): 将 getOcrProviderLogo 重命名为 OcrProviderLogo 并改为组件形式

将 useOcrProviders 中的 getOcrProviderLogo 函数重构为 OcrProviderLogo 组件
更新 OcrProviderSettings 中对应的调用方式

* support jpg

* refactor(ocr): 重构OCR服务基础结构并支持多语言配置

重构OCR基础服务类,提取公共接口为抽象类
为系统OCR和Tesseract服务添加多语言配置支持

* refactor(ocr): 重构OCR类型定义以提高可维护性

将OcrProviderConfig拆分为基础配置和具体实现配置类型
优化类型结构以更清晰地区分不同OCR提供者的配置

* feat(组件): 新增错误标签组件 ErrorTag

* refactor(ocr): 替换自定义标签组件为ErrorTag组件以简化代码

* fix(ocr): 在macOS下忽略语言参数

* feat(组件): 添加警告标签组件用于显示警告信息

* feat(ocr): 添加系统OCR支持并优化语言配置

- 新增系统OCR设置组件,支持Windows和MacOS平台
- 为系统OCR添加语言选择功能,Windows需配置语言包
- 创建SuccessTag组件用于显示配置状态
- 统一OCR语言设置相关翻译键名
- 修复系统OCR在非Windows/Mac平台下的显示问题

* feat(i18n): 添加 OCR 设置页面的多语言支持

为 OCR 设置页面添加了新的多语言翻译,包括支持的语言列表和系统 OCR 的相关提示信息

* feat(ocr): 支持自定义 Tesseract OCR 语言选择

添加 Tesseract OCR 语言映射配置和动态语言选择功能
在设置界面实现多语言选择器,支持用户自定义 OCR 语言
更新相关类型定义和工具提示信息

* docs(i18n): 为Tesseract OCR添加自定义语言支持提示文本

* fix(i18n): 移除OCR服务中临时语言支持提示

* fix(ocr): 修复OCR服务未传递provider配置的问题

* fix(ocr): 修复OCR服务未传递provider配置的问题

* fix(TesseractService): 修复worker没有显式dispose的问题

* feat(拖拽): 在useDrag钩子中暴露setIsDragging方法

允许外部组件直接控制拖拽状态,用于在TranslatePage中处理文件拖放时重置拖拽状态

* feat(i18n): 更新输入框占位文本以支持OCR功能

* fix(ocr): 添加错误处理并记录日志以改进Tesseract服务

在TesseractService中添加错误处理回调函数,捕获并抛出worker创建过程中的错误
同时增加调试日志以跟踪语言数组和worker创建过程

* refactor(ocr): 重构OCR状态管理,使用ID引用图像提供者并添加选择器

将imageProvider字段改为imageProviderId以简化状态管理
添加getImageProvider选择器方便获取当前图像提供者

* update cn data

* refactor(ocr): 重构OCR提供者管理逻辑,使用自定义hook统一处理

- 将OCR提供者状态管理从Redux迁移到自定义hook useOcrProviders
- 修复默认OCR提供者初始化问题
- 优化OCR图片识别逻辑,使用useCallback提升性能

* fix(ocr): 修复Tesseract worker初始化错误处理逻辑

重构worker初始化流程,使用Promise处理错误而非全局变量
修正非CN地区语言包下载URL为空的问题

* fix(ocr): 修复url

* feat(OCR设置): 在Tesseract语言选择器中添加自定义标签渲染

添加CustomTag组件以禁用默认的关闭操作

* refactor(translate): 优化拖拽上传文件的hooks调用顺序

将useDrag hooks的声明移到使用位置附近,提高代码可读性

* perf(ocr): 移除不必要的await提升图像预处理性能

* feat(translate): 添加文本文件类型检查并优化文件处理逻辑

在翻译页面中增加对文本文件类型的检查,避免处理非文本文件。同时优化文件处理流程,包括错误处理和加载状态管理。

* feat(i18n): 添加文件类型检查错误的多语言翻译

* docs(i18n): 更新输入框占位符文本以更清晰描述支持的功能

---------

Co-authored-by: beyondkmp <beyondkmp@gmail.com>
2025-08-28 15:28:27 +08:00
icarus
4b7023f855 fix(i18n): 更新多语言文件中 websearch.fetch_complete 的翻译格式
统一将“已完成 X 次搜索”改为“X 个搜索结果”格式,并添加 avatar.builtin 字段翻译
2025-08-28 15:11:52 +08:00
icarus
5f096ecf8c refactor(logging): 将console替换为logger以统一日志管理 2025-08-28 14:52:59 +08:00
one
168cc36410
fix(i18n): backup/restore progress (#9622) 2025-08-28 14:26:45 +08:00
suyao
a12d627b65
feat(types): add VertexProvider type for Google Cloud integration
Introduced a new VertexProvider type that includes properties for Google credentials and project details, enhancing type safety and support for Google Cloud functionalities.
2025-08-28 12:22:14 +08:00
MyPrototypeWhat
7bda658022 Merge remote-tracking branch 'origin/main' into feat/aisdk-package 2025-08-28 12:03:41 +08:00
Teo
2dbe9c1e0e
feat(Link): add hyperlink tooltips (#9620) 2025-08-28 11:54:50 +08:00
Phantom
e222ba5459
fix: missing dependency (#9615)
fix: 修复依赖缺失
2025-08-28 11:52:10 +08:00
Phantom
7407bb335d
feat: more abort control (#9267)
* feat(abort): 添加 abortKey 参数支持以自定义中止控制

支持通过参数传入 abortKey 来替代 messageId,提供更灵活的中止控制方式

* fix(aiCore): 修复checkApi时未正确abort的问题

* feat(翻译): 添加翻译中止功能

支持在翻译过程中中止操作,包括添加中止键状态管理、中止错误处理和界面停止按钮
添加相关国际化文案

* feat(i18n): 添加翻译中止相关文本和多语言支持

* style(translate): 调整停止按钮图标大小以保持视觉一致性

* fix(TranslateService): 改进翻译错误处理逻辑

正确处理翻译中止和失败的情况,统一错误信息格式化方式

* fix(aiCore): 去除不必要的类型断言

* style(TabContainer): 移除多余的空格并保持代码整洁

* fix(translate): 添加翻译前校验并修复文件处理异步问题

在翻译前添加couldTranslate校验,防止无效操作
将processFile改为异步调用以正确处理文件处理流程
2025-08-27 23:56:11 +08:00
Phantom
aaa0eb7140
feat: user filter models (#8953)
* feat(组件): 添加模型标签组件并重构相关引用

添加新的模型标签组件(EmbeddingTag, ReasoningTag等)并集中导出
重构ModelTagsWithLabel组件使用新的标签组件
移除旧的ModelCapabilities引用

* refactor(Tags): 移除FreeTag组件中未使用的showLabel属性

* feat(模型选择弹窗): 添加按标签筛选模型功能

在模型选择弹窗中新增标签筛选功能,支持按视觉、网页搜索、推理、工具调用、免费、嵌入和重排等标签类型筛选模型

* feat(i18n): 添加按标签筛选的翻译文本

* feat(SelectModelPopup): 优化模型筛选逻辑并添加类型安全的objectKeys工具函数

重构模型筛选逻辑,简化条件判断并支持外部传入的filterTypes控制显示。添加类型安全的objectKeys工具函数用于获取对象键名。调整筛选标签的显示逻辑,仅在相关filterTypes存在时显示对应标签。

* refactor(SelectModelPopup): 移除已注释的冗余代码

* fix(SelectModelPopup): 修复布局偏移问题并调整内边距

为弹出容器添加动态高度以避免布局偏移
调整过滤容器的内边距

* refactor(model): 将isFreeModel函数移动到单独的文件并添加模型标签功能

重构模型相关工具函数,将isFreeModel从utils/index.ts移动到utils/model.ts
新增getModelTags函数用于获取模型标签状态
更新相关导入路径以保持一致性

* refactor(SelectModelPopup): 重构扁平列表项类型定义以提高类型安全性

将 FlatListItem 拆分为 FlatListGroup 和 FlatListModel 两种具体类型
确保模型项必须包含 model 属性而分组项不包含
更新相关组件代码以适配新的类型定义

* docs(utils/model): 添加getModelTags函数的注释说明

* refactor(SelectModelPopup): 重构模型筛选逻辑,优化标签管理

- 将模型筛选逻辑拆分为用户筛选和搜索筛选两部分
- 去除内置筛选
- 使用getModelTags获取模型标签
- 优化筛选条件判断逻辑,提高可读性

* refactor(SelectModelButton): 重构模型选择按钮的过滤逻辑

使用模型类型判断函数替代硬编码的过滤类型数组

* fix(MessageMenubar): 修复模型提及过滤逻辑,排除嵌入和重排模型

默认过滤条件现在会排除嵌入和重排模型,确保视觉模型检查时也应用此过滤

* feat(AssistantModelSettings): 添加模型过滤功能以排除嵌入和重排模型

* perf(SelectModelPopup): 使用useMemo优化模型列表计算性能

避免在每次渲染时重新计算模型列表,仅在modelFilter或providers变化时重新计算

* test(model): 将 isFreeModel 测试迁移到 model.test.ts 并添加 getModelTags 测试

* feat(types): 添加类型安全的对象键值对转换函数

* feat(模型选择弹窗): 优化标签筛选功能并添加已选标签显示

重构标签筛选逻辑,使用更简洁的预测函数配置方式
添加已选标签显示区域,提升用户操作体验
更新国际化文件添加"已选标签"翻译

* feat(i18n): 添加多语言翻译的"selected tags"字段和"code"模块

为过滤功能添加"selected tags"翻译字段
新增"code"模块的多语言翻译内容

* refactor(SelectModelPopup): 优化标签筛选逻辑和样式布局

移除重复的标签选择逻辑,合并为单一标签组件
调整筛选区域的布局和样式,简化界面结构
将PAGE_SIZE从11改为12以适应布局需求
2025-08-27 22:55:14 +08:00
Phantom
6376bbb9a7
fix: mcp-auto-install cannot start (#9015)
* refactor(types): 将内置MCPServer类型从MCPServer分离并添加类型守卫

将内置MCPServer相关逻辑从通用MCPServer类型中分离,新增BuiltinMCPServer类型和类型守卫函数

* refactor(MCPService): 使用isBuiltinMCPServer检查内置服务器类型

修改传输层创建逻辑,通过isBuiltinMCPServer函数判断是否为内置服务器,并排除特定服务器

* refactor(types): 统一内置MCP服务器名称的键值格式并优化类型定义

将BuiltinMCPServers对象的键改为与值相同的格式,使结构更一致
同时简化BuiltinMCPServerName类型定义和isBuiltinMCPServerName检查逻辑

* refactor(types): 为内置MCP服务器名称添加类型定义

为`MCP_AUTO_INSTALL_SERVER_NAME`和`builtInMcpDescriptionKeyMap`添加`BuiltinMCPServerName`类型定义,提高类型安全性

* refactor(types): 重命名BuiltinMCPServers为BuiltinMCPServerNames以更准确描述用途

* style: 移除 TabContainer 组件中的多余空行

* refactor(mcpServers): 使用类型化的BuiltinMCPServerName替换字符串参数

将createInMemoryMCPServer函数的name参数从string类型改为BuiltinMCPServerName类型,提高类型安全性

* refactor(types): 重构内置MCPServer名称常量及类型定义

将BuiltinMCPServerNames的键名改为驼峰命名,并添加BuiltinMCPServerNamesArray常量
修改isBuiltinMCPServerName函数使用数组进行判断

* refactor(mcp): 使用枚举替换硬编码的服务器名称字符串
2025-08-27 22:46:42 +08:00
Pleasure1234
c01642ef22
fix: decode Bing redirect URLs in LocalBingProvider (#9593)
Added logic to extract and decode the actual target URL from Bing redirect links in LocalBingProvider. Also introduced debug logging in SearchService to log search URLs.
2025-08-27 21:34:01 +08:00
MyPrototypeWhat
bfcb215c16 fix(aiCore): update tool call status and enhance execution flow
- Changed tool call status from 'invoking' to 'pending' for better clarity in execution state.
- Updated the tool execution logic to include user confirmation for non-auto-approved tools, improving user interaction.
- Refactored the handling of experimental context in the tool execution parameters to support chunk streaming.
- Commented out unused tool input event cases in AiSdkToChunkAdapter for cleaner code.
2025-08-27 19:37:10 +08:00
SuYao
72f4584b0f
fix(aihubmix): gemini image generation (#9601) 2025-08-27 16:26:46 +08:00
MyPrototypeWhat
9c01e24317 feat(aiCore): enhance provider management and registration system
- Added support for a new provider configuration structure in package.json, enabling better integration of provider types.
- Updated tsdown.config.ts to include new entry points for provider modules, improving build organization.
- Refactored index.ts to streamline exports and enhance type handling for provider-related functionalities.
- Simplified provider initialization and registration processes, allowing for more flexible provider management.
- Improved type definitions and removed deprecated methods to enhance code clarity and maintainability.
2025-08-27 16:17:57 +08:00