Commit graph

1009 commits

Author SHA1 Message Date
Your Name
566ee48bfe fix: 調整 Dockerfile 中 APT 重試機制與安裝步驟,簡化命令格式 2026-01-22 22:18:41 +08:00
Your Name
a9867ee97c feat: add Dockerfile for ConvertX-CN v0.1.11 with pre-downloaded models and offline-first design
- Introduced a new Dockerfile that builds the ConvertX-CN image with all necessary dependencies and models pre-downloaded.
- Implemented multi-stage builds to optimize image size and build time.
- Added a script for verifying the integrity of pre-downloaded models and dependencies.
- Ensured the image operates in an offline-first manner, eliminating runtime dependencies on external networks.
2026-01-22 22:17:29 +08:00
Your Name
8820aecafe fix: 更新 Docker 映像標籤預設值至 0.1.11.test 2026-01-22 20:10:47 +08:00
Your Name
fd674fac9c fix: 調整 BabelDOC 資源下載邏輯,簡化重試流程並改善錯誤提示 2026-01-22 19:44:26 +08:00
Your Name
e3406a8d04 fix: BabelDOC 改用 generate-offline-assets 方式預下載資源
- 使用 --generate-offline-assets 生成離線包,比 warmup 更穩定
- 添加 10 分鐘超時控制避免無限等待
- 離線包生成後使用 --restore-offline-assets 恢復到快取
- 如果離線包方式失敗,fallback 到 warmup 模式
- 最多重試 3 次,每次失敗後等待 30 秒
- 即使全部失敗,BabelDOC 仍可在 runtime 按需下載
2026-01-22 19:35:04 +08:00
Your Name
5ad22e44ec fix: 優化 Docker 磁碟清理邏輯,針對大型模型與多架構建置進行強化,減少空間使用 2026-01-22 19:24:53 +08:00
Your Name
37b56aed56 fix: 優化 Dockerfile 中模型下載與快取清理邏輯,減少層差異與空間使用 2026-01-22 19:20:56 +08:00
Your Name
11dc51890c fix: 更新 MinerU 模型下載邏輯,增加設定檔驗證與錯誤處理 2026-01-22 19:10:54 +08:00
Your Name
df0082bfb9 feat: 在 Docker Build & Push 工作流程中新增版本顯示,並修正錯誤處理 2026-01-22 17:54:08 +08:00
Your Name
4ca92e3a22 release: v0.1.11 - BabelDOC 翻譯引擎與穩定性改進
## 新增功能

- BabelDOC PDF 翻譯引擎:支援 PDF/Markdown/HTML 輸出,15 種目標語言

- Dockerfile 更新:pipx 安裝 babeldoc,warmup 預載資源

## 修復

- 修正 user.tsx XSS 安全警告(label 包裹 safe span)

## 品質保證

- 173 個測試全數通過

- TypeScript / ESLint / Prettier / Knip 檢查通過
2026-01-22 17:41:12 +08:00
Your Name
6d4ed58637 fix: 更新 PDFMathTranslate 模型下載方式,使用 snapshot_download 避免硬編碼檔名 2026-01-22 16:27:54 +08:00
Your Name
a7ea4e2a0b Merge branch 'main' of https://github.com/pi-docket/ConvertX-CN 2026-01-22 12:33:04 +08:00
Your Name
a5dccccd86 fix: 更新 Dockerfile,修正 huggingface_hub 安裝指令以符合 Debian bookworm 的 PEP 668 要求 2026-01-22 12:33:01 +08:00
evil0119
4569b816b8
更新 README.md 2026-01-22 12:24:23 +08:00
evil0119
4189c88590
更新 README.md 2026-01-22 12:23:57 +08:00
Your Name
05c4261f24 fix: 更新 PDFMathTranslate 描述,強調安全翻譯功能 2026-01-22 11:48:21 +08:00
Your Name
8471dfce42 feat: 更新 README.md,強調 ConvertX-CN 的全功能特性與優勢 2026-01-22 11:46:37 +08:00
Your Name
9ba87cf111 chore: release v0.1.11 2026-01-22 11:01:43 +08:00
Your Name
7df88d2f4e chore: 更新工作流程中的 Node.js 和 Bun 版本,調整依賴項版本 2026-01-22 10:49:42 +08:00
Your Name
0f60f3ae14 feat: 更新 Dockerfile 版本,新增模型驗證腳本以確保預下載模型完整性 2026-01-22 10:38:11 +08:00
Your Name
607ccbb4ac fix: 修正工作流程名稱格式,移除多餘的文字 2026-01-22 09:50:32 +08:00
Your Name
8bb5be2c52 fix: 修正工作流程名稱格式,移除多餘的 emoji 2026-01-22 09:49:58 +08:00
Your Name
69610d28e0 feat: 新增遠端服務更新工作流程,透過 Tailscale SSH 更新 Docker 服務 2026-01-22 09:44:06 +08:00
Your Name
ffb72c531f chore: update Bun version to 1.3.6 in Dockerfiles 2026-01-22 00:58:36 +08:00
Your Name
2169aa90e9 style: fix prettier formatting 2026-01-22 00:51:37 +08:00
Your Name
912546aaa7 fix: ENOENT download error for archive-only converters (PDFMathTranslate/MinerU)
- Add existsSync checks in download.tsx before file access
- Fix normalizeFiletype.ts: md-t/md-i return original format (not tar.gz)
- Add outputMode: 'archive' support in main.ts with auto .tar suffix
- PDFMathTranslate outputs translated-<lang>.pdf + bilingual-<lang>.pdf (no original)
- MinerU outputs complete folder in .tar with logging
- Hide preview icon for .tar files in results.tsx
- Update Bun version: 1.2.2 -> 1.3.6
- Add Step 19: auto-deploy to remote server after Docker push

All 159 tests pass.
2026-01-22 00:47:37 +08:00
Your Name
1f800c3619 feat: 新增自動生成 Changelog 和 GitHub Release 的步驟 2026-01-21 23:53:44 +08:00
Your Name
cf8aa32ea8 fix: 移除多餘的空行以改善 YAML 格式 2026-01-21 22:41:28 +08:00
Your Name
258313fcbb fix: 正則表達式支援任意數量的版本數字段
- 舊規則:^[0-9]+\.[0-9]+\.[0-9]+$ (僅 X.Y.Z)
- 新規則:^[0-9]+(\.[0-9]+)+$ (支援 X.Y.Z.W...)
- 0.1.10 → latest ✓
- 0.1.10.1 → latest ✓
- 0.1.10.test → 不加 latest
2026-01-21 22:40:33 +08:00
Your Name
2f6c3fc0c6 feat: 根據版本號格式決定是否標記 latest
- 純數字版本(如 0.1.10)→ 同時標記 latest
- 測試版本(如 0.1.10.test)→ 僅標記版本號
- 使用正則表達式 ^[0-9]+\.[0-9]+\.[0-9]+$ 判斷
2026-01-21 22:38:37 +08:00
Your Name
cac29bfff1 fix: 修正 Dockerfile 中 dasel 和 resvg 安裝步驟的縮排問題 2026-01-21 21:10:33 +08:00
Your Name
947d189b6d fix: 修復 resvg ARM64 無預編譯版本問題
- 更新 resvg repo URL 從 RazrFalcon 到 linebender
- ARM64 架構跳過 resvg 安裝(官方無預編譯版本)
- x86_64 正常安裝 resvg v0.44.0
- ARM64 可使用 ImageMagick/Inkscape 作為 SVG 轉換替代方案
2026-01-21 21:04:40 +08:00
Your Name
4e07cd57aa fix: 修復 bookworm 缺少 dasel 和 resvg 套件的問題
- 從 apt-get install 移除 dasel 和 resvg
- 改用 GitHub releases 下載二進位檔案
- dasel v2.8.1 支援 amd64/arm64
- resvg v0.44.0 支援 amd64/arm64
2026-01-21 20:56:39 +08:00
Your Name
7c4a361e3f fix: 更新 Tailscale SSH 連線步驟,新增手動網頁驗證提示並設定連線超時 2026-01-21 20:53:14 +08:00
Your Name
4d2a690bb9 fix: 更新 Dockerfile 版本至 v0.1.10,修正基礎映像為 debian:bookworm,並新增 APT 重試機制以改善 Multi-Arch Build 的穩定性 2026-01-21 20:43:54 +08:00
Your Name
448011f7e2 fix: 更新 Multi-Arch Docker Build 流程,分離建構與推送步驟 2026-01-21 20:14:59 +08:00
Your Name
e651813034 fix: 優化 Dockerfile 分段安裝,改善 Multi-Arch Build 穩定性 2026-01-21 18:47:13 +08:00
Your Name
a4d5cd1e53 fix: 簡化 Tailscale SSH 流程,改善 Docker Build 錯誤處理 2026-01-21 18:44:52 +08:00
Your Name
ddbc92196f fix: 修正 tailscale ssh 語法,提供 ACL 設定說明 2026-01-21 17:47:45 +08:00
Your Name
45376702f2 fix: 修復 Tailscale SSH 需互動式登入問題,新增 --ssh 參數與 Smoke Test 2026-01-21 17:40:58 +08:00
Your Name
41a7111db2 feat: 更新 Remote Build workflow 支援 Multi-Arch (amd64/arm64) 2026-01-21 17:33:26 +08:00
Your Name
de11dd5a0d fix: use script file approach to avoid heredoc parsing issues [remote-build] 2026-01-21 17:00:30 +08:00
Your Name
893e65d09c release: v0.1.10 2026-01-21 16:07:32 +08:00
Your Name
79fc6f7067 fix: resolve lint issues (XSS K601, knip unused exports, eslint errors)
- Fix XSS warnings in user.tsx by adding safe attribute to elements
- Remove unused exports: ChunkUploadRequest, getArchiveInfo,
  getFileForDirectDownload, createDirectDownloadHeaders, createConverterArchive
- Fix eslint no-unused-vars errors across multiple files
- Fix pdfmathtranslate async Promise executor issue
- Update tests to use toThrow instead of toMatch for Error objects
- Apply prettier formatting
2026-01-21 16:00:26 +08:00
Your Name
db5f47586e feat: add theme toggle functionality and update localization files
- Implemented a theme toggle feature allowing users to switch between light and dark modes.
- Added a new ThemeToggle component for the theme switching button.
- Updated theme CSS to support dark mode variables and system preference detection.
- Enhanced localization files to include translations for the "toggleTheme" key across multiple languages.
2026-01-21 15:00:34 +08:00
Your Name
1f850dd926 feat: 更新 Dockerfile 以預先下載 PDFMathTranslate 所需模型及字型 2026-01-21 14:31:28 +08:00
Your Name
d943771f36 feat: add PDFMathTranslate converter for PDF translation with mathematical content
- Introduced PDFMathTranslate converter to handle PDF translations while preserving mathematical formulas.
- Updated Dockerfile to include necessary dependencies and pre-download models during build.
- Enhanced README.md to document the new converter and its features.
- Added tests for PDFMathTranslate to ensure correct functionality and error handling.
2026-01-21 14:31:19 +08:00
Your Name
5322f85721 feat: 實作全域檔案傳輸機制與 .tar 封裝規範
## 主要變更

### 新增全域檔案傳輸模組 (src/transfer/)
- constants.ts: 定義傳輸常數(10MB 門檻、5MB chunk 大小)
- types.ts: 傳輸類型定義
- uploadManager.ts: 後端上傳管理器(支援直傳與 chunk)
- downloadManager.ts: 後端下載管理器(支援直傳與 chunk)
- archiveManager.ts: 封裝管理器(僅允許 .tar)
- index.ts: 統一匯出

### 新增 API 端點
- uploadChunk.tsx: Chunk 上傳 API
- downloadChunk.tsx: Chunk 下載 API

### 前端更新
- public/script.js: 整合智慧傳輸策略(≤10MB 直傳,>10MB chunk)
- public/transfer.js: 前端傳輸管理模組

### 轉換器更新
- mineru.ts: 改用 .tar 格式(不壓縮),禁止 .tar.gz
- download.tsx: 使用統一的封裝管理器

### 測試
- tests/transfer/: 完整傳輸機制測試套件
- tests/converters/mineru.test.ts: 更新以符合 .tar 規範

### 文件
- README.md: 新增檔案傳輸機制說明

## 設計原則
- 檔案 ≤10MB:直接傳輸
- 檔案 >10MB:使用 5MB chunks 分段傳輸
- 多檔輸出:僅允許 .tar 封裝(禁止 .tar.gz/.zip)
- 引擎層不感知 chunk(僅傳輸層處理)
2026-01-21 13:58:01 +08:00
Your Name
f7ebc084ea refactor: update MinerU to use tar.gz and mineru CLI
- Change archive format from zip to tar.gz
- Use 'mineru' CLI command instead of 'magic-pdf'
- Install mineru[all] via pipx in Dockerfile
- Remove zip dependency from Dockerfile
- Update normalizeFiletype to output tar.gz extension
- Update all tests for tar.gz output format
- Simplify README MinerU section
2026-01-21 12:20:40 +08:00
Your Name
e5ca364563 feat: integrate MinerU document to Markdown converter
- Add MinerU converter engine (src/converters/mineru.ts)
- Support md-t (table as Markdown) and md-i (table as image) output formats
- Input formats: pdf, ppt, pptx, xls, xlsx, doc, docx
- Output as ZIP archive containing Markdown and images
- Update Dockerfile to install magic-pdf via pipx
- Add zip utility for archive creation
- Update normalizeFiletype to map md-t/md-i to zip extension
- Add comprehensive tests for MinerU converter
- Update README with MinerU documentation
2026-01-21 12:10:49 +08:00