appId: com.kangfenmao.CherryStudio productName: Cherry Studio electronLanguages: - zh-CN - zh-TW - en-US - ja # macOS/linux/win - ru # macOS/linux/win - zh_CN # for macOS - zh_TW # for macOS - en # for macOS directories: buildResources: build protocols: - name: Cherry Studio schemes: - cherrystudio files: - '**/*' - '!**/{.vscode,.yarn,.yarn-lock,.github,.cursorrules,.prettierrc}' - '!electron.vite.config.{js,ts,mjs,cjs}}' - '!**/{.eslintignore,.eslintrc.js,.eslintrc.json,.eslintcache,root.eslint.config.js,eslint.config.js,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,eslint.config.mjs,dev-app-update.yml,CHANGELOG.md,README.md}' - '!**/{.env,.env.*,.npmrc,pnpm-lock.yaml}' - '!**/{tsconfig.json,tsconfig.tsbuildinfo,tsconfig.node.json,tsconfig.web.json}' - '!**/{.editorconfig,.jekyll-metadata}' - '!src' - '!scripts' - '!local' - '!docs' - '!packages' - '!.swc' - '!.bin' - '!._*' - '!*.log' - '!stats.html' - '!*.md' - '!**/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}' - '!**/*.{map,ts,tsx,jsx,less,scss,sass,css.d.ts,d.cts,d.mts,md,markdown,yaml,yml}' - '!**/{test,tests,__tests__,powered-test,coverage}/**' - '!**/{example,examples}/**' - '!**/*.{spec,test}.{js,jsx,ts,tsx}' - '!**/*.min.*.map' - '!**/*.d.ts' - '!**/dist/es6/**' - '!**/dist/demo/**' - '!**/amd/**' - '!**/{.DS_Store,Thumbs.db,thumbs.db,__pycache__}' - '!**/{LICENSE,license,LICENSE.*,*.LICENSE.txt,NOTICE.txt,README.md,readme.md,CHANGELOG.md}' - '!node_modules/rollup-plugin-visualizer' - '!node_modules/js-tiktoken' - '!node_modules/@tavily/core/node_modules/js-tiktoken' - '!node_modules/pdf-parse/lib/pdf.js/{v1.9.426,v1.10.88,v2.0.550}' - '!node_modules/mammoth/{mammoth.browser.js,mammoth.browser.min.js}' - '!node_modules/selection-hook/prebuilds/**/*' # we rebuild .node, don't use prebuilds - '!node_modules/selection-hook/node_modules' # we don't need what in the node_modules dir - '!node_modules/selection-hook/src' # we don't need source files - '!**/*.{h,iobj,ipdb,tlog,recipe,vcxproj,vcxproj.filters,Makefile,*.Makefile}' # filter .node build files asarUnpack: - resources/** - '**/*.{metal,exp,lib}' win: executableName: Cherry Studio artifactName: ${productName}-${version}-${arch}-setup.${ext} target: - target: nsis - target: portable signtoolOptions: sign: scripts/win-sign.js verifyUpdateCodeSignature: false nsis: artifactName: ${productName}-${version}-${arch}-setup.${ext} shortcutName: ${productName} uninstallDisplayName: ${productName} createDesktopShortcut: always allowToChangeInstallationDirectory: true oneClick: false include: build/nsis-installer.nsh buildUniversalInstaller: false portable: artifactName: ${productName}-${version}-${arch}-portable.${ext} buildUniversalInstaller: false mac: entitlementsInherit: build/entitlements.mac.plist notarize: false artifactName: ${productName}-${version}-${arch}.${ext} minimumSystemVersion: '20.1.0' # 最低支持 macOS 11.0 extendInfo: - NSCameraUsageDescription: Application requests access to the device's camera. - NSMicrophoneUsageDescription: Application requests access to the device's microphone. - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder. - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder. target: - target: dmg - target: zip linux: artifactName: ${productName}-${version}-${arch}.${ext} target: - target: AppImage - target: deb - target: rpm maintainer: electronjs.org category: Utility desktop: entry: StartupWMClass: CherryStudio mimeTypes: - x-scheme-handler/cherrystudio publish: provider: generic url: https://releases.cherry-ai.com electronDownload: mirror: https://npmmirror.com/mirrors/electron/ afterPack: scripts/after-pack.js afterSign: scripts/notarize.js artifactBuildCompleted: scripts/artifact-build-completed.js releaseInfo: releaseNotes: | 🎉 新增功能: - 集成全新 AI SDK 架构,提升 AI 提供商管理和工具调用性能 - 新增 OCR 图像文字识别功能,支持图片转文字和翻译 - 新增代码工具页面,支持环境变量设置和命令行工具管理 - 新增内置 Web 搜索工具和记忆搜索工具 - 新增翻译历史搜索和收藏功能 - 新增模型筛选和推理缓存功能 - 新增快速模型检测和语言检测功能 - 支持多种新模型:Qwen Flash、DeepSeek v3.1、Vertex AI 等 🔧 优化改进: - 优化 MCP 服务器列表,新增搜索功能 - 优化 SVG 预览和 HTML 内容样式渲染 - 优化代码块识别和语言别名支持 - 优化拖拽列表组件,移除 antd 依赖 - 优化选择工具栏样式和验证逻辑 - 优化历史页面搜索性能和加载状态 - 优化代理管理器的规则匹配和日志记录 - 优化翻译服务,减少 token 消耗 🐛 问题修复: - 修复知识库文档预处理失败问题 - 修复 Windows 平台代码工具路径空格处理 - 修复选择文本范围验证和空字符串处理 - 修复 Web 搜索引用丢失问题 - 修复全屏模式意外退出问题 - 修复各种模型 API 兼容性问题 - 修复文件上传和附件预览相关问题 - 修复多语言翻译格式和显示问题 ⚡ 性能提升: - 优化消息处理和工具调用性能 - 改进错误边界和异常处理 - 优化内存使用和避免内存泄漏