Commit Graph

4872 Commits

Author SHA1 Message Date
Phantom
d84c9e3230
refactor(SpanManagerService): remove trace warning (#8951)
refactor(SpanManagerService): 移除开发者模式下的冗余日志警告

移除在非开发者模式下关于追踪启用的冗余警告日志,这些日志对用户无实际帮助且可能造成干扰
2025-08-08 12:36:13 +08:00
George·Dong
4860d03c38
feat(knowledge): add save topic to knowledge (#8731) 2025-08-08 10:10:29 +08:00
Phantom
b112797a3e
fix(qwen): qwen thinking control (#8938)
* refactor(qwen): 重构Qwen模型思考控制逻辑

重命名函数并统一处理Qwen模型的思考控制逻辑,简化代码结构

* refactor(models): 重命名isQwenAlwaysThinkingModel为isQwenAlwaysThinkModel

统一函数命名风格,提高代码一致性
2025-08-08 00:50:19 +08:00
George·Dong
32c28e32cd
feat(Nutstore): 添加坚果云备份文本 (#8940) 2025-08-08 00:39:24 +08:00
one
9129625365
feat: draggable on filtering (#8929)
feat: support dnd on filtering
2025-08-08 00:39:10 +08:00
Peter Wang
ff58efcbf3
fix: make regex of gemma3 can match ollama's format (#3847 #6626) (#8941) 2025-08-08 00:38:24 +08:00
Phantom
b38b2f16fc
fix: fallback when invalid reasoning effort (#8857)
* refactor(types): 扩展思考模型类型并优化相关类型定义

添加 ThinkingModelType 和 ThinkingOption 类型以支持更多模型
引入 ThinkingOptionConfig 和 ReasoningEffortConfig 类型配置
重构 ReasoningEffortOptions 为 ReasoningEffortOption 并更新相关引用

* feat(模型配置): 添加模型推理配置映射表并重构ThinkingButton组件

将模型支持的推理选项配置集中管理,新增MODEL_SUPPORTED_REASONING_EFFORT和MODEL_SUPPORTED_OPTIONS映射表
提取getThinkModelType方法用于统一判断模型类型,简化ThinkingButton组件逻辑

* fix(OpenAIApiClient): 添加对reasoning_effort参数的有效性检查

当模型不支持指定的reasoning_effort值时,回退到第一个支持的值

* fix: 修正判断模型类型的条件函数

* refactor(types): 使用 Record 类型替代映射类型语法

简化类型定义,提升代码可读性和一致性
2025-08-07 23:56:47 +08:00
Phantom
201fcf9f45
refactor(ModelEditContent): improve experience when choosing model types (#8847)
* feat(标签组件): 新增多种模型标签组件并重构标签引用路径

新增RerankerTag、EmbeddingTag、ReasoningTag、VisionTag和ToolsCallingTag组件
将CustomTag移动至Tags目录并更新所有引用路径
重构ModelTagsWithLabel组件使用新的标签组件

* feat(标签组件): 导出CustomTagProps并增强所有标签组件的props传递

- 导出CustomTagProps接口供其他组件使用
- 在所有标签组件中添加...restProps以支持更多自定义属性
- 新增WebSearchTag组件
- 统一各标签组件的props类型定义方式

* refactor(组件): 统一标签组件的showLabel属性命名

将shouldShowLabel重命名为showLabel以保持命名一致性

* feat(Tags): 为 CustomTag 组件添加 disabled 状态支持

当 disabled 为 true 时,标签颜色将变为灰色

* feat(Tags): 为 CustomTag 组件添加 onClick 事件支持并修复关闭事件冒泡

添加 onClick 属性以支持标签点击事件
修复关闭按钮点击事件冒泡问题

* fix(Tags): 修复CustomTag组件点击状态样式问题

添加$clickable属性以控制鼠标指针样式
确保当onClick存在时显示手型指针

* refactor(ProviderSettings): 替换复选框为标签组件展示模型能力

移除旧的复选框实现,改用专用标签组件展示模型能力类型
简化相关逻辑代码,提升可维护性
调整模态框宽度为自适应内容

* refactor(ProviderSettings): 重构模型编辑弹窗的布局和样式

将模型能力选择部分移动到顶部并优化布局
移除重复的类型标题并调整按钮位置
统一模态框宽度为固定值

* fix(ProviderSettings): 将 Space.Compact 替换为 Space 以修复布局问题

* feat(模型设置): 添加模型类型选择警告提示并优化交互

新增 WarnTooltip 组件用于显示模型类型选择的警告信息
修改模型类型选择交互逻辑,允许用户切换 vision 类型
更新中文翻译文本,使警告信息更准确

* refactor(components): 重构模型能力标签组件并集中管理

将分散的模型能力标签组件移动到统一的 ModelCapabilities 目录
新增 WebSearchTag 组件并优化现有标签组件结构

* feat(组件): 新增带有警告图标的Tooltip组件

* refactor(ProviderSettings): 优化模型能力标签的交互逻辑和性能

使用useMemo和useCallback优化模型类型选择和计算逻辑
重构标签组件导入路径和交互方式

* feat(Tags): 为 CustomTag 组件添加 style 属性支持

允许通过 style 属性自定义标签的样式,提供更灵活的样式控制

* refactor(ProviderSettings): 优化模型类型选择逻辑和UI交互

- 移除冗余代码并简化模型能力选择逻辑
- 添加互斥类型检查防止同时选择不兼容的模型类型
- 为重置按钮添加图标和工具提示提升用户体验
- 统一所有类型标签的禁用状态样式

* fix(ProviderSettings): 为重置按钮添加type="text"属性以修复样式问题

* refactor(组件): 移除GlobalOutlined图标并使用WebSearchTag组件替代

简化WebSearch模型的标签显示逻辑,使用统一的WebSearchTag组件替代手动创建的CustomTag,提高代码复用性和可维护性

* fix(组件): 更换deprecated属性

* feat(组件): 为CustomTag添加inactive状态并优化禁用逻辑

为CustomTag组件新增inactive属性,用于控制标签的视觉禁用状态
将disabled属性与点击事件解耦,优化禁用状态下的交互行为
更新相关调用代码以适配新的属性结构

* style(ProviderSettings): 调整 ModelEditContent 组件中 Flex 布局的换行属性

* fix(ProviderSettings): 移除Modal组件中固定的width属性

* fix(components): 为WebSearchTag组件添加size属性以保持一致性

* fix(ProviderSettings): 使用uniqueObjectArray防止模型能力重复

确保模型能力列表中的项唯一,避免重复添加相同类型的模型能力
2025-08-07 20:41:21 +08:00
kangfenmao
ad0c2a11f3 chore(version): 1.5.5 2025-08-07 18:02:10 +08:00
Phantom
9ad0dc36b7
feat: more control for service tier (#8888)
* feat(types): 添加对服务层参数的支持并完善Provider类型

为Provider类型添加isSupportServiceTier和serviceTier字段以支持服务层参数
添加isOpenAIServiceTier类型守卫函数验证服务层类型
扩展SystemProviderId枚举类型并添加ProviderSupportedServiceTier类型

* refactor(types): 将 isSystemProvider 移动到 types 模块并重构系统提供商 ID 定义

将 isSystemProvider 函数从 config/providers.ts 移动到 types/index.ts 以更好组织代码
重构系统提供商 ID 为 SystemProviderIds 常量对象并添加类型检查函数
更新所有引用 isSystemProvider 的导入路径

* refactor(llm): 将系统提供商数组改为配置对象结构

重构系统提供商数据结构,从数组改为键值对象配置,便于维护和扩展

* refactor(providers): 将系统提供商配置移动到config/providers文件

* refactor: 重命名函数isSupportedFlexServiceTier为isSupportFlexServiceTierModel

统一函数命名风格,提高代码可读性

* refactor(types): 优化OpenAIServiceTier类型定义和校验逻辑

将OpenAIServiceTier定义为常量枚举类型,提升类型安全性
使用Object.values优化类型校验性能
统一服务层参数支持标志命名风格为isNotSupport前缀

* feat(OpenAI): 添加priority服务层级选项

在OpenAIServiceTiers类型和设置选项中新增priority服务层级

* refactor(store): 移除未使用的OpenAIServiceTiers和SystemProviderIds导入

* fix(OpenAISettingsGroup): 添加priority到FALL_BACK_SERVICE_TIER映射

* feat(provider): 支持在提供商设置中配置 service_tier 参数

将 service_tier 配置从全局设置迁移到提供商设置中,并添加相关 UI 和逻辑支持

* refactor(service-tier): 统一服务层级命名并添加Groq支持

将OpenAIServiceTiers的常量值从大写改为小写以保持命名一致性
新增GroqServiceTiers及相关类型守卫
重构BaseApiClient中的服务层级处理逻辑以支持多供应商

* fix(store): 更新持久化存储版本至128并添加迁移逻辑

添加从127到128版本的迁移逻辑,将openAI的serviceTier设置迁移至provider配置

* feat(设置): 添加 Groq 服务层级选项并更新相关翻译

为 Groq 提供商添加特定的服务层级选项(on_demand 和 performance),同时更新中文翻译文件以包含新的选项

* feat(i18n): 添加服务层级和长运行模式的多语言支持

* fix(ProviderSettings): 修正服务层级选项的变量名错误

* refactor(providers): 将 PROVIDER_CONFIG 重命名为 PROVIDER_URLS 并更新相关引用

* refactor(types): 优化类型守卫使用 Object.hasOwn 替代 Object.values

简化类型守卫实现,使用 Object.hasOwn 直接检查属性存在性,提升代码简洁性

* chore: 更新 openai 依赖至 5.12.0 版本

* fix(openai): 修复 service_tier 类型断言问题

groq 有不同的 service tier 配置,不符合 openai 接口类型,因此需要显式类型断言

* fix(openai): 处理空输入时返回默认空字符串

* fix(openai): 修复 Groq 服务层级类型不匹配问题

将 service_tier 强制转换为 OpenAIServiceTier 类型,因为 Groq 的服务层级配置与 OpenAI 接口类型不兼容

* fix(测试): 修正系统提供者名称匹配测试的预期结果

将 matchKeywordsInProvider 和 matchKeywordsInModel 测试中对 'SystemProvider' 的预期结果从 false 改为 true,以匹配实际功能需求

* test(api): 添加SYSTEM_MODELS到模拟配置中

* refactor(config): 更新系统模型配置和类型定义

- 将vertexai和dashscope的模型配置从空数组更新为对应的系统模型
- 修改SYSTEM_MODELS的类型定义以包含SystemProviderId
- 移除未使用的模型配置如o3、gitee-ai和zhinao

* test(match): 更新系统提供商的测试用例以匹配id而非name

* test(services): 更新ApiService测试中的模型配置模拟

修改测试文件中的模型配置模拟,使用vi.importActual获取原始模块并扩展模拟实现,移除不再使用的SYSTEM_MODELS导入

* fix(openai): 更新openai依赖版本并修复嵌入模型处理逻辑

修复openai客户端中嵌入模型处理逻辑,当模型名称包含"jina"时不使用base64编码
移除平台相关头信息以解决兼容性问题
更新package.json中openai依赖版本至5.12.0

* refactor(OpenAISettingsGroup): 移除不必要的fallback逻辑

* Revert "refactor(OpenAISettingsGroup): 移除不必要的fallback逻辑"

This reverts commit 2837f73cf6.

* fix(OpenAISettingsGroup): 修复服务层级回退逻辑以支持Groq提供商

当服务层级模式不在可选范围内时,根据提供商类型设置不同的默认值。对于Groq提供商使用on_demand,其他情况使用auto。

* refactor(types): 简化类型定义从值类型改为键类型

将SystemProviderId、OpenAIServiceTier和GroqServiceTier的类型定义从获取值类型改为直接使用键类型,使代码更简洁

* chore: 更新 openai 依赖至 5.12.0 并应用补丁

* test(naming): 添加getFancyProviderName的测试用例

* test(utils): 添加对系统提供商名称的匹配测试

添加对系统提供商名称"Alibaba"的匹配测试,确保matchKeywordsInModel函数能正确识别系统提供商的名称

* test(utils): 更新系统提供者的i18n名称匹配测试

添加对系统提供者i18n名称匹配的额外测试用例,验证不匹配情况

* chore: 删除旧补丁

* fix(openai): 为commonParams添加类型注解以增强类型安全

* fix(aiCore): 服务层级设置返回未定义而非默认值

* test(匹配逻辑): 更新系统提供商的i18n名称匹配测试

修改测试用例以明确系统提供商不应通过name字段匹配
添加对'Alibaba'的匹配测试
2025-08-07 17:31:08 +08:00
kangfenmao
ffb23909fa fix: remove provider missing worning 2025-08-07 16:31:40 +08:00
kangfenmao
075dfd00ca refactor(HtmlArtifactsPopup): improve preview handling and state synchronization
- Updated internal state synchronization for HTML content and preview.
- Enhanced preview refresh logic to check for content changes every 2 seconds.
- Improved comments for clarity and consistency in English.
2025-08-07 16:31:40 +08:00
one
3211e3db26
fix: lower popup height (#8921) 2025-08-07 16:25:30 +08:00
kangfenmao
ee5e420419 feat(ApiService): enhance chat completion handling with chunk reception
- Added onChunkReceived call to fetchChatCompletion to improve response handling.
- Removed redundant onChunkReceived call from the completion parameters section in fetchChatCompletion.
2025-08-07 15:34:43 +08:00
beyondkmp
d44fa1775c
refactor(ProxyManager): don't filter proxy in system proxy (#8919)
refactor(ProxyManager): streamline proxy configuration and bypass rules handling

- Simplified proxy configuration logic in registerIpc by directly assigning bypass rules.
- Removed redundant bypass rules assignment in ProxyManager, initializing it as an empty array.
- Updated GeneralSettings to conditionally render based on custom proxy mode only.
2025-08-07 15:18:53 +08:00
kangfenmao
87b74db9fc feat(ErrorBlock): enhance error handling with closable alerts and message integration
- Added message prop to ErrorBlock for improved context.
- Implemented closable alerts for error messages, allowing users to remove error blocks.
- Updated MessageErrorInfo component to handle message and block props effectively.
2025-08-07 14:06:32 +08:00
JI4JUN
bcb71f68c0 feat: support 302ai sso (#8887)
* feat: support 302.AI sso

* fix: modified the name of 302.AI provider

* feat: support SSO login functionality for 302.AI
2025-08-07 13:38:23 +08:00
Phantom
18f52f2717
fix(mcp): builtin mcp objects cannot be serialized (#8903)
* fix(mcp): 修复无法序列化的问题

* refactor(i18n): 重构MCP服务器描述的国际化和错误处理

移除MCPServer接口中的descriptionI18nKey字段,改为使用统一的getLabel函数处理国际化
添加getBuiltInMcpServerDescriptionLabel函数集中管理MCP服务器描述
在标签翻译失败时添加错误日志记录

* feat(i18n): 添加 Poe 供应商的多语言支持并重构标签获取逻辑

* refactor(i18n): 优化标签翻译函数中的变量使用

* refactor(i18n): 将参数key重命名为id以提升可读性
2025-08-07 13:36:44 +08:00
kangfenmao
80b2fabea0 refactor(DraggableList): simplify cursor styles and enhance drag handle visibility
- Removed unnecessary cursor styles from draggable items in the VirtualRow component.
- Updated snapshot tests to reflect changes in cursor styles.
- Introduced a new DragHandle component in ProviderSettings for improved drag interaction, with hover effects to enhance user experience.
2025-08-07 13:32:17 +08:00
Phantom
4ce1218d6f
fix: drag providers caused crash (#8906)
* feat(ProviderSettings): 在搜索时禁用列表拖拽功能

当搜索文本不为空时,禁用可拖拽列表的拖拽功能,避免用户在搜索时意外拖动项目

* fix(DraggableList): 修复拖拽列表项在禁用状态下的光标样式

* style(ProviderSettings): 移除列表项的cursor: grab样式

* style(ProviderSettings): 禁止用户选择列表项文本

* fix(ProviderSettings): 为ProviderLogo添加draggable="false"属性防止拖动

* test(DraggableVirtualList): 更新快照测试添加抓取光标样式
2025-08-07 13:19:48 +08:00
Phantom
ea890c41af feat: support gpt-oss (#8908)
* feat(models): 添加gpt-oss到函数调用模型列表

* feat(模型配置): 添加gpt-oss模型logo配置

* fix: 修复OpenAI推理模型判断逻辑

使用getLowerBaseModelName获取模型基础名称后再进行判断,增加对gpt-oss模型的支持
2025-08-07 12:34:53 +08:00
Phantom
3435dfe5e3
fix(settings): reading undefined caused crash (#8901)
* fix(settings): 修复OpenAI推理条件中provider未定义的判断问题

修复useProvider钩子中provider可能为undefined时的模型获取逻辑

* feat(provider): 添加供应商不存在时的默认回退逻辑

当供应商不存在时,自动回退到默认供应商并显示警告信息

* feat(i18n): 添加缺失供应商的警告信息翻译

* fix(SettingsTab): 移除对provider的冗余检查
2025-08-07 12:33:25 +08:00
kangfenmao
6283ffdfe4 fix(HomeTabs): correct tab positioning logic for topic selection 2025-08-07 12:23:16 +08:00
kangfenmao
2cd9418b7a chore: update pdf-parse dependency and exclude specific versions from build 2025-08-07 11:55:59 +08:00
one
c8dbcf7b6d
fix(CodeViewer): conditional contain content (#8898)
* fix(CodeViewer): conditional contain content

* perf: add will-change

* refactor: padding right

* refactor: update will-change
2025-08-07 11:50:17 +08:00
Phantom
8a0570f383
fix(providers): fix conditions (#8899)
fix(providers): 修正多个提供商支持条件的逻辑判断

将逻辑运算符从"||"改为"&&"以正确判断提供商是否支持特定功能
2025-08-07 10:29:44 +08:00
Phantom
3c5fa06d57
fix: handle json string chunk (#8896)
* fix(ai客户端): 处理非JSON格式的响应数据块

添加对非JSON格式响应数据块的解析处理,当解析失败时抛出包含本地化错误信息的异常

* feat(i18n): 添加聊天响应无效数据格式的错误提示和多语言支持

为聊天响应添加无效数据格式的错误提示,并更新多个语言文件以支持该功能
2025-08-07 00:12:52 +08:00
Pleasure1234
ddbf710727
feat: add toggle to disable thinking mode in ThinkingButton (#8856)
Introduces logic to allow users to disable thinking mode directly from the ThinkingButton if supported. Tooltip text now reflects the action to close when thinking is enabled and 'off' is available.
2025-08-06 20:54:35 +08:00
one
d05d1309ca
refactor(Preview,CodeBlock): preview components and tools (#8565)
* refactor(CodeBlockView): generalize tool and preview

Generalize code tool to action tool
- CodeTool -> ActionTool
- usePreviewTools -> useImagePreview
- rename code tool classname from icon to tool-icon

Generalize preview
- move image preview components to Preview dir
- simplify file names

* refactor(useImageTools): simplify implementation, add pan

* refactor(Preview): move image tools to floating toolbar

* refactor: add enableDrag, enable zooming for SvgPreview

* test: add tests for preview components

* feat(Preview): add download buttons to dropdown

* refactor(Preview): remove setTools from preview, improve SvgPreview

* refactor: add useTemporaryValue

* test: add tests for hooks

* test: add tests for CodeToolButton and CodeToolbar

* refactor(PreviewTool): add a setting item to enable preview tools

* test: update snapshot

* refactor: extract more code tools to hooks, add tests

* refactor: extract tools from CodeEditor and CodeViewer

* test: add tests for new tool hooks

* refactor(CodeEditor): change collapsible to expanded, change wrappable to unwrapped

* refactor: migrate codePreview to codeViewer

* docs: CodeBlockView

* refactor: add custom file icons, center the reset button

* refactor: improve code quality

* refactor: improve migration by deprecating codePreview

* refactor: improve PlantUml and svgToCanvas

* fix: plantuml style

* test: fix tests

* fix: button icon

* refactor(SvgPreview): debounce rendering

* feat(PreviewTool): add a dialog tool

* fix: remove isValidPlantUML, improve plantuml rendering

* refactor: extract shadow dom renderer

* refactor: improve plantuml error messages

* test: add tests for ImageToolbar and ImageToolButton

* refactor: add ImagePreviewLayout to simplify layout and tests

* refactor: add useDebouncedRender, update docs

* chore: clean up unused props

* refactor: clean transformation before copy/download/preview

* refactor: update migrate version

* refactor: style refactoring and fixes

- show header background in split view
- fix status bar radius
- reset special view transformation on theme change
- fix wrap tool icon
- add a divider to split view
- improve split view toggling (switch back to previous view)
- revert copy tool to separate tools
- fix top border radius for special views

* refactor: move GraphvizPreview to shadow DOM

- use renderString
- keep renderSvgInShadowHost api consistent with others

* fix: tests, icons, deleted files

* refactor: use ResetIcon in ImageToolbar

* test: remove unnecessary tests

* fix: min height for special preview

* fix: update migrate
2025-08-06 20:09:49 +08:00
fullex
39d96a63ac
chore: add CLAUDE.local.md to .gitignore 2025-08-06 19:43:46 +08:00
Konv Suu
e94458317a
fix(agents): cancel import situation (#8883)
fix(agents): 修复未处理的代理导入情况
2025-08-06 19:27:02 +08:00
beyondkmp
12051811fc
fix(ProxyManager): store original Axios adapter for proxy management (#8875) 2025-08-06 18:15:52 +08:00
chenxue
ef208bf9e5
feat(aihubmix): support gpt oss models (#8884)
Update AihubmixAPIClient.ts

Co-authored-by: zhaochenxue <zhaochenxue@bixin.cn>
2025-08-06 18:09:42 +08:00
kangfenmao
f15a613b16 chore(version): 1.5.4 2025-08-06 14:39:34 +08:00
kangfenmao
4805e07106 Revert "feat(cherry-store): add cherry store (#8683)"
This reverts commit 4d79c96a4b.
2025-08-06 14:29:55 +08:00
MyPrototypeWhat
4d79c96a4b
feat(cherry-store): add cherry store (#8683)
* feat(discover): implement Discover feature with routing and UI components

- Added a new Discover page with sidebar and main content areas.
- Integrated routing for Discover, including subcategories and tabs.
- Created components for Discover sidebar and main content.
- Updated localization files to include new Discover titles and labels.
- Refactored existing components to accommodate the new Discover feature.
- Enhanced sidebar icons and navigation for better user experience.

* feat(discover): enhance Discover page with Tailwind CSS integration and routing improvements

- Added Tailwind CSS import to the entry point for styling.
- Updated the ThemeProvider to dynamically apply Tailwind themes based on user selection.
- Refactored Discover page to utilize new ROUTERS structure for better routing management.
- Simplified category handling in useDiscoverCategories hook by leveraging ROUTERS_ENTRIES.
- Introduced InternalCategory interface for better type management in Discover components.
- Cleaned up unused code and comments for improved readability.

* fix: update import statement for linguist-languages in update-languages.ts

* fix: standardize import quotes and improve localization files

- Updated import statements in use-mobile.ts and motionVariants.ts to use single quotes for consistency.
- Added new localization entries for the "discover" section in multiple language files, including English, Japanese, Russian, Traditional Chinese, Greek, Spanish, French, and Portuguese.

* refactor(discover): simplify Discover page structure and improve routing logic

- Refactored DiscoverPage component to streamline tab and sidebar handling.
- Updated routing logic to utilize a new ROUTERS_MAP for better category management.
- Removed unused props and simplified state management in useDiscoverCategories hook.
- Enhanced DiscoverSidebar and DiscoverMain components for improved clarity and performance.
- Adjusted CherryStoreType enum values for consistency in path definitions.

* fix: update file upload body type in MineruPreprocessProvider

- Changed the body of the fetch request from a Buffer to a Uint8Array to ensure proper handling of binary data during PDF uploads.

* fix: ensure Blob creation uses a copy of byte arrays for image handling

- Updated Blob creation in ImageGenerationMiddleware, ImageViewer, and MessageImage components to use `slice()` on byte arrays, preventing potential mutations of the original data.

* chore: update Vite React SWC plugin and adjust Electron config for conditional styling

- Upgraded `@vitejs/plugin-react-swc` from version 3.9.0 to 3.11.0 for improved performance and features.
- Modified Electron Vite configuration to conditionally apply styled-components plugin based on the VITEST environment variable.
- Updated snapshot tests for `InputEmbeddingDimension` and `Spinner` components to reflect style changes.

* chore: upgrade @swc/plugin-styled-components to version 9.0.2 in package.json and yarn.lock

* refactor: streamline styled-components plugin configuration in Electron Vite setup

- Consolidated the styled-components plugin configuration in the Electron Vite config file for improved readability and maintainability.
- Removed conditional application of the plugin based on the VITEST environment variable, ensuring consistent styling behavior across environments.

* i18n: update translations for discover section across multiple languages

- Replaced placeholder text with accurate translations for the "discover" section in English, Japanese, Russian, Traditional Chinese, Greek, Spanish, French, and Portuguese.
- Ensured consistency in terminology and improved clarity in user-facing messages.

* i18n: update "discover" title translations across multiple languages

- Updated the "discover" title in English, Japanese, Russian, Traditional Chinese, Greek, Spanish, French, and Portuguese to ensure accurate and consistent terminology.
- Adjusted related key mappings in the localization files for improved clarity in user-facing messages.

* chore: update lucide-react to version 0.536.0 and clean up tsconfig paths

* fix: update input style in snapshot tests and format message mentions in MessageContent component
2025-08-06 14:13:31 +08:00
beyondkmp
9e0aa1f3fa
fix(ProxyManager): handle optional currentProxy in system proxy check and log changes (#8865) 2025-08-06 11:19:41 +08:00
Phantom
281c545a8f
feat(model): support step models (#8853)
feat(模型配置): 添加对Step系列模型的支持

添加Step-1o和Step-1v到视觉允许模型列表
新增isStepReasoningModel函数判断Step系列推理模型
2025-08-06 09:58:54 +08:00
Phantom
87e603af31
refactor(providers): support more provider to remove /no_think command for qwen3 (#8855)
* feat(providers): 添加对Qwen3思考模式的支持判断

新增`isSupportQwen3EnableThinkingProvider`函数用于判断提供商是否支持Qwen3的enable_thinking参数控制思考模式

* docs(providers): 添加函数注释说明各提供商的API支持情况

* docs(providers): 修正 stream_options 参数的注释描述
2025-08-05 22:59:25 +08:00
Phantom
c6cc1baae1
fix(models): some qwen3 models cannot disable thinking (#8854)
* fix(models): 修正qwen3模型thinking系列的支持判断

修复qwen3模型中thinking系列不应支持控制思考的逻辑错误

* Revert "fix(models): 修正qwen3模型thinking系列的支持判断"

This reverts commit 189d878dc3.

* feat(OpenAIApiClient): 添加对Qwen3235BA22B模型的支持

处理Qwen3235BA22B模型的特殊逻辑,当检测到该模型时禁用enable_thinking
2025-08-05 22:49:37 +08:00
one
a3b8c722a7
refactor: improve style for antd select virtual list scrollbar (#8841) 2025-08-05 16:16:40 +08:00
Konv Suu
5569ac82da
feat: mini window state management (#8834)
* feat: mini window state management

* update
2025-08-05 15:40:42 +08:00
one
cb2d7c060c
feat(Markdown): enable github markdown alert (#8842) 2025-08-05 14:56:15 +08:00
one
63b126b530
refactor: health check timeout (#8837)
* refactor: enable model edit/remove on checking

* refactor: add timeout setting to healthcheck popup

* fix: type
2025-08-05 11:49:46 +08:00
SuYao
aac4adea1a
feat: disable mask closing for various popups across the application (#8832)
Some checks failed
Nightly Build / cleanup-artifacts (push) Has been cancelled
Nightly Build / check-repository (push) Has been cancelled
Nightly Build / nightly-build (macos-latest) (push) Has been cancelled
Nightly Build / nightly-build (ubuntu-latest) (push) Has been cancelled
Nightly Build / nightly-build (windows-latest) (push) Has been cancelled
Nightly Build / Build-Summary (push) Has been cancelled
* feat: disable mask closing for various popups across the application

- Updated multiple popup components to prevent closing when clicking outside, enhancing user experience and preventing accidental dismissals.
- Affected components include ImportAgentPopup, QuickPhrasesButton, NewAppButton, EditMcpJsonPopup, TopicNamingModalPopup, CustomHeaderPopup, and QuickPhraseSettings.

This change aims to improve the usability of modal dialogs by ensuring users must explicitly confirm or cancel their actions.

* feat: implement click outside to save edits in TopicsTab

- Added a useEffect hook to handle clicks outside the editing input, triggering save on blur.
- Updated onClick behavior for topic items to prevent switching while editing.
- Enhanced cursor style for better user experience during editing.

This change improves the editing experience by ensuring that edits are saved when the user clicks outside the input field.

* feat: integrate in-place editing for topic names in TopicsTab

- Added useInPlaceEdit hook to manage topic name editing, improving user experience.
- Removed previous editing logic and integrated new editing flow with save and cancel functionalities.
- Updated UI interactions to reflect the new editing state, ensuring a smoother editing process.

This change enhances the editing experience by allowing users to edit topic names directly within the list, streamlining the workflow.
2025-08-05 10:55:28 +08:00
Phantom
4f0638ac4f
perf(ApiService): speed up api check (#8830)
* fix(ApiService): 加速api检查

修改createAbortPromise为泛型函数以支持不同类型
在checkApi中添加中止控制器和任务ID管理
当接收到chunk时立即中止请求并验证中止状态

* fix(ApiService): 修复API检查失败时的错误处理

在API检查失败时添加错误处理回调并统一错误消息

* fix(ApiService): 修复API检查中流错误处理逻辑

捕获流处理中的错误并正确抛出,移除冗余的成功状态检查

* fix(ApiService): 为API检查添加超时处理

为embedding模型和普通模型检查添加15秒超时处理,防止长时间无响应
使用Promise.race实现超时控制,并在超时时抛出错误或中止请求

* fix: 修复在finally块中错误移除abortController的问题

将removeAbortController从内部finally块移到外部finally块,确保在API检查完成后正确清理资源
2025-08-05 10:00:28 +08:00
one
028884ded6
refactor: animate auto get dimension (#8831) 2025-08-05 09:55:37 +08:00
kangfenmao
93979e4762 chore: release v1.5.4-rc.3 2025-08-04 23:55:39 +08:00
kangfenmao
ce804ce02b style(ModelList): adjust GroupHeader height and update icon in ModelListItem 2025-08-04 23:41:48 +08:00
Luke Galea
c9837eaa71
feat: add OpenAI o3 model support with enhanced tool calling (#8253)
* feat: add OpenAI o3 model support with enhanced tool calling

- Add o3 and o3-mini model definitions with reasoning effort support
- Implement o3-compatible strict schema validation for MCP tools
- Add comprehensive o3 schema processing with DRY improvements
- Extract reusable schema processing functions for maintainability
- Add 15+ test cases validating o3 strict mode requirements
- Fix schema composition keyword handling with loop-based approach
- Ensure ALL object schemas have complete required arrays for o3
- Support tool calling with proper o3 schema transformations

This enables OpenAI o3 models to work properly with MCP tool calling
while improving code organization and test coverage.

Signed-off-by: Luke Galea <luke@ideaforge.org>

* Remove redundant reference in HtmlArtifactsPopup.tsx

* refactor: move filterProperties to mcp-schema, fix tests

---------

Signed-off-by: Luke Galea <luke@ideaforge.org>
Co-authored-by: one <wangan.cs@gmail.com>
Co-authored-by: suyao <sy20010504@gmail.com>
2025-08-04 23:19:21 +08:00