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,biome.jsonc}" - "!**/{.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 - "!node_modules/tesseract.js-core/{tesseract-core.js,tesseract-core.wasm,tesseract-core.wasm.js}" # we don't need source files - "!node_modules/tesseract.js-core/{tesseract-core-lstm.js,tesseract-core-lstm.wasm,tesseract-core-lstm.wasm.js}" # we don't need source files - "!node_modules/tesseract.js-core/{tesseract-core-simd-lstm.js,tesseract-core-simd-lstm.wasm,tesseract-core-simd-lstm.wasm.js}" # 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}" - "node_modules/@img/sharp-libvips-*/**" 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 rpm: # Workaround for electron build issue on rpm package: # https://github.com/electron/forge/issues/3594 fpm: ["--rpm-rpmbuild-define=_build_id_links none"] publish: provider: generic url: https://releases.cherry-ai.com electronDownload: mirror: https://npmmirror.com/mirrors/electron/ beforePack: scripts/before-pack.js afterPack: scripts/after-pack.js afterSign: scripts/notarize.js artifactBuildCompleted: scripts/artifact-build-completed.js releaseInfo: releaseNotes: | Optimized note-taking feature, now able to quickly rename by modifying the title Fixed issue where CherryAI free model could not be used Fixed issue where VertexAI proxy address could not be called normally Fixed issue where built-in tools from service providers could not be called normally