Commit Graph

3739 Commits

Author SHA1 Message Date
Vaayne
45961d2eda Merge remote-tracking branch 'origin/main' into feat/agents-new 2025-09-25 23:35:29 +08:00
icarus
5c7784622e fix(AgentEssentialSettings): handle undefined name and description states
Ensure proper handling of undefined values for agent name and description by making state types optional. Also update the updateName function to handle optional name input.
2025-09-25 23:21:11 +08:00
kangfenmao
8bcd229849 feat: enhance model filtering based on supported endpoint types
- Updated CodeToolsPage to include checks for supported endpoint types for various CLI tools.
- Added 'cherryin' to GEMINI_SUPPORTED_PROVIDERS and updated CLAUDE_SUPPORTED_PROVIDERS to include it.
- Improved logic for determining model compatibility with selected CLI tools, enhancing overall functionality.
2025-09-25 22:11:29 +08:00
MyPrototypeWhat
05a318225c
refactor(reasoning): simplify reasoning time tracking by removing unu… (#10360)
* refactor(reasoning): simplify reasoning time tracking by removing unused variables and logic

- Removed hasStartedThinking and reasoningBlockId variables as they are no longer needed.
- Updated onThinkingComplete callback to eliminate final_thinking_millsec parameter, streamlining the function.

* refactor(thinking): streamline thinking millisecond tracking and update event handling

- Removed unused thinking_millsec parameter from onThinkingComplete and adjusted related logic.
- Updated AiSdkToChunkAdapter to simplify reasoning-end event handling by removing unnecessary properties.
- Modified integration tests to reflect changes in thinking event structure.
2025-09-25 19:06:25 +08:00
one
caad0bc005
fix: svg foreignobject in code blocks (#10339)
* fix: svg foreignobject in code blocks

* fix: set white-space explicitly
2025-09-25 18:02:06 +08:00
beyondkmp
067ecb5e8e
style: update UpdateNotesWrapper to use markdown class for improved formatting (#10359) 2025-09-25 09:07:27 +01:00
kangfenmao
3088887e57 Merge branch 'main' into feat/agents-new 2025-09-25 15:02:52 +08:00
beyondkmp
0f8cbeed11
fix(translate): remove unused effect for clearing translation contenton mount (#10349)
* fix(translate): remove unused effect for clearing translation content on mount

* format code
2025-09-25 13:44:17 +08:00
SuYao
a3a26c69c5
fix: seed think (#10322)
* fix: 添加 seedThink 标签以支持新的模型识别

* Enable reasoning for SEED-OSS models

- Add SEED-OSS model ID check to reasoning exclusion logic
- Include SEED-OSS models in reasoning model detection

* fix: 更新 reasoning-end 事件处理以使用最终推理内容
2025-09-25 10:55:31 +08:00
Johnny.H
2bafc53b25
Show loading icon when chat is in streaming (#10319)
* support chat stream loading rendering

* support chat stream loading rendering

* update loading icon to dots

* fix format

---------

Co-authored-by: suyao <sy20010504@gmail.com>
2025-09-24 23:27:07 +08:00
icarus
14f14b75b0 fix(home-tabs): correct conditional rendering of topic and settings tabs
Ensure tabs are only shown when isTopicView is true and simplify the tab labels by removing conditional rendering
2025-09-24 19:24:36 +08:00
icarus
77351b7691 refactor(home-tabs): improve tab view logic readability
Extract topic view check into separate variable for clarity
Rename canShowSettingsTab to shouldShowSettingsTab for better semantics
2025-09-24 19:21:40 +08:00
icarus
b28fadd02f feat(AgentSettings): add description field to agent essential settings 2025-09-24 18:49:51 +08:00
icarus
63fa70863c refactor(AgentSessionInputbar): use agent model instead of session model for consistency
Use agent's model information instead of session's to maintain consistency across the application. The model ID format changed from "sessionId:modelId" to "provider:modelId" and the model object is now constructed using the actual model details from the agent.
2025-09-24 18:41:51 +08:00
George·Dong
09e9b95e08
fix(reasoning): thinking control for ds v3.1 of tencent platform (#10333)
* feat(reasoning): add Hunyuan and Tencent TI thinking config

* fix: style

* fix(reasoning): merge same type providers
2025-09-24 18:38:13 +08:00
icarus
11a76ae90f fix(AgentModal): improve modal layout and fix description field position
Adjust modal height and overflow behavior
Move description textarea below prompt field for better logical flow
2025-09-24 18:27:26 +08:00
kangfenmao
bf2ffb7465 chore: bump version to v1.6.0-rc.5 and update release notes 2025-09-24 18:06:25 +08:00
kangfenmao
287c96ea2e feat: implement isNewApiProvider utility for provider identification
- Added isNewApiProvider function to streamline checks for 'new-api' and 'cherryin' providers.
- Updated ApiClientFactory, providerConfig, and various components to utilize isNewApiProvider for improved readability and maintainability.
- Refactored conditional checks across multiple files to replace direct string comparisons with the new utility function.
2025-09-24 16:39:23 +08:00
kangfenmao
adacb8c638 style: update padding and width in various components for improved layout
- Adjusted padding in TabsBar and Navbar components to enhance spacing.
- Updated ItemRenderer and Sortable components to accept itemStyle prop for custom styling.
- Changed NotesSidebar scroll behavior from 'smooth' to 'instant'.
- Modified MCP server card width to 100% for better responsiveness.
- Set wrapperStyle and itemStyle to 100% width in McpServersList for consistent item display.
2025-09-24 16:31:25 +08:00
George·Dong
ec4d106a59
fix(minapps): openMinApp function doesn't work properly (#10308)
* feat(minapps): support temporary minapps

* feat(settings): use openSmartMinApp with app logo to open docs sites

* refactor(icons): replace styled img with tailwind

* feat(tab): tighten types

* feat(tab): use minapps cache and log missing entries

* test(icons): update MinAppIcon snapshot to reflect class and attrs
2025-09-24 14:19:06 +08:00
Phantom
fe0c0fac1e
fix(assistant): enforce id requirement when updating assistant (#10321)
* fix(assistant): enforce id requirement when updating assistant

Ensure assistant id is always provided when updating assistant properties by making it a required field in the update payload. This prevents potential bugs where updates might be applied to wrong assistants.

* refactor(useAssistant): simplify updateAssistant callback by removing redundant id

Update InputbarTools to use simplified callback signature
2025-09-24 12:24:28 +08:00
beyondkmp
f05b884646 use fork instead of spawn 2025-09-24 11:08:43 +08:00
icarus
8e163b8f17 Merge branch 'main' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-24 03:28:54 +08:00
icarus
6950b6f1e7 feat(session-item): add in-place editing for session names
- Implement double-click to edit session names directly in the list
- Add loading state during save operation
- Update useInPlaceEdit hook to support async operations and saving state
- Adjust styling to accommodate new edit input field
2025-09-24 03:21:00 +08:00
icarus
0e35224787 refactor(SessionModal): remove unused model selection code and related imports
clean up unused model selection logic and dependencies that are no longer needed in the session modal component
2025-09-24 02:17:43 +08:00
icarus
e5a84a2e84 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-24 02:14:57 +08:00
Vaayne
e6e43dbcca feat: conditionally render settings tab based on session view 2025-09-23 23:35:41 +08:00
icarus
1f1086ed7b style(AgentAdvanceSettings): adjust width styling for maxTurns input 2025-09-23 22:28:42 +08:00
icarus
0a80fc5517 refactor(hooks): improve scroll position hook with timer utility
- Replace setTimeout with useTimer utility for better cleanup
- Add throttleWait parameter for configurable scroll throttling
- Update documentation to reflect changes
2025-09-23 22:20:35 +08:00
kangfenmao
37218eef4f feat: enable cherryin provider 2025-09-23 20:19:05 +08:00
kangfenmao
3b34efd33a feat(settings): update MCP server card layout and styling
- Adjusted the width of the CardContainer to dynamically calculate based on viewport width.
- Changed the layout of the McpServersList from grid to list, with a vertical orientation and updated styling for list items.
2025-09-23 19:49:41 +08:00
kangfenmao
cc650b58d3 feat(privacy): add English and Chinese privacy policy pages and popup component
- Introduced new HTML files for the privacy policy in English and Chinese.
- Implemented a PrivacyPopup component to display the privacy policy within the application.
- The popup dynamically loads the appropriate language based on user settings and includes options to accept or decline the policy.
2025-09-23 19:49:41 +08:00
jo1yne06
a847b74c32
feat: add new provider aionly (#10179)
* feat: add new provider aionly

* fix(store): update migration to properly add 'aionly' provider in v156

Move 'aionly' provider addition from v155 to v156 migration to ensure proper state initialization

---------

Co-authored-by: fengjunhao <765838796@qq.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
Co-authored-by: icarus <eurfelux@gmail.com>
Co-authored-by: 亢奋猫 <kangfenmao@qq.com>
2025-09-23 19:49:24 +08:00
MyPrototypeWhat
a3c638946e feat(tools): enhance type definitions for agent tools
- Added detailed JSDoc comments for clarity on tool input types, including ReadToolInput, TaskToolInput, BashToolInput, and others.
- Introduced new input types such as ListMcpResourcesToolInput and ReadMcpResourceToolInput to expand functionality.
- Improved existing types to ensure better documentation and usability for developers.
2025-09-23 18:02:44 +08:00
suyao
ede2b75cd0
feat: 移除特性标志相关代码,简化消息存储逻辑 2025-09-23 17:40:29 +08:00
suyao
34ab01e0a1
Merge branch 'feat/agents-new' of https://github.com/CherryHQ/cherry-studio into feat/agents-new 2025-09-23 17:34:47 +08:00
suyao
b493172090
feat: 添加提取会话ID的功能并更新消息发送逻辑 2025-09-23 17:34:23 +08:00
Vaayne
6bcd941cc6 feat: Implement delete message functionality and validation in session messages 2025-09-23 16:08:52 +08:00
MyPrototypeWhat
305a454ffd feat(tools): add new agent tools for enhanced functionality
- Introduced new tools: EditTool, MultiEditTool, BashOutputTool, NotebookEditTool, and ExitPlanModeTool.
- Updated MessageTool to support new tool types.
- Enhanced ReadTool to handle output as an array of text outputs.
- Improved type definitions to accommodate new tools and their inputs/outputs.
2025-09-23 14:47:58 +08:00
GitHub Action
dfc593f2e1 fix(i18n): Auto update translations for PR #10096 2025-09-23 06:05:52 +00:00
icarus
b50203f85d Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-23 14:04:54 +08:00
icarus
e2a0792e2d feat(AgentToolingSettings): improve modal styling and accessibility
- Add text color classes to modal title and list items for better visibility
- Apply background and border styling to modal content
- Use modal hook pattern for consistency
2025-09-23 14:03:13 +08:00
icarus
b7d97cca69 style(AgentToolingSettings): improve warning message layout and search input width 2025-09-23 13:36:15 +08:00
suyao
7cdc80c3e2
Merge branch 'feat/agents-new' of https://github.com/CherryHQ/cherry-studio into feat/agents-new 2025-09-23 13:25:27 +08:00
GitHub Action
59b6cbc23c fix(i18n): Auto update translations for PR #10096 2025-09-23 04:32:42 +00:00
Vaayne
21c436d900 refactor: Clean up JSON structure and improve readability in locale files 2025-09-23 12:23:10 +08:00
icarus
87f3628b49 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-23 12:19:53 +08:00
icarus
27b315bcca style(AgentSection): add margin bottom to agents tab container 2025-09-23 12:19:47 +08:00
Vaayne
1ec81f9e75 Merge remote-tracking branch 'origin/feat/agents-new' into feat/agents-new 2025-09-23 12:16:58 +08:00
Vaayne
087e757f9f feat: Refactor agent settings and introduce tooling permissions
- Translated and reorganized Russian language JSON for tooling and permissions.
- Removed deprecated MCP and tool settings components.
- Introduced new AgentToolingSettings component to manage tooling permissions and MCP servers.
- Updated AgentSettings index to reflect new tooling settings structure.
- Enhanced agent configuration schema to include permission modes with default values.
2025-09-23 11:59:43 +08:00
icarus
ce955e3ee9 refactor(AgentEssentialSettings): replace antd Select with custom Select component
The antd Select component was replaced with a custom Select component from @heroui/react to improve consistency with the design system. This change also simplifies the model selection logic by removing the need for manual option mapping.
2025-09-23 11:45:36 +08:00
icarus
4ddada4de8 refactor(AgentToolSettings): wrap Alert component in div for better structure
Improve component structure by wrapping Alert in a div element to maintain consistent layout and styling
2025-09-23 11:19:00 +08:00
icarus
164386a337 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-23 11:15:44 +08:00
icarus
d4d2510834 feat(agent): add AllowedToolsSelect component and integrate into forms
extract tool selection logic into reusable component to reduce code duplication and improve maintainability
2025-09-23 11:13:11 +08:00
GitHub Action
46a5ea88f3 fix(i18n): Auto update translations for PR #10096 2025-09-23 02:35:34 +00:00
Vaayne
7ca9dcd2fb ♻️ refactor: improve agent tool approval UI with dedicated settings tab
- Move tool selection from essential settings to dedicated "Pre-approved tools" tab
- Update terminology from "Allowed tools" to "Pre-approved tools" for clarity
- Add new AgentToolSettings component with enhanced card-based layout
- Include warning alert about pre-approved tools bypassing review
- Update all language files with new terminology and translation keys
- Add i18n sync guidance to CLAUDE.md development commands
2025-09-23 10:31:41 +08:00
Vaayne
9c679ede20 feat(agent): add advanced configuration settings 2025-09-23 10:31:41 +08:00
Vaayne
60c85b651f feat: add MCP server support for agents
- Add MCP server configuration UI for agent settings
- Update agent and session forms to include MCP server selection
- Fix MCP API service logging and tools handling
- Add Chinese localization for MCP settings
- Update type definitions to support MCP server arrays

This enables agents to use MCP (Model Control Protocol) servers
as additional tools and capabilities in their execution context.
2025-09-23 10:31:40 +08:00
icarus
73895b5f4b feat(agents): enhance model handling with filters and styling
- Add filter support to useApiModel hook for provider-specific models
- Improve ApiModelLabel with customizable classNames for styling
- Update ChatNavbar to use filtered models for agents
2025-09-23 10:30:53 +08:00
icarus
3e2acde9e2 feat(SessionModal): add multiline support for tools selection
Enable multiline display for the tools selection dropdown to improve visibility when multiple tools are selected
2025-09-23 10:19:24 +08:00
suyao
a1d8f3eb0f
Implement InputbarTools registry system for tool management
- Add ToolDefinition interface and registry mechanism with dependency injection
- Create InputbarToolsProvider for shared state management (files, mentionedModels, etc.)
- Migrate existing tools to registry-based definitions and simplify component props
2025-09-23 06:15:33 +08:00
suyao
75660766db
feat: 将日志级别从 info 更改为 silly,以增强调试信息的详细程度 2025-09-23 06:06:29 +08:00
suyao
53a6c70eca
feat: 添加条件渲染以隐藏假助手的设置组,优化用户界面 2025-09-23 06:04:25 +08:00
suyao
da18ff3d48
feat: 优化工具名称和描述的样式,增强可读性;添加 TopicType 支持到导出测试 2025-09-23 05:49:08 +08:00
suyao
4a671a9bc2
feat: 添加输入框统一计划文档,定义配置层和共享UI组件的任务 2025-09-23 05:37:45 +08:00
suyao
ae1839ac33
feat: 添加代理会话初始化钩子并在相关组件中使用 2025-09-23 05:19:00 +08:00
suyao
56dbe6b050
feat: 添加消息菜单栏配置和按钮渲染逻辑 2025-09-23 05:05:31 +08:00
suyao
f5a41e9c78
feat: add agent session renaming functionality based on message summary 2025-09-23 04:10:37 +08:00
suyao
f65149af19
Merge branch 'feat/agents-new' of https://github.com/CherryHQ/cherry-studio into feat/agents-new 2025-09-23 03:38:00 +08:00
suyao
affef443b6
feat: improve block merging logic in message updates 2025-09-23 03:36:04 +08:00
suyao
e40e1d0b36
feat: refactor message persistence and block update logic for agent sessions 2025-09-23 03:18:17 +08:00
Vaayne
14638b7470 feat: add tool selection functionality for agents and sessions
Add comprehensive tool management UI allowing users to select which tools are pre-approved for agents and sessions. Includes multi-select dropdowns with tool descriptions, proper validation, and internationalization support across 10+ languages.

- Add tool selection UI to AgentModal, SessionModal, and AgentEssentialSettings
- Extend BaseAgentForm and related types with allowed_tools field
- Implement tool validation and filtering logic
- Add i18n support for tool selection labels and descriptions
- Include visual chip-based display for selected tools
2025-09-23 00:21:27 +08:00
Vaayne
49e4667410 fix: resolve lint findings in renderer 2025-09-23 00:21:27 +08:00
MyPrototypeWhat
7631d9d730 feat(Tools): add WebFetchTool and update tool rendering logic
- Introduced WebFetchTool for fetching web content with specified prompts and URLs.
- Updated MessageTool to include WebFetch in the tool rendering options.
- Enhanced BashTool and TaskTool to improve display of input and output information.
- Refactored GenericTools for better parameter display and consistency across tools.
- Adjusted types to include WebFetchTool input and output definitions.
2025-09-22 23:47:51 +08:00
suyao
1b8bb568b1
Merge branch 'refactor/agent-assistant-unified' into feat/agents-new 2025-09-22 23:14:46 +08:00
suyao
18da9a19fd
chore: remove docs 2025-09-22 23:12:46 +08:00
suyao
7fdae0173c
Implement file reference count cleanup with deleteIfZero support
- Update DexieMessageDataSource to delete files when count reaches zero and deleteIfZero is true
- Add deleteIfZero parameter to MessageDataSource interface and all implementations
- Modify updateFileCountV2 thunk to pass deleteIfZero parameter through DbService
2025-09-22 23:12:08 +08:00
suyao
c872707791
Remove TODO.md and update DbService file count interface
- Delete TODO.md as the unified data layer implementation is complete
- Remove unsupported deleteIfZero parameter from updateFileCountV2 call
2025-09-22 23:08:08 +08:00
suyao
a0cab3341e
Refactor message loading in useSession hook to use centralized thunk
- Replace manual message loading logic with loadTopicMessagesThunk for better caching
- Remove unused imports and local state management
- Simplify useEffect dependencies and loading flow
2025-09-22 23:05:33 +08:00
beyondkmp
25c5d671dc
fix(assistant): update translate assistant content handling for QwenMT model (#10306)
* fix(assistant): update translate assistant content handling for QwenMT model

- Adjusted content assignment in getDefaultTranslateAssistant to use store settings only when the model is not a QwenMT model, ensuring correct translation behavior.

* lint err

* refactor(assistant): encapsulate content handling logic for translation

- Introduced a new function, getTranslateContent, to streamline content assignment in getDefaultTranslateAssistant.
- This change improves readability and maintains correct translation behavior for QwenMT models.

* format code
2025-09-22 23:04:57 +08:00
suyao
035001f841
Ensure session messages are properly restored when switching sessions
- Add Redux selector to check for existing messages in store
- Always reload messages to Redux when session data is available
- Add effect to restore messages when component mounts if missing from Redux
2025-09-22 22:53:57 +08:00
suyao
f533c1a2ca
Refactor agent session messages to use shared hook and implement batch deletion
- Replace manual Redux logic with `useTopicMessages` hook for consistent message loading behavior
- Add `deleteMessages` method to message data sources with proper block and file cleanup
- Update `DbService` to delegate batch deletion to appropriate data source implementations
2025-09-22 22:50:45 +08:00
suyao
e5aa58722c
Optimize agent message streaming with throttled persistence
- Prevent unnecessary message reloads by checking existing messages before loading session messages
- Implement LRU cache and throttled persistence for streaming agent messages to reduce backend load
- Add streaming state detection and proper cleanup for complete messages to improve performance
2025-09-22 22:29:03 +08:00
suyao
8645fe4ab1
Remove persistExchange functionality and simplify agent session handling
- Delete persistExchange method from all data sources and DbService
- Remove unused Topic import and MessageExchange type dependencies
- Simplify agent session existence check to validate sessionId directly
- Make getRawTopic required in MessageDataSource interface
2025-09-22 22:03:47 +08:00
suyao
15f216b050
Implement agent session message persistence and streaming state management
- Add comprehensive solution documentation for status persistence and streaming state
- Implement message update functionality in AgentMessageDataSource for agent sessions
- Remove redundant persistAgentExchange logic to eliminate duplicate saves
- Streamline message persistence flow to use appendMessage and updateMessageAndBlocks consistently
2025-09-22 21:46:40 +08:00
suyao
b4df5bbb13
Fix agent session message persistence by saving messages immediately
- Modify AgentMessageDataSource.appendMessage to save messages to backend immediately instead of waiting for response completion
- Add proper error handling and logging for message persistence operations
- Create comprehensive test documentation covering V2 database service scenarios
2025-09-22 21:06:16 +08:00
suyao
a17a198912
Add V2 database service integration with feature flag support
- Integrate V2 implementations for message operations (save, update, delete, clear) with feature flag control
- Add topic creation fallback in DexieMessageDataSource when loading non-existent topics
- Create integration status documentation tracking completed and pending V2 migrations
- Update Topic type to include TopicType enum for proper topic classification
2025-09-22 20:40:53 +08:00
MyPrototypeWhat
939782ac4e
refactor(Tools): replace MCPToolResponse with NormalToolResponse in m… (#10303)
* refactor(Tools): replace MCPToolResponse with NormalToolResponse in message tools and add new agent tools

- Updated MessageKnowledgeSearch, MessageMemorySearch, and MessageWebSearch components to use NormalToolResponse.
- Refactored MessageTool to handle NormalToolResponse and simplified tool rendering logic.
- Introduced new agent tools: BashTool, GlobTool, GrepTool, ReadTool, SearchTool, TaskTool, and TodoWriteTool with corresponding types and renderers.
- Enhanced type safety by updating tool response types in the codebase.

* fix(i18n): Auto update translations for PR #10303

* chunk type

* refactor(migration): renumber migration steps after removing step 155

Remove unused migration step 155 and renumber subsequent steps to maintain sequence

* fix(store): prevent mutation of assistant presets by using spread operator

* fix(store): ignore ts-2589 false positives and refactor preset updates

Refactor assistant preset updates to use forEach instead of map for consistency
Add ts-ignore comments for TypeScript false positives in store operations

* Fix tool result handling and session creation flow

- Populate toolName in tool-result chunks from contentBlockState
- Add onSessionCreated callback to SessionModal for post-creation actions
- Return created session from useSessions hook and update SWR cache optimistically

* Fix toolName reference in ClaudeCode message transformation

- Correctly reference toolName from contentBlockState using blockKey instead of block.tool_use_id
- Ensure proper tool result chunk generation when handling assistant messages
- Maintain consistent data structure for tool call processing

* Fix toolName reference and add stream event logging

- Correct toolName lookup to use tool_use_id instead of blockKey in tool-result chunks
- Add debug logging for stream event handling
- Update contentBlockState key to use event.content_block.id for tool_use events

* Add debug logging for message content blocks

- Log each content block when processing user or assistant messages
- Maintain existing switch case logic for text block handling
- Improve debugging visibility for multi-block message processing

* get toolName

* chore: bump version to 1.7.0-alpha.1

* fix(getSdkClient): add authToken to anthropic client initialization for claude code

* Update transform.ts

* Refactor logging levels in transform.ts and adjust JSON body parser configuration in app.ts

* refactor(sessions): simplify session creation by removing modal and using direct button

The SessionModal component was removed and replaced with a direct button click handler that creates a session using the agent data. Also added error handling to display an alert when session fetching fails.

* feat(agents): add api server check and warning for agent features

- Add api server enabled check in multiple components
- Show warning alert when api server is disabled
- Add dismissable warning in AgentSection
- Disable send button when api server is disabled
- Add iknow state to store dismissed warnings

* feat(i18n): add warning message for enabling API server

Add warning message in multiple languages to inform users they need to enable API server to use agent features

* feat(sessions): make session creation async and set active session

Dispatch active session id after successful creation to ensure UI reflects current state

* feat(sessions): add session waiting state and improve deletion handling

- Add sessionWaiting state to track updating/deleting sessions
- Extract updateSession logic into separate hook
- Improve session deletion with waiting state and fallback session selection
- Disable session items during deletion to prevent duplicate actions

* feat(i18n): add error message for last session deletion

Add error message to prevent deletion of the last session in all supported languages

* fix(i18n): Auto update translations for PR #10096

* fix(i18n): Auto update translations for PR #10096

* feat(tools): add WriteTool and update tool rendering logic

- Introduced WriteTool for handling file writing operations.
- Updated MessageAgentTools to include the new WriteTool in the tool renderers.
- Refactored existing tools to streamline rendering and improve code clarity.
- Enhanced BashTool and TaskTool to better display input and output information.

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: suyao <sy20010504@gmail.com>
Co-authored-by: icarus <eurfelux@gmail.com>
Co-authored-by: Vaayne <liu.vaayne@gmail.com>
2025-09-22 19:53:10 +08:00
suyao
7e369bef00
Merge branch 'feat/agents-new' into refactor/agent-assistant-unified 2025-09-22 19:45:23 +08:00
suyao
c3adcf663f
Merge branch 'feat/agents-new' of https://github.com/CherryHQ/cherry-studio into feat/agents-new 2025-09-22 19:24:54 +08:00
suyao
373b2fcd78
feat: abort 2025-09-22 19:24:20 +08:00
GitHub Action
c9d1e30f8b fix(i18n): Auto update translations for PR #10096 2025-09-22 10:49:01 +00:00
icarus
761b57a834 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-22 18:48:17 +08:00
icarus
632871b2f8 feat(i18n): add error message for last session deletion
Add error message to prevent deletion of the last session in all supported languages
2025-09-22 18:48:11 +08:00
icarus
52f00f08f2 feat(sessions): add session waiting state and improve deletion handling
- Add sessionWaiting state to track updating/deleting sessions
- Extract updateSession logic into separate hook
- Improve session deletion with waiting state and fallback session selection
- Disable session items during deletion to prevent duplicate actions
2025-09-22 18:47:24 +08:00
suyao
1d5761b1fd
WIP 2025-09-22 18:32:19 +08:00
icarus
42dbc6555c feat(sessions): make session creation async and set active session
Dispatch active session id after successful creation to ensure UI reflects current state
2025-09-22 17:55:21 +08:00
GitHub Action
b237d9d38d fix(i18n): Auto update translations for PR #10096 2025-09-22 09:50:47 +00:00
icarus
1e9a811065 feat(i18n): add warning message for enabling API server
Add warning message in multiple languages to inform users they need to enable API server to use agent features
2025-09-22 17:49:55 +08:00
icarus
3c12f9052e feat(agents): add api server check and warning for agent features
- Add api server enabled check in multiple components
- Show warning alert when api server is disabled
- Add dismissable warning in AgentSection
- Disable send button when api server is disabled
- Add iknow state to store dismissed warnings
2025-09-22 17:48:05 +08:00