本地文件一键上传分享

SKILL开发

原名 pinme-share

开发 未标注权限 许可证不明确
安装这个技能

把本地任意文件或整个目录传到 PinMe,马上得到一个短分享链接,网页、图片、音视频和文档都能用。内容是公开的,敏感文件不要传。

一句话选型结论

按资料字段整理

本地文件一键上传分享是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_2a52e6b3/pinme-share
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_2a52e6b3仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量7.8 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

0 项能力
上游给出的能力概览与适用场景
上传网页分享链接分享本地大文件发布图片音频视频

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
本地文件一键上传分享当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

7.8 KB
模型实际读到的说明书原文,来自技能仓库

pinme-share

Upload any file or directory to PinMe (public IPFS) and get back a short
*.pinit.eth.limo URL.

  • Version: 1.0.1
  • License: MIT
  • Author: Evan Song · github.com/Songhonglei
  • Repository: https://github.com/Songhonglei/html-tool-suite

⚠️ Public-data warning — read before first use

  • PinMe runs on public IPFS: anything you upload is world-readable; anyone with the URL can open it.
  • CIDs are effectively undeletable: IPFS nodes cache content; --rm only removes the pin from your
    account — third-party copies may still exist.
  • 🚫 Never upload: internal company docs / client data / credentials / private info / unreleased material.
  • Every upload invocation prints a warning to stderr; pass --yes to skip it in automation.

🔑 First-time setup — configure your AppKey

PinMe v2.x requires authentication. The lookup order is:

  1. PINME_APPKEY env variable (highest priority, doesn't persist — good for CI / one-shot)
  2. pinme CLI already has an AppKey set → reuse directly
  3. Local file ~/.local/share/pinme-share/appkey.json exists → auto-applied to pinme CLI
  4. Otherwise → script returns error_type: auth_required and tells the user to grab an AppKey from
    https://pinme.eth.limo

Configure / replace the AppKey (persistent)

python3 scripts/upload_to_pinme.py --set-appkey <YOUR_KEY>

Writes the key to both the pinme CLI and ~/.local/share/pinme-share/appkey.json (mode 0600).
The local file is never committed to git or shipped in the published skill bundle.

Override the storage path (advanced)

export PINME_APPKEY_FILE=/custom/path/appkey.json
# or honour $XDG_DATA_HOME automatically:
export XDG_DATA_HOME=$HOME/my-xdg-data   # → $HOME/my-xdg-data/pinme-share/appkey.json

Inspect current configuration

python3 scripts/upload_to_pinme.py --show-appkey

📤 Upload

# Any single file
python3 scripts/upload_to_pinme.py /path/to/file.html
python3 scripts/upload_to_pinme.py /path/to/report.pdf

# A whole directory (no index.html required)
python3 scripts/upload_to_pinme.py /path/to/dist/

# Add --verbose to see progress for large files
python3 scripts/upload_to_pinme.py /path/to/video.mp4 --verbose

# Skip the privacy warning (for cron / automated pipelines)
python3 scripts/upload_to_pinme.py /path/to/file.html --yes

# Custom timeout (default: 60s + 2s/MB, floor 180s, ceiling 1800s)
python3 scripts/upload_to_pinme.py /path/to/big.zip --timeout 900

Output — the last line of stdout is always a single JSON object:

{"success": true, "url": "https://xxxx.pinit.eth.limo", "size_bytes": 12345, "timeout_used": 180}

📜 Browse upload history

python3 scripts/upload_to_pinme.py --list
python3 scripts/upload_to_pinme.py --list --limit 5
python3 scripts/upload_to_pinme.py --list --raw   # don't parse; return raw CLI text

Structured output:

{"success": true, "count": 3, "history": [
  {"name": "foo.html", "cid": "Qm...", "url": "https://xxxx.pinit.eth.limo", "size": "12 KB", "time": "2026-05-21 09:30"}
]}

🗑️ Unpin (remove from your pin list)

python3 scripts/upload_to_pinme.py --rm <CID>

> ⚠️ Public IPFS copies cannot be truly deleted; this only removes the pin from your account.


💰 Wallet / quota

python3 scripts/upload_to_pinme.py --wallet

PinMe provides a free quota (~500 uploads). Past that it may charge — see https://pinme.eth.limo console.


🚪 Logout

python3 scripts/upload_to_pinme.py --logout

Clears both the pinme CLI session and ~/.local/share/pinme-share/appkey.json.


🧰 stdout / stderr contract

Stream Purpose
stdout Always exactly one JSON object on the final line — safe to pipe into jq
stderr Progress lines, privacy warnings, debug output — never breaks JSON parsing

Example:

URL=$(python3 scripts/upload_to_pinme.py /tmp/foo.html | jq -r '.url')

📋 Error code reference (for agent routing)

error_type Trigger Suggested handling
auth_required AppKey missing / pinme reports login failure Prompt user to run --set-appkey or grab an AppKey
invalid_path Path missing / unreadable Ask user to confirm the path
oversize Single file > 200 MB or directory > 1 GB Split or use different storage
cli_missing pinme CLI install failed / not found Check Node.js / network / npm permissions
network Timeout / DNS failure / connection refused / 5xx Retry or verify outbound connectivity
quota_exceeded PinMe quota / wallet empty Top up via PinMe console or switch account
url_not_found Upload OK but no parseable URL Inspect raw output (CLI format may have changed)
usage No operation specified Show --help and ask the user what they want to do
invalid_appkey AppKey passed to --set-appkey looks malformed (length < 20) Ask user to recheck and re-enter
conflicting_args Multiple mutually-exclusive operations passed at once (e.g. path + --list) Call them separately, one operation per invocation
unknown Fallback error field includes raw stderr

Exit codes: 0 success / 1 generic failure / 2 structured failure (read JSON error_type).


📦 Constraints & dependencies

  • Single file ≤ 200 MB, directory ≤ 1 GB (PinMe server limit)
  • Static files only (no server-side processing)
  • Node.js ≥ 16.13.0 (auto-checked)
  • pinme CLI (auto-installed via npm install -g pinme if missing)
  • PinMe AppKey (required)

🛠️ Pasted-content workflow

If the user pastes HTML content directly into chat, the agent should:

  1. Write it to /tmp/pinme_user_&lt;timestamp&gt;.html
  2. Invoke this script with that path
  3. Return the resulting URL

🔧 Environment variables

Variable Purpose Example
PINME_APPKEY One-shot / CI override (highest priority, no persist) export PINME_APPKEY=abc123...
PINME_APPKEY_FILE Override AppKey storage path export PINME_APPKEY_FILE=$HOME/.config/pinme/key.json
XDG_DATA_HOME Honoured for default storage path export XDG_DATA_HOME=$HOME/my-xdg-data

Default storage: ${XDG_DATA_HOME:-$HOME/.local/share}/pinme-share/appkey.json.


🪪 Acknowledgements

  • PinMe for the IPFS pinning service and pinme CLI
  • Part of the html-tool-suite — HTML generation,
    publishing, and sharing skills

Changelog

v1.0.1

  • Fix (silent-failure): passing multiple mutually-exclusive operations (e.g. &lt;path&gt; + --list)
    now returns conflicting_args instead of silently running only the first matched branch and
    dropping the rest.
  • Fix (security): --set-appkey with a too-short key no longer echoes the key fragment
    (key[:20]) into the error output; it now reports only the length.

v1.0.0

  • Initial open-source release (XDG-compliant storage, English docs, full-English CLI).

常见问题

5 问
答案由本站依据条目字段整理
本地文件一键上传分享怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_2a52e6b3/pinme-share。安装方式为未标注。装完刷新技能列表或重开客户端。

本地文件一键上传分享支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

本地文件一键上传分享权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

本地文件一键上传分享收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

本地文件一键上传分享用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。