腳本開發指南

若要為 Seer 建立自訂腳本,您必須定義中繼資料並實作對應的功能邏輯。

1. 定義腳本中繼資料

Seer 透過在您的腳本中尋找 SCRIPT_INFO 字典或 script_info() 函式來初始化腳本。

必要欄位

  • name:腳本的顯示名稱。
  • type:功能類別:
    • 0:預覽
    • 1:控制項
    • 2:屬性
  • extensions:副檔名清單(字串)。使用 ${type_folder} 進行目錄比對。
  • arguments:CLI 引數清單(不包含 python.exe 和腳本檔名)。

定義範例

SCRIPT_INFO = {
    "name": "unzip",
    "type": 1,
    "extensions": ["zip", "rar", "7z"],
    "arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
    # 選用中繼資料
    "author": "YourName",
    "version": "1.0.1",
    "description": "腳本的簡短說明",
    "icon_path": "icon.png", # 僅控制項類型
}

2. 功能實作

  • 預覽(類型 0): 載入/解析輸入檔案,並將其轉換為 Seer 原生支援的格式(例如 PDF、圖片或 HTML)。
  • 範例:.epub 檔案轉換為 .html

  • 控制項(類型 1): 在控制列左側新增一個按鈕。點擊該按鈕會執行定義的腳本。

  • 範例: 將目前預覽的資料夾壓縮為 .zip 檔案。

  • 屬性(類型 2): Seer 在成功載入檔案後自動執行腳本。腳本必須將中繼資料寫入 ${output_file} 指定的位置的 JSON 檔案。Seer 隨後讀取並顯示此 JSON 內容。

  • 範例: 計算檔案的 SHA512 雜湊值。

3. 可用變數

這些權杖會由 Seer 動態替換,並作為命令列引數傳遞:

變數 說明
${7z} Seer 內建 7z.exe 的絕對路徑。
${seer_exe} Seer.exe 的絕對路徑。
${seer_dir} 包含 Seer.exe 的目錄。
${input_file} 目前正在預覽的目標檔案/資料夾路徑。
${output_file} 暫存輸出檔案的路徑(屬性及部分預覽腳本需要)。
${no_cache} 僅預覽: 指示 Seer 在預覽關閉後刪除暫存檔的旗標(不會作為引數傳遞給腳本)。
${type_folder} 僅控制項: 用於比對目錄類型。
${use_backslash} 使用 \ 而非 / 作為路徑分隔符號。

注意: ${no_cache} 是 Seer 的內部旗標,不會作為命令列引數傳遞給您的腳本。