文叔叔文件分享技能
自动将文件上传到文叔叔(wenshushu.cn),生成分享链接和取件码,方便快速分享文件。
🎯 触发场景
- 用户说"发文件给我"、"上传文件"、"分享文件"
- 用户要求"把文件发到文叔叔"
- 用户说"生成下载链接"
- 用户指定文件路径要求分享
📦 功能说明
核心能力
- 文件上传:支持任意类型文件上传到文叔叔
- 取件码生成:自动生成4位数字取件码
- 链接生成:生成公共下载链接和管理链接
- 自动发送:上传后自动将链接和取件码发送给用户
- 多文件支持:可上传单个文件或多个文件
输出格式
上传成功后返回:
- 📎 文件名和大小
- 🔗 公共下载链接(无需登录即可下载)
- 🔢 取件码(4位数字)
- ⚙️ 个人管理链接(可查看上传记录)
⚙️ 配置说明
系统要求
- ✅ wssf 工具已安装(文叔叔命令行工具)
- ✅ Python 3.8+ 环境
- ✅ 网络可访问 wenshushu.cn
自动安装
首次使用时,技能会自动:
- 检查 wssf 是否已安装
- 如未安装,自动下载并安装 wssf 5.0.6
- 配置 uv 虚拟环境(如需)
配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
wenshushu.use_login | false | 是否使用登录账户上传(更大空间) |
wenshushu.random_key | true | 是否随机生成取件码 |
wenshushu.custom_key | null | 自定义取件码(4位数字) |
wenshushu.proxy | null | 代理服务器地址 |
🔄 工作流程
1. 用户请求上传文件
2. AI 检查文件是否存在
3. 调用 wssf 工具上传
4. wssf 返回链接和取件码
5. AI 格式化消息发送给用户
6. (可选)保存上传记录到 MEMORY.md
📝 使用示例
示例1:基本上传
用户: "发文件给我"
AI: 请提供要上传的文件路径,例如:/path/to/file.zip
用户: "上传 /root/.openclaw/workspace/report.pdf" AI: 自动上传并返回:
📄 文件上传成功!
文件名:report.pdf
大小:2.3 MB
🔗 下载链接:https://c.wss.ink/f/xxxxx
🔢 取件码:1234
📊 管理链接:https://www.wenshushu.cn/t/xxxxx
示例2:自定义取件码
用户: "上传文件,取件码设置为 8888" AI: 使用自定义取件码上传并返回链接
示例3:批量上传
用户: "把这三个文件发到文叔叔:file1.txt file2.pdf file3.zip" AI: 分别上传每个文件,返回各自的链接和取件码
⚠️ 注意事项
-
文件大小限制:
- 匿名用户:单文件 ≤ 5GB
- 登录用户:单文件 ≤ 40GB(需配置登录)
-
网络要求:
- 需要可访问 wenshushu.cn
- 如遇滑块验证需手动完成
- 大文件建议使用代理
-
隐私安全:
- 上传链接 anyone with link can download
- 敏感文件请加密后上传
- 取件码建议随机生成
-
文件保留:
- 文叔叔默认保留时间较长(官方未明确说明)
- 建议定期清理不需要的文件
🔧 高级用法
配置登录(可选)
如需更大空间和更长保留时间,可配置登录:
# 1. 访问 https://www.wenshushu.cn 并登录
# 2. 打开开发者工具(F12)
# 3. 切换到 Network 标签
# 4. 刷新页面,找到 X-TOKEN 请求头
# 5. 复制 token(以 30 或 31 开头)
# 然后在 OpenClaw 中配置:
wenshushu.login("30Bxxxxxxxxxxxxxxxxx")
使用代理
如果网络受限,可配置代理:
wenshushu.upload("file.zip", proxy="http://127.0.0.1:7890")
批量上传目录
wenshushu.upload_folder("/path/to/folder")
🛠️ 技术实现
依赖工具
- wssf: 文叔叔官方命令行工具(Python)
- uv: 现代 Python 包管理器(推荐)
- browser: OpenClaw 浏览器自动化(可选,用于滑块验证)
核心脚本
scripts/upload.py: 文件上传主逻辑scripts/download.py: 文件下载功能(预留)scripts/utils.py: 工具函数
配置存储
- 登录 token:
~/.config/wenshushu/token.txt - 多用户管理:
~/.config/wenshushu/user_tokens.json
📊 上传记录
每次上传会记录到:
~/.openclaw/memory/wenshushu-uploads.jsonl
格式:
{
"timestamp": "2026-03-16T15:10:00Z",
"filename": "report.pdf",
"size": 2345678,
"public_url": "https://c.wss.ink/f/xxxxx",
"pickup_code": "1234",
"management_url": "https://www.wenshushu.cn/t/xxxxx"
}
🔐 安全建议
- 不要上传敏感信息:如密码、密钥、身份证等
- 使用强取件码:避免使用简单序列(如1234)
- 定期清理:登录后可在管理页面删除旧文件
- 检查链接:上传后确认链接可正常访问
🚀 快速开始
方法一:自动安装(推荐)
当用户第一次请求上传时,AI 会自动:
- 检查并安装 uv(如果未安装)
- 创建虚拟环境
- 安装 wssf 依赖
- 开始上传
方法二:手动安装
# 1. 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 安装 wssf
uv venv
uv pip install wssf==5.0.6
# 3. 验证安装
uv run wss.py --help
📝 示例对话
User: "把 HertzBeat 架构分析文档发给我"
AI:
正在上传文件:/root/.openclaw/workspace/hertzbeat-architecture-analysis.md
📤 使用 wenshushu 工具上传...
✅ 上传成功!
📄 文件名: hertzbeat-architecture-analysis.md
📏 大小: 11 KB
🔗 下载链接: https://c.wss.ink/f/jfgeidlyzdf
🔢 取件码: 7010
📋 管理链接: https://www.wenshushu.cn/t/jfgeiDlYwit3IuLs
请在浏览器中打开下载链接,输入取件码即可下载。
🐛 故障排除
问题:wssf 安装失败
解决:手动安装 pip 或 uv,然后 pip install wssf
问题:上传时遇到滑块验证
解决:在浏览器中手动完成验证(已登录状态通常不需要)
问题:文件太大上传失败
解决:
- 使用登录账户(更大空间)
- 使用代理加速
- 分卷压缩后分批上传
问题:下载链接无法访问
解决:
- 检查链接是否完整
- 确认取件码正确
- 联系上传者确认文件未过期
版本: 1.0.0 创建日期: 2026-03-16 依赖: wssf 5.0.6+, uv (推荐) 协议: MIT