[Plugin Request]: Fileupload plugin #410

Open
opened 2026-02-22 17:28:29 -05:00 by yindo · 0 comments
Owner

Originally created by @gzmud on GitHub (Dec 9, 2025).

Plugin Name

SFTPUpload

Function Description

I am requesting the development of a dedicated plugin for Dify that enables automatic upload of files (either uploaded by users or generated by Dify workflows) to a specified SFTP server. This plugin will address the need for centralized file storage, long-term archiving, and cross-system file sharing for Dify-generated or user-submitted content.
Use Case Scenarios

  • User-Submitted File Archiving: When a user uploads files (such as documents, images, or datasets) during Dify workflow interactions, the plugin automatically syncs these files to a preconfigured SFTP server for secure storage and future retrieval.

  • Workflow-Generated File Distribution: For files produced by Dify workflows (e.g., report exports, processed datasets, or AI-generated documents), the plugin ensures immediate upload to SFTP, allowing other business systems (e.g., ERP, CRM) that integrate with the same SFTP to access the files in real time.

  • Compliance and Backup Requirements: Organizations with strict data retention policies can use this plugin to back up Dify-related files to SFTP servers that meet compliance standards (e.g., GDPR, HIPAA), avoiding data loss risks from local storage.

Core Functional Requirements

  1. File Source CoverageCapture user-uploaded files in Dify conversations/workflows.

  2. Capture files generated by workflow nodes (e.g., file export nodes, AI content generation nodes that output file formats).

  3. SFTP Configuration FlexibilitySupport configuration of basic SFTP connection parameters: server address, port, username, password (or SSH key authentication for enhanced security).

  4. Allow setting a target directory on the SFTP server (supporting fixed paths or dynamic paths based on workflow metadata, e.g., workflow ID, user ID, timestamp).

  5. Upload Trigger MechanismsReal-time trigger: Upload files immediately upon completion of user upload or file generation in the workflow.

  6. Batch trigger (optional): Support scheduled batch upload for scenarios with high file volume.

  7. File Processing and IntegrityPreserve original file names, formats, and metadata (e.g., upload time, file size) during upload.

  8. Implement file integrity checks (e.g., MD5 verification) to ensure files are not corrupted during transmission.

  9. Status Feedback and LoggingReturn clear upload status (success/failure) to the Dify workflow, enabling conditional branching (e.g., sending a notification if upload fails).

  10. Log detailed upload records (including file path, SFTP server info, timestamp, and error messages if applicable) to facilitate troubleshooting.

  11. Error HandlingHandle SFTP connection failures (e.g., server unreachable, authentication errors) with retry mechanisms (configurable retry count and interval).

  12. Support fallback strategies for failed uploads (e.g., local temporary storage and re-upload when the connection is restored).

Technical Requirements

  • Compatibility: Support the latest stable version of Dify and mainstream SFTP server software (e.g., OpenSSH, ProFTPD).

  • Security: Encrypt sensitive SFTP credentials (e.g., passwords, SSH keys) in Dify's configuration storage to prevent plaintext exposure.

  • Performance: Ensure minimal impact on Dify workflow execution speed, even when processing large files (support chunked upload for files larger than 100MB).

Additional Notes

If possible, the plugin should be integrated into Dify's plugin marketplace for easy installation and management. It would also be beneficial to support variable substitution in the SFTP target path (e.g., using {{workflow_id}} or {{user_email}} to dynamically generate subdirectories), which enhances adaptability to different business scenarios.

Thank you for considering this feature request. Please let me know if additional details or clarification are needed.

Official Website URL

No response

Originally created by @gzmud on GitHub (Dec 9, 2025). ### Plugin Name SFTPUpload ### Function Description I am requesting the development of a dedicated plugin for Dify that enables automatic upload of files (either uploaded by users or generated by Dify workflows) to a specified SFTP server. This plugin will address the need for centralized file storage, long-term archiving, and cross-system file sharing for Dify-generated or user-submitted content. Use Case Scenarios - User-Submitted File Archiving: When a user uploads files (such as documents, images, or datasets) during Dify workflow interactions, the plugin automatically syncs these files to a preconfigured SFTP server for secure storage and future retrieval. - Workflow-Generated File Distribution: For files produced by Dify workflows (e.g., report exports, processed datasets, or AI-generated documents), the plugin ensures immediate upload to SFTP, allowing other business systems (e.g., ERP, CRM) that integrate with the same SFTP to access the files in real time. - Compliance and Backup Requirements: Organizations with strict data retention policies can use this plugin to back up Dify-related files to SFTP servers that meet compliance standards (e.g., GDPR, HIPAA), avoiding data loss risks from local storage. Core Functional Requirements 1. File Source CoverageCapture user-uploaded files in Dify conversations/workflows. 2. Capture files generated by workflow nodes (e.g., file export nodes, AI content generation nodes that output file formats). 3. SFTP Configuration FlexibilitySupport configuration of basic SFTP connection parameters: server address, port, username, password (or SSH key authentication for enhanced security). 4. Allow setting a target directory on the SFTP server (supporting fixed paths or dynamic paths based on workflow metadata, e.g., workflow ID, user ID, timestamp). 5. Upload Trigger MechanismsReal-time trigger: Upload files immediately upon completion of user upload or file generation in the workflow. 6. Batch trigger (optional): Support scheduled batch upload for scenarios with high file volume. 7. File Processing and IntegrityPreserve original file names, formats, and metadata (e.g., upload time, file size) during upload. 8. Implement file integrity checks (e.g., MD5 verification) to ensure files are not corrupted during transmission. 9. Status Feedback and LoggingReturn clear upload status (success/failure) to the Dify workflow, enabling conditional branching (e.g., sending a notification if upload fails). 10. Log detailed upload records (including file path, SFTP server info, timestamp, and error messages if applicable) to facilitate troubleshooting. 11. Error HandlingHandle SFTP connection failures (e.g., server unreachable, authentication errors) with retry mechanisms (configurable retry count and interval). 12. Support fallback strategies for failed uploads (e.g., local temporary storage and re-upload when the connection is restored). Technical Requirements - Compatibility: Support the latest stable version of Dify and mainstream SFTP server software (e.g., OpenSSH, ProFTPD). - Security: Encrypt sensitive SFTP credentials (e.g., passwords, SSH keys) in Dify's configuration storage to prevent plaintext exposure. - Performance: Ensure minimal impact on Dify workflow execution speed, even when processing large files (support chunked upload for files larger than 100MB). Additional Notes If possible, the plugin should be integrated into Dify's plugin marketplace for easy installation and management. It would also be beneficial to support variable substitution in the SFTP target path (e.g., using {{workflow_id}} or {{user_email}} to dynamically generate subdirectories), which enhances adaptability to different business scenarios. Thank you for considering this feature request. Please let me know if additional details or clarification are needed. ### Official Website URL _No response_
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-plugins#410