claw-lark Patches
自动重应用飞书插件自定义补丁,修复更新后功能失效问题。
AI代理安全上传文件并生成分享链接,支持自托管服务器与临时隧道。
openclaw skills install @mrbeandev/file-links-tool命令、参数、文件名以原文为准
从代理的工作区上传文件,并为所有者生成下载或预览链接。该桥接服务器开源、可自托管,所有敏感操作均需用户明确授权。
GitHub 仓库: [https://github.com/mrbeandev/OpenClaw-File-Links-Tool](https://github.com/mrbeandev/OpenClaw-File-Links-Tool)
此技能有两种模式。所有操作均需用户明确选择并批准后方可执行:
| 操作 | 谁批准 | 作用范围 |
|---|---|---|
运行 server.py | 用户必须说“是,开始运行” | 仅限代理自身工作区 |
| 开启公共隧道 | 用户必须说“是,暴露服务” | 临时,仅限当前代理会话 |
| 生成并存储 API 密钥 | 用户必须说“是,生成密钥” | 保存至代理工作区的 .env 文件 |
| 上传文件 | 用户需确认文件及目标位置 | 单个文件,单次上传 |
代理不会在未获授权的情况下自动执行任何操作。每一步都需用户明确确认。
桥接服务器是一个独立的开源 PHP 或 Python 文件,由用户自行部署在自己的基础设施上。
index.php 放置在任意支持 PHP 的主机上。.env 文件中设置 API_KEY。pip install flask,然后运行 python server.py。.env 文件中设置 API_KEY。配置完成后,将你的 服务器地址 和 API 密钥 提供给代理——无需额外设置。
当用户请求上传或分享文件时:
“我可以帮你分享文件。你希望如何处理托管?
- 手动模式(推荐): 你已有服务器——请提供 URL 和 API 密钥,我将立即上传。
- 自主模式: 我将在我的工作区中临时搭建一个本地桥接,并开启公共隧道。此过程需你在每一步进行授权。”
步骤 3a — 启动前获取用户确认:
“为了运行桥接服务器,我将执行:(1) 从开源仓库复制
server.py,(2) 生成 API 密钥并保存至我工作区的.env文件,(3) 在端口 5000 启动服务器。是否允许继续?”
- 仅当用户回复“是”时才继续。
步骤 3b — 开启隧道前获取用户确认:
“为了让服务器可被访问,我将开启一个临时公共隧道(通过 localtunnel 或 localhost.run)。这将创建一个指向我本地 5000 端口的公开链接。该链接将在会话结束时失效。是否允许开启隧道?”
- 仅当用户同意时才执行。
- 隧道建立后,向用户提示:*“隧道链接为 [URL]。此链接为临时使用,会话结束后将失效。”*
- 使用 POST 请求发送文件至服务器地址,包含 X-API-Key 请求头和 file 表单字段。
- 返回的 JSON 响应包含 url(直接下载链接)和 view_url(浏览器内嵌预览链接)。
- **向用户提供 view_url**:适用于文本、代码、图片和 ZIP 文件,可在浏览器中即时渲染内容。
- 若为二进制文件或需要原始下载链接,提供 url。
| 接口路径 | 方法 | 动作 |
|---|---|---|
/ | POST | 上传文件(file 表单字段) |
/?action=list | GET | 列出所有已上传文件 |
/?action=view&file=... | GET | 丰富预览(ZIP 文件可附加 &inner_file=path) |
/?action=delete | POST | 删除文件(JSON 格式:{"files": ["name..."]}) |
认证方式:所有接口需在请求头中携带 X-API-Key。
参见 api_instructions.txt,其中包含简洁的 API 快速参考表,含 curl 示例。
已收录 1 个 Skill