Hướng dẫn Phát triển Tập lệnh

Để tạo một tập lệnh tùy chỉnh cho Seer, bạn phải định nghĩa siêu dữ liệu và triển khai logic chức năng tương ứng.

1. Định nghĩa Siêu dữ liệu Tập lệnh

Seer khởi tạo tập lệnh bằng cách tìm từ điển SCRIPT_INFO hoặc hàm script_info() trong tập lệnh của bạn.

Trường Bắt buộc

  • name: Tên hiển thị của tập lệnh.
  • type: Danh mục chức năng:
    • 0: Xem trước
    • 1: Điều khiển
    • 2: Thuộc tính
  • extensions: Danh sách các phần mở rộng tệp (chuỗi). Sử dụng ${type_folder} để khớp thư mục.
  • arguments: Danh sách các đối số CLI (loại trừ python.exe và tên tệp tập lệnh).

Ví dụ Định nghĩa

SCRIPT_INFO = {
    "name": "unzip",
    "type": 1,
    "extensions": ["zip", "rar", "7z"],
    "arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
    # Siêu dữ liệu tùy chọn
    "author": "YourName",
    "version": "1.0.1",
    "description": "Mô tả ngắn về tập lệnh",
    "icon_path": "icon.png", # Chỉ loại Điều khiển
}

2. Triển khai Tính năng

  • Xem trước (Loại 0): Tải/phân tích tệp đầu vào và chuyển đổi nó thành định dạng được Seer hỗ trợ gốc (ví dụ: PDF, hình ảnh hoặc HTML).
  • Ví dụ: Chuyển đổi tệp .epub sang .html.

  • Điều khiển (Loại 1): Thêm một nút vào bên trái của Thanh điều khiển. Nhấp vào nó sẽ thực thi tập lệnh đã định nghĩa.

  • Ví dụ: Nén thư mục đang xem trước thành tệp .zip.

  • Thuộc tính (Loại 2): Seer tự động thực thi tập lệnh khi tải tệp thành công. Tập lệnh phải ghi siêu dữ liệu vào tệp JSON tại vị trí được chỉ định bởi ${output_file}. Seer sau đó đọc và hiển thị nội dung JSON này.

  • Ví dụ: Tính toán hàm băm SHA512 của một tệp.

3. Biến Có sẵn

Các mã thông báo này được Seer thay thế động và truyền dưới dạng đối số dòng lệnh:

Biến Mô tả
${7z} Đường dẫn tuyệt đối đến 7z.exe đi kèm của Seer.
${seer_exe} Đường dẫn tuyệt đối đến Seer.exe.
${seer_dir} Thư mục chứa Seer.exe.
${input_file} Đường dẫn đến tệp/thư mục đích đang được xem trước.
${output_file} Đường dẫn đến tệp đầu ra tạm thời (bắt buộc cho tập lệnh Thuộc tính và một số tập lệnh Xem trước).
${no_cache} Chỉ Xem trước: Cờ yêu cầu Seer xóa tệp tạm thời sau khi xem trước đóng (không được truyền cho tập lệnh dưới dạng đối số).
${type_folder} Chỉ Điều khiển: Dùng để khớp các loại thư mục.
${use_backslash} Sử dụng \ thay vì / cho dấu phân cách đường dẫn.

Lưu ý: ${no_cache} là cờ nội bộ cho Seer và không được truyền cho tập lệnh của bạn dưới dạng đối số dòng lệnh.