mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-26 03:31:24 +08:00
* refactor(ProviderSettings): streamline API key management and enhance user experience - Refactored the handleProvidersProtocolUrl function to simplify API key handling and improve navigation logic. - Updated the useProviders hook to maintain consistency in provider management. - Enhanced the ApiKeyList component with improved state handling and user feedback for API key validation. - Updated localization files to reflect changes in API key management and user interactions. - Improved styling and layout for better visual consistency across provider settings. * fix(ProviderSettings): enhance confirmation modal title with provider name - Updated the confirmation modal title in the ProvidersList component to include the provider's display name, improving clarity for users during API key management. * update info * udpate line * update line * feat(Protocol): add custom protocol handling for Cherry Studio - Introduced a new protocol handler for 'cherrystudio' in the Electron app, allowing the application to respond to custom URL schemes. - Updated the electron-builder configuration to register the 'cherrystudio' protocol. - Enhanced the main application logic to handle incoming protocol URLs effectively, improving user experience when launching the app via custom links. * feat(ProviderSettings): enhance provider data handling with optional fields - Updated the handleProviderAddKey function to accept optional 'name' and 'type' fields for providers, improving flexibility in provider management. - Adjusted the API key handling logic to utilize these new fields, ensuring a more comprehensive provider configuration. - Enhanced the URL schema documentation to reflect the changes in provider data structure. * delete apikeylist * restore apiService * support utf8 * feat(Protocol): improve URL handling for macOS and Windows - Added caching for the URL received when the app is already running on macOS, ensuring it is processed correctly. - Updated the URL processing logic in handleProvidersProtocolUrl to replace characters for proper decoding. - Simplified base64 decoding in ProviderSettings to enhance readability and maintainability. * fix start in macOS * format code * fix(ProviderSettings): validate provider data before adding - Added validation to ensure 'id', 'newApiKey', and 'baseUrl' are present before proceeding with provider addition. - Implemented error handling to notify users of invalid data and redirect them to the provider settings page. * feat(Protocol): enhance URL processing for versioning - Updated the URL handling logic in handleProvidersProtocolUrl to support versioning by extracting the 'v' parameter. - Added logging for version 1 to facilitate future enhancements in handling different protocol versions. - Improved the processing of the 'data' parameter for better compatibility with the updated URL schema. * feat(i18n): add provider API key management translations for Japanese, Russian, and Traditional Chinese - Introduced new translations for API key management features, including confirmation prompts and error messages related to provider API keys. - Enhanced user experience by providing localized strings for adding, updating, and validating API keys across multiple languages. --------- Co-authored-by: rcadmin <rcadmin@rcadmins-MacBook-Pro-4.local>
123 lines
4.2 KiB
YAML
123 lines
4.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
|
||
- '!**/*.{h,iobj,ipdb,tlog,recipe,vcxproj,vcxproj.filters}' # 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
|
||
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: |
|
||
界面优化:优化多处界面样式,气泡样式改版,自动调整代码预览边栏宽度
|
||
知识库:修复知识库引用不显示问题,修复部分嵌入模型适配问题
|
||
备份与恢复:修复超过 2GB 大文件无法恢复问题
|
||
文件处理:添加 .doc 文件支持
|
||
划词助手:支持自定义 CSS 样式
|
||
MCP:基于 Pyodide 实现 Python MCP 服务
|
||
其他错误修复和优化
|