Commit Graph

5121 Commits

Author SHA1 Message Date
MyPrototypeWhat
2e07b4ea58 feat: add migration status documentation and new UI components
- Introduced migration status documentation in both English and Chinese to track the progress of the UI component library migration.
- Added new UI components including CopyButton, DividerWithText, EmojiIcon, IndicatorLight, Spinner, TextBadge, and various display and icon components.
- Updated the index.ts file to export the newly added components for easier access.
- Enhanced the directory structure and component classification guidelines for better organization and clarity.
2025-09-15 14:10:49 +08:00
MyPrototypeWhat
bf2f6ddd7f chore: update CODEOWNERS to include new UI package ownership
- Added ownership for the /packages/ui/ directory to @MyPrototypeWhat.
- Ensured consistent ownership assignment across relevant directories.
2025-09-15 12:34:56 +08:00
MyPrototypeWhat
c936bddfe7 feat: add index.ts type definitions for UI components
- Introduced a new TypeScript definition file (index.ts) to support the newly added UI component library.
- This file will facilitate better type checking and autocompletion for developers using the library.
2025-09-15 12:33:47 +08:00
MyPrototypeWhat
d3028f1dd1 feat: add @cherrystudio/ui component library
- Introduced a new UI component library for Cherry Studio, including various components such as buttons, inputs, and layout elements.
- Updated configuration files to include the new library and its dependencies.
- Enhanced the project structure to support modular imports and TypeScript definitions for better development experience.
2025-09-15 12:03:39 +08:00
Vaayne
54b4e6a80b feat(agents): implement Drizzle ORM for database management and schema synchronization 2025-09-15 12:01:29 +08:00
MyPrototypeWhat
0038280fba refactor: update import paths for styles and navbar position
- Changed the import of navbar position hook from useSettings to useNavbarPosition for better clarity.
- Updated style imports from index.scss to index.css for consistency across components.
2025-09-15 11:45:12 +08:00
Vaayne
079d2c3cb3 feat(docs): update CLAUDE.md to enhance AI assistant guidelines and add session tracking details 2025-09-15 11:34:19 +08:00
Vaayne
911f9d8bc9 feat(agents): update README for migration commands and remove obsolete database module documentation 2025-09-15 09:39:47 +08:00
fullex
0a94609f78 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-09-15 00:06:06 +08:00
fullex
95ed17aa69 Merge branch 'main' of github.com:CherryHQ/cherry-studio 2025-09-14 23:57:57 +08:00
fullex
4f64afd8f4 chore: update .prettierignore to include additional directories and file types for improved formatting consistency 2025-09-14 23:57:50 +08:00
Vaayne
f90bda861f feat(agents): add automatic database schema synchronization
- Add schemaSyncer.ts with Drizzle Kit push integration
- Integrate auto schema sync into BaseService.initialize()
- Database schema now automatically updates on agent service startup
- Users no longer need manual migration commands
- Ensures schema consistency across app updates

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2025-09-14 23:07:54 +08:00
Jason Young
4f8b5c1250
QuickPanel/Inputbar: refine Enter handling with collapsed panel (#9781)
- QuickPanel (view.tsx): do not intercept Enter/NumpadEnter when the panel is visible but collapsed (no non-pinned matches), so the event falls through to the input bar and sending works.
- Inputbar (Inputbar.tsx): prioritize the configured send shortcut on Enter; remove pre-blocking based on quickPanel visibility; keep Shift+Enter as native newline; insert newline for other Enter variants.
- Update inline comments to clearly document the behavior.
2025-09-14 22:36:20 +08:00
Vaayne
71ed94de31 docs: streamline CLAUDE.md and add session tracking
- Reduce file size by 53% while keeping essential info
- Add session tracking requirements for plan mode
- Add Must Follow Rules section with conditional ast-grep usage
- Consolidate architecture to multi-file concepts only

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2025-09-14 22:30:04 +08:00
fullex
6eccb92817 chore: add CODEOWNERS file to improve pr reviews handling for data refactor 2025-09-14 21:05:39 +08:00
fullex
f9f8390540 Merge branch 'v2' of github.com:CherryHQ/cherry-studio into v2 2025-09-14 21:01:07 +08:00
fullex
91dd6482ce chore: add CODEOWNERS file to define ownership for specific directories
- Created a CODEOWNERS file to specify ownership for migrations and data directories.
- Assigned ownership to @0xfullex for the specified paths to streamline code review and management.
2025-09-14 21:00:57 +08:00
fullex
016bbff79f
Update pr-ci.yml 2025-09-14 18:52:58 +08:00
fullex
734ddd7489
Update pr-ci.yml to include v2 branch 2025-09-14 18:41:19 +08:00
fullex
32f41391c4 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-09-14 17:39:42 +08:00
GitHub Action
dc16cf2aa7 fix(i18n): Auto update translations for PR #10096 2025-09-14 09:12:20 +00:00
Vaayne
be12898b7b feat(claude-code): initialize project with Bun setup, including configuration files and example code 2025-09-14 17:09:37 +08:00
Vaayne
3fc92e093b feat(sessions): add session message creation endpoint and update session details 2025-09-14 17:09:32 +08:00
Vaayne
b6187ad637 feat(sessions): include session messages in session retrieval response 2025-09-14 17:09:19 +08:00
fullex
78a8ebc777 feat(preferences): update user theme settings and add new preferences
- Updated preferences configuration with new user theme options including font family and code font family.
- Added new preferences for chat and export menus.
- Adjusted default preferences to include new settings for user theme.
- Enhanced useUserTheme hook to manage new font family preferences.
2025-09-14 17:05:31 +08:00
fullex
57fd73e51a Merge branch 'main' of github.com:CherryHQ/cherry-studio into wip/data-refactor 2025-09-14 17:05:14 +08:00
Vaayne
ca8ac9911e feat(i18n): add translations for agent and assistant features in multiple languages 2025-09-14 16:31:52 +08:00
Vaayne
95a1e210b6 Refactor: Remove sessions route and related validation logic
- Deleted the sessions route file, consolidating session management logic.
- Removed validation middleware and error handling for session operations.
- Updated the SessionMessageService to improve query formatting for retrieving session messages.
2025-09-14 16:31:15 +08:00
Phantom
ea4db1c864
refactor(context): move HeroUIProvider to context directory (#10155)
Centralize context providers in a dedicated directory for better organization and maintainability
2025-09-14 16:01:30 +08:00
Phantom
f9171f3df8
fix(ThemeProvider): set document language based on user settings (#10154)
* fix(ThemeProvider): set document language based on user settings

Add language from settings to ThemeProvider context and update document language attribute accordingly

* fix(ThemeProvider): add language to dependency array to prevent stale closures
2025-09-14 15:41:43 +08:00
icarus
b55f419a95 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-14 12:58:21 +08:00
icarus
8953961a51 feat(i18n): add plural forms for agent and assistant labels
Add singular and plural forms for "agent" and "assistant" labels in both English and Chinese locales
Display plural labels in AssistantsTab component
2025-09-14 12:53:57 +08:00
Phantom
9b1e9552d6
fix: correct disk quota display by converting bytes to GB (#10160)
* fix: correct disk quota display by converting bytes to GB

The free disk space was being logged in bytes instead of GB, making the log message misleading. Convert the value to GB for accurate reporting.

* fix: format disk quota log to 2 decimal places
2025-09-14 12:14:15 +08:00
Vaayne
8836663c35 🧪 test: add HTTP test files for agents and sessions APIs
- Add agents.http with comprehensive API endpoint tests
- Add sessions.http for session management testing
- Include authentication setup and request examples
- Support testing of CRUD operations for both agents and sessions

These files enable easy API testing and validation during development.
2025-09-14 10:17:45 +08:00
Vaayne
aaba77c360 feat: add comprehensive PUT/PATCH support for agents and sessions APIs
- Add PATCH method to agents API for partial updates alongside existing PUT
- Add PUT method to sessions API for complete replacement alongside existing PATCH
- Update API documentation with clear PUT vs PATCH usage examples
- Refactor session status updates to use standard PATCH endpoint
- Ensure both methods use same validation middleware for consistency
- Add comprehensive Swagger documentation for new endpoints

This provides REST-compliant update operations where:
- PUT: Complete resource replacement (idempotent)
- PATCH: Partial resource updates (only specified fields)

Both agents and sessions now support flexible update patterns for different use cases.
2025-09-14 10:17:45 +08:00
icarus
532bad8eb7 refactor(agents): migrate agent hooks to react-query and reorganize structure
- Replace redux-based agent management with react-query hooks
- Move agent-related hooks to dedicated agents directory
- Add useAddAgent, useRemoveAgent, and useUpdateAgent hooks
- Update imports to reflect new hook locations
- Keep redux store temporarily for backward compatibility
2025-09-14 09:51:00 +08:00
icarus
e5b43c8176 Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new 2025-09-14 09:21:18 +08:00
icarus
5f9c2d7f6a feat(agents): add edit functionality and update translations
- Refactor AddAgentModal into AgentModal to support both add and edit operations
- Add edit button to AgentItem with corresponding modal functionality
- Update translations for edit and update success messages
2025-09-14 09:16:04 +08:00
Vaayne
568257e7b6 docs(agents): add comprehensive UI integration guide for Agent API
- Document migration from Redux to database-backed API architecture
- Provide complete API reference for agents, sessions, and messages
- Include TypeScript interfaces and practical implementation examples
- Cover message streaming integration with AI SDK compatibility
- Add error handling patterns and best practices
- Include step-by-step migration guide from existing Redux implementation

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2025-09-14 08:25:51 +08:00
icarus
df31629c5f refactor(AgentItem): replace antd dropdown with custom context menu component
The antd dropdown component was replaced with a custom context menu implementation to improve consistency with the application's UI components and remove dependency on antd. The functionality remains the same but is now implemented using the custom context menu component.
2025-09-14 07:24:57 +08:00
icarus
e6dc8619d9 feat(ui): add context menu component using radix-ui
Implement a comprehensive context menu component with submenus, checkboxes, radio items, and separators. The component is built using @radix-ui/react-context-menu and includes proper styling and accessibility features.

Add required dependencies and update yarn.lock accordingly.
2025-09-14 07:17:53 +08:00
icarus
9a71a01b66 feat(agents): add agent management with delete confirmation
- Add agent deletion confirmation dialog with translations
- Implement agent list display and drag-and-drop functionality
- Include avatar support for agent types
- Add success message for agent deletion
2025-09-14 06:43:24 +08:00
icarus
941a6666e6 feat(agents): implement add agent functionality and migration
- Add migration for new agents structure (version 155)
- Enable addAgent call in AddAgentModal
- Update dependencies array with addAgent
- Replace TODO comment with FIXME for model type issue
2025-09-14 05:59:08 +08:00
icarus
1bf63865a8 Merge branch 'main' into feat/agents-new 2025-09-14 05:57:24 +08:00
icarus
ba41d8021f docs(AddAgentModal): add comment explaining modal button pattern
Add explanatory comment for combining Button and Modal components in Hero UI pattern to clarify focus management requirements
2025-09-14 04:44:53 +08:00
icarus
1e919a908f refactor(agent-popup): replace AddAgentPopup with AddAgentModal component
- Remove deprecated AddAgentPopup implementation
- Implement new AddAgentModal component with improved UI using Button component
- Update related imports and usage in AssistantsTab
- Clean up unused styles and code
2025-09-14 04:39:14 +08:00
icarus
702612e3f9 feat(agent): implement AddAgentPopup
- Add isAgentType function to validate agent type strings
- Update i18n files with new agent type validation messages
- Add common validation error messages and success notifications
2025-09-14 03:59:21 +08:00
icarus
fa380619ce chore: update vscode i18n settings and comments
Clean up i18n-related settings in vscode config by commenting out display language and fixing comment alignment
2025-09-14 03:56:02 +08:00
icarus
a30b2e2cb2 refactor(utils): move getClaudeSupportedProviders to utils/provider
Improve code organization by moving provider-related utility function to dedicated utils file
2025-09-14 03:18:44 +08:00
icarus
ae0cee9ef4 style: change outline property to outline-style for better clarity 2025-09-14 01:50:38 +08:00