← Back to Skills Marketplace
smiletm

Drive Tools

by SmileTM · GitHub ↗ · v0.0.3 · MIT-0
cross-platform ✓ Security Clean
386
Downloads
1
Stars
1
Active Installs
3
Versions
Install in OpenClaw
/install drive-tools
Description
Drive Tools (云盘工具). A cloud drive CLI tool supporting SMB, WebDAV, and FTP protocols, providing file listing, uploading, downloading, and remote management f...
README (SKILL.md)

drive-tools

This drive-tools skill helps you connect and manage your personal drives. (此 drive-tools 技能可协助您连接并管理个人云盘。)

Directory Structure (目录结构)

drive-tools/
├── SKILL.md                    # Skill documentation (技能说明文档)
├── config.json                 # Configuration file (配置文件)
├── ftp_usage_guide.md          # FTP usage guide (FTP 使用指南)
├── smb_usage_guide.md          # SMB usage guide (SMB 使用指南)
├── webdav_usage_guide.md       # WebDAV usage guide (WebDAV 使用指南)
└── scripts/                    # Scripts directory (脚本目录)
    ├── ftp_drive_tools.py      # FTP drive tools (FTP 云盘工具)
    ├── smb_drive_tools.py      # SMB drive tools (SMB 云盘工具)
    └── webdav_drive_tools.py   # WebDAV drive tools (WebDAV 云盘工具)

How to Use Drive Tools (如何使用云盘工具)

Step 1: Understand Needs (第一步:了解需求,明确云盘类型)

Understand the user's needs and determine which type of drive needs to be accessed and managed. (明确用户的需求,确认需要访问管理的是哪种类型的云盘。)

Step 2: Load Usage Guide (第二步:加载对应云盘类型使用指南)

According to the type of drive the user needs to access, load the usage guide for the corresponding drive type. (根据用户需要访问云盘的类型,加载对应类型云盘使用指南)

Usage Guide (使用指南)

Step 3: Guide Configuration of Drive Information (第三步:引导用户配置相关云盘信息)

  • Use code block format strictly to guide users in filling in configuration information. (严格使用代码块格式,引导用户填写配置信息。)
  • Based on the drive type, check the configuration information. If the relevant drive configuration does not exist, guide the user to configure the drive connection information and record it in skills/drive-tools/config.json following the specified format. Note: Do not modify existing values without user confirmation. Pay special attention to the name (alias) field, as it will be used to identify the drive in subsequent operations. (根据对应云盘类型,检查配置信息,如果相关云盘配置不存在需要引导用户配置云盘连接信息,并将相关配置按照相关格式追加记录到 skills/drive-tools/config.json。注意不要改动配置文件中原有的值,如需改变一定要提示用户进行确认。尤其要注意 name 别名字段,用户后续会用别名进行描述指定的云盘操作。)
  • After the user enters the configuration information, perform a connection test. If the connection test fails, prompt the user to re-confirm the configuration information. If the connection test is successful, provide some suggested questions based on the drive alias set by the user. e.g., "Help me check what is in the cloud drive {name}?" (当用户输入配置信息后,进行连接测试。如果连接测试失败,则提示用户再次确认配置信息。如果连接测试成功,则根据用户设置的云盘别名内容,提示用户可以用的相关问法。例如:“帮我查看下云盘 {name} 里有些什么?”)

Step 4: Execute Commands and Return Results (第四步:执行命令并返回结果)

Execute the corresponding commands based on user requirements and return the results. If the tool fails, notify the user immediately. (根据用户的需求,执行相应命令,并返回结果。若工具返回失败,应立即通知用户。)

Usage Note (使用注意)

  • Please ensure you confirm the whitelist path before retrieving files. Do not use the default path for downloading. It is recommended to download files to the downloads directory within a whitelist path that has send permissions, such as the default whitelist path for openclaw: ~/.openclaw/media. Please remember this at all times. (请务必在获取文件前确认白名单路径,不要使用默认路径进行下载。建议将文件下载到有发送权限的白名单目录下的 downloads 目录中,例如 openclaw 的默认白名单路径:~/.openclaw/media。请务必时刻牢记。) Example: FTP downloading video.mp4:
python scripts/ftp_drive_tools.py --name ftpDrive get /Movies/video.mp4 ~/.openclaw/media/downloads/video.mp4
  • Handling Spaces & Special Characters (处理空格和特殊字符): If the filename or path contains spaces or special characters (like Chinese), you MUST wrap the path in double quotes ("path"). (如果文件名或路径中包含空格或特殊字符(如中文),您必须使用双引号包裹路径。)
python scripts/ftp_drive_tools.py --name ftpDrive get "周杰伦 - Intro.flac" "./周杰伦 - Intro.flac"
Usage Guidance
This skill appears coherent for managing SMB/FTP/WebDAV drives, but take these precautions before installing or using it: - Understand that you will be asked to enter drive usernames/passwords which the skill stores in plaintext at skills/drive-tools/config.json — prefer app-specific or limited-access accounts and avoid reusing high-privilege credentials. - Review the config.json and scripts yourself; the FTP TLS context in the code disables certificate verification (context.verify_mode = CERT_NONE), which can allow man-in-the-middle attacks. If you care about TLS authenticity, modify the code to validate certs. - Keep base path (path) restricted in config.json to limit the skill's access scope, and use the recommended whitelisted downloads directory (e.g., ~/.openclaw/media/downloads) so files the skill writes are constrained. - Ensure the runtime environment has the required Python packages (requests, pysmb, ftplib standard library, etc.) and that you trust network connectivity to the configured servers. - If you are not comfortable storing credentials on disk, do not add them or consider encrypting the config file or using ephemeral credentials. Remove the skill when not needed. If you want, I can point out the exact lines where TLS verification is disabled and suggest code changes to force certificate validation and safer credential handling.
Capability Analysis
Type: OpenClaw Skill Name: drive-tools Version: 0.0.3 The drive-tools skill bundle provides a legitimate set of CLI utilities for managing FTP, SMB, and WebDAV cloud storage. The Python scripts (ftp_drive_tools.py, smb_drive_tools.py, and webdav_drive_tools.py) implement standard file operations using well-known libraries like ftplib, pysmb, and requests, with no evidence of data exfiltration, obfuscation, or unauthorized access. The SKILL.md instructions are functional and include security-conscious advice, such as recommending the use of whitelisted download paths (~/.openclaw/media) to prevent arbitrary file writes.
Capability Assessment
Purpose & Capability
Name/description match the packaged files: scripts implement SMB, FTP and WebDAV clients and the config.json templates match those protocols. There are no unrelated env vars, binaries, or install steps requested.
Instruction Scope
SKILL.md instructs the agent to guide users to produce and save drive credentials into skills/drive-tools/config.json and to run connection tests. This is within scope for a drive management tool, but it means the agent will handle users' plaintext credentials and will be asked to write them to disk. The skill also instructs use of a whitelist downloads directory (good) but relies on the agent to enforce that.
Install Mechanism
No install spec; code is included in the skill bundle. Nothing is downloaded from external or untrusted URLs during install.
Credentials
The skill declares no required environment variables, which aligns with its function. However, it requires users to provide protocol credentials (user/password/host) that will be stored in config.json in plaintext inside the skill folder — this is expected for such a tool but is a sensitive operation and should be treated accordingly (use least-privilege accounts, app-specific passwords, and limit base_path).
Persistence & Privilege
always:false and no unusual privileges are requested. The skill will store its own config file and run scripts when invoked, which is normal and scoped to the skill.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install drive-tools
  3. After installation, invoke the skill by name or use /drive-tools
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.0.3
drive-tools 0.0.3 changelog: https://github.com/SmileTM/s-drive-client/tree/main/skills - Skill documentation updated for greater clarity and thoroughness. - Step-by-step usage instructions revised, including stricter guidance for configuration in code block format. - Added requirement for connection test after configuration; provides example follow-up questions on success. - Clearly instructs how to handle paths with spaces or special characters using double quotes. - Emphasized verifying and using whitelist download paths to ensure security and compliance. - Usage guide links are now presented under Step 2 for more convenient access.
v0.0.2
- Fixed scripts directory typo from "scrips/" to "scripts/" for FTP, SMB, and WebDAV drive tool files. - Updated documentation to reflect the corrected scripts directory path.
v0.0.1
Initial release of drive-tools. - Provides a CLI tool for managing cloud drives using SMB, WebDAV, and FTP protocols. - Supports file listing, upload, download, and remote drive management. - Includes guides for configuring and using each supported protocol. - Configuration is managed via a `config.json` file with careful user guidance. - Emphasizes security best practices for file access and download paths.
Metadata
Slug drive-tools
Version 0.0.3
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 3
Frequently Asked Questions

What is Drive Tools?

Drive Tools (云盘工具). A cloud drive CLI tool supporting SMB, WebDAV, and FTP protocols, providing file listing, uploading, downloading, and remote management f... It is an AI Agent Skill for Claude Code / OpenClaw, with 386 downloads so far.

How do I install Drive Tools?

Run "/install drive-tools" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Drive Tools free?

Yes, Drive Tools is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Drive Tools support?

Drive Tools is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Drive Tools?

It is built and maintained by SmileTM (@smiletm); the current version is v0.0.3.

💬 Comments