Chen Tao
1c0e29f029
fix: knowledge encrypted ( #9385 )
2025-08-21 16:58:16 +08:00
Phantom
25d3b519d9
fix(translate): fix translating state management ( #9387 )
...
* fix(translate): 修复翻译状态管理逻辑
调整翻译状态设置的位置,确保在翻译开始和结束时正确更新状态
* fix(translate): 添加缺失的setTranslating属性
* fix(translate): 去除检测语言结果中的空格
检测语言返回的结果可能包含多余空格,导致后续处理出现问题。通过trim()去除前后空格确保结果干净
2025-08-21 16:48:22 +08:00
kangfenmao
39b1332e49
feat(DraggableList): add listProps support for custom list configurations
...
- Enhanced DraggableList component to accept listProps, allowing for customization of the Ant Design List component.
- Updated MCPSettings to utilize the new listProps feature, providing a custom empty state message when no servers are available.
2025-08-21 15:14:27 +08:00
Phantom
0da122281e
fix(AttachmentButton): Add selection state to prevent repeated file selection triggering ( #9379 )
...
fix(AttachmentButton): 添加选择状态防止重复触发文件选择
添加 selecting 状态变量以防止在文件选择过程中重复触发选择操作,避免潜在的文件选择窗口冲突
2025-08-21 15:09:39 +08:00
Phantom
4615e97ad5
fix(translate): improve auto translate language detection ( #9375 )
...
fix(translate): 调整语言检测阈值并增加回退逻辑
当文本较短时使用LLM检测语言,较长时优先使用franc检测
当franc检测失败时回退到LLM检测
同时将LLM检测的文本长度限制从50提高到100
2025-08-21 14:55:11 +08:00
beyondkmp
4dabc214f2
feat: enhance file extension handling in Inputbar ( #9269 )
...
* feat: add isTextFile functionality and improve file selection handling
- Introduced a new IPC channel for checking if a file is a text file.
- Implemented isTextFile method in FileStorage service to determine file type based on content.
- Enhanced AttachmentButton to filter selected files based on text file validation.
- Updated translations to include support for displaying unsupported file counts across multiple languages.
- Added utility functions for text file validation and filtering in file utilities.
* refactor(FileStorage): replace hardcoded buffer size with constant for improved readability
* restore yarn lock
* add isbinaryfile dep
* refactor: 整理导入顺序
* fix(preload): 为isTextFile方法添加返回类型Promise<boolean>
* refactor(FileManager): update getSafePath to use file metadata for path retrieval
- Modified getSafePath method to utilize the path from file metadata instead of a hardcoded file path.
- Enhanced handling for files not stored in the file storage system.
* refactor(FileUtilities): rename text file functions for clarity
- Updated function names from isTextFile to isSupportedFile and filterTextFiles to filterSupportedFiles to better reflect their purpose.
- Adjusted related imports and usages in AttachmentButton and PasteService components to align with the new naming conventions.
* fix drop files
* refactor(MarkdownStyles): remove last-child margin override; adjust MessageFooter margin and clean up unused code in MessageAttachments
* feat(Sidebar): add 'code_tools' icon and route; enhance CodeToolsPage layout with Navbar and improved provider filtering
* feat(CodeTools): add environment variable support for CLI tools; update UI to manage environment variables and enhance localization for related strings
* refactor(Sidebar): remove unused imports and code related to documentation; streamline sidebar functionality
* refactor(SvgPreview): use transparent container for SVG (#9294 )
* refactor(SvgPreview): use transparent container for SVG
* test: fix snapshot
* refactor(CodeToolsService): replace npm package version fetching with direct API call; simplify command construction for installation
* chore: release v1.5.7-rc.1
* refactor(CodeToolsService): adjust command construction for Windows compatibility; streamline installation command handling
* refactor(Markdown): update disallowed elements to include 'script' for enhanced security
* feat: quick model (#9290 )
* refactor(i18n): 将话题命名模型相关文案更新为摘要模型
更新所有语言文件中关于话题命名模型的文案,统一改为摘要模型,以反映功能的扩展和更通用的用途
* refactor(设置页面): 优化主题命名弹窗组件性能
使用useCallback和useMemo优化回调函数和渲染性能
将重复的JSX代码提取为独立组件
* feat(设置): 在模型设置中添加话题命名折叠面板
将话题命名设置从直接显示改为折叠面板形式,提升界面整洁度
* refactor(i18n): 重构话题命名相关翻译字段结构
* docs(i18n): 添加生成图像的高度、宽度和安全容忍度翻译占位符
* fix(settings): 修正主题命名弹窗中的翻译键名
* style(ui): 调整主题命名弹窗的间距和文本区域高度
移除多余的上下边距,并使用自适应高度的文本区域
* refactor(llm): 将 topicNamingModel 重命名为 summaryModel
更新相关函数、状态和测试用例以反映命名变更
增加迁移逻辑处理旧状态数据
更新持久化版本号至133
* fix(ApiService): 优先使用摘要模型替代默认模型
当获取摘要时,优先使用getSummaryModel()返回的模型,其次才是助手指定的模型或默认模型,以确保摘要生成的一致性
* docs(i18n): 更新摘要模型描述中的搜索关键词提炼
将"搜索结果摘要"修改为"搜索关键字提炼"以更准确描述功能
* fix(i18n): 更新多语言翻译文件中的摘要模型相关文本
* feat(i18n): 为摘要模型设置添加工具提示说明
添加摘要模型设置的工具提示,建议用户选择轻量模型而非思考模型
* refactor(i18n): 将摘要模型相关文案更新为快速模型
更新国际化文案和组件引用,将"摘要模型"统一改为"快速模型"以更准确描述功能用途
* feat(i18n): 将摘要模型重命名为快速模型并更新相关描述
* refactor(llm): 将summaryModel重命名为quickModel以提升语义清晰度
* test(api): 在ApiService测试中添加LlmState类型和awsBedrock配置
添加LlmState类型以满足类型检查要求,并补充awsBedrock的mock配置以完善测试覆盖
* Revert "feat(设置): 在模型设置中添加话题命名折叠面板"
This reverts commit 4d58c053da .
* refactor(settings): 重命名并移动 TopicNamingModalPopup 组件文件
将 TopicNamingModalPopup.tsx 重命名为 QuickModelPopup.tsx 并移动到相应目录
* refactor(QuickModelPopup): 优化主题命名设置布局和样式
移除 TopicNamingSettings 组件内联实现,直接整合到 Modal 中
调整间距和样式,提升视觉一致性
修复文本区域 onChange 去除换行的逻辑
* feat(模型设置): 在快速模型弹窗中添加重置按钮图标并调整布局
将重置按钮改为图标形式并内联显示,同时调整输入区域的高度样式
* docs(i18n): 更新快速模型相关翻译文本
* fix: 将迁移错误日志从133更新为134
* style(settings): 替换模型设置中的图标为Rocket图标以提升视觉一致性
* fix: unexpected quitting full screen mode (#9200 )
* fix(Inputbar): 修正拼写错误,将expend改为expand
* fix: 修复Escape键事件冒泡问题并改进全屏处理
修复多个组件中Escape键事件未阻止冒泡的问题
添加全屏控制IPC通道
将全屏退出逻辑移至渲染进程处理
移除主进程中冗余的全屏退出处理代码
* fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect
将键盘事件监听从window移动到Modal容器,避免事件冒泡问题
移除无效的useEffect并更新键盘事件类型定义
* fix(QuickPanel): 拦截window上的keydown事件
* fix(QuickPanel): 修复事件监听器移除时未使用相同参数的问题
* fix(TopView): 修复左侧导航栏布局崩坏问题
* fix: 修正变量名拼写错误,将expended改为expanded
* Revert "fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect"
This reverts commit 4211780b95 .
* feat: use quick model to detect translate language (#9315 )
* refactor(语言检测): 移除翻译模型依赖,改用快速或默认模型
* feat(i18n): 添加希腊语翻译支持
* fix(i18n): 更新i18n
统一将翻译模型提示改为快速模型提示,优化多语言文件中的描述
* Revert "feat(i18n): 添加希腊语翻译支持"
This reverts commit 42613cb2e2 .
* feat: add 'code_tools' to sidebar icons and update related components
* fix: KaTeX math engine render
* feat: 同步百炼服务器功能 (#9205 )
* 同步百炼服务器功能
* cr修改
---------
Co-authored-by: yunze <yunze.wyz@alibaba-inc.com>
* fix(SelectionHook): improve validation for selected text range to handle empty strings and ensure valid extraction (#9329 )
chore: update selection-hook dependency to version 1.0.10 in package.json and yarn.lock
* fix: web search references missing caused by early reset (#9328 )
* feat(openai): handle special tokens for zhipu api (#9323 )
* feat(openai): 添加对智谱特殊token的过滤处理
在OpenAIAPIClient中添加对智谱AI特殊token的过滤逻辑,避免不需要的token被输出
* docs(OpenAIApiClient): 添加注释
* refactor(zhipu): 重命名并更新智谱特殊token处理逻辑
将 ZHIPU_SPECIAL_TOKENS_TO_FILTER 重命名为 ZHIPU_RESULT_TOKENS 以更准确描述用途
修改智谱API特殊token处理逻辑,不再过滤而是用**标记结果token
* feat: support openai codex (#9332 )
* support openai codex
* lint
* refactor: remove unused codeTools enum from constant.ts
* fix build
* fix lin
* fix: add support for qwenCode CLI tool and improve error handling in CodeToolsService
* fix: timeout memory leak (#9312 )
* fix(MinappPopupContainer): 修复内存泄漏问题,清理未使用的定时器
在组件卸载时清理setTimeout定时器,避免潜在的内存泄漏
* fix(SelectModelButton): 修复模型选择后更新导致的卡顿问题
使用useRef存储定时器并在组件卸载时清理,避免内存泄漏
* fix(QuickPanel): 修复定时器未清理导致的内存泄漏问题
添加 clearSearchTimerRef 和 focusTimerRef 来管理定时器
在组件清理和状态变化时清理所有定时器
* fix(useInPlaceEdit): 修复编辑模式下定时器未清理的问题
添加清理定时器的逻辑,避免组件卸载时内存泄漏
* refactor(useKnowledge): 使用ref管理定时器并统一检查知识库逻辑
将分散的setTimeout调用统一为checkAllBases方法
使用useRef管理定时器并在组件卸载时清理
* fix(useScrollPosition): 修复滚动位置恢复时的内存泄漏问题
添加清理函数以清除未完成的定时器,防止组件卸载时内存泄漏
* fix(WebSearchProviderSetting): 清理定时器防止内存泄漏
在组件卸载时清理检查API有效性的定时器,避免潜在的内存泄漏问题
* fix(selection-toolbar): 修复选中文本时定时器未清理的问题
* fix(translate): 修复复制文本时定时器未清理的问题
添加 copyTimerRef 来管理复制操作的定时器,并在组件卸载时清理定时器
* fix(WebSearchSettings): 使用useRef管理订阅验证定时器以避免内存泄漏
* fix(MCPSettings): 修复定时器未清理导致的内存泄漏问题
添加 useRef 来存储定时器引用,并在组件卸载时清理定时器
* refactor(ThinkingBlock): 使用 useTemporaryValue 替换手动 setTimeout
移除手动设置的 setTimeout 来重置 copied 状态,改用 useTemporaryValue hook 自动处理
* refactor(ChatNavigation): 使用 useRef 替代 useState 管理定时器
简化定时器管理逻辑,避免不必要的状态更新
* fix(AddAssistantPopup): 清理创建助手时的定时器以避免内存泄漏
添加useEffect清理定时器,防止组件卸载时内存泄漏
* feat(hooks): 添加useTimer钩子管理定时器
实现一个自定义hook来集中管理setTimeout和setInterval定时器
自动在组件卸载时清理所有定时器防止内存泄漏
* refactor(Inputbar): 使用 useTimer 替换 setTimeout 实现延迟更新
将 setTimeout 替换为 useTimer 的自定义 setTimeoutTimer 方法,提高代码可维护性并统一计时器管理
* refactor(WindowFooter): 使用 useTimer 替换 setTimeout 以管理定时器
* docs(useTimer): 更新定时器hook的注释格式和描述
* feat(hooks): 为useTimer添加返回清理函数的功能
允许从setTimeoutTimer和setIntervalTimer返回清理函数,便于手动清除定时器
* refactor(ImportAgentPopup): 使用useTimer替换setTimeout以管理定时器
* refactor: 使用useTimer替代setTimeout以优化定时器管理
* refactor(SearchResults): 使用useTimer替换setTimeout以管理定时器
* refactor(消息组件): 使用useTimer替换setTimeout以管理定时器
* refactor: 使用useTimer替换setTimeout以优化定时器管理
* refactor(AssistantsDrawer): 使用useTimer替换setTimeout以优化定时器管理
* refactor(Inputbar): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MCPToolsButton): 使用useTimer优化定时器管理
* refactor(QuickPhrasesButton): 使用useTimer替换setTimeout以优化定时器管理
* refactor(ChatFlowHistory): 使用useTimer替换setTimeout以管理定时器
* refactor(Message): 使用useTimer替换setTimeout以管理定时器
* refactor(MessageAnchorLine): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MessageGroup): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MessageMenubar): 使用 useTemporaryValue 替换手动 setTimeout 逻辑
* refactor(Messages): 使用 useTimer 优化定时器管理
* refactor(MessageTools): 使用useTimer替换setTimeout以管理定时器
* fix(SelectionBox): 修复鼠标移动时未清除定时器导致的内存泄漏
在鼠标移动事件处理中增加定时器清理逻辑,避免组件卸载时未清除定时器导致的内存泄漏问题
* refactor(ErrorBlock): 使用自定义hook替换setTimeout
使用useTimer中的setTimeoutTimer替代原生setTimeout,便于统一管理定时器
* refactor(GeneralSettings): 使用useTimer替换setTimeout以实现更好的定时器管理
* refactor(ShortcutSettings): 使用useTimer替换setTimeout以优化定时器管理
* refactor(AssistantModelSettings): 使用useTimer替换setTimeout以优化定时器管理
* refactor(DataSettings): 使用useTimer替换setTimeout以增强定时器管理
统一使用useTimer hook管理所有定时器操作,提高代码可维护性
* refactor(NutstoreSettings): 使用useTimer优化setTimeout管理
替换直接使用setTimeout为useTimer hook的setTimeoutTimer方法,提升定时器管理的可维护性
* refactor(MCPSettings): 使用useTimer替换setTimeout以提升代码可维护性
* refactor(ProviderSetting): 使用useTimer优化setTimeout管理
* refactor(ProviderSettings): 使用 useTimer 替换 setTimeout 以优化定时器管理
* refactor(InputBar): 使用useTimer替换setTimeout以实现更好的定时器管理
* refactor(MessageEditor): 使用useTimer替换setTimeout以管理定时器
使用自定义hook useTimer来替代原生setTimeout,便于统一管理和清理定时器
* docs(useTimer): 添加 useTimer hook 的使用示例和详细说明
* refactor(MinappPopupContainer): 使用useTimer替换setTimeout实现
替换直接使用setTimeout为自定义hook useTimer,简化组件清理逻辑
* refactor(AddAssistantPopup): 使用useTimer替换手动定时器管理
用useTimer钩子替代手动管理定时器,简化代码并提高可维护性
* refactor(WebSearchSettings): 使用 useTimer 替换手动定时器管理
移除手动管理的定时器逻辑,改用 useTimer hook 统一处理
* refactor(WebSearchProviderSetting): 使用自定义hook替代原生定时器
用useTimer hook替换原有的setTimeout和clearTimeout逻辑,提高代码可维护性
* refactor(translate): 使用 useTemporaryValue 替换手动实现的复制状态定时器
* refactor(SelectionToolbar): 使用 useTimer 钩子替换 setTimeout 和 clearTimeout
重构 SelectionToolbar 组件,使用自定义的 useTimer 钩子来管理定时器,提升代码可维护性
清理隐藏时的定时器逻辑,避免内存泄漏
* fix(Translate): update settings into db (#9305 )
* fix(翻译): 修复设置没有储存到db的错误
* fix(translate): 修复自动检测方法设置更新失败的问题
添加错误处理逻辑,当更新自动检测方法设置失败时显示错误信息
* Fix AWS Bedrock models not receiving uploaded document content (#9337 )
* Initial plan
* Add file content processing to AWS Bedrock client convertMessageToSdkParam method
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
* Fix file content format to match other AI clients and update tests
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
* Update src/renderer/src/aiCore/clients/aws/AwsBedrockAPIClient.ts
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
* feat(migrate): initialize default assistant settings if not present (#9303 )
* feat(migrate): update migration logic for version 134; initialize default assistant settings if not present
* Update src/renderer/src/store/migrate.ts
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
---------
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
* feat: support language aliases for code editor (#9336 )
* feat(CodeEditor): support language aliases
* fix: mermaid
* refactor: lookup
* chore: sort package.json
* fix(SelectionHook): [macOS] add type safety to prevent crashes (#9354 )
chore: update selection-hook dependency to version 1.0.11 in package.json and yarn.lock
* fix: sidebar code icon reset bug (#9307 ) (#9333 )
* fix: 修复侧边栏重置时 Code 图标消失的问题 (#9307 )
问题原因:
- types/index.ts 中的 SidebarIcon 类型定义缺少 'code_tools'
- 存在重复的类型定义和常量定义导致不一致
修复内容:
- 在 types/index.ts 的 SidebarIcon 类型中添加 'code_tools'
- 删除 minapps.ts 中重复的 DEFAULT_SIDEBAR_ICONS 常量
- 统一从 @renderer/types 导入 SidebarIcon 类型
- 删除 settings.ts 中重复的 SidebarIcon 类型定义
这确保了在导航栏设置为左侧时,点击侧边栏设置的重置按钮后,
Code 图标能够正确显示。
* refactor: 将侧边栏配置移至 config 目录
根据 code review 建议,将侧边栏相关配置从 store/settings.ts
移动到 config/sidebar.ts,使配置管理更加清晰。
改动内容:
- 创建 config/sidebar.ts 存放侧边栏配置常量
- 更新相关文件的导入路径
- 在 settings.ts 中重新导出以保持向后兼容
- 添加 REQUIRED_SIDEBAR_ICONS 常量便于未来扩展
这个改动保持了最小化原则,不影响现有功能。
* refactor: improve locate highlight animation (#9345 )
* feat(utils): show weekday in date and datetime prompt variables (#9362 )
* feat(utils): 优化日期时间变量替换格式
为 {{date}} 和 {{datetime}} 变量替换添加更详细的格式选项,包括星期、年月日和时间信息
* test(prompt): 更新测试中日期时间的本地化格式
* refactor(CodeToolsPage): simplify CLI tool change handling and optimize provider filtering logic
* fix(newMessage): reduce default display count from 20 to 10
* feat(AssistantService): introduce DEFAULT_ASSISTANT_SETTINGS for consistent assistant configuration and update migration logic for version 136
* chore: release v1.5.7-rc.2
* fix(Markdown/Link): set href to undefined when it's empty (#9343 )
fix(Markdown/Link): 处理空链接时设置href为undefined
* fix(Inputbar): update file handling to use functional state update for setFiles
* refactor(file): update isSupportedFile function to accept filePath instead of FileMetadata for improved clarity and consistency in file handling
---------
Co-authored-by: icarus <eurfelux@gmail.com>
Co-authored-by: kangfenmao <kangfenmao@qq.com>
Co-authored-by: one <wangan.cs@gmail.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
Co-authored-by: alickreborn0 <i@guyi.me>
Co-authored-by: yunze <yunze.wyz@alibaba-inc.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Co-authored-by: caozhiyuan <568022847@qq.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
Co-authored-by: SuYao <sy20010504@gmail.com>
Co-authored-by: Jason Young <44939412+farion1231@users.noreply.github.com>
2025-08-21 14:19:51 +08:00
Phantom
ea6a1752e7
feat: reasoning effort cache ( #9357 )
...
* feat(useAssistant): 修改模型切换时推理努力值回退逻辑
当模型切换时,确保推理努力值回退到模型支持的第一个有效值,并默认开启思考模式。使用useRef优化设置引用,避免不必要的依赖。
* feat(assistant): 添加 reasoning_effort_cache 以保留思考模型设置
当从非思考模型切换回思考模型时,恢复上次使用的 reasoning_effort 值
* fix(assistant): 修复思考模式切换时缓存未正确更新的问题
* fix(useAssistant): 修复模型选项回退逻辑以支持推理模式
当启用推理模式时,回退到支持推理的选项,否则回退到默认选项
* docs(types): 完善 AssistantSettings 类型注释中的 TODO 说明
2025-08-21 14:18:19 +08:00
Phantom
062b3b0a33
feat: search translate history ( #9342 )
...
* feat(翻译历史): 添加搜索翻译历史UI
在翻译历史页面添加搜索框
* feat(翻译历史): 优化搜索功能并添加延迟渲染
- 将搜索逻辑提取为独立函数并使用useDeferredValue优化性能
- 重构类型命名和状态管理
- 格式化日期显示并移入memo计算
* feat(i18n): 为翻译历史添加搜索框占位文本
* refactor(translate): 移除未使用的InputRef引用和inputRef变量
2025-08-21 12:48:27 +08:00
beyondkmp
c5d8ec9c1a
chores: upgrade @types/node to version 22.17.1 and electron to version 37.3.1 in package.json and yarn.lock ( #9364 )
2025-08-21 12:48:12 +08:00
Phantom
1af4a2686b
fix(Markdown/Link): set href to undefined when it's empty ( #9343 )
...
fix(Markdown/Link): 处理空链接时设置href为undefined
2025-08-21 11:02:41 +08:00
kangfenmao
174b9bdc3d
chore: release v1.5.7-rc.2
2025-08-21 10:59:55 +08:00
kangfenmao
84212d0b1d
feat(AssistantService): introduce DEFAULT_ASSISTANT_SETTINGS for consistent assistant configuration and update migration logic for version 136
2025-08-21 10:57:56 +08:00
kangfenmao
6e9b77a97a
fix(newMessage): reduce default display count from 20 to 10
2025-08-21 10:52:12 +08:00
kangfenmao
c93b96a03f
refactor(CodeToolsPage): simplify CLI tool change handling and optimize provider filtering logic
2025-08-21 10:28:44 +08:00
Phantom
a671f95bee
feat(utils): show weekday in date and datetime prompt variables ( #9362 )
...
* feat(utils): 优化日期时间变量替换格式
为 {{date}} 和 {{datetime}} 变量替换添加更详细的格式选项,包括星期、年月日和时间信息
* test(prompt): 更新测试中日期时间的本地化格式
2025-08-21 10:03:07 +08:00
one
0e750c64db
refactor: improve locate highlight animation ( #9345 )
2025-08-21 08:42:20 +08:00
Jason Young
27eef50b9f
fix: sidebar code icon reset bug ( #9307 ) ( #9333 )
...
* fix: 修复侧边栏重置时 Code 图标消失的问题 (#9307 )
问题原因:
- types/index.ts 中的 SidebarIcon 类型定义缺少 'code_tools'
- 存在重复的类型定义和常量定义导致不一致
修复内容:
- 在 types/index.ts 的 SidebarIcon 类型中添加 'code_tools'
- 删除 minapps.ts 中重复的 DEFAULT_SIDEBAR_ICONS 常量
- 统一从 @renderer/types 导入 SidebarIcon 类型
- 删除 settings.ts 中重复的 SidebarIcon 类型定义
这确保了在导航栏设置为左侧时,点击侧边栏设置的重置按钮后,
Code 图标能够正确显示。
* refactor: 将侧边栏配置移至 config 目录
根据 code review 建议,将侧边栏相关配置从 store/settings.ts
移动到 config/sidebar.ts,使配置管理更加清晰。
改动内容:
- 创建 config/sidebar.ts 存放侧边栏配置常量
- 更新相关文件的导入路径
- 在 settings.ts 中重新导出以保持向后兼容
- 添加 REQUIRED_SIDEBAR_ICONS 常量便于未来扩展
这个改动保持了最小化原则,不影响现有功能。
2025-08-21 00:49:42 +08:00
fullex
8297546ed7
fix(SelectionHook): [macOS] add type safety to prevent crashes ( #9354 )
...
chore: update selection-hook dependency to version 1.0.11 in package.json and yarn.lock
2025-08-21 00:21:14 +08:00
one
4e54733d38
feat: support language aliases for code editor ( #9336 )
...
* feat(CodeEditor): support language aliases
* fix: mermaid
* refactor: lookup
* chore: sort package.json
2025-08-21 00:03:27 +08:00
SuYao
bd9b34b9a0
feat(migrate): initialize default assistant settings if not present ( #9303 )
...
* feat(migrate): update migration logic for version 134; initialize default assistant settings if not present
* Update src/renderer/src/store/migrate.ts
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
---------
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
2025-08-21 00:01:03 +08:00
caozhiyuan
b1e843973c
Fix AWS Bedrock models not receiving uploaded document content ( #9337 )
...
* Initial plan
* Add file content processing to AWS Bedrock client convertMessageToSdkParam method
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
* Fix file content format to match other AI clients and update tests
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
* Update src/renderer/src/aiCore/clients/aws/AwsBedrockAPIClient.ts
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
2025-08-20 18:26:38 +08:00
Phantom
11b130736c
fix(Translate): update settings into db ( #9305 )
...
* fix(翻译): 修复设置没有储存到db的错误
* fix(translate): 修复自动检测方法设置更新失败的问题
添加错误处理逻辑,当更新自动检测方法设置失败时显示错误信息
2025-08-20 17:42:33 +08:00
Phantom
25531ecd76
fix: timeout memory leak ( #9312 )
...
* fix(MinappPopupContainer): 修复内存泄漏问题,清理未使用的定时器
在组件卸载时清理setTimeout定时器,避免潜在的内存泄漏
* fix(SelectModelButton): 修复模型选择后更新导致的卡顿问题
使用useRef存储定时器并在组件卸载时清理,避免内存泄漏
* fix(QuickPanel): 修复定时器未清理导致的内存泄漏问题
添加 clearSearchTimerRef 和 focusTimerRef 来管理定时器
在组件清理和状态变化时清理所有定时器
* fix(useInPlaceEdit): 修复编辑模式下定时器未清理的问题
添加清理定时器的逻辑,避免组件卸载时内存泄漏
* refactor(useKnowledge): 使用ref管理定时器并统一检查知识库逻辑
将分散的setTimeout调用统一为checkAllBases方法
使用useRef管理定时器并在组件卸载时清理
* fix(useScrollPosition): 修复滚动位置恢复时的内存泄漏问题
添加清理函数以清除未完成的定时器,防止组件卸载时内存泄漏
* fix(WebSearchProviderSetting): 清理定时器防止内存泄漏
在组件卸载时清理检查API有效性的定时器,避免潜在的内存泄漏问题
* fix(selection-toolbar): 修复选中文本时定时器未清理的问题
* fix(translate): 修复复制文本时定时器未清理的问题
添加 copyTimerRef 来管理复制操作的定时器,并在组件卸载时清理定时器
* fix(WebSearchSettings): 使用useRef管理订阅验证定时器以避免内存泄漏
* fix(MCPSettings): 修复定时器未清理导致的内存泄漏问题
添加 useRef 来存储定时器引用,并在组件卸载时清理定时器
* refactor(ThinkingBlock): 使用 useTemporaryValue 替换手动 setTimeout
移除手动设置的 setTimeout 来重置 copied 状态,改用 useTemporaryValue hook 自动处理
* refactor(ChatNavigation): 使用 useRef 替代 useState 管理定时器
简化定时器管理逻辑,避免不必要的状态更新
* fix(AddAssistantPopup): 清理创建助手时的定时器以避免内存泄漏
添加useEffect清理定时器,防止组件卸载时内存泄漏
* feat(hooks): 添加useTimer钩子管理定时器
实现一个自定义hook来集中管理setTimeout和setInterval定时器
自动在组件卸载时清理所有定时器防止内存泄漏
* refactor(Inputbar): 使用 useTimer 替换 setTimeout 实现延迟更新
将 setTimeout 替换为 useTimer 的自定义 setTimeoutTimer 方法,提高代码可维护性并统一计时器管理
* refactor(WindowFooter): 使用 useTimer 替换 setTimeout 以管理定时器
* docs(useTimer): 更新定时器hook的注释格式和描述
* feat(hooks): 为useTimer添加返回清理函数的功能
允许从setTimeoutTimer和setIntervalTimer返回清理函数,便于手动清除定时器
* refactor(ImportAgentPopup): 使用useTimer替换setTimeout以管理定时器
* refactor: 使用useTimer替代setTimeout以优化定时器管理
* refactor(SearchResults): 使用useTimer替换setTimeout以管理定时器
* refactor(消息组件): 使用useTimer替换setTimeout以管理定时器
* refactor: 使用useTimer替换setTimeout以优化定时器管理
* refactor(AssistantsDrawer): 使用useTimer替换setTimeout以优化定时器管理
* refactor(Inputbar): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MCPToolsButton): 使用useTimer优化定时器管理
* refactor(QuickPhrasesButton): 使用useTimer替换setTimeout以优化定时器管理
* refactor(ChatFlowHistory): 使用useTimer替换setTimeout以管理定时器
* refactor(Message): 使用useTimer替换setTimeout以管理定时器
* refactor(MessageAnchorLine): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MessageGroup): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MessageMenubar): 使用 useTemporaryValue 替换手动 setTimeout 逻辑
* refactor(Messages): 使用 useTimer 优化定时器管理
* refactor(MessageTools): 使用useTimer替换setTimeout以管理定时器
* fix(SelectionBox): 修复鼠标移动时未清除定时器导致的内存泄漏
在鼠标移动事件处理中增加定时器清理逻辑,避免组件卸载时未清除定时器导致的内存泄漏问题
* refactor(ErrorBlock): 使用自定义hook替换setTimeout
使用useTimer中的setTimeoutTimer替代原生setTimeout,便于统一管理定时器
* refactor(GeneralSettings): 使用useTimer替换setTimeout以实现更好的定时器管理
* refactor(ShortcutSettings): 使用useTimer替换setTimeout以优化定时器管理
* refactor(AssistantModelSettings): 使用useTimer替换setTimeout以优化定时器管理
* refactor(DataSettings): 使用useTimer替换setTimeout以增强定时器管理
统一使用useTimer hook管理所有定时器操作,提高代码可维护性
* refactor(NutstoreSettings): 使用useTimer优化setTimeout管理
替换直接使用setTimeout为useTimer hook的setTimeoutTimer方法,提升定时器管理的可维护性
* refactor(MCPSettings): 使用useTimer替换setTimeout以提升代码可维护性
* refactor(ProviderSetting): 使用useTimer优化setTimeout管理
* refactor(ProviderSettings): 使用 useTimer 替换 setTimeout 以优化定时器管理
* refactor(InputBar): 使用useTimer替换setTimeout以实现更好的定时器管理
* refactor(MessageEditor): 使用useTimer替换setTimeout以管理定时器
使用自定义hook useTimer来替代原生setTimeout,便于统一管理和清理定时器
* docs(useTimer): 添加 useTimer hook 的使用示例和详细说明
* refactor(MinappPopupContainer): 使用useTimer替换setTimeout实现
替换直接使用setTimeout为自定义hook useTimer,简化组件清理逻辑
* refactor(AddAssistantPopup): 使用useTimer替换手动定时器管理
用useTimer钩子替代手动管理定时器,简化代码并提高可维护性
* refactor(WebSearchSettings): 使用 useTimer 替换手动定时器管理
移除手动管理的定时器逻辑,改用 useTimer hook 统一处理
* refactor(WebSearchProviderSetting): 使用自定义hook替代原生定时器
用useTimer hook替换原有的setTimeout和clearTimeout逻辑,提高代码可维护性
* refactor(translate): 使用 useTemporaryValue 替换手动实现的复制状态定时器
* refactor(SelectionToolbar): 使用 useTimer 钩子替换 setTimeout 和 clearTimeout
重构 SelectionToolbar 组件,使用自定义的 useTimer 钩子来管理定时器,提升代码可维护性
清理隐藏时的定时器逻辑,避免内存泄漏
2025-08-20 16:38:13 +08:00
beyondkmp
332ba5d678
feat: support openai codex ( #9332 )
...
* support openai codex
* lint
* refactor: remove unused codeTools enum from constant.ts
* fix build
* fix lin
* fix: add support for qwenCode CLI tool and improve error handling in CodeToolsService
2025-08-20 15:46:44 +08:00
Phantom
1da1721ec2
feat(openai): handle special tokens for zhipu api ( #9323 )
...
* feat(openai): 添加对智谱特殊token的过滤处理
在OpenAIAPIClient中添加对智谱AI特殊token的过滤逻辑,避免不需要的token被输出
* docs(OpenAIApiClient): 添加注释
* refactor(zhipu): 重命名并更新智谱特殊token处理逻辑
将 ZHIPU_SPECIAL_TOKENS_TO_FILTER 重命名为 ZHIPU_RESULT_TOKENS 以更准确描述用途
修改智谱API特殊token处理逻辑,不再过滤而是用**标记结果token
2025-08-20 15:11:07 +08:00
one
f8120c2ebb
fix: web search references missing caused by early reset ( #9328 )
2025-08-20 13:25:22 +08:00
fullex
cdca8c0ed7
fix(SelectionHook): improve validation for selected text range to handle empty strings and ensure valid extraction ( #9329 )
...
chore: update selection-hook dependency to version 1.0.10 in package.json and yarn.lock
2025-08-20 13:00:56 +08:00
alickreborn0
4f2b1e23a9
feat: 同步百炼服务器功能 ( #9205 )
...
* 同步百炼服务器功能
* cr修改
---------
Co-authored-by: yunze <yunze.wyz@alibaba-inc.com>
2025-08-20 11:26:38 +08:00
kangfenmao
47f49532c6
fix: KaTeX math engine render
2025-08-20 11:12:42 +08:00
kangfenmao
cffaf99b17
feat: add 'code_tools' to sidebar icons and update related components
2025-08-20 10:56:44 +08:00
Phantom
973ece9eb9
feat: use quick model to detect translate language ( #9315 )
...
* refactor(语言检测): 移除翻译模型依赖,改用快速或默认模型
* feat(i18n): 添加希腊语翻译支持
* fix(i18n): 更新i18n
统一将翻译模型提示改为快速模型提示,优化多语言文件中的描述
* Revert "feat(i18n): 添加希腊语翻译支持"
This reverts commit 42613cb2e2 .
2025-08-20 10:07:10 +08:00
Phantom
a21fc91915
fix: unexpected quitting full screen mode ( #9200 )
...
* fix(Inputbar): 修正拼写错误,将expend改为expand
* fix: 修复Escape键事件冒泡问题并改进全屏处理
修复多个组件中Escape键事件未阻止冒泡的问题
添加全屏控制IPC通道
将全屏退出逻辑移至渲染进程处理
移除主进程中冗余的全屏退出处理代码
* fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect
将键盘事件监听从window移动到Modal容器,避免事件冒泡问题
移除无效的useEffect并更新键盘事件类型定义
* fix(QuickPanel): 拦截window上的keydown事件
* fix(QuickPanel): 修复事件监听器移除时未使用相同参数的问题
* fix(TopView): 修复左侧导航栏布局崩坏问题
* fix: 修正变量名拼写错误,将expended改为expanded
* Revert "fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect"
This reverts commit 4211780b95 .
2025-08-19 21:32:53 +08:00
Phantom
80dfcf05a7
feat: quick model ( #9290 )
...
* refactor(i18n): 将话题命名模型相关文案更新为摘要模型
更新所有语言文件中关于话题命名模型的文案,统一改为摘要模型,以反映功能的扩展和更通用的用途
* refactor(设置页面): 优化主题命名弹窗组件性能
使用useCallback和useMemo优化回调函数和渲染性能
将重复的JSX代码提取为独立组件
* feat(设置): 在模型设置中添加话题命名折叠面板
将话题命名设置从直接显示改为折叠面板形式,提升界面整洁度
* refactor(i18n): 重构话题命名相关翻译字段结构
* docs(i18n): 添加生成图像的高度、宽度和安全容忍度翻译占位符
* fix(settings): 修正主题命名弹窗中的翻译键名
* style(ui): 调整主题命名弹窗的间距和文本区域高度
移除多余的上下边距,并使用自适应高度的文本区域
* refactor(llm): 将 topicNamingModel 重命名为 summaryModel
更新相关函数、状态和测试用例以反映命名变更
增加迁移逻辑处理旧状态数据
更新持久化版本号至133
* fix(ApiService): 优先使用摘要模型替代默认模型
当获取摘要时,优先使用getSummaryModel()返回的模型,其次才是助手指定的模型或默认模型,以确保摘要生成的一致性
* docs(i18n): 更新摘要模型描述中的搜索关键词提炼
将"搜索结果摘要"修改为"搜索关键字提炼"以更准确描述功能
* fix(i18n): 更新多语言翻译文件中的摘要模型相关文本
* feat(i18n): 为摘要模型设置添加工具提示说明
添加摘要模型设置的工具提示,建议用户选择轻量模型而非思考模型
* refactor(i18n): 将摘要模型相关文案更新为快速模型
更新国际化文案和组件引用,将"摘要模型"统一改为"快速模型"以更准确描述功能用途
* feat(i18n): 将摘要模型重命名为快速模型并更新相关描述
* refactor(llm): 将summaryModel重命名为quickModel以提升语义清晰度
* test(api): 在ApiService测试中添加LlmState类型和awsBedrock配置
添加LlmState类型以满足类型检查要求,并补充awsBedrock的mock配置以完善测试覆盖
* Revert "feat(设置): 在模型设置中添加话题命名折叠面板"
This reverts commit 4d58c053da .
* refactor(settings): 重命名并移动 TopicNamingModalPopup 组件文件
将 TopicNamingModalPopup.tsx 重命名为 QuickModelPopup.tsx 并移动到相应目录
* refactor(QuickModelPopup): 优化主题命名设置布局和样式
移除 TopicNamingSettings 组件内联实现,直接整合到 Modal 中
调整间距和样式,提升视觉一致性
修复文本区域 onChange 去除换行的逻辑
* feat(模型设置): 在快速模型弹窗中添加重置按钮图标并调整布局
将重置按钮改为图标形式并内联显示,同时调整输入区域的高度样式
* docs(i18n): 更新快速模型相关翻译文本
* fix: 将迁移错误日志从133更新为134
* style(settings): 替换模型设置中的图标为Rocket图标以提升视觉一致性
2025-08-19 20:39:52 +08:00
kangfenmao
0368583cfc
refactor(Markdown): update disallowed elements to include 'script' for enhanced security
2025-08-19 18:11:20 +08:00
kangfenmao
c5554995dd
refactor(CodeToolsService): adjust command construction for Windows compatibility; streamline installation command handling
2025-08-19 18:10:10 +08:00
kangfenmao
70cc1c4a32
chore: release v1.5.7-rc.1
2025-08-19 17:38:24 +08:00
kangfenmao
2ace9ba492
refactor(CodeToolsService): replace npm package version fetching with direct API call; simplify command construction for installation
2025-08-19 17:30:07 +08:00
one
cc8915842a
refactor(SvgPreview): use transparent container for SVG ( #9294 )
...
* refactor(SvgPreview): use transparent container for SVG
* test: fix snapshot
2025-08-19 17:22:05 +08:00
kangfenmao
2e2cfc2409
refactor(Sidebar): remove unused imports and code related to documentation; streamline sidebar functionality
2025-08-19 16:42:20 +08:00
kangfenmao
2265ecab21
feat(CodeTools): add environment variable support for CLI tools; update UI to manage environment variables and enhance localization for related strings
2025-08-19 16:39:50 +08:00
kangfenmao
29d4e37f6b
feat(Sidebar): add 'code_tools' icon and route; enhance CodeToolsPage layout with Navbar and improved provider filtering
2025-08-19 15:38:03 +08:00
kangfenmao
e0bc3bb2c5
refactor(MarkdownStyles): remove last-child margin override; adjust MessageFooter margin and clean up unused code in MessageAttachments
2025-08-19 13:53:46 +08:00
one
6d602d5d48
fix: MentionModelsButton re-rendering ( #9296 )
2025-08-19 13:46:29 +08:00
Phantom
1e7718162d
feat(ProviderSetting): add tooltip for api options ( #9292 )
...
feat(ProviderSetting): 为API选项按钮添加工具提示说明
添加工具提示以解释按钮功能,提升用户体验
2025-08-19 12:59:29 +08:00
one
e3c52a6174
fix(ImagePreview): add relaxed sanitize rules for svg ( #9293 )
2025-08-19 12:58:45 +08:00
one
585e49ac65
fix: svg rendering ( #9291 )
...
* fix: svg max-width
* fix: disable sanitizer
2025-08-19 12:21:48 +08:00
kangfenmao
86545f4fff
refactor(i18n): remove 'enable_delete_model' translations from multiple language files and related settings; streamline Inputbar and SettingsTab components by eliminating backspace delete model functionality.
2025-08-19 12:19:41 +08:00
Konv Suu
b57ec9fe70
fix: update invalid link ( #9285 )
...
* fix: update invalid link
* update
2025-08-19 12:15:53 +08:00
kangfenmao
b96af0fdef
fix(useAssistant): ensure safe access to assistant settings and update reasoning effort handling logic
2025-08-19 11:55:22 +08:00
kangfenmao
b0ea7ad71c
feat(i18n): integrate internationalization for minapp names across multiple languages; update minapp configuration to use localized names for better user experience.
2025-08-19 11:39:36 +08:00