Commit Graph

4992 Commits

Author SHA1 Message Date
Phantom
9776b4e46c
fix(sidebar): replace 'agents' with 'store' in sidebar (#10989)
refactor(sidebar): replace 'agents' with 'store' in sidebar icons and labels

Update sidebar icon mapping and translation keys to use 'store' instead of 'agents' for consistency with the application's terminology. The change includes both the label definitions and the icon component mapping.
2025-10-27 20:35:12 +08:00
SuYao
250f59234b
feat: add isClaude45ReasoningModel function and update getTopP logic (#10988)
* feat: add isClaude45ReasoningModel function and update getTopP logic

* fix: update getTopP logic to correctly handle Claude45 model support

* fix: update getTemperature and getTopP logic to handle Claude45 model conditions

* fix: update getTemperature logic to correctly handle Claude45 model conditions
fix: refine isClaude45ReasoningModel regex pattern for better matching
2025-10-27 20:34:11 +08:00
SuYao
82132d479a
feat: add huggingface provider (#10966)
* Refactor code structure for improved readability and maintainability

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

* fix: add empty array for huggingface models in SYSTEM_MODELS

* feat: integrate HuggingFace provider and enhance reasoning options

* fix: remove debug console logs from provider options functions

---------

Co-authored-by: GitHub Action <action@github.com>
2025-10-27 13:30:23 +08:00
fullex
44e01e5ad4
chore: add CODEOWNERS for databases directories 2025-10-27 09:35:08 +08:00
Xin Rui
c5ce0b763b
fix: up-down button does not hide properly in some cases (#10693)
* fix: simplify navigation button auto-hide logic

Remove complex state management (isNearButtons, resetHideTimer) and rely directly
on isInTriggerArea to control button visibility. This fixes the issue where buttons
don't properly auto-hide by using mouse position detection instead of fragile state tracking.

- Simplify showNavigation to just show and clear timers
- Remove resetHideTimer function and use showNavigation directly
- Simplify handleNavigationMouseLeave to always schedule hide after 500ms
- Update all button handlers to call showNavigation() instead of resetHideTimer()
- Rely on mouse enter/leave events to control visibility state

* refactor(ChatNavigation): replace native setTimeout with custom useTimer hook

Use custom useTimer hook for better timer management and cleanup

---------

Co-authored-by: icarus <eurfelux@gmail.com>
2025-10-26 23:09:46 +08:00
Phantom
f5a1d3f8d0
fix(hooks): prevent save on composing enter key in useInPlaceEdit (#10972) 2025-10-26 17:45:31 +08:00
Phantom
d8f1a68e87
ci(i18n): update translation config to use TRANSLATION_BASE_LOCALE (#10965)
Change BASE_LOCALE to TRANSLATION_BASE_LOCALE across scripts and workflows for consistency
Add console log for base locale in auto-translate script
2025-10-26 15:58:54 +08:00
Phantom
8054ed7ad8
fix: disappeared MCP button (#10956)
* refactor(types): add InputBarToolType and update related types

- Define InputBarToolType union type in chat types
- Update ToolOrder and InputToolsState to use InputBarToolType
- Modify InputbarTools component to use new type for tool keys

* refactor(assistants): use DEFAULT_ASSISTANT_SETTINGS constant for default settings

* fix(assistants): ensure default settings for presets in migration

Add default settings for assistant presets during migration if they are missing, including toolUseMode
2025-10-26 11:58:38 +08:00
Phantom
487b5c4d8a
fix(aiCore): support minimax-m2 (#10962)
* fix(aiCore): add minimax-m2 to reasoning model check and correct comment

* feat(models): add minimax-m2 to function calling models list

* feat(models): add isMiniMaxReasoningModel helper function

Add helper function to check for MiniMax reasoning models and update isReasoningModel to use it
2025-10-26 02:29:52 +08:00
Phantom
dedfc79406
ci(auto-i18n): disable package manager cache for node setup (#10957)
* ci(github): disable package manager cache for node setup

* refactor(i18n): translate sync script comments to english

Update all Chinese comments and log messages in sync-i18n.ts to English for better international collaboration

* style(scripts): format error message string in sync-i18n.ts
2025-10-26 00:15:25 +08:00
Phantom
1f0fd8215a
docs: update PR template and README with feature PR restrictions (#10955)
* docs: update PR template and README with feature PR restrictions

Add temporary hold notice for Redux/IndexedDB feature PRs in both pull request template and README
Fix whitespace and formatting inconsistencies in README

* docs: update contributing guidelines with temporary PR restrictions

Add important notice about temporary restrictions on data-changing feature PRs
Clarify acceptable contribution types during v2.0.0 development phase

* docs: remove warning about feature PR restrictions

The warning about temporary restrictions on feature PRs involving Redux or IndexedDB changes has been removed as it is no longer relevant

* docs: remove core developer membership section from contributing guides
2025-10-26 00:14:27 +08:00
defi-failure
e69fd7f22b
fix: create assistant causing blank screen (#10853)
* fix: create or update assistant causing blank screen

* fix: remove redundant type annotation

* fix: improve logging

* fix: remove redundant check

* fix(migration): move presets initialization to migration 166

The initialization of assistants.presets was incorrectly placed in migration 164. Move it to a new migration 166 to ensure proper state initialization after versions 1.6.5 and 1.7.0-beta.2.

---------

Co-authored-by: icarus <eurfelux@gmail.com>
2025-10-25 21:10:37 +08:00
SuYao
ac4aa33e79
fix: azure gpt-image-1 and openrouter gemini-image (#10797)
* fix: azure gpt-image-1 and openroute gemini-image

* feat: update encoding format handling for embeddings based on model type

* fix: normalize model ID check for Azure OpenAI GPT-Image-1-Mini

* feat: enhance regex for gemini-2.5-flash-image in image enhancement models

* feat: 支持处理 base64 格式的图片 URL 在消息转换中

* feat: 更新消息转换函数以支持图像增强模型的特殊处理

* fix: update model handling in AzureOpenAI and Embeddings classes

* fix: update OpenAI package version to 6.5.0

* fix: remove outdated OpenAI package patch for version 6.4.0

* fix: remove outdated OpenAI package entry from yarn.lock
2025-10-25 16:18:18 +08:00
Jake Jia
6795a044fa
feat(miniapp): add HuggingChat mini app (#10923)
* feat(miniapp): add HuggingChat mini app

- Add HuggingChat to default mini apps list
- Update HuggingChat SVG icon with official design

* chore(migration): add migration for HuggingChat mini app

- Add migration version 165 to add HuggingChat to existing users
- Update store version from 163 to 165

* fix(migrate): log error during mini app migration
2025-10-25 10:24:37 +08:00
SuYao
13093bb821
fix: optimize excluded websites handling in xai provider configuration (#10894) 2025-10-24 15:10:59 +08:00
Phantom
c7c9e1ee44
fix: use system prompt variables in quick assistant (#10925)
* feat: replace prompt variables in assistant before chat completion

* refactor(home-window): reorder prompt variable replacement for clarity

Move prompt variable replacement before message preparation to improve logical flow
2025-10-24 13:58:37 +08:00
beyondkmp
369b367562
feat(AppMenuService): enhance application menu with help section and others (#10934)
* feat(AppMenuService): enhance application menu with help section and others

* format

* fix german
2025-10-24 13:57:52 +08:00
Phantom
0081a0740f
fix(InputbarTools): allow url context for gemini endpoint type model (#10926)
fix(InputbarTools): allow url context for gemini endpoint type

Add condition to check for gemini endpoint type when determining URL context support
2025-10-24 13:55:10 +08:00
Phantom
4dfb73c982
fix: silicon reasoning (#10932)
* refactor(aiCore): reorganize reasoning effort logic for different providers

Restructure the reasoning effort calculation logic to handle different model providers more clearly. Move OpenRouter and SiliconFlow specific logic to dedicated sections and remove duplicate checks. Improve maintainability by grouping related provider logic together.

* refactor(sdk): update thinking config type and property names

- Replace inline thinking config type with imported ThinkingConfig type
- Update property names from snake_case to camelCase for consistency
- Add null checks for token limit calculations
- Clarify hard-coded maximum for silicon provider in comments

* refactor(openai): standardize property names to camelCase in thinking_config

Update property names in thinking_config object from snake_case to camelCase for consistency with codebase conventions
2025-10-24 13:01:00 +08:00
Phantom
691656a397
feat(i18n): enhance translation script with concurrency and validation (#10916)
* feat(i18n): enhance translation script with concurrency and validation

- Add concurrent translation support with configurable limits
- Implement input validation for script configuration
- Improve error handling and progress tracking
- Add detailed usage instructions and performance recommendations

* fix(i18n): update translations for multiple languages

- Translate previously untranslated strings in zh-tw, ja-jp, pt-pt, es-es, ru-ru, el-gr, fr-fr
- Fix array to object structure in zh-cn accessibility description
- Add missing translations and fix structure in de-de locale

* chore: update i18n auto-translation script command

Update the yarn command from 'i18n:auto' to 'auto:i18n' for consistency with other script naming conventions

* ci: rename i18n workflow env vars for clarity

Use more descriptive names for translation-related environment variables to improve readability and maintainability

* Revert "fix(i18n): update translations for multiple languages"

This reverts commit 01dac1552e.

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

* ci: run sync-i18n script before auto-translate in workflow

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

---------

Co-authored-by: GitHub Action <action@github.com>
2025-10-24 02:12:10 +08:00
Jake Jia
d184f7a24b
fix: align S3 backup manager action buttons horizontally (#10922) 2025-10-23 23:58:03 +08:00
Pleasure1234
1ac746a40e
fix: use nullish coalescing for advanced property updates (#10921)
Replaces logical OR with nullish coalescing when updating advanced server properties to allow empty string values, enabling users to clear fields instead of preserving previous values.
2025-10-23 23:49:25 +08:00
beyondkmp
d187adb0d3
feat: redirect macOS About menu to settings About page (#10902)
* ci: add GitHub issue tracker workflow with Feishu notifications  (#10895)

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* feat: redirect macOS About menu to settings About page

Add functionality to navigate to the About page in settings when clicking the About menu item in macOS menu bar.

Changes:
- Add Windows_NavigateToAbout IPC channel for communication between main and renderer processes
- Create AppMenuService to setup macOS application menu with custom About handler
- Add IPC handler in main process to show main window and trigger navigation
- Add IPC listener in renderer NavigationHandler to navigate to /settings/about
- Initialize AppMenuService on app startup for macOS platform

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* * feat: add GitHub issue tracker workflow with Feishu notifications

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* Add OIDC token permissions and GitHub token to Claude workflow

- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions

* fix: add GitHub issue tracker workflow with Feishu notifications

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* Add OIDC token permissions and GitHub token to Claude workflow

- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions

* Enhance GitHub issue automation workflow with Claude integration

- Refactor Claude action to handle issue analysis, Feishu notification, and comment creation in single step
- Add tool permissions for Bash commands and custom notification script execution
- Update prompt with detailed task instructions including summary generation and automated actions
- Remove separate notification step by integrating all operations into Claude action workflow

* fix

* 删除AI总结评论的添加步骤和注意事项

* fix comments

* refactor(AppMenuService): streamline WindowService usage

Updated the AppMenuService to directly import and use the windowService for retrieving the main window and showing it, enhancing code clarity and maintainability.

* add i18n

* fix(AppMenuService): handle macOS application menu setup conditionally

Updated the AppMenuService to only instantiate when running on macOS, preventing potential null reference errors. Additionally, added optional chaining in the main index file for safer menu setup.

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

---------

Co-authored-by: SuYao <sy20010504@gmail.com>
Co-authored-by: Payne Fu <payne@Paynes-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: GitHub Action <action@github.com>
2025-10-23 18:35:10 +08:00
Phantom
53881c5824
ci: update OpenAI dependency in i18n workflow (#10914)
* ci: update OpenAI dependency in i18n workflow

Use @cherrystudio/openai instead of openai package for translation dependencies

* ci(workflows): allow workflow dispatch for auto-i18n job
2025-10-23 18:21:00 +08:00
Zhaokun
35c15cd02c
fix: topic branch incomplete copy - split ID mapping into two passes (#10900)
Fix the bug where topic branching would not copy all message relationships completely.The issue was that askId mapping lookup happened in the same loop as ID generation, causing later messages' askIds to fail mapping when they referenced messages that hadn't been processed yet.

Solution: Split into two passes:
 1. First pass: Generate new IDs for all messages and build complete mapping
 2. Second pass: Clone messages and blocks using the complete ID mapping

This ensures all message relationships (especially assistant message askId references)are properly maintained in the new topic.
2025-10-23 16:18:23 +08:00
SuYao
3c8b61e268 ci: add GitHub issue tracker workflow with Feishu notifications (#10895)
* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* feat: add GitHub issue tracker workflow with Feishu notifications

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* Add OIDC token permissions and GitHub token to Claude workflow

- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions

fix: add GitHub issue tracker workflow with Feishu notifications

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* Add OIDC token permissions and GitHub token to Claude workflow

- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions

* Enhance GitHub issue automation workflow with Claude integration

- Refactor Claude action to handle issue analysis, Feishu notification, and comment creation in single step
- Add tool permissions for Bash commands and custom notification script execution
- Update prompt with detailed task instructions including summary generation and automated actions
- Remove separate notification step by integrating all operations into Claude action workflow

* fix

* 删除AI总结评论的添加步骤和注意事项
2025-10-23 15:09:19 +08:00
ABucket
6f63eefa86
fix: deep research model only support medium search context and reasoning effort (#10676)
Co-authored-by: ABucket <abucket@github.com>
2025-10-22 21:59:00 +08:00
defi-failure
4a38f2e8b1
feat: add cherryin in provider type options (#10891) 2025-10-22 21:32:33 +08:00
Sipan
f088069fb3
Feature/add ling series support (#10863)
* feat(Miniapp): add Ling app and according migration support.

* feat(models): add Ling model support and related reasoning checks

Signed-off-by: cafe3310 <4354898+cafe3310@users.noreply.github.com>

* fix: resolved lint findings; simplifying model reasoning check.

---------

Signed-off-by: cafe3310 <4354898+cafe3310@users.noreply.github.com>
2025-10-22 18:25:11 +08:00
Phantom
7f83f0700b
chore: migrate from openai to @cherrystudio/openai package (#10802)
* build: replace openai package with @cherrystudio/openai

Update all imports from 'openai' to '@cherrystudio/openai' and remove the yarn patch

* refactor(OpenAIResponseAPIClient): simplify token estimation logic for function call output

Consolidate token estimation by first concatenating all output parts into a single string before counting tokens. This improves maintainability and handles additional output types consistently.
2025-10-22 17:34:23 +08:00
defi-failure
296f71ed8a
feat: position add button and new items at the top (#10881)
* feat: add sorting support to list agent api

* feat: move add button to top

* feat: display newly added assistant or agent on top
2025-10-22 17:20:17 +08:00
beyondkmp
f4d7c90126
chore: update electron to 38 and vite to 4.0.1 (#10884)
update electron to 38.4.0
2025-10-22 17:15:27 +08:00
beyondkmp
4063c20505
feat: support germen (#10879)
* feat: support germen

* format code

* translate

* update trans

* format

* add de

---------

Co-authored-by: Payne Fu <payne@Paynes-MBP.rcoffice.ringcentral.com>
2025-10-22 15:38:17 +08:00
chenxue
50798280db
fix(aihubmix): fix model route rules (#10878)
Update aihubmix.ts
2025-10-22 11:08:38 +08:00
Phantom
39fa080263
fix: check model capability with model name (#10860)
* fix(ModelListItem): fallback to model name when logo not found by id

Use model name as fallback when fetching model logo if lookup by id fails

* refactor(model-logo): simplify model logo handling with unified function

Replace direct calls to getModelLogo with model.id with new getModelLogo function that handles both id and name fallback
Rename original getModelLogo to getModelLogoById for clarity
Update all components to use the new unified function

* refactor(model-utils): improve model type detection with fallback logic

Add helper function to check both model ID and name as ID for type detection
Refactor getThinkModelType and isSupportedThinkingTokenModel to use new fallback logic

* refactor(agent-popups): make avatar optional in BaseOption interface

update getModelLogo functions to return undefined instead of null for consistency

* refactor(models): remove outdated comment in reasoning.ts
2025-10-22 04:39:38 +08:00
dependabot[bot]
5c7b81569e
build(deps-dev): bump playwright from 1.52.0 to 1.55.1 (#10850)
Bumps [playwright](https://github.com/microsoft/playwright) from 1.52.0 to 1.55.1.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.52.0...v1.55.1)

---
updated-dependencies:
- dependency-name: playwright
  dependency-version: 1.55.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 18:18:14 +01:00
Phantom
c021947d52
fix(home-tabs): correct tab switching logic for left position (#10858)
Ensure proper tab switching when position is left and topicPosition is right by including 'settings' tab in the condition
2025-10-22 01:15:25 +08:00
Phantom
f58d2e2e52
build: pin vite to specific version 7.1.5 (#10873)
* build: pin vite to specific version 7.1.5

Update package.json and yarn.lock to use exact version of vite instead of latest tag for better dependency stability

* build: pin vite version to 7.1.5

* build: pin rolldown-vite version to 7.1.5
2025-10-22 01:08:43 +08:00
kangfenmao
81ac77e988 chore: update LICENSE file to include full text of GNU AGPL-3.0
- Replaced previous licensing information with the complete text of the GNU Affero General Public License v3.0 (AGPL-3.0).
- Clarified terms regarding commercial use and compliance with AGPL-3.0.
- Added detailed definitions and conditions for users and organizations regarding licensing options.

This update ensures that users have clear access to the licensing terms governing the Cherry Studio Community Edition.
2025-10-21 22:56:27 +08:00
beyondkmp
a5049d8872
feat: enhance proxy bypass rules with comprehensive matching (#10817)
* feat: enhance proxy bypass rules with comprehensive matching

- Add support for wildcard domains (*.example.com, .example.com)
- Add CIDR notation support for IPv4 and IPv6 (192.168.0.0/16, 2001:db8::/32)
- Add wildcard IP matching (192.168.1.*)
- Add <local> keyword for local network hostnames
- Support both semicolon and comma separators in bypass rules
- Add comprehensive unit tests with 22 test cases
- Export matchWildcardDomain and matchIpRule for testability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* move to devDeps

* delete logs

* feat: enhance ProxyManager with advanced proxy bypass rule handling

- Introduced comprehensive parsing and matching for proxy bypass rules, including support for wildcard domains, CIDR notation, and local network addresses.
- Refactored existing functions and added new utility methods for improved clarity and maintainability.
- Updated unit tests to cover new functionality and ensure robust validation of bypass rules.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

* update proxy rules

* fix lint

* add tips

* delete hostname rule

* add logs

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-21 10:39:16 +08:00
Zhaokun
bf35228b49
fix: capture detailed error response body for reranker API failures (#10839)
* fix: capture detailed error response body for reranker API failures

Previously, when reranker API returned 400 or other error status codes,
only the HTTP status and status text were captured, without reading the
actual error response body that contains detailed error information.

This commit fixes the issue by:
- Reading the error response body (as JSON or text) before throwing error
- Attaching the response details to the error object
- Including responseBody in formatErrorMessage output

This will help diagnose issues like "qwen3-reranker not available" by
showing the actual error message from the API provider.

* fix: enhance error handling in GeneralReranker for API failures

This update improves the error handling in the GeneralReranker class by ensuring that the response body is properly cloned and read when an API call fails. The detailed error information, including the status, status text, and body, is now attached to the error object. This change aids in diagnosing issues by providing more context in error messages.
2025-10-21 10:36:53 +08:00
Chen Tao
5df8a55f1e
fix: support toolchoice for knowledge (#10763)
* fix: support toolchoice for knowledge

* fix: ci
2025-10-20 17:41:20 +08:00
Kejiang Ma
749a4f4679
feat: new painting provider: intel ovms (#10570)
* new painting provider: intel ovms

Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
Signed-off-by: Kejiang Ma <kj.ma@intel.com>

* cherryin -> cherryai

Signed-off-by: Kejiang Ma <kj.ma@intel.com>

* ovms painting only valid when ovms is running

Signed-off-by: Kejiang Ma <kj.ma@intel.com>

* fix: painting(ovms) still appear while ovms is not running after rebase

Signed-off-by: Kejiang Ma <kj.ma@intel.com>

* fix warning in PaintingRoute

Signed-off-by: Kejiang Ma <kj.ma@intel.com>

* add ovms_paintings in migrate config 163

---------

Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
Signed-off-by: Kejiang Ma <kj.ma@intel.com>
2025-10-20 15:41:34 +08:00
beyondkmp
528524b075
fix: Support right-click to paste file content into inputbar (#10730)
* feat: add right-click to paste text file content into input

Implemented context menu functionality for text file attachments that allows users to right-click on a text file attachment to paste its content directly into the input field.

Changes:
- Added onContextMenu prop to CustomTag component for handling right-click events
- Extended AttachmentPreview with onAttachmentContextMenu callback
- Implemented appendTxtContentToInput function to read and paste text file content
- Added clipboard support for copying file content
- Integrated context menu handler in Inputbar component

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* use real path

* 🐛 fix: clear txt attachment after paste

*  fix: improve attachment confirm flow

* update i18n

* 🎨 refactor: restyle confirm dialog

* format code

* refactor(ConfirmDialog): replace text buttons with icon buttons and remove i18n

- Replace text-based cancel/confirm buttons with icon buttons for better visual clarity
- Remove unused i18n translation hook as it's no longer needed
- Adjust styling to accommodate new button layout

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: icarus <eurfelux@gmail.com>
2025-10-20 13:16:17 +08:00
beyondkmp
4cca5210b9
chore: update @opeoginni/github-copilot-openai-compatible to version 0.1.19 and remove obsolete patch file (#10836)
* chore: update @opeoginni/github-copilot-openai-compatible to version 0.1.19 and remove obsolete patch file

- Updated the dependency version for @opeoginni/github-copilot-openai-compatible from 0.1.18 to 0.1.19 in package.json and yarn.lock.
- Removed the obsolete patch file for the previous version to clean up the project.

* recover
2025-10-20 10:51:53 +08:00
Pleasure1234
b26df0e614
fix: add continue-on-error & remove unused issue checker (#10821) 2025-10-20 00:06:34 +08:00
Phantom
8e482a97e5
style(AgentItem): improve agent item style (#10824)
refactor(AgentItem): simplify BotIcon component and adjust styling

- Replace absolute positioning with flex layout in BotIcon
- Add tooltip for better user experience
- Consolidate styling classes for better maintainability
2025-10-20 00:04:29 +08:00
Phantom
036f61bf12
fix: use consistent sharp dependencies (#10832)
build: update sharp dependencies to version 0.34.3

Update sharp image processing library dependencies to latest version 0.34.3 across all platforms (darwin, linux, win32) to ensure consistent behavior and security fixes
2025-10-20 00:01:39 +08:00
Phantom
06b1ae0cb8
feat(models): add doubao_after_251015 reasoning model type and support (#10826)
* feat(models): add doubao_after_251015 model type and support

Add new model type 'doubao_after_251015' with reasoning effort levels and update regex patterns to handle version 251015 and later

* fix(sdk): add warning for reasoning_effort field and update reasoning logic

Add warning comment about reasoning_effort field being overwritten for openai-compatible providers
Update reasoning effort logic to handle Doubao seed models after 251015 and standardize field naming

* fix(reasoning): update Doubao model regex patterns and tests

Update regex patterns for Doubao model validation to correctly handle version constraints
Add comprehensive test cases for model validation functions
2025-10-19 19:02:16 +08:00
Pleasure1234
b4810bb487
fix: improve api-server startup and error handling logic (#10794)
* fix: improve server startup and error handling logic

Refactored ApiServer to clean up failed server instances and ensure proper handling of server state. Updated loggerService import to use shared logger and improved error handling during server startup.

* Update server.ts
2025-10-18 14:15:08 +08:00