🍒 Cherry Studio is a desktop client that supports for multiple LLM providers.
Go to file
fullex cd1f492207 feat: Launch on boot, Minimize to tray on launch & on close / fix: Mac: don't show dock when close to tray (#2871)
* launch/tray feature enhance stashed

* feature: Issue #2754. launch on boot(win&mac, linux not supported now), min to tray when launch(not only boot), min to tray when close
bug-fix: Issue #2576. In Mac, if tray-on-close is set, MainWindow will not show on the dock when closed
bug-fix: MiniWindow will hide MainWindow when it shows first time and won't hide MainWindow later. The user will not open the MainWindow again if the tray is set to not show. The bug fixed by not hiding the MainWindow anytime the MiniWindow showed.

* migration version fix

* fix: enable universal shortcuts when launch to tray

*  feat: add Model Context Protocol (MCP) support (#2809)

*  feat: add Model Context Protocol (MCP) server configuration (main)

- Added `@modelcontextprotocol/sdk` dependency for MCP integration.
- Introduced MCP server configuration UI in settings with add, edit, delete, and activation functionalities.
- Created `useMCPServers` hook to manage MCP server state and actions.
- Added i18n support for MCP settings with translation keys.
- Integrated MCP settings into the application's settings navigation and routing.
- Implemented Redux state management for MCP servers.
- Updated `yarn.lock` with new dependencies and their resolutions.

* 🌟 feat: implement mcp service and integrate with ipc handlers

- Added `MCPService` class to manage Model Context Protocol servers.
- Implemented various handlers in `ipc.ts` for managing MCP servers including listing, adding, updating, deleting, and activating/deactivating servers.
- Integrated MCP related types into existing type declarations for consistency across the application.
- Updated `preload` to expose new MCP related APIs to the renderer process.
- Enhanced `MCPSettings` component to interact directly with the new MCP service for adding, updating, deleting servers and setting their active states.
- Introduced selectors in the MCP Redux slice for fetching active and all servers from the store.
- Moved MCP types to a centralized location in `@renderer/types` for reuse across different parts of the application.

* feat: enhance MCPService initialization to prevent recursive calls and improve error handling

* feat: enhance MCP integration by adding MCPTool type and updating related methods

* feat: implement streaming support for tool calls in OpenAIProvider and enhance message processing

* fix: finish_reason undefined

---------

Co-authored-by: LiuVaayne <10231735+vaayne@users.noreply.github.com>
Co-authored-by: kangfenmao <kangfenmao@qq.com>
2025-03-21 16:48:19 +08:00
.github chore(workflows): nightly build refactor (#3426) 2025-03-16 20:03:57 +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 configuration files for optimization and exclusion 2025-03-19 15:04:43 +08:00
.yarn opt: optimise local dev with fixed yarn (#3456) 2025-03-19 13:18:11 +08:00
build Revert "feat: enable local network access on macOS #1178" 2025-02-11 11:18:33 +08:00
docs update: readme mcp server (#3623) 2025-03-19 23:31:48 +08:00
packages fix: update file extensions for Fortran source files (#3683) 2025-03-20 21:12:04 +08:00
resources feat: update ESLint config and add socks-proxy-agent dependency 2025-03-21 11:26:51 +08:00
scripts feat: Synchronize and clean up localization files 2025-02-21 14:15:36 +08:00
src feat: Launch on boot, Minimize to tray on launch & on close / fix: Mac: don't show dock when close to tray (#2871) 2025-03-21 16:48:19 +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 feat: Add remark function to knowledge url (#2210) 2025-02-24 12:47:47 +08:00
.npmrc opt: optimise local dev with fixed yarn (#3456) 2025-03-19 13:18:11 +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 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 fix: update url 2025-03-18 17:38:53 +08:00
dev-app-update.yml feat: add update info ui 2024-12-10 17:06:29 +08:00
electron-builder.yml chore: update electron-builder configuration for GitHub publishing 2025-03-19 17:14:27 +08:00
electron.vite.config.ts feat: update WebDAV integration and dependencies 2025-03-21 13:53:01 +08:00
eslint.config.mjs feat: update ESLint config and add socks-proxy-agent dependency 2025-03-21 11:26:51 +08:00
LICENSE chore: update LICENSE agreement with clearer commercial use terms 2025-03-18 18:01:29 +08:00
package.json revert(Proxy): remove proxyManager usage from multiple services (#3720) 2025-03-21 16:04:45 +08:00
README.md fix: readme number error 2025-03-20 00:32:32 +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 revert(Proxy): remove proxyManager usage from multiple services (#3720) 2025-03-21 16:04:45 +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
  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

🖥️ Develop

Refer to the development 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

📣 Product Hunt

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

Sponsor

Buy Me a Coffee

📃 License

LICENSE

Star History

Star History Chart