返回 Skill 列表
extension
分类: 效率与办公需要 API Key

Minio Share

{"answer":"上传文件至MinIO对象存储并生成Markdown格式的分享链接。适用于用户请求发送、分享、上传或下载文件时。"}

person作者: sinutehubclawhub

MinIO Share

Upload files to MinIO and generate shareable links for users with Markdown formatting.

Requirements

Ensure these environment variables are set:

  • MINIO_API_URL - MinIO S3 API endpoint (e.g., https://minio-api.example.com)
  • MINIO_CONSOLE_URL - MinIO Web Console URL (e.g., https://minio.example.com)
  • MINIO_ACCESS_KEY - MinIO access key
  • MINIO_SECRET_KEY - MinIO secret key
  • MINIO_BUCKET - Default bucket name for uploads

Installation

Install the minio Python package if not already available:

pip install minio

Usage

Basic Upload

Upload a file with Markdown output:

python3 scripts/minio_upload.py /path/to/file.txt

Use Title as Filename

Upload with a custom title (sanitized for safe filenames):

python3 scripts/minio_upload.py /path/to/video.mp4 --title "My Video Title"

This will save the file as My_Video_Title.mp4 (special characters replaced with underscores).

Custom Object Name

Specify a custom name for the uploaded object:

python3 scripts/minio_upload.py /path/to/file.txt --name custom-name.pdf

Adjust Link Expiry

Change the presigned URL expiry time (default: 7 days):

python3 scripts/minio_upload.py /path/to/file.txt --expiry 30

JSON Output

Get structured output:

python3 scripts/minio_upload.py /path/to/file.txt --json

Plain Text Output

Get just the URL:

python3 scripts/minio_upload.py /path/to/file.txt

Workflow

When a user asks to send/share/upload a file or download a video:

  1. Check environment variables - Verify MINIO_* variables are set
  2. Download the file (if it's a URL) to a temporary location
  3. Upload the file using scripts/minio_upload.py:
    • For videos: Use --title "Video Title" to set a meaningful filename
    • For images: They will be displayed inline with Markdown
    • For videos: A video player will be included in the output
  4. Copy the Markdown output to your response

Filename Sanitization

When using --title, the script automatically:

  • Replaces illegal characters (< > : " / \ | ? *) with underscores
  • Collapses multiple spaces/underscores
  • Trims to 100 characters max
  • Preserves Chinese characters, letters, numbers

Output Formats

Markdown Output (Default)

Provides rich formatting with:

  • File information (name, size, expiry)
  • Inline image preview (for image files)
  • Video player (for video files)
  • Clickable download link
  • Console preview link
  • Plain text URL for copying

Example Markdown Output

📄 **文件名**: `sample.mp4`
📦 **大小**: 44.51 MB
⏱️ **链接有效期**: 7 天

🌐 **[sample.mp4](...)**

Error Handling

Common issues:

  • Missing environment variables - Check all MINIO_* vars are set
  • Bucket doesn't exist - Ensure MINIO_BUCKET exists or create it first
  • File not found - Verify the file path is correct
  • Connection error - Check MINIO_API_URL is accessible
  • SSL errors - Use --insecure flag if needed (not recommended for production)