🍒 Cherry Studio is a desktop client that supports for multiple LLM providers.
Go to file
MyPrototypeWhat 431d04078f
fix: next release bugs (#5801)
* style: update ChatNavigation and CitationsList components for improved UI consistency

- Added header style to remove borders in ChatNavigation.
- Enhanced CitationsList with new Skeleton loading state and improved layout for citation cards.
- Refactored CitationLink to a div for better styling control and adjusted padding in OpenButton for a more polished appearance.

* fix: update citation rendering logic in MainTextBlock component

- Added a check to determine if the citation URL is a valid link.
- Updated citation tag formatting to conditionally include the link based on the URL validity.

* Remove Zhipu mode and text-only link handling

* refactor: update message handling and state management

- Simplified message editing logic by removing unnecessary success/error logging.
- Added `updatedAt` timestamp to message updates for better tracking.
- Refactored `editMessageBlocks` to accept message ID and updates directly.
- Removed unused `getTopicLimit` function from `TopicManager`.
- Updated message rendering to use `updatedAt` when available.
- Enhanced type definitions to include `updatedAt` in message structure.

* refactor: optimize block update logic and remove unused code

- Updated `throttledBlockUpdate` to handle asynchronous updates directly.
- Removed the unused `throttledBlockDbUpdate` function and its related logic.
- Added cancellation for throttled updates on error and completion to improve performance and reliability.
- Cleaned up commented-out code for better readability.

* fix: enhance logging and update async handling in StreamProcessingService and messageThunk

- Enabled logging in `createStreamProcessor` for better debugging.
- Added logging for updated messages in `updateExistingMessageAndBlocksInDB` and `saveUpdatesToDB`.
- Updated `onTextComplete` and `onLLMWebSearchComplete` to handle asynchronous operations correctly.
- Commented out unused `saveUpdatedBlockToDB` calls to prevent unnecessary database updates.

* feat: enhance citation handling and add metadata support in citation blocks

* fix: prevent default action in handleLinkClick for better link handling

* fix: update styled component props to use dollar sign prefix for consistency

* feat(i18n): add download success and failure messages in multiple languages

* refactor(messageThunk): remove console.log statements for cleaner code

* refactor(StreamProcessingService): comment out console.log for cleaner code

* feat(MessageMenubar): add edit option to dropdown for single message editing

* fix:  set default zoomFactor in settings

* fix: add support for inline base64 image data in image block

* fix: remove 'auto' option from qwen model supported options

* fix: adjust thinking millisecond handling in message thunk

* fix: update regex for function calling models and improve time tracking logic

* fix: enhance error handling and metrics tracking across AI providers and message processing

* fix: add new image generation models to the configuration

* refactor(GeminiProvider): implement image generation handling in chat responses

* Revert "fix:  set default zoomFactor in settings"

This reverts commit 428b1fbe40.

---------

Co-authored-by: kangfenmao <kangfenmao@qq.com>
Co-authored-by: suyao <sy20010504@gmail.com>
2025-05-11 20:20:43 +08:00
.github Update issue-management.yml (#5314) 2025-04-25 21:18:17 +08:00
.husky chore(pre-commit): add pre-commit hook to enforce code style (#3351) 2025-03-15 11:09:11 +08:00
.vscode chore: Update runtime version in VSCode launch configuration (#5434) 2025-04-28 18:48:00 +08:00
.yarn fix: jina embedding error (#5839) 2025-05-10 23:03:48 +08:00
build feat(icons): explicitly add icons in multiple resolutions to correct appimage icon path 2025-04-06 08:28:10 +08:00
docs feat: 添加 messageBlock、messageThunk 和 useMessageOperations 使用指南文档 2025-04-29 15:14:55 +08:00
packages refactor: update zoom handling in IPC and settings (#5868) 2025-05-11 18:42:25 +08:00
resources refactor: remove unused selection window (#5586) 2025-05-01 20:57:31 +08:00
scripts fix: clean up code (#5851) 2025-05-11 00:37:01 +08:00
src feat: replace SvgSpinners180Ring with BeatLoader for improved loading animation in MinappPopupContainer 2025-05-11 19:51:02 +08:00
.editorconfig fix: electron builder ignore files 2024-08-26 18:19:01 +08:00
.gitattributes opt: optimise local dev with fixed yarn (#3456) 2025-03-19 13:18:11 +08:00
.gitignore build: remove sentry integration 2025-04-24 11:48:53 +08:00
.npmrc opt: optimise local dev with fixed yarn (#3456) 2025-03-19 13:18:11 +08:00
.prettierignore feat: nutstore integration (#3461) 2025-03-25 11:40:11 +08:00
.prettierrc chore(lint): Update ESLint and Prettier configurations 2024-05-24 16:33:26 +08:00
.yarnrc.yml opt: optimise local dev with fixed yarn (#3456) 2025-03-19 13:18:11 +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: contributor guide 2025-04-24 18:14:21 +08:00
dev-app-update.yml feat: add after-build script for renaming files and updating latest.yml 2025-04-14 17:14:45 +08:00
electron-builder.yml chore(dependencies): update electron-builder to 26.0.15 (#5651) 2025-05-04 18:34:43 +08:00
electron.vite.config.ts build: remove sentry integration 2025-04-24 11:48:53 +08:00
eslint.config.mjs ci: fix eslint slow 2025-03-25 18:34:20 +08:00
LICENSE Update LICENSE (#4744) 2025-04-13 08:00:41 +08:00
package.json chore: remove opendal dependency and related code from RemoteStorage service 2025-05-11 19:50:55 +08:00
README.md docs(README): add Architecture overview document (#5824) 2025-05-10 18:03:19 +08:00
tsconfig.json feat: add local module 2024-08-27 11:31:05 +08:00
tsconfig.node.json feat: nutstore integration (#3461) 2025-03-25 11:40:11 +08:00
tsconfig.web.json refactor: simplify window.api definition (#5412) 2025-04-28 09:02:14 +08:00
vitest.config.ts test: add vitest (#5085) 2025-04-20 22:44:01 +08:00
yarn.lock chore: remove opendal dependency and related code from RemoteStorage service 2025-05-11 19:50:55 +08:00

banner

English | 中文 | 日本語

kangfenmao%2Fcherry-studio | Trendshift Cherry Studio - AI Chatbots, AI Desktop Client | Product Hunt

🍒 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(575014769)

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

📖 Guide

https://docs.cherry-ai.com

🌠 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
  1. AI Assistants & Conversations:
  • 📚 300+ Pre-configured AI Assistants
  • 🤖 Custom Assistant Creation
  • 💬 Multi-model Simultaneous Conversations
  1. Document & Data Processing:
  • 📄 Support for Text, Images, Office, PDF, and more
  • ☁️ WebDAV File Management and Backup
  • 📊 Mermaid Chart Visualization
  • 💻 Code Syntax Highlighting
  1. Practical Tools Integration:
  • 🔍 Global Search Functionality
  • 📝 Topic Management System
  • 🔤 AI-powered Translation
  • 🎯 Drag-and-drop Sorting
  • 🔌 Mini Program Support
  • ⚙️ MCP(Model Context Protocol) Server
  1. 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

Welcome PR for more themes

🖥️ Develop

Refer to the development documentation Refer to the Architecture overview documentation

🤝 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

Sponsor

Buy Me a Coffee

📃 License

LICENSE

✉️ Contact

yinsenho@cherry-ai.com

Star History

Star History Chart