Commit Graph

4872 Commits

Author SHA1 Message Date
icarus
e737f71932 feat(i18n): add unnamed translation and use in session creation
Add "unnamed" translation in both zh-cn and en-us locales
Use the translation as default name when creating new sessions
2025-09-27 18:28:08 +08:00
icarus
9ec6e5f771 fix(ui): add delay and closeDelay props to Tooltip in SessionItem
Improve user experience by adding a small delay before showing tooltip and removing the close delay
2025-09-27 18:24:13 +08:00
icarus
4647688613 fix(SessionItem): prevent event propagation when clicking delete
Stop click event propagation to avoid unintended parent component interactions when deleting a session
2025-09-27 18:10:08 +08:00
icarus
bc0f283278 fix(sessions): reset topic fulfilled state when switching sessions
Reset the topic fulfilled state when switching between sessions to ensure proper state management. Also remove redundant state update from SessionItem's onPress handler.
2025-09-27 18:09:43 +08:00
icarus
aadadf8353 fix(session): remove redundant fulfilled dispatch and add loading indicators
Remove the redundant dispatch of setTopicFulfilled in messageThunk since it's now handled in SessionItem. Add visual indicators for pending and fulfilled states in SessionItem to improve user feedback.
2025-09-27 18:03:42 +08:00
icarus
d0a0685fc1 fix(agent): update error message for empty accessible paths 2025-09-27 17:39:03 +08:00
icarus
ba7d5f53e5 feat(i18n): add anthropic api host translations and permission mode fields
Add new translation fields for Anthropic API host configuration and permission mode settings in both zh-cn and en-us locales
2025-09-27 17:36:25 +08:00
icarus
86dde5dc0f feat(agents): improve error handling and form validation in agent management
- Add getErrorMessage utility for consistent error message formatting
- Enhance addAgent to return Result type for better error handling
- Add disallowEmptySelection to form dropdowns
- Reset loading state on errors in AgentModal
2025-09-27 17:32:19 +08:00
icarus
a5ceceeca3 refactor(SessionItem): replace delete button as a div to avoid nested button 2025-09-27 17:17:39 +08:00
icarus
fcfda90d5a Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-27 17:02:34 +08:00
icarus
2ccfde1ba4 feat(agent): add emoji avatar support and refactor avatar handling
- Rename getAgentAvatar to getAgentDefaultAvatar for clarity
- Add EmojiAvatarWithPicker component for emoji selection
- Update AgentLabel to support both default and emoji avatars
- Add AvatarSetting component for avatar configuration
- Modify agent configuration schema to support emoji avatars
2025-09-27 17:02:29 +08:00
Vaayne
ae1c1409e1 feat(ChatNavbar): add session workspace metadata display in navbar 2025-09-27 16:53:49 +08:00
icarus
b46237296e style: change no-unused-vars rule from error to warn 2025-09-27 15:52:03 +08:00
icarus
8c06d2f706 refactor(AgentSettings): remove unused ModelSetting component 2025-09-27 15:27:20 +08:00
icarus
1b705edb06 feat(model-selection): add model type filtering to exclude embedding/rerank/image models
Add modelFilter parameter to SelectApiModelPopup to exclude embedding, rerank and text-to-image models from selection. This ensures only appropriate models are shown based on agent type requirements.
2025-09-27 15:11:16 +08:00
icarus
42435e8f76 refactor(agent): update useUpdateAgent hook and related components
- Refactor useUpdateAgent to return both updateAgent and updateModel functions
- Update all components using useUpdateAgent to use the new hook structure
- Improve model selection by reusing SelectAgentModelButton component
- Add pagination support to useApiModels hook
2025-09-27 15:05:26 +08:00
icarus
3111979bb4 feat(components): replace spans with Ellipsis for model labels
Use Ellipsis component to handle text overflow in model labels for better readability
2025-09-27 14:27:19 +08:00
icarus
56580e3fac Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-27 14:19:06 +08:00
icarus
7084b8d429 style(AgentItem): add background color to session count chip 2025-09-27 14:19:00 +08:00
icarus
8b0e8506c2 feat(SessionItem): add confirmation for session deletion with keyboard shortcut
Add a confirmation step before deleting a session, including a tooltip showing the keyboard shortcut. Uses a timer to automatically cancel the confirmation after 3 seconds.
2025-09-27 14:17:43 +08:00
Vaayne
4d133d59ea feat: enhance Anthropic API support for compatible providers
- Add support for anthropicApiHost configuration in providers
- Improve model filtering for Anthropic-compatible providers
- Add isAnthropicModel function to validate Anthropic models
- Update ClaudeCode service to support compatible providers
- Enhance logging and error handling in API routes
- Fix model transformation and validation logic
2025-09-27 14:10:47 +08:00
Vaayne
35b885798b Add Anthropic API Host support for compatible providers
- Add `anthropicApiHost` field to Provider type - Update provider config
and migration to set Anthropic endpoints - Add UI for configuring
Anthropic API Host in provider settings - Update SDK client logic to use
Anthropic API Host when available - Add i18n strings for Anthropic API
Host configuration
2025-09-27 14:10:47 +08:00
Vaayne
ae9e12b276 feat: add slash command functionality to agent services 2025-09-27 14:10:47 +08:00
Vaayne
8018ac1a97 feat(agent): add optional avatar and slash_commands to AgentConfigurationSchema 2025-09-27 14:10:47 +08:00
icarus
f429e3fc01 style(ui): move lucide icon color rule and add warning icon to caution text
Move the lucide icon color rule into the media query block for consistency.
Add AlertTriangleIcon to caution text in AgentModal for better visual warning.
2025-09-27 13:55:01 +08:00
icarus
6c63146556 refactor(SessionItem): replace className with isActive prop for better readability
Use isActive prop instead of className to control active state styling
Add dynamic background color based on topicPosition setting
2025-09-27 13:46:26 +08:00
icarus
29242154d0 feat(AgentItem): add session count chip for active agents
Display active session count as a chip next to agent name when agent is active
2025-09-27 13:38:21 +08:00
icarus
ccc5e830d7 refactor(Sessions): remove unused index parameter and delay from animation
Simplify animation by removing unused index parameter and delay calculation
2025-09-27 13:27:10 +08:00
Phantom
adf10f6ea1 style(settings): remove unnecessary padding from ContentContainer (#10379) 2025-09-27 10:04:34 +08:00
Zhaokun
26a6ff871f feat: improve content protection during file operations (#10378)
* feat: improve content protection during file operations

- Add validation for knowledge base configuration before saving
- Enhance error handling for note content reading
- Implement content backup and restoration during file rename
- Add content verification after rename operations
- Improve user feedback with specific error messages

* fix: format check

---------

Co-authored-by: 自由的世界人 <3196812536@qq.com>
2025-09-27 10:04:34 +08:00
MyPrototypeWhat
d1e85f964d fix(websearch): handle blocked domains conditionally in web search (#10374)
fix(websearch): handle blocked domains conditionally in web search configurations

- Updated the handling of blocked domains in both Google Vertex and Anthropic web search configurations to only include them if they are present, improving robustness and preventing unnecessary parameters from being passed.
2025-09-27 10:04:34 +08:00
kangfenmao
8d041438fd chore: remove cherryin provider references and update versioning
- Commented out all references to the 'cherryin' provider in configuration files.
- Updated the version in the persisted reducer from 157 to 158.
- Added migration logic to remove 'cherryin' from the state during version 158 migration.
2025-09-27 10:04:34 +08:00
Zhaokun
c6dc1810e9 Fix slash newline (#10305)
* Fix slash menu Shift+Enter newline

* fix: enable Shift+Enter newline in rich editor with slash commands

Fixed an issue where users couldn't create new lines using Shift+Enter when
slash command menu (/foo) was active. The problem was caused by globa
keyboard event handlers intercepting all Enter key variants.

Changes:
 - Allow Shift+Enter to pass through QuickPanel event handling
 - Add Shift+Enter detection in CommandListPopover to return false
 - Implement fallback Shift+Enter handling in command suggestion render
 - Remove unused import in AppUpdater.ts
 - Convert Chinese comments to English in QuickPanel
- Add test coverage for command suggestion functionality

---------

Co-authored-by: Zhaokun Zhang <zhaokunzhang@Zhaokuns-Air.lan>
2025-09-27 10:02:40 +08:00
Phantom
dabfb8dc0e
style(settings): remove unnecessary padding from ContentContainer (#10379) 2025-09-26 17:50:00 +08:00
Zhaokun
4aa9c9f225
feat: improve content protection during file operations (#10378)
* feat: improve content protection during file operations

- Add validation for knowledge base configuration before saving
- Enhance error handling for note content reading
- Implement content backup and restoration during file rename
- Add content verification after rename operations
- Improve user feedback with specific error messages

* fix: format check

---------

Co-authored-by: 自由的世界人 <3196812536@qq.com>
2025-09-26 17:49:24 +08:00
Vaayne
fa394576bb Refine agent permissions UI & translations 2025-09-26 17:36:46 +08:00
Vaayne
5c1ac376e6 fix(AgentConfigurationSchema): update default max_turns to 100 2025-09-26 16:32:12 +08:00
icarus
88e77aa116 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-26 14:41:07 +08:00
icarus
4e9340f551 fix(useAgents): add missing dependencies to useCallback hook 2025-09-26 14:41:01 +08:00
kangfenmao
0648a1f567 refactor(assistants): rename agents to assistants and update related components
- Updated references from 'agents' to 'assistants' across various components and hooks.
- Changed i18n keys to reflect the new terminology for better clarity.
- Removed the deprecated agents slice and integrated its functionality into the assistants slice.
- Adjusted UI components to align with the new naming conventions for assistant presets.
2025-09-26 14:37:12 +08:00
icarus
4b1f7db506 fix(AgentSessionInputbar): add agent model to dependency array
Ensure the component re-renders when agent model changes to maintain consistency with session data
2025-09-26 14:33:35 +08:00
icarus
0be2177937 fix(chat): handle agent and session state changes properly
update activeAgentId type to allow null and reset state when deleting agent
add validation for missing agent/session in UI components
2025-09-26 14:31:56 +08:00
icarus
c52cc5a94f style(sessions): update styling and add scrollbar props to DynamicVirtualList
- Change class name from agents-tab to sessions-tab and add flex layout
- Add overflowX hidden and autoHideScrollbar props to DynamicVirtualList
2025-09-26 14:01:16 +08:00
icarus
947695fdc7 feat(sessions): replace manual list with virtual list for better performance 2025-09-26 13:54:27 +08:00
icarus
75296babe3 style(SessionsTab): adjust overflow styling for cleaner appearance 2025-09-26 13:54:22 +08:00
icarus
c9381d672e style(SessionsTab): adjust overflow styling for better scroll behavior 2025-09-26 13:50:44 +08:00
icarus
67fa5df611 style(SessionsTab): add overflow-auto to improve scroll behavior 2025-09-26 13:49:56 +08:00
MyPrototypeWhat
52a980f751
fix(websearch): handle blocked domains conditionally in web search (#10374)
fix(websearch): handle blocked domains conditionally in web search configurations

- Updated the handling of blocked domains in both Google Vertex and Anthropic web search configurations to only include them if they are present, improving robustness and preventing unnecessary parameters from being passed.
2025-09-26 12:10:28 +08:00
kangfenmao
3b7ab2aec8 chore: remove cherryin provider references and update versioning
- Commented out all references to the 'cherryin' provider in configuration files.
- Updated the version in the persisted reducer from 157 to 158.
- Added migration logic to remove 'cherryin' from the state during version 158 migration.
2025-09-26 10:36:17 +08:00
icarus
122e4a10d0 refactor(api): improve session messages path handling by returning object with base and withId
Simplify deleteSessionMessage implementation by using the new paths object structure
2025-09-26 05:44:23 +08:00