mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-28 05:11:24 +08:00
- 新增多个功能,包括ErrorBoundary组件、智谱AI模型支持、系统OCR功能、文件页面批量删除等 - 重构翻译服务和语言检测功能,提升扩展性和类型安全 - 修复多个问题,改善API检查和翻译过程中的错误处理 - 优化构建配置和性能,提升初始化效率
160 lines
6.4 KiB
YAML
160 lines
6.4 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/
|
||
afterPack: scripts/after-pack.js
|
||
afterSign: scripts/notarize.js
|
||
artifactBuildCompleted: scripts/artifact-build-completed.js
|
||
releaseInfo:
|
||
releaseNotes: |
|
||
🎉 新增功能:
|
||
- 新增 ErrorBoundary 组件包裹 mini 窗口内容,提升错误处理能力
|
||
- 新增智谱AI模型支持,扩展AI提供商生态
|
||
- 新增系统 OCR 功能,支持 MacOS 和 Windows 原生文字识别
|
||
- 新增文件页面批量删除功能,提升文件管理效率
|
||
- 新增超链接工具提示功能,增强用户体验
|
||
- 新增 iframe 截图功能,支持更多内容捕获场景
|
||
- 新增提示变量替换功能,增强编排服务能力
|
||
- 新增文本增量累积可配置支持,优化流式响应体验
|
||
- 新增 AbortController 管理功能,改进请求取消机制
|
||
|
||
🔧 优化改进:
|
||
- 重构翻译服务架构,统一使用新的API接口
|
||
- 重构语言检测功能,使用通用聊天接口替代专用接口
|
||
- 重构 provider 注册和模型解析逻辑,提升扩展性
|
||
- 重构 fetchChatCompletion 参数类型定义,增强类型安全
|
||
- 重构 provider 列表和 URL Schema 弹窗界面
|
||
- 增强模型推理控制逻辑,支持更多提供商和模型类型
|
||
- 优化 MCP 工具可见性控制,根据工具状态动态显示知识图标
|
||
- 改进日志记录机制,将 console.log 替换为 logger.debug
|
||
- 升级核心依赖包(mermaid, shiki, tanstack 等)
|
||
|
||
🐛 问题修复:
|
||
- 修复 API 检查时的错误处理和取消逻辑
|
||
- 修复翻译过程中中止控制器的错误处理
|
||
- 修复 useAssistant hook 导致快捷助手渲染问题
|
||
- 修复 MCP 标签溢出显示问题
|
||
- 修复缺失的模型图标显示
|
||
- 修复 ImageViewer 双重菜单问题,改进图标显示
|
||
- 修复 Qwen MT 模型翻译功能
|
||
- 修复 Deepin 系统不使用系统默认终端的问题
|
||
- 修复备份/恢复进度的国际化显示问题
|
||
- 修复相关依赖缺失问题
|
||
|
||
⚡ 性能提升:
|
||
- 优化构建配置,排除不必要的 Tesseract.js 核心文件
|
||
- 提升代码类型定义复用性,减少重复代码
|
||
- 优化 provider 配置构建逻辑,提升初始化性能
|