This commit enhances the chat navigation buttons with a more intelligent visibility system that prevents interference with scrolling while maintaining easy access to navigation controls. Key improvements: - Replace static trigger area with dynamic cursor position tracking to allow unobstructed scrolling - Show navigation buttons only when cursor is near the button area or when actively interacting with them - Add throttled mouse position detection (50ms) for better performance - Use passive scroll event listeners for smoother scrolling - Implement smarter auto-hide behavior with 1.5s timeout when cursor leaves the button area This change resolves the issue where navigation buttons would interfere with scrolling when the cursor was in the detection area, creating a more seamless user experience.
🍒 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!
🌠 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
-
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
🖥️ Develop
IDE Setup
Project Setup
Install
yarn
Development
yarn dev
Build
# For windows
$ yarn build:win
# For macOS
$ yarn build:mac
# For Linux
$ yarn build:linux
🤝 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