* build: 添加 macOS 系统 OCR 作为可选依赖 * refactor: 移动TesseractService * feat(ocr): 添加MacOS Vision OCR支持并优化类型定义 添加对MacOS Vision OCR的支持,同时重构OCR相关类型定义以提升可维护性。新增PDF文件元数据类型为后续功能做准备。 * refactor(types): 重命名 isImageFile 为 isImageFileMetadata 以更准确描述功能 * refactor(ocr): 更新导入 * feat(ocr): 实现MacOS Vision OCR服务并重构OCR基础结构 添加MacOcrService以支持MacOS Vision OCR功能 创建OcrBaseService作为OCR服务的基类 清理MacOS OCR配置中的冗余字段 * fix(store): 更新持久化存储版本至138并添加MAC OCR提供者 添加内置OCR提供者支持并清空翻译输入框 * chore: 更新 @cherrystudio/mac-system-ocr 依赖至 0.2.4 版本 * feat(ocr): 添加 macOS 原生 OCR 服务支持 添加 macOS 原生 OCR 服务作为内置 OCR 提供商 在设置页面显示不可配置提示 添加相关 logo 和翻译文本 * build: 将 @cherrystudio/mac-system-ocr 从可选依赖移至常规依赖 * fix(ocr): 临时使用any类型替代平台特定依赖的类型定义 为了避免在Linux上运行类型检查CI时抛出错误,暂时将MacOCR属性的类型从平台特定依赖的类型定义改为any类型 * refactor(build): 将mac-system-ocr移至optionalDependencies并更新vite配置 将@cherrystudio/mac-system-ocr从dependencies移至optionalDependencies 更新electron.vite.config.ts中的external配置以包含该依赖 * feat(OCR设置): 根据平台过滤OCR提供商选项 添加平台检测逻辑,在非Mac平台隐藏Mac内置OCR提供商选项 * feat(OCR): 添加非MacOS系统的错误提示 在OCR图片设置中添加对非MacOS系统的错误提示,当用户尝试在非Mac系统上使用OCR功能时显示错误标签 * feat(i18n): 添加 OCR 相关多语言翻译 为 OCR 功能添加错误提示和配置项的多语言翻译,包括非 MacOS 系统提示和无配置项提示 * fix(MacOcrService): 忽略macOS专属模块的类型检查错误 添加@ts-ignore注释以避免在非macOS平台上的类型检查错误,该模块仅在macOS上可用 * build: 添加 @napi-rs/system-ocr 依赖以支持OCR功能 * chore: 移除未使用的mac-system-ocr依赖 * refactor(ocr): 将 MacOS OCR 重构为跨平台的系统 OCR 重构 OCR 服务,将原本仅支持 MacOS 的 OCR 功能扩展为支持 Windows 和 MacOS 的系统 OCR 更新相关类型定义、配置和界面适配 * feat(hooks): 添加设置图片OCR提供商的功能 * refactor(ocr): 重构OCR提供者相关逻辑,优化代码结构 - 将OCR提供者相关工具函数和hook合并到useOcrProvider中 - 替换mac提供者为system提供者 - 优化OCR设置界面的错误处理和UI展示 - 删除不再使用的ocr.ts工具文件 * refactor(OCR设置): 移除多余的SettingGroup包装并优化provider设置逻辑 移除OcrSettings中多余的SettingGroup包装,将主题样式直接应用于OcrProviderSettings组件 优化OcrProviderSettings逻辑,对于system provider直接返回null * fix(i18n): 移除OCR服务中不可配置项的翻译并更新系统OCR支持提示 * fix(ocr): 根据系统平台设置默认OCR提供商 在Windows和Mac平台上使用系统OCR作为默认提供商,其他平台继续使用Tesseract * build: 从外部依赖中移除 @cherrystudio/mac-system-ocr * fix(i18n): 更新多语言OCR相关翻译 * fix(store): 在迁移配置中移除翻译输入的清空操作 * refactor(hooks): 将 getOcrProviderLogo 重命名为 OcrProviderLogo 并改为组件形式 将 useOcrProviders 中的 getOcrProviderLogo 函数重构为 OcrProviderLogo 组件 更新 OcrProviderSettings 中对应的调用方式 * support jpg * refactor(ocr): 重构OCR服务基础结构并支持多语言配置 重构OCR基础服务类,提取公共接口为抽象类 为系统OCR和Tesseract服务添加多语言配置支持 * refactor(ocr): 重构OCR类型定义以提高可维护性 将OcrProviderConfig拆分为基础配置和具体实现配置类型 优化类型结构以更清晰地区分不同OCR提供者的配置 * feat(组件): 新增错误标签组件 ErrorTag * refactor(ocr): 替换自定义标签组件为ErrorTag组件以简化代码 * fix(ocr): 在macOS下忽略语言参数 * feat(组件): 添加警告标签组件用于显示警告信息 * feat(ocr): 添加系统OCR支持并优化语言配置 - 新增系统OCR设置组件,支持Windows和MacOS平台 - 为系统OCR添加语言选择功能,Windows需配置语言包 - 创建SuccessTag组件用于显示配置状态 - 统一OCR语言设置相关翻译键名 - 修复系统OCR在非Windows/Mac平台下的显示问题 * feat(i18n): 添加 OCR 设置页面的多语言支持 为 OCR 设置页面添加了新的多语言翻译,包括支持的语言列表和系统 OCR 的相关提示信息 * feat(ocr): 支持自定义 Tesseract OCR 语言选择 添加 Tesseract OCR 语言映射配置和动态语言选择功能 在设置界面实现多语言选择器,支持用户自定义 OCR 语言 更新相关类型定义和工具提示信息 * docs(i18n): 为Tesseract OCR添加自定义语言支持提示文本 * fix(i18n): 移除OCR服务中临时语言支持提示 * fix(ocr): 修复OCR服务未传递provider配置的问题 * fix(ocr): 修复OCR服务未传递provider配置的问题 * fix(TesseractService): 修复worker没有显式dispose的问题 * feat(拖拽): 在useDrag钩子中暴露setIsDragging方法 允许外部组件直接控制拖拽状态,用于在TranslatePage中处理文件拖放时重置拖拽状态 * feat(i18n): 更新输入框占位文本以支持OCR功能 * fix(ocr): 添加错误处理并记录日志以改进Tesseract服务 在TesseractService中添加错误处理回调函数,捕获并抛出worker创建过程中的错误 同时增加调试日志以跟踪语言数组和worker创建过程 * refactor(ocr): 重构OCR状态管理,使用ID引用图像提供者并添加选择器 将imageProvider字段改为imageProviderId以简化状态管理 添加getImageProvider选择器方便获取当前图像提供者 * update cn data * refactor(ocr): 重构OCR提供者管理逻辑,使用自定义hook统一处理 - 将OCR提供者状态管理从Redux迁移到自定义hook useOcrProviders - 修复默认OCR提供者初始化问题 - 优化OCR图片识别逻辑,使用useCallback提升性能 * fix(ocr): 修复Tesseract worker初始化错误处理逻辑 重构worker初始化流程,使用Promise处理错误而非全局变量 修正非CN地区语言包下载URL为空的问题 * fix(ocr): 修复url * feat(OCR设置): 在Tesseract语言选择器中添加自定义标签渲染 添加CustomTag组件以禁用默认的关闭操作 * refactor(translate): 优化拖拽上传文件的hooks调用顺序 将useDrag hooks的声明移到使用位置附近,提高代码可读性 * perf(ocr): 移除不必要的await提升图像预处理性能 * feat(translate): 添加文本文件类型检查并优化文件处理逻辑 在翻译页面中增加对文本文件类型的检查,避免处理非文本文件。同时优化文件处理流程,包括错误处理和加载状态管理。 * feat(i18n): 添加文件类型检查错误的多语言翻译 * docs(i18n): 更新输入框占位符文本以更清晰描述支持的功能 --------- Co-authored-by: beyondkmp <beyondkmp@gmail.com> |
||
|---|---|---|
| .github | ||
| .husky | ||
| .vscode | ||
| .yarn | ||
| build | ||
| docs | ||
| packages | ||
| resources | ||
| scripts | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .yarnrc.yml | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| dev-app-update.yml | ||
| electron-builder.yml | ||
| electron.vite.config.ts | ||
| eslint.config.mjs | ||
| LICENSE | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| SECURITY.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| tsconfig.web.json | ||
| vitest.config.ts | ||
| yarn.lock | ||
English | 中文 | Official Site | Documents | Development | Feedback
🍒 Cherry Studio
Cherry Studio is a desktop client that supports multiple LLM providers, available on Windows, Mac and Linux.
👏 Join Telegram Group|Discord | QQ Group(575014769)
❤️ 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:
- 📄 Supports 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
- ⚙️ MCP(Model Context Protocol) Server
- 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
📝 Roadmap
We're actively working on the following features and improvements:
- 🎯 Core Features
- Selection Assistant with smart content selection enhancement
- Deep Research with advanced research capabilities
- Memory System with global context awareness
- Document Preprocessing with improved document handling
- MCP Marketplace for Model Context Protocol ecosystem
- 🗂 Knowledge Management
- Notes and Collections
- Dynamic Canvas visualization
- OCR capabilities
- TTS (Text-to-Speech) support
- 📱 Platform Support
- HarmonyOS Edition (PC)
- Android App (Phase 1)
- iOS App (Phase 1)
- Multi-Window support
- Window Pinning functionality
- 🔌 Advanced Features
- Plugin System
- ASR (Automatic Speech Recognition)
- Assistant and Topic Interaction Refactoring
Track our progress and contribute on our project board.
Want to influence our roadmap? Join our GitHub Discussions to share your ideas and feedback!
🌈 Theme
- Theme Gallery: https://cherrycss.com
- Aero Theme: https://github.com/hakadao/CherryStudio-Aero
- PaperMaterial Theme: https://github.com/rainoffallingstar/CherryStudio-PaperMaterial
- Claude dynamic-style: https://github.com/bjl101501/CherryStudio-Claudestyle-dynamic
- Maple Neon Theme: https://github.com/BoningtonChen/CherryStudio_themes
Welcome PR for more themes
🤝 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.
Refer to the Branching Strategy for contribution guidelines
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!
🔧 Developer Co-creation Program
We are launching the Cherry Studio Developer Co-creation Program to foster a healthy and positive-feedback loop within the open-source ecosystem. We believe that great software is built collaboratively, and every merged pull request breathes new life into the project.
We sincerely invite you to join our ranks of contributors and shape the future of Cherry Studio with us.
Contributor Rewards Program
To give back to our core contributors and create a virtuous cycle, we have established the following long-term incentive plan.
The inaugural tracking period for this program will be Q3 2025 (July, August, September). Rewards for this cycle will be distributed on October 1st.
Within any tracking period (e.g., July 1st to September 30th for the first cycle), any developer who contributes more than 30 meaningful commits to any of Cherry Studio's open-source projects on GitHub will be eligible for the following benefits:
- Cursor Subscription Sponsorship: Receive a $70 USD credit or reimbursement for your Cursor subscription, making AI your most efficient coding partner.
- Unlimited Model Access: Get unlimited API calls for the DeepSeek and Qwen models.
- Cutting-Edge Tech Access: Enjoy occasional perks, including API access to models like Claude, Gemini, and OpenAI, keeping you at the forefront of technology.
Growing Together & Future Plans
A vibrant community is the driving force behind any sustainable open-source project. As Cherry Studio grows, so will our rewards program. We are committed to continuously aligning our benefits with the best-in-class tools and resources in the industry. This ensures our core contributors receive meaningful support, creating a positive cycle where developers, the community, and the project grow together.
Moving forward, the project will also embrace an increasingly open stance to give back to the entire open-source community.
How to Get Started?
We look forward to your first Pull Request!
You can start by exploring our repositories, picking up a good first issue, or proposing your own enhancements. Every commit is a testament to the spirit of open source.
Thank you for your interest and contributions.
Let's build together.
🏢 Enterprise Edition
Building on the Community Edition, we are proud to introduce Cherry Studio Enterprise Edition—a privately-deployable AI productivity and management platform designed for modern teams and enterprises.
The Enterprise Edition addresses core challenges in team collaboration by centralizing the management of AI resources, knowledge, and data. It empowers organizations to enhance efficiency, foster innovation, and ensure compliance, all while maintaining 100% control over their data in a secure environment.
Core Advantages
- Unified Model Management: Centrally integrate and manage various cloud-based LLMs (e.g., OpenAI, Anthropic, Google Gemini) and locally deployed private models. Employees can use them out-of-the-box without individual configuration.
- Enterprise-Grade Knowledge Base: Build, manage, and share team-wide knowledge bases. Ensures knowledge retention and consistency, enabling team members to interact with AI based on unified and accurate information.
- Fine-Grained Access Control: Easily manage employee accounts and assign role-based permissions for different models, knowledge bases, and features through a unified admin backend.
- Fully Private Deployment: Deploy the entire backend service on your on-premises servers or private cloud, ensuring your data remains 100% private and under your control to meet the strictest security and compliance standards.
- Reliable Backend Services: Provides stable API services and enterprise-grade data backup and recovery mechanisms to ensure business continuity.
✨ Online Demo
🚧 Public Beta Notice
The Enterprise Edition is currently in its early public beta stage, and we are actively iterating and optimizing its features. We are aware that it may not be perfectly stable yet. If you encounter any issues or have valuable suggestions during your trial, we would be very grateful if you could contact us via email to provide feedback.
Version Comparison
| Feature | Community Edition | Enterprise Edition |
|---|---|---|
| Open Source | ✅ Yes | ⭕️ Partially released to customers |
| Cost | Free for Personal Use / Commercial License | Buyout / Subscription Fee |
| Admin Backend | — | ● Centralized Model Access ● Employee Management ● Shared Knowledge Base ● Access Control ● Data Backup |
| Server | — | ✅ Dedicated Private Deployment |
Get the Enterprise Edition
We believe the Enterprise Edition will become your team's AI productivity engine. If you are interested in Cherry Studio Enterprise Edition and would like to learn more, request a quote, or schedule a demo, please feel free to contact us.
- For Business Inquiries & Purchasing: 📧 bd@cherry-ai.com
🔗 Related Projects
-
one-api: LLM API management and distribution system supporting mainstream models like OpenAI, Azure, and Anthropic. Features a unified API interface, suitable for key management and secondary distribution.
-
ublacklist: Blocks specific sites from appearing in Google search results