xdrop
作者 xixu-mexdrop 可讓你用 Bun scripts 將本機檔案上傳到 Xdrop 伺服器,並下載或解密 Xdrop 分享連結。適合需要在終端機中進行檔案自動化的情境,可搭配 `--json`、`--quiet`、`--output`、`--expires-in`、`--api-url` 等旗標使用。
這項技能評分為 82/100,對於需要以終端機自動化 Xdrop 上傳/下載流程的使用者來說,是相當穩健的目錄收錄候選。儲存庫提供了清楚的觸發情境、可直接執行的內建腳本,以及針對傳送檔案與處理加密分享連結的具體 CLI 旗標,因此相較於泛用提示詞,能明顯降低摸索成本。目錄使用者應能據此做出有根據的安裝判斷,但也要留意它仰賴 Bun 環境,且除了核心順暢流程外,延伸指引相對精簡。
- 觸發條件明確:描述直接指出適用時機,包括 Xdrop 分享連結、加密下載流程,以及相關的 CLI 旗標。
- 具備實際操作內容:內建的 `scripts/upload.mjs` 與 `scripts/download.mjs` 真正實作了上傳、下載與本機解密,不只是描述假設性的工作流程。
- 執行說明清楚:SKILL.md 包含必要環境、指令範例、建議旗標如 `--json` 與 `--quiet`,而腳本說明文字也與文件中的用法一致。
- 是否能採用取決於 Bun,以及檔案系統與網路存取權限;而 SKILL.md 並未提供這些前置需求的安裝或設定指令。
- 工作流程指引看來主要聚焦在主線情境;摘錄內容雖顯示了部分限制與旗標,但較缺乏更高層次的疑難排解或伺服器相容性說明。
xdrop skill 概覽
xdrop 能做什麼
xdrop skill 可協助 agent 將本機檔案或目錄上傳到 Xdrop 伺服器,也能從 Xdrop 分享連結把檔案下載回來,包含在本機端解密加密傳輸內容。它特別適合以終端機為核心的檔案自動化情境:你需要可重複執行的指令、乾淨好分享的 URL,以及可選的機器可讀輸出。
哪些人適合安裝 xdrop skill
如果你符合以下情況,建議安裝這個 xdrop skill:
- 會在 script 或 agent workflow 中透過 Xdrop instance 傳遞檔案
- 會收到像
/t/<transferId>#k=...這類 Xdrop 連結,並希望在本機完成下載與解密 - 需要穩定的 CLI 參數,例如
--json、--quiet、--output、--expires-in或--api-url - 想要一條明確可執行的上傳/下載路徑,而不是自行拼湊 raw HTTP calls
真正要解決的工作
多數使用者其實不是在抽象地尋找「檔案分享 skill」。他們通常是想可靠地自動化以下兩件事之一:
- 在終端機中把本機檔案轉成 Xdrop 分享連結
- 取得既有的 Xdrop 連結後,在不猜協定細節的前提下,把檔案完整還原到本機
xdrop 的價值就在這裡:它把整個流程封裝成兩支可直接執行的 script,而不是讓 agent 自己反推分享格式。
為什麼 xdrop 和一般 prompt 不一樣
一般 prompt 可以描述 Xdrop 可能怎麼運作;xdrop skill 則直接提供可執行的 script,已經把實務流程處理好:
- 透過
scripts/upload.mjs上傳 - 透過
scripts/download.mjs解析分享連結並下載 - 預設使用預期的 API root
- 支援安靜模式與 JSON 輸出,方便串進自動化 pipeline
先確認的關鍵限制
在採用 xdrop 之前,請先確認以下要求:
- 執行內附 script 需要
bun - agent 必須能存取本機檔案系統
- agent 必須能連到目標 Xdrop 伺服器
- 上傳流程是針對相容 Xdrop 的伺服器,不是任意檔案主機
如果你的環境無法執行 Bun,或無法連到目標伺服器,這份 xdrop 指南就不是適合的路線。
如何使用 xdrop skill
把 xdrop skill 安裝到你的 skills 環境
如果你使用 Skills system,可用以下方式安裝 xdrop:
npx skills add https://github.com/xixu-me/skills --skill xdrop
接著請從這些 skill 目錄檔案開始操作:
skills/xdrop/SKILL.mdskills/xdrop/scripts/upload.mjsskills/xdrop/scripts/download.mjs
安裝 xdrop 所需的執行環境
這個 skill 本質上是以 script 為核心,因此實際上的前置條件是 Bun。開始使用 xdrop 前,先確認 Bun 可用:
bun --version
也請一併確認:
- 你能讀取準備上傳的本機檔案
- 你能寫入下載目的地目錄
- 你的環境可以連到 Xdrop 伺服器
先看這些檔案
如果你想快速評估,建議依照以下順序閱讀:
SKILL.md:確認支援的 workflow 與 flagsscripts/upload.mjs:看上傳參數與限制scripts/download.mjs:看分享連結解析方式與輸出行為
通常照這個順序讀完,就足以判斷 xdrop for File Automation 是否適合你的 pipeline。
先理解 xdrop 的兩個核心入口
xdrop skill 的設計刻意保持聚焦。你主要只會呼叫以下其中一個:
-
上傳:
bun scripts/upload.mjs --server <xdrop-site-url> <file-or-directory> [...] -
下載:
bun scripts/download.mjs <share-url>
如果你的需求是可靠的檔案傳輸自動化,而不是功能龐雜的 SDK,這種聚焦反而是優勢。
用 xdrop 上傳檔案
最基本的上傳方式如下:
bun scripts/upload.mjs --server http://localhost:8080 ./dist/report.pdf
你也可以一次上傳多個路徑:
bun scripts/upload.mjs --server https://xdrop.example.com ./photo.jpg ./notes.txt
這很適合使用者明確想達成「把這些本機檔案分享出去並給我連結」的情境;如果需求是儲存同步、瀏覽或帳號管理功能,那就不是 xdrop 的定位。
使用適合自動化的 xdrop 上傳參數
在實際自動化裡,最有用的 flags 包括:
--json:提供結構化輸出,方便下游解析--quiet:讓 stdout 保持乾淨--expires-in <sec>:控制傳輸有效期限--name <value>:設定傳輸名稱--api-url <url>:API root 不是預設值時使用--concurrency <n>:調整平行上傳行為
範例:
bun scripts/upload.mjs \
--server http://localhost:8080 \
--expires-in 600 \
--json \
--quiet \
./notes.txt
對 agent workflow 來說,--json 特別重要,因為它會直接回傳像 transferId、shareUrl、expiresAt 這類欄位,不必再用脆弱的文字擷取方式硬拆輸出。
從分享連結下載並解密
xdrop 最核心的下載情境,是處理包含 key fragment 的完整 Xdrop 分享 URL:
bun scripts/download.mjs "http://localhost:8080/t/abc#k=..."
這支 script 會解析分享連結、抓取 transfer metadata、下載加密內容,並在本機端完成解密。這也是比起手寫 prompt,更應該使用 xdrop skill 的主因:帶 key 的連結格式已經替你處理好了。
用 xdrop 精準控制下載輸出
預設情況下,下載內容會放到像 ./xdrop-<transferId> 這樣的目錄。若你的 workflow 需要固定路徑,請明確覆寫:
bun scripts/download.mjs --output ./downloads "http://localhost:8080/t/abc#k=..."
實用 flags:
--output <dir>:固定檔案落點,方便後續流程--json:輸出機器可讀結果--quiet:讓 log 更乾淨--api-url <url>:當 API root 與<share-origin>/api/v1不同時使用
把模糊需求寫成有效的 xdrop prompt
較弱的請求:
upload this file to xdrop
更好的請求:
Use the xdrop skill to upload
./build/app.tar.gztohttps://xdrop.example.com, set expiry to 600 seconds, return JSON only, and keep stdout quiet.
較弱的請求:
fetch this xdrop link
更好的請求:
Use xdrop to download
https://xdrop.example.com/t/abc#k=..., save it under./artifacts/incoming, and return the output path as JSON.
好的 xdrop 使用 prompt 通常會包含:
- 伺服器 URL 或完整分享 URL
- 精確的本機檔案路徑
- 期望的輸出目錄
- 要純文字輸出還是 JSON
- 上傳是否有過期時間需求
最適合 xdrop for File Automation 的工作流程
實務上建議這樣使用:
- 先確認 Bun 和網路連線能力
- 先用小檔案測試
- 指令能正常跑通後,再切換成
--json - 若 stdout 會被其他 script 或 agent 解析,再加上
--quiet - 最後才擴大到大檔案或多檔案傳輸
這樣可以有效減少除錯時間,因為大多數失敗都來自環境問題、路徑錯誤或伺服器不可達,而不是傳輸邏輯本身。
xdrop 的實際限制與取捨
從 script 的訊號來看,xdrop 是為了直接、單純的傳輸流程而最佳化,不是拿來做無上限的大量搬運。上傳 script 目前定義了:
- 最大並行數上限為
6 - 最大傳輸大小為
256 * 1024 * 1024bytes
也就是說,這份 xdrop 指南更適合短期分享與自動化任務,不特別適合超大規模的封存型工作流程。
xdrop skill 常見問題
xdrop skill 對新手友善嗎
如果你已經能在終端機執行 Bun script,那麼算是友善。介面本身很簡單,但新手仍可能需要協助處理以下問題:
- 安裝 Bun
- 傳入正確的檔案系統路徑
- 理解 site URL 和 API URL 的差別
- 保留分享連結中的
#k=...fragment
什麼情況下 xdrop 比一般 prompt 更好
當你需要的是「可執行的結果」,而不是「概念說明」時,xdrop skill 會更好。一般 prompt 可以解釋 Xdrop,但這個 skill 直接提供具體的上傳/下載路徑,必要 flags 與本機解密流程也都已經編碼進去。
使用 xdrop 時,我需要提供哪些輸入
上傳時需要:
- 透過
--server提供公開可用的 Xdrop site URL - 一個或多個本機檔案或目錄路徑
下載時需要:
- 完整的分享 URL,最好包含 key fragment
- 視需要提供輸出目錄與 API override
缺少這些輸入時,agent 就只能猜,而 xdrop 的使用品質會很快下降。
下載時一定要提供完整分享 URL 嗎
是的,實務上你應該提供完整的 Xdrop 連結。下載 script 明確預期收到完整分享連結,並用它推導 transfer ID、origin 與 key material。只有裸的 transfer ID,不足以完成整個本機解密流程。
xdrop 適合用在 CI 或 script pipeline 嗎
適合。這其實是安裝 xdrop 最充分的理由之一。它支援 --json 與 --quiet,因此很適合 shell scripts、CI jobs,以及需要讓 stdout 保持可解析的 agent chains。
什麼情況下不該使用 xdrop
如果符合以下情況,建議不要使用 xdrop:
- 你無法執行 Bun
- 你需要的是以瀏覽器為主的使用體驗,而不是終端機自動化
- 你需要的不只是上傳/下載自動化
- 你的目標不是相容 Xdrop 的伺服器
- 你的 workflow 涉及超出 script 預期傳輸限制的檔案
如何改善 xdrop skill 的使用效果
給 xdrop 完整且沒有歧義的輸入
想讓 xdrop 更快產生正確結果,最有效的方法就是一開始就把操作所需資訊講清楚:
- 精確檔案路徑
- 精確伺服器或分享 URL
- 期望的過期時間
- 期望的輸出目錄
- 是否需要 JSON
- stdout 是否必須保持安靜
這能去掉大部分猜測空間,也能避免來回修正。
保留分享 URL 的 fragment
xdrop 使用中一個很常見的失敗模式,就是在不同工具間複製連結時把 #k=... fragment 弄丟。只要這段遺失,即使 transfer ID 是有效的,本機解密仍可能失敗。請明確提醒使用者:傳入完整 URL,且不要改動。
下游要自動化時,優先使用 JSON
如果後續還有其他工具、script 或 agent 要接手結果,建議優先:
- 上傳使用
--json - 下載使用
--json
這樣可靠度會更高,因為你不必去解析面向人類的 console 文字。
先用小型傳輸驗證,再往上擴大
若想讓 xdrop for File Automation 跑得更穩,先用小檔案驗證完整 round trip:
- 上傳一個小型測試檔案
- 擷取回傳的分享 URL
- 把它下載到暫存目錄
- 確認檔案內容符合預期
這樣你可以在花時間排查大檔案問題前,先把環境與伺服器層面的問題隔離出來。
有意識地使用 output 和 quiet 參數
有兩個小選擇,往往能大幅提升品質:
- 當後續步驟在意下載位置時,使用
--output - 當 log 會干擾機器解析時,使用
--quiet
這些 flags 表面上看起來不大,但在真實 pipeline 裡影響很大。
只有在必要時才調整 concurrency
上傳 script 支援 --concurrency,但數值不是越高越好。只有在你確定伺服器與網路路徑能承受更多平行工作時,再把它調高;否則就維持預設行為,以可預期完成為優先。
盡早處理伺服器特有的 API 差異
如果你的 Xdrop 部署把 API 暴露在不是預設 <server>/api/v1 的位置,請一開始就設定 --api-url,不要等到後面出現難以理解的錯誤才回頭查。當 xdrop 看起來設定都正確,卻仍無法和伺服器通訊時,這是最該先檢查的項目之一。
用可直接執行的細節強化第一次 xdrop prompt
一個夠強的 xdrop 提示可以長這樣:
Use the xdrop skill. Upload `./release.zip` to `https://xdrop.example.com`.
Set `--expires-in 1800`, return `--json`, and suppress progress with `--quiet`.
If the upload succeeds, report only `shareUrl` and `expiresAt`.
為什麼這樣有效:
- 直接點名 skill
- 提供具體來源路徑
- 明確指定伺服器、有效期限與輸出格式
- 定義預期的回應結構
先排查最可能出錯的地方
如果 xdrop 失敗了,請依照以下順序檢查:
- Bun 是否已安裝且可執行
- 本機路徑是否真的存在
- 伺服器 URL 是否可連通
- 完整分享 URL 是否包含
#k=... - API root 是否需要
--api-url - 是否超出傳輸大小或環境限制
通常照這個順序排查,會比把整個 repository 全部讀完更快找到問題。
第一次結果不理想後,該改什麼
如果第一次執行 xdrop 的結果很亂或不完整,可以優先調整:
- 如果輸出解析很脆弱,就加上
--json - 如果 log 汙染了 stdout,就加上
--quiet - 如果檔案落在錯誤位置,就加上
--output - 把模糊的檔案描述改成精確路徑
- 先對本機或已知正常的 Xdrop 伺服器測試,不要一開始就怪 script
這些調整通常比整個 workflow 重寫一次,更能有效改善第二次執行結果。
