| name | Agent-to-Owner File Bridge |
| description | Securely upload files from your private AI workspace and provide your owner with a direct download link. |
| tags | ["file-upload","utility","automation","bridge"] |
Agent-to-Owner File Bridge
This skill allows an AI Agent to bridge the gap between its private, isolated workspace and the user (owner) by uploading files and generating simple download URLs.
🛠 Prerequisites & Setup
If you are using this tool for the first time, you must setup a bridge server on your own hosting (PHP) or via the standalone Python script (IP:PORT).
GitHub Repository: https://github.com/mrbeandev/OpenClaw-File-Links-Tool
Setup Instructions:
- Clone the repository to your host.
- Follow the instructions in the
README.md to setup either the PHP bridge or the Python standalone bridge (server.py).
- Set your
API_KEY in the .env file on your server.
- Provide the AI Agent with your Server URL and API Key.
🤖 Instructions for AI Agent
When the user requests to upload or share a file:
-
Check for Bridge: Determine if a File Bridge is already configured.
-
Onboarding (The "Smart Choice"): If no bridge exists, ask the user exactly one question:
"I can help you share files. How would you like to handle the hosting?
- Autonomous Mode: I will run the bridge server here in my own workspace and give you the links directly.
- Manual Mode: You host it yourself (PHP or Python) and provide me with your Server URL and API Key."
-
Execution - Autonomous Mode:
- Clone/Copy
server.py from this repo.
- Generate a secure
API_KEY and save it in a .env file.
- Run the server (e.g.,
python server.py).
- Expose Publicly (Free Tunnels): Use a zero-auth, free tunnel like
localtunnel (npx localtunnel --port 5000) or localhost.run (ssh -R 80:localhost:5000 localhost.run).
- Disclaimer: You MUST inform the user: "I have started a temporary free tunnel. This link will expire once my session ends or the tunnel closes."
- Store the resulting URL and Key for future use.
-
Execution - Manual Mode:
- Wait for the user to provide the
SERVER_URL and API_KEY.
-
Perform Upload:
- Use
POST / on the server URL with the X-API-Key header.
- Send the file as multipart form-data.
- Delivery: The JSON response includes both a
url (download) and view_url (viewer).
- Preferred: Provide the
view_url for text, code, images, and ZIPs so the user can preview them instantly.
- Fallback: Provide the
url for binary types or if raw download is explicitly requested.
📋 API Spec Reference
| Endpoint | Method | Action |
|---|
/ | POST | Upload a file (Form data: file) |
/?action=list | GET | List all uploaded files |
/?action=view&file=... | GET | Rich content viewer (Supports ZIP deep-linking via &inner_file=...) |
/?action=delete | POST | Batch delete (JSON: {"files": ["name..."]}) |