🍒 Cherry Studio is a desktop client that supports for multiple LLM providers.
Go to file
Carter Cheng 6d0c133550 fix(ui): improve chat navigation buttons UX and fix scroll interference
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.
2025-03-13 17:56:06 +08:00
.github Revert "docs: remove Chinese issue templates for bug reports, feature requests, and questions" 2025-02-28 10:34:28 +08:00
.vscode Modified the prompt part Modified the minapp data part 2024-09-14 16:23:58 +08:00
.yarn/patches fix(package): update @modelcontextprotocol/sdk to use a patch for platform-specific shell handling 2025-03-12 23:59:18 +08:00
build Revert "feat: enable local network access on macOS #1178" 2025-02-11 11:18:33 +08:00
docs Update README.ja.md 2025-03-13 14:16:41 +08:00
packages feat(constants): Add BibTeX file extension to supported text files 2025-03-10 17:33:02 +08:00
resources feat: Add Agent German Tutor (#2748) 2025-03-04 10:38:50 +08:00
scripts feat: Synchronize and clean up localization files 2025-02-21 14:15:36 +08:00
src fix(ui): improve chat navigation buttons UX and fix scroll interference 2025-03-13 17:56:06 +08:00
.editorconfig fix: electron builder ignore files 2024-08-26 18:19:01 +08:00
.eslintignore build: add scripts/cloudflare-worker.js 2024-11-22 10:01:54 +08:00
.eslintrc.cjs fix: Solve the problem that eslint always reports line break errors on Windows 2025-02-14 10:36:07 +08:00
.gitignore feat: Add remark function to knowledge url (#2210) 2025-02-24 12:47:47 +08:00
.prettierignore style: align tab content horizontally and ignore agents.json with prettier 2024-10-26 23:36:06 +08:00
.prettierrc chore(lint): Update ESLint and Prettier configurations 2024-05-24 16:33:26 +08:00
.yarnrc.yml chore(version): 0.6.2 2024-08-26 18:30:05 +08:00
CODE_OF_CONDUCT.md docs: update documentation for a more inclusive environment and added japanese and chinese documentation 2024-10-25 00:09:01 +08:00
CONTRIBUTING.md docs: update documentation to reflect project changes 2024-10-29 15:29:44 +08:00
dev-app-update.yml feat: add update info ui 2024-12-10 17:06:29 +08:00
electron-builder.yml chore(version): 1.0.6 2025-03-05 21:54:39 +08:00
electron.vite.config.ts feat: add function call model type 2025-03-11 19:42:46 +08:00
LICENSE docs: update LICENSE 2024-10-17 14:09:30 +08:00
package.json chore(version): 1.1.2 2025-03-13 07:57:34 +08:00
README.md Update README.md 2025-03-13 14:15:51 +08:00
tsconfig.json feat: add local module 2024-08-27 11:31:05 +08:00
tsconfig.node.json refactor: shortcuts feature 2024-12-03 10:23:53 +08:00
tsconfig.web.json refactor: shortcuts feature 2024-12-03 10:23:53 +08:00
yarn.lock chore(version): 1.1.2 2025-03-13 07:57:34 +08:00

banner

English | 中文 | 日本語

kangfenmao%2Fcherry-studio | Trendshift

🍒 Cherry Studio

Cherry Studio is a desktop client that supports for multiple LLM providers, available on Windows, Mac and Linux.

👏 Join Telegram GroupDiscord | QQ Group(472019156)

❤️ Like Cherry Studio? Give it a star 🌟 or Sponsor to support the development!

🌠 Screenshot

🌟 Key Features

  1. 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
  2. AI Assistants & Conversations:

    • 📚 300+ Pre-configured AI Assistants
    • 🤖 Custom Assistant Creation
    • 💬 Multi-model Simultaneous Conversations
  3. Document & Data Processing:

    • 📄 Support for Text, Images, Office, PDF, and more
    • ☁️ WebDAV File Management and Backup
    • 📊 Mermaid Chart Visualization
    • 💻 Code Syntax Highlighting
  4. Practical Tools Integration:

    • 🔍 Global Search Functionality
    • 📝 Topic Management System
    • 🔤 AI-powered Translation
    • 🎯 Drag-and-drop Sorting
    • 🔌 Mini Program Support
  5. 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

Cursor + ESLint + Prettier

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:

  1. Contribute Code: Develop new features or optimize existing code.
  2. Fix Bugs: Submit fixes for any bugs you find.
  3. Maintain Issues: Help manage GitHub issues.
  4. Product Design: Participate in design discussions.
  5. Write Documentation: Improve user manuals and guides.
  6. Community Engagement: Join discussions and help users.
  7. Promote Usage: Spread the word about Cherry Studio.

Getting Started

  1. Fork the Repository: Fork and clone it to your local machine.
  2. Create a Branch: For your changes.
  3. Submit Changes: Commit and push your changes.
  4. 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!

  • 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

🚀 Contributors



🌐 Community

Telegram | Email | Twitter

📣 Product Hunt

Cherry Studio - AI Chatbots, AI Desktop Client | Product Hunt

Sponsor

Buy Me a Coffee

📃 License

LICENSE

Star History

Star History Chart