Commit Graph

4865 Commits

Author SHA1 Message Date
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
Zhaokun
d41e239b89
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-25 22:07:10 +01:00
icarus
b82b16b5f6 style(ui): update button hover background color to use CSS variable
Consistent hover state styling across components by using --color-list-item variable instead of accent color
2025-09-26 05:01:06 +08:00
icarus
ebdd90b235 feat(SessionsTab): add animation and styling based on topic and navbar position
Add motion animation and conditional border styling to SessionsTab component based on topicPosition and navbarPosition settings
2025-09-26 04:57:25 +08:00
icarus
5c8e06ed94 style(components): update button styling in AgentItem and SessionItem
- Change hover background color and add shadow in AgentItem
- Use cn utility for className in SessionItem
- Update height and background color for active state in SessionItem
2025-09-26 04:37:30 +08:00
icarus
f4e4586fbc refactor(SelectAgentModelButton): replace styled-components with tailwind classes
Simplify component styling by removing styled-components in favor of tailwind utility classes
2025-09-26 04:11:48 +08:00
icarus
fab1d29c83 fix: prevent model update when same model is selected 2025-09-26 04:06:17 +08:00
icarus
de9cb2fbdb feat(model-selection): add api model selection support for agents
- Introduce SelectAgentModelButton component for agent model selection
- Add SelectApiModelPopup for displaying and selecting API models
- Implement apiModelAdapter to convert API models to adapted format
- Add model filtering by agent type in agentSession utils
- Update model select components to use new API model selection
2025-09-26 04:04:23 +08:00