From 22f86d047650b81ce3c70401986a6643e9a216ab Mon Sep 17 00:00:00 2001 From: suyao Date: Fri, 28 Mar 2025 04:08:54 +0800 Subject: [PATCH] chore(dependency): update mac-system-ocr and refine electron-builder configuration --- electron-builder.yml | 6 ++++++ package.json | 2 +- src/main/ocr/MistralOcrProvider.ts | 17 ++++------------- yarn.lock | 10 +++++----- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/electron-builder.yml b/electron-builder.yml index bf55fe20a..088ea8079 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -27,12 +27,16 @@ files: - '!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/pdfjs-dist/web/**/*' + - '!node_modules/pdfjs-dist/legacy/web/*' asarUnpack: - resources/** - '**/*.{node,dll,metal,exp,lib}' win: executableName: Cherry Studio artifactName: ${productName}-${version}-portable.${ext} + files: + - '!node_modules/@cherrystudio/mac-system-ocr' target: - target: nsis - target: portable @@ -64,6 +68,8 @@ mac: - x64 linux: artifactName: ${productName}-${version}-${arch}.${ext} + files: + - '!node_modules/@cherrystudio/mac-system-ocr' target: - target: AppImage arch: diff --git a/package.json b/package.json index 3cbd017aa..b9702590a 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@cherrystudio/embedjs-loader-web": "^0.1.29", "@cherrystudio/embedjs-loader-xml": "^0.1.29", "@cherrystudio/embedjs-openai": "^0.1.29", - "@cherrystudio/mac-system-ocr": "^0.2.0", + "@cherrystudio/mac-system-ocr": "^0.2.1", "@electron-toolkit/utils": "^3.0.0", "@electron/notarize": "^2.5.0", "@google/generative-ai": "^0.21.0", diff --git a/src/main/ocr/MistralOcrProvider.ts b/src/main/ocr/MistralOcrProvider.ts index 4eed7ee3e..f694ec884 100644 --- a/src/main/ocr/MistralOcrProvider.ts +++ b/src/main/ocr/MistralOcrProvider.ts @@ -31,15 +31,6 @@ export default class MistralOcrProvider extends BaseOcrProvider { if (isLocalFile(file)) { Logger.info(`OCR preupload started for local file: ${file.path}`) - const pdfInfo = await this.getPdfInfo(file.path) - if (pdfInfo.pageCount >= 1000) { - throw new Error(`PDF page count (${pdfInfo.pageCount}) exceeds the limit of 1000 pages`) - } - if (pdfInfo.fileSize >= 512 * 1024 * 1024) { - const fileSizeMB = Math.round(pdfInfo.fileSize / (1024 * 1024)) - throw new Error(`PDF file size (${fileSizeMB}MB) exceeds the limit of 300MB`) - } - if (file.ext.toLowerCase() === '.pdf') { const uploadResponse = await this.fileService.uploadFile(file) @@ -47,12 +38,12 @@ export default class MistralOcrProvider extends BaseOcrProvider { Logger.error('File upload failed:', uploadResponse) throw new Error('Failed to upload file: ' + uploadResponse.displayName) } - + await this.sendOcrProgress(file.id, 15) const fileUrl = await this.sdk.files.getSignedUrl({ fileId: uploadResponse.fileId }) Logger.info('Got signed URL:', fileUrl) - + await this.sendOcrProgress(file.id, 20) document = { type: 'document_url', documentUrl: fileUrl.url @@ -189,7 +180,7 @@ export default class MistralOcrProvider extends BaseOcrProvider { return { id: conversionId, name: file.name.replace(/\.[^/.]+$/, '.md'), - origin_name: mdFileName, + origin_name: (file as LocalFileSource).origin_name, path: mdFilePath, created_at: new Date().toISOString(), type: FileTypes.DOCUMENT, @@ -197,6 +188,6 @@ export default class MistralOcrProvider extends BaseOcrProvider { size: fs.statSync(mdFilePath).size, count: result.pages.length, source: 'local' - } + } as LocalFileSource } } diff --git a/yarn.lock b/yarn.lock index e2fe33c28..28b822b3d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -632,14 +632,14 @@ __metadata: languageName: node linkType: hard -"@cherrystudio/mac-system-ocr@npm:^0.2.0": - version: 0.2.0 - resolution: "@cherrystudio/mac-system-ocr@npm:0.2.0" +"@cherrystudio/mac-system-ocr@npm:^0.2.1": + version: 0.2.1 + resolution: "@cherrystudio/mac-system-ocr@npm:0.2.1" dependencies: bindings: "npm:^1.5.0" node-api-headers: "npm:^1.0.1" node-gyp: "npm:latest" - checksum: 10c0/3ece86759b9120958aa9682b2e666f6fe495fb15c10113f350a3f124a7116e8db84d186e7efb7fdbd02437b39e6f0ff763e1784d6ffe8d7179b81b458055711a + checksum: 10c0/fbba8f85c2244799f281b100fa6fbaf134f742a6f4d0a15f465ed4f0f048edc0acb60ed74908c462f0de424c2e3476892127f25d10ab805c123233e4922d415c languageName: node linkType: hard @@ -3795,7 +3795,7 @@ __metadata: "@cherrystudio/embedjs-loader-web": "npm:^0.1.29" "@cherrystudio/embedjs-loader-xml": "npm:^0.1.29" "@cherrystudio/embedjs-openai": "npm:^0.1.29" - "@cherrystudio/mac-system-ocr": "npm:^0.2.0" + "@cherrystudio/mac-system-ocr": "npm:^0.2.1" "@electron-toolkit/eslint-config-prettier": "npm:^3.0.0" "@electron-toolkit/eslint-config-ts": "npm:^3.0.0" "@electron-toolkit/preload": "npm:^3.0.0"