DeepSeek Harness 插件:圖片附件超限自動降級

前言

DSH 的核心理念是「一切皆插件」。在 attachments 服務入口 saveImages 中,若上傳圖片觸發了原有準入限制(長邊 >2000px、單圖 >3.5MB 或像素 >4000 萬),系統會直接拒絕。這導致用戶上傳手機原圖時體驗極差,經常因合規性被攔截。

本插件在入庫前攔截這些超限圖片,利用 sharp 進行自動降級,確保入庫後圖片恆滿足准入限制,模型請求、vision-bridge 和歷史導出均能拿到合規文件。

插件定位

  • 名稱:dsh-attachment-downscale
  • 一句話:DSH 插件:圖片附件超限自動降級(長邊 ≤2000px / 單圖 ≤3.5MB / 像素 ≤4000 萬)
  • 維護者:zoumutou
  • 類別:工作流
  • 許可證:MIT

核心功能

插件在 saveImages 入口對圖片進行處理,具備以下能力:

  1. 超尺寸自動等比縮放:優先將長邊縮放至 2000px 以內。
  2. 重編碼壓縮:若縮放後仍超限,對 jpeg/webp 格式進行降質處理(質量階梯)。
  3. 格式兜底:若重編碼失敗,自動轉爲 webp 格式。
  4. 跳過動圖:多幀動圖(GIF/WebP)直接跳過,避免破壞動畫效果。
  5. 錯誤容錯:處理失敗時,直通原准入邏輯(維持原拒絕行爲),絕不吞掉錯誤。
  6. 結果合規:入庫後圖片恆滿足准入限制。

安裝與啓用

插件依賴 @deepseek-ai/cordis 和 sharp。

本地開發構建:

npm run build

裝入 web profile(熱生效,無需重啓):

dev_install_package /Users/zoumutou/coded/dsh-attachment-downscale web

生產環境安裝:

dsh plugin --profile web add github:zoumutou/dsh-attachment-downscale

配置說明

插件支持通過 config 字段調整行爲:

- insert:
    - name: dsh-attachment-downscale
      config:
        enabled: true      # 關閉後恢復原拒絕行爲
        quality: 82        # 重編碼質量(jpeg/webp)
        # 以下缺省值跟隨 attachments 服務自身的准入限制:
        # maxImageDimension: 2000
        # maxImageBytes: 3670016
        # maxImagePixels: 40000000

生態與市場

  • 依賴環境:運行於 DSH 進程內,需確保環境包含 @deepseek-ai/cordis 和 sharp。
  • 市場收錄:npm 包需包含 dsh-plugin 關鍵詞,GitHub 倉庫需打 dsh-plugin 話題標籤,社區市場(dsh-suite 或獨立市場)會自動收錄,無需手動提 PR。
  • 包發佈:執行 npm pack 可生成 .tgz 文件。

結尾

該插件通過在 saveImages 入口進行預處理,解決了嚴格准入規則與用戶上傳行爲之間的衝突,保證了下游系統處理的圖片始終合規。完整目錄與源碼可參考下方鏈接。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜