* refactor: replace afterPack script with beforePack and remove after-pack.js file - Updated electron-builder configuration to use beforePack instead of afterPack. - Removed the after-pack.js script as its functionality is no longer needed. * refactor: streamline filter logic for architecture-specific packages in before-pack script - Consolidated platform-specific filter conditions for arm64 and x64 architectures. - Improved readability and maintainability by using arrays to manage filters for different architectures. - Ensured that the correct filters are applied based on the architecture during the packaging process. * chore: remove npm build commands from CI workflows - Eliminated unnecessary `yarn build:npm` commands from the nightly build and release workflows for Linux, macOS, and Windows. - Streamlined the build process by focusing on platform-specific build commands. * delete build npm * refactor: enhance architecture-specific package management in before-pack script - Updated the before-pack script to include additional architecture-specific packages for arm64 and x64. - Improved the organization of package filters and streamlined the logic for handling different architectures during the packaging process. - Ensured that the correct filters are applied based on the architecture, enhancing the build process for various platforms. * docs: clarify comment on prebuild binaries in before-pack script * format code * chore: add afterPack script to electron-builder configuration - Included afterPack script in electron-builder.yml to enhance the packaging process. - This addition allows for post-packaging tasks to be executed, improving build automation. * chore: update macOS entitlements to disable library validation - Added the key `com.apple.security.cs.disable-library-validation` to the entitlements file to enhance security settings for macOS builds. * chore: remove unused package for win32 arm64 architecture - Deleted the `@strongtz/win32-arm64-msvc` package from `package.json` and `yarn.lock` as it is no longer needed. - Updated the `before-pack.js` script to improve architecture-specific package management by refining filter logic and ensuring correct package downloads based on architecture. - Enhanced the `downloadNpmPackage` function to use Node.js streams for downloading and extracting packages, improving efficiency and error handling.
144 lines
5.2 KiB
YAML
144 lines
5.2 KiB
YAML
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
|
||
- '!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}'
|
||
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/
|
||
beforePack: scripts/before-pack.js
|
||
afterPack: scripts/after-pack.js
|
||
afterSign: scripts/notarize.js
|
||
artifactBuildCompleted: scripts/artifact-build-completed.js
|
||
releaseInfo:
|
||
releaseNotes: |
|
||
✨ 重要更新:
|
||
- 新增笔记模块,支持富文本编辑和管理
|
||
- 内置 GLM-4.5-Flash 免费模型(由智谱开放平台提供)
|
||
- 内置 Qwen3-8B 免费模型(由硅基流动提供)
|
||
- 新增 Nano Banana(Gemini 2.5 Flash Image)模型支持
|
||
- 新增系统 OCR 功能 (macOS & Windows)
|
||
- 新增图片 OCR 识别和翻译功能
|
||
- 模型切换支持通过标签筛选
|
||
- 翻译功能增强:历史搜索和收藏
|
||
|
||
🔧 性能优化:
|
||
- 优化历史页面搜索性能
|
||
- 优化拖拽列表组件交互
|
||
- 升级 Electron 到 37.4.0
|
||
|
||
🐛 修复问题:
|
||
- 修复知识库加密 PDF 文档处理
|
||
- 修复导航栏在左侧时笔记侧边栏按钮缺失
|
||
- 修复多个模型兼容性问题
|
||
- 修复 MCP 相关问题
|
||
- 其他稳定性改进
|