介绍
Cherry Studio 是一款跨平台桌面客户端,支持多个大语言模型(LLM)服务商,兼容 Windows、Mac 和 Linux 系统,并拥丰富的个性化选项与领先的功能设计。
软件截图






软件特点
😌 轻松上手
🍏Windows,Mac,Linux跨平台支持
📦开箱即用,无需 Python 与 Docker
🤝简洁、友好的界面与交互设计
🛠️多样化的 LLM 服务模式支持
☁️ 全面覆盖 LLM 云服务,支持自定义 api key 与模型管理:OpenAI,Gemini,Anthropic,硅基流动...
🔗汇聚流行的 AI Web 服务,并计划通过功能增强提升体验:Claude,Peplexity,Poe,腾讯元宝,知乎直答...
💻支持 Ollama 运行本地模型
📲个性化的功能体验
📄完整的 Markdown 与 Mermaid 渲染支持
🤖使用与创建智能体提升工作效率
🔤持续迭代的翻译功能
🤲生成结果支持 Markdown 与图片分享
📎文件与图片上传,RAG 与多模态对话
🎨透明窗口与明暗主题支持
更新日志
v1.1.5
Improve zh-tw Traditional Chinese locale a bit by @PeterDaveHello in #2896
feat(i18n): Add expand and collapse translations for code blocks by @Cyfine in #2923
feat: Translation does not show the thinking content by @ousugo in #2811
fix(mcp): add required to tool call parameters by @luwux in #2897
feat: refactor web search logic and support searxng by @eeee0717 in #2543
fix: websearch enabled bug by @eeee0717 in #2944
feat: Focus input on mouse click by @icinggslits in #2940
feat: Windows Control Overlay button hover effect by @icinggslits in #2939
feat(MCP): support gemini and claude models by @vaayne in #2936
feat:(REGEX): Resaoning models regex matching QWEN's qwq series models by @ousugo in #2950
fix: distinguish model mention sources by @alephpiece in #2949
Site title for rankings on OpenRouter by @wyxogo in #2946
feat: support exa engine by @eeee0717 in #2870
fix: relieve text shaking while streaming by @alephpiece in #2955
feat(ui): Enhance mention models dropdown with improved styling and s… by @Cyfine in #2951
feat: a button to add a whole group of models by @alephpiece in #2736
fix(ui): Improve dropdown menu styling with dynamic inner glow opacity by @Cyfine in #2979
fix: remove duplicate property in websearch by @eeee0717 in #2968
🔧 feat(MCP): add mcp tool response visualization and handling by @vaayne in #2958
✨ feat(MCP): add support for enabling/disabling MCPServers per message by @vaayne in #2989
refactor: 重构message模块 by @MyPrototypeWhat in #2561
Improve zh-tw Traditional Chinese locale a bit by @PeterDaveHello in #3004
fix(UX): Improve Enter key handling in PromptPopup input by @ousugo in #2984
Enhance update error logging and fix duplicate type import by @Harris-H in #3038
fix(mcp): 修复了mcp无法调用功能的问题 by @yan5xu in #3047
Improve SelectModelPopup, fix model id concatenation by @alephpiece in #2903
feat: Add health check to check all the models at one time by @alephpiece in #2613
Fix: file extension to lowercase when uploading by @juzeon in #3068
Fix/message refactor bug by @MyPrototypeWhat in #3087
feat: Enhance API Key Management in Provider Settings by @FunJim in #3078
feat(loader): optimize EpubLoader memory usage with file streams by @Harris-H in #3074
fix: Correct MIME type for JPG images for Gemini 2.0 Pro by @GeorgeDong32 in #3088
fix: translate error handle by @Pleasurecruise in #3092
feat: synced scrolling for translation page by @alephpiece in #3071
fix:add State Cloud models by @lbc123456 in #2971
feat(message): add a compact style for the model list in message groups by @alephpiece in #2962
fix(MCPToolsButton): Optimize useEffect dependencies for server enabl… by @vaayne in #3112
Fix/improve file utils by @Harris-H in #3116
fix: fix GeminiProvdier config tools has empty array or object make r… by @shiro-yama in #3090
fix: #2957 improve topic auto renaming & remove special characters from file name when topic exported by @mzx2689 in #3132
fix: Refine special character removal in utility function by @ousugo in #3130
feat(Models): Add 'qvq' to vision allowed models list by @ousugo in #3126
feat(constants): Add BibTeX file extension to supported text files by @DeJeune in #3120
feat: Add chat navigation button by @GeorgeDong32 in #3134
refactor(GeminiProvider): remove unused tool filtering logic and upda… by @vaayne in #3152
Bugfix/mcp storage by @vaayne in #3149
feat(Proxy): Implement proxy management system by @DeJeune in #3144
feat: enable one-click export for simple markdown exporting by @happyZYM in #3137
Optimize/message structure by @MyPrototypeWhat in #3136
Optimize/message performance by @MyPrototypeWhat in #3181
docs: fix the style and links in README.zh.md and README.ja.md by @xuanzhi33 in #3182
fix:message_status by @MyPrototypeWhat in #3183
feat(OpenAIProvider): Enhance model reasoning detection and stream output handling by @ousugo in #3179
fix(sendMessage): optimize message slicing logic by @Ruby-rc in #3178
fix(MessageOperations): Improve message pause functionality and error… by @MyPrototypeWhat in #3194
fix(MCPService): Improve server addition and status update error hand… by @vaayne in #3211
feat(ChatNavigation): Adjust navigation position based on topic settings by @ousugo in #3207
fix:abortError handle by @MyPrototypeWhat in #3222
fix(Proxy): improve system proxy monitor logic and proxyManager init by @DeJeune in #3239
fix(MCPSettings): MCP server environment variables parsing error by @ocleo1 in #3238
feat(Painting): Modify painting addition order by @ousugo in #3213
fix:#3249 by @MyPrototypeWhat in #3271
fix:Resolve bug where clearing context was invalid by @MyPrototypeWhat in #3280
fix(OpenAIProvider): Add type property to thinking model by @DeJeune in #3282
fix(MessageMenubar, useMessageOperations): Enhance loading state hand… by @MyPrototypeWhat in #3284
fix(Export): Improve error handling and success messaging for markdown export by @ousugo in #3285
fix(ux): improve chat navigation buttons UX and fix scroll interference by @Cyfine in #3277
fix(TopicsTab): Ensure active topic is updated correctly on deletion by @ousugo in #3275
feat: replace zipfile with zipread in epub by @beyondkmp in #3268
fix: 空消息传入知识库和Web搜索 by @GeorgeDong32 in #3288
fix(settings): Change padding to margin in SettingHelpLink styling by @withxat in #3287
Fix/fs-rmdir-deprecation by @Harris-H in #3296
feat: 提示词输入框添加Token预估数 by @GeorgeDong32 in #3241
fix(models): Update function_call provider check to exclude embedding models by @DeJeune in #3281
fix(OpenAIProvider): Enhanced function arguments fault tolerance by @ocleo1 in #3267
fix: tool call handling in OpenAIProvider by @yrom in #2953
fix: enhance MCPToolResponse structure and improve argument parsing i… by @vaayne in #3306
fix(websearch): exa return empty content by @eeee0717 in #3314
feat(GeminiProvider): Add isGemmaModel function and update model handling by @ousugo in #3247
feat(prompts): Translate prompts to English and enhance clarity by @vaayne in #3312
feat(MCP): Support GLM-4-alltools by @DeJeune in https://github....