* perf(CodeBlock): improve long codeblock loading experience * refactor: use requestIdleCallback rather than observer * refactor: simplify setting expanded and unwrapped * refactor: simplify logic * refactor: revert to observer * fix: turn mermaid listener to passive to avoid scrolling performance downgrade * feat: add lru cache for syntax highlighting * refactor: adjust cache options * feat: add highlighter cache * fix: highlighter should be loaded before highlighting * refactor: reduce cache time * refactor: adjust cache size and hash * refactor: decrease cache size * fix: restore the behaviour of ShowExpandButton * fix: check streaming status * fix: empty code * refactor: improve streaming check * fix: optimizeDeps excludes * refactor: adjust cache policy * feat: add a setting for code caching * feat: add more settings for code cache * fix: initialize service * refactor: prevent accident cache reset, update settings * refactor: update code cache service * fix: revert unecessary changes * refactor: adjust cache settings * fix: update migrate version * chore: update to shiki v3 * fix: import path * refactor: remove highlighter cache, improve fallbacks * fix: revert path changes * style: fix lint errors * style: improve readability * style: improve readability * chore: update migrate version * chore: update packages
🍒 Cherry Studio
Cherry Studio is a desktop client that supports for multiple LLM providers, available on Windows, Mac and Linux.
👏 Join Telegram Group|Discord | QQ Group(472019156)
❤️ Like Cherry Studio? Give it a star 🌟 or Sponsor to support the development!
📖 Guide
🌠 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:
- 📄 Support for 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
📝 TODO
- Quick popup (read clipboard, quick question, explain, translate, summarize)
- Comparison of multi-model answers
- Support login using SSO provided by service providers
- All models support networking
- Launch of the first official version
- Bug fixes and improvements (In progress...)
- Plugin functionality (JavaScript)
- Browser extension (highlight text to translate, summarize, add to knowledge base)
- iOS & Android client
- AI notes
- Voice input and output (AI call)
- Data backup supports custom backup content
🌈 Theme
- Theme Gallery: https://cherrycss.com
- Aero Theme: https://github.com/hakadao/CherryStudio-Aero
- PaperMaterial Theme: https://github.com/rainoffallingstar/CherryStudio-PaperMaterial
Welcome PR for more themes
🖥️ Develop
Refer to the development documentation
🤝 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.
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!
Related Projects
-
one-api:LLM API management and distribution system, supporting mainstream models like OpenAI, Azure, and Anthropic. Features unified API interface, suitable for key management and secondary distribution.
-
ublacklist:Blocks specific sites from appearing in Google search results