* feat: ui switch * chore: update migration version to 122 and adjust settings topic position * refactor: replace PinnedApps component with SidebarPinnedApps and SidebarOpenedMinappTabs for improved structure * feat(i18n): add launchpad apps and minapps translations for multiple languages * style: update MinAppIcon and IconContainer dimensions for improved UI consistency * refactor: remove unused SidebarContainer component from AppsPage * refactor: adjust Navbar padding and enhance search functionality in AgentsPage * feat(minapps): implement MinApps page and enhance mini app management features - Added MinAppsPage for managing mini applications. - Introduced NewAppButton for adding custom mini apps. - Created MiniAppSettings for configuring mini app settings. - Enhanced mini app icon management with MiniAppIconsManager. - Updated Router to include MinAppsPage and replaced AppsPage with MinAppsPage. - Added translations for new mini app features in multiple languages. * wip * refactor: rename App component to MinApp and streamline LaunchpadPage logic - Renamed App component to MinApp for clarity. - Removed unnecessary state management in LaunchpadPage. - Simplified minapp sorting logic by directly using openedKeepAliveMinapps. * feat(i18n): update translations for multiple languages and restructure title entries - Added missing title entries for various sections in English, Japanese, Russian, Chinese (Simplified and Traditional). - Restructured the launchpad and minapp translations for better organization. - Enhanced navbar display settings translations across all supported languages. * feat: add header prop to DraggableVirtualList and implement Add Topic button in TopicsTab - Introduced a new `header` prop in the DraggableVirtualList component to allow custom header content. - Added an Add Topic button in the TopicsTab with a corresponding styled component and translation support for multiple languages. - Updated styles in AssistantsTab and adjusted overflow behavior in Tabs index for better UI experience. * style: adjust margins and max-width for improved layout in various components - Updated margin-top in HtmlArtifactsCard for consistent spacing. - Set max-width in MessageGroup to enhance responsiveness based on navbar position. - Modified Add Topic button in TopicsTab to emit an event for better functionality. * fix: correct state property name in migration for navbar position - Updated the migration logic to set the correct state property from `topicPosition` to `navbarPosition` for proper configuration handling. * fix: adjust traffic light position and navbar height for improved UI consistency - Updated traffic light position in WindowService to enhance layout. - Adjusted navbar height in color.scss for better alignment across components. - Modified TabContainer to track last settings path and improve navigation handling. * style: update AddTopicButton styling for improved hover effect in TopicsTab - Changed AddTopicButton from a button to a div for better styling flexibility. - Removed dashed border and added background color on hover for enhanced user experience. - Retained border-radius for consistent design across components. * feat: add TextBadge component and integrate into Display and Memory settings - Introduced a new TextBadge component for displaying styled badges. - Integrated TextBadge into DisplaySettings to highlight the navbar title as "New". - Replaced inline badge implementation in MemorySettings with the new TextBadge component for consistency and improved maintainability. * fix: adjust tab and navbar styling for improved UI consistency - Increased height of title bar overlays for better visual balance. - Updated tab creation logic to prevent duplicate tabs for specific paths. - Modified tab icon and close button sizes for a more compact design. - Enhanced tab spacing and padding for improved layout across components. * style: update PinnedMinapps component for improved UI consistency - Increased icon size and adjusted border radius for better visual appeal. - Modified TopNavContainer padding and margin for enhanced layout. - Reduced dimensions of TopNavIcon for a more compact design. * refactor: enhance TabsContainer logic and styling for improved tab management - Introduced a new `removeSpecialTabs` function to manage special tab removal more effectively. - Updated tab filtering logic to utilize a dedicated `specialTabs` array for better maintainability. - Adjusted styling in PinnedMinapps for consistent icon sizing and background color improvements. * style: adjust layout and padding for improved UI consistency in Chat and Inputbar components - Updated main height calculation in Chat component to account for additional spacing. - Modified padding in Inputbar component for better alignment when navbar is positioned at the top. - Ensured consistent minimum height in Tabs component to match updated navbar height calculations. * refactor: update app menu item text keys for improved localization - Changed text keys in the app menu items from specific titles to a more generalized 'title' namespace for better consistency and maintainability. - Ensured that the visual representation of the menu items remains unchanged while enhancing the localization structure. * refactor: simplify sidebar toggle logic in ChatNavbar and Navbar components - Removed unnecessary cooldown logic when toggling the visibility of assistants and topics. - Updated HomePage to conditionally render the Navbar based on the sidebar state for improved UI responsiveness. * refactor: streamline Chat component and introduce useChatMaxWidth hook - Consolidated max width calculation logic into a new `useChatMaxWidth` hook for better reusability. - Removed unused variables and simplified state management in the Chat component. - Updated MessageGroup to utilize the new `useChatMaxWidth` hook for consistent layout handling. * refactor: remove FloatingSidebar component and integrate AssistantsDrawer for improved UI management - Deleted the FloatingSidebar component to streamline the codebase. - Introduced AssistantsDrawer for managing assistant interactions, enhancing user experience. - Updated Navbar and ChatNavbar components to utilize AssistantsDrawer instead of FloatingSidebar for better responsiveness and maintainability. * refactor: implement TabsService for improved tab management functionality - Introduced TabsService to centralize tab operations, including closing and setting active tabs. - Updated TabsContainer and LaunchpadPage components to utilize TabsService for closing tabs, enhancing code maintainability. - Made minor UI adjustments in PinnedMinapps for consistent icon sizing and layout improvements. * fix: prevent default event behavior when not in fullscreen mode - Updated WindowService to conditionally call event.preventDefault() only when the main window is not in fullscreen, improving event handling logic. |
||
|---|---|---|
| .github | ||
| .husky | ||
| .vscode | ||
| .yarn | ||
| build | ||
| docs | ||
| packages | ||
| resources | ||
| scripts | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .yarnrc.yml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| dev-app-update.yml | ||
| electron-builder.yml | ||
| electron.vite.config.ts | ||
| eslint.config.mjs | ||
| LICENSE | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| SECURITY.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| tsconfig.web.json | ||
| vitest.config.ts | ||
| yarn.lock | ||
English | 中文 | Official Site | Documents | Development | Feedback
🍒 Cherry Studio
Cherry Studio is a desktop client that supports multiple LLM providers, available on Windows, Mac and Linux.
👏 Join Telegram Group|Discord | QQ Group(575014769)
❤️ Like Cherry Studio? Give it a star 🌟 or Sponsor to support the development!
🌠 Screenshot
🌟 Key Features
- Diverse LLM Provider Support:
- ☁️ Major LLM Cloud Services: OpenAI, Gemini, Anthropic, and more
- 🔗 AI Web Service Integration: Claude, Peplexity, Poe, and others
- 💻 Local Model Support with Ollama, LM Studio
- AI Assistants & Conversations:
- 📚 300+ Pre-configured AI Assistants
- 🤖 Custom Assistant Creation
- 💬 Multi-model Simultaneous Conversations
- Document & Data Processing:
- 📄 Supports Text, Images, Office, PDF, and more
- ☁️ WebDAV File Management and Backup
- 📊 Mermaid Chart Visualization
- 💻 Code Syntax Highlighting
- Practical Tools Integration:
- 🔍 Global Search Functionality
- 📝 Topic Management System
- 🔤 AI-powered Translation
- 🎯 Drag-and-drop Sorting
- 🔌 Mini Program Support
- ⚙️ MCP(Model Context Protocol) Server
- Enhanced User Experience:
- 🖥️ Cross-platform Support for Windows, Mac, and Linux
- 📦 Ready to Use - No Environment Setup Required
- 🎨 Light/Dark Themes and Transparent Window
- 📝 Complete Markdown Rendering
- 🤲 Easy Content Sharing
📝 Roadmap
We're actively working on the following features and improvements:
- 🎯 Core Features
- Selection Assistant with smart content selection enhancement
- Deep Research with advanced research capabilities
- Memory System with global context awareness
- Document Preprocessing with improved document handling
- MCP Marketplace for Model Context Protocol ecosystem
- 🗂 Knowledge Management
- Notes and Collections
- Dynamic Canvas visualization
- OCR capabilities
- TTS (Text-to-Speech) support
- 📱 Platform Support
- HarmonyOS Edition (PC)
- Android App (Phase 1)
- iOS App (Phase 1)
- Multi-Window support
- Window Pinning functionality
- 🔌 Advanced Features
- Plugin System
- ASR (Automatic Speech Recognition)
- Assistant and Topic Interaction Refactoring
Track our progress and contribute on our project board.
Want to influence our roadmap? Join our GitHub Discussions to share your ideas and feedback!
🌈 Theme
- Theme Gallery: https://cherrycss.com
- Aero Theme: https://github.com/hakadao/CherryStudio-Aero
- PaperMaterial Theme: https://github.com/rainoffallingstar/CherryStudio-PaperMaterial
- Claude dynamic-style: https://github.com/bjl101501/CherryStudio-Claudestyle-dynamic
- Maple Neon Theme: https://github.com/BoningtonChen/CherryStudio_themes
Welcome PR for more themes
🤝 Contributing
We welcome contributions to Cherry Studio! Here are some ways you can contribute:
- Contribute Code: Develop new features or optimize existing code.
- Fix Bugs: Submit fixes for any bugs you find.
- Maintain Issues: Help manage GitHub issues.
- Product Design: Participate in design discussions.
- Write Documentation: Improve user manuals and guides.
- Community Engagement: Join discussions and help users.
- Promote Usage: Spread the word about Cherry Studio.
Refer to the Branching Strategy for contribution guidelines
Getting Started
- Fork the Repository: Fork and clone it to your local machine.
- Create a Branch: For your changes.
- Submit Changes: Commit and push your changes.
- Open a Pull Request: Describe your changes and reasons.
For more detailed guidelines, please refer to our Contributing Guide.
Thank you for your support and contributions!
🔧 Developer Co-creation Program
We are launching the Cherry Studio Developer Co-creation Program to foster a healthy and positive-feedback loop within the open-source ecosystem. We believe that great software is built collaboratively, and every merged pull request breathes new life into the project.
We sincerely invite you to join our ranks of contributors and shape the future of Cherry Studio with us.
Contributor Rewards Program
To give back to our core contributors and create a virtuous cycle, we have established the following long-term incentive plan.
The inaugural tracking period for this program will be Q3 2025 (July, August, September). Rewards for this cycle will be distributed on October 1st.
Within any tracking period (e.g., July 1st to September 30th for the first cycle), any developer who contributes more than 30 meaningful commits to any of Cherry Studio's open-source projects on GitHub will be eligible for the following benefits:
- Cursor Subscription Sponsorship: Receive a $70 USD credit or reimbursement for your Cursor subscription, making AI your most efficient coding partner.
- Unlimited Model Access: Get unlimited API calls for the DeepSeek and Qwen models.
- Cutting-Edge Tech Access: Enjoy occasional perks, including API access to models like Claude, Gemini, and OpenAI, keeping you at the forefront of technology.
Growing Together & Future Plans
A vibrant community is the driving force behind any sustainable open-source project. As Cherry Studio grows, so will our rewards program. We are committed to continuously aligning our benefits with the best-in-class tools and resources in the industry. This ensures our core contributors receive meaningful support, creating a positive cycle where developers, the community, and the project grow together.
Moving forward, the project will also embrace an increasingly open stance to give back to the entire open-source community.
How to Get Started?
We look forward to your first Pull Request!
You can start by exploring our repositories, picking up a good first issue, or proposing your own enhancements. Every commit is a testament to the spirit of open source.
Thank you for your interest and contributions.
Let's build together.
🏢 Enterprise Edition
Building on the Community Edition, we are proud to introduce Cherry Studio Enterprise Edition—a privately-deployable AI productivity and management platform designed for modern teams and enterprises.
The Enterprise Edition addresses core challenges in team collaboration by centralizing the management of AI resources, knowledge, and data. It empowers organizations to enhance efficiency, foster innovation, and ensure compliance, all while maintaining 100% control over their data in a secure environment.
Core Advantages
- Unified Model Management: Centrally integrate and manage various cloud-based LLMs (e.g., OpenAI, Anthropic, Google Gemini) and locally deployed private models. Employees can use them out-of-the-box without individual configuration.
- Enterprise-Grade Knowledge Base: Build, manage, and share team-wide knowledge bases. Ensures knowledge retention and consistency, enabling team members to interact with AI based on unified and accurate information.
- Fine-Grained Access Control: Easily manage employee accounts and assign role-based permissions for different models, knowledge bases, and features through a unified admin backend.
- Fully Private Deployment: Deploy the entire backend service on your on-premises servers or private cloud, ensuring your data remains 100% private and under your control to meet the strictest security and compliance standards.
- Reliable Backend Services: Provides stable API services and enterprise-grade data backup and recovery mechanisms to ensure business continuity.
✨ Online Demo
🚧 Public Beta Notice
The Enterprise Edition is currently in its early public beta stage, and we are actively iterating and optimizing its features. We are aware that it may not be perfectly stable yet. If you encounter any issues or have valuable suggestions during your trial, we would be very grateful if you could contact us via email to provide feedback.
Version Comparison
| Feature | Community Edition | Enterprise Edition |
|---|---|---|
| Open Source | ✅ Yes | ⭕️ Partially released to customers |
| Cost | Free for Personal Use / Commercial License | Buyout / Subscription Fee |
| Admin Backend | — | ● Centralized Model Access ● Employee Management ● Shared Knowledge Base ● Access Control ● Data Backup |
| Server | — | ✅ Dedicated Private Deployment |
Get the Enterprise Edition
We believe the Enterprise Edition will become your team's AI productivity engine. If you are interested in Cherry Studio Enterprise Edition and would like to learn more, request a quote, or schedule a demo, please feel free to contact us.
- For Business Inquiries & Purchasing: 📧 bd@cherry-ai.com
🔗 Related Projects
-
one-api: LLM API management and distribution system supporting mainstream models like OpenAI, Azure, and Anthropic. Features a unified API interface, suitable for key management and secondary distribution.
-
ublacklist: Blocks specific sites from appearing in Google search results