← 返回 Skills 市场
fm7077

Easyimage uploader

作者 FM7077 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
70
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install easyimage-uploader-py
功能描述
Upload local image files to an EasyImages 2.0 service and return the hosted image URL. Use when the user asks to upload an image, host a picture, put a local...
使用说明 (SKILL.md)

easyimage-uploader

Upload a local image to an EasyImages 2.0 server, then return the hosted image URL.

Configuration priority

Resolve configuration in this order:

  1. CLI flags: --server and --token
  2. Skill-local config file: config.json
  3. Environment variables fallback:
    • EASYIMAGE_URL
    • EASYIMAGE_TOKEN

Recommended setup: create config.json in the root of this skill.

Example:

{
  "server": "https://img.example.com",
  "token": "your-easyimage-token",
  "allow_model_image_input": false,
  "temp_dir": "./temp"
}

A template file is included as config.example.json.

Config fields

  • server: EasyImages service base URL
  • token: EasyImages upload token
  • allow_model_image_input: whether upload requests are allowed to rely on model-side image understanding
    • false: prefer direct file-path upload only, avoid image analysis, avoid vision tool usage
    • true: model-side image handling is allowed when needed
  • temp_dir: temp working directory for this skill
    • default recommended value: ./temp
    • relative paths are resolved relative to this SKILL.md / skill root directory
    • with the default, the effective directory is easyimage-uploader/temp/

If configuration is missing, stop and ask the user for the missing value.

Workflow

  1. Confirm which local image file should be uploaded.
  2. Read references/api.md if you need the exact upstream API shape or status meanings.
  3. Read config.json when behavior matters.
  4. If allow_model_image_input is false, do not use image analysis or vision tools just to understand image content. Treat the image as a file and upload by path only.
  5. Use temp_dir for temporary files when downloads, conversions, or intermediate storage are needed. If the directory does not exist, create it first.
  6. Prefer absolute paths for both the script and the image file. Do not rely on ~ expansion in generated commands. Safe default:
python3 /absolute/path/to/skills/easyimage-uploader/scripts/upload_easyimage.py /absolute/path/to/image
  1. If needed, point to a specific config file with an absolute path:
python3 /absolute/path/to/skills/easyimage-uploader/scripts/upload_easyimage.py /absolute/path/to/image \
  --config /absolute/path/to/config.json
  1. If needed, override with explicit CLI values:
python3 /absolute/path/to/skills/easyimage-uploader/scripts/upload_easyimage.py /absolute/path/to/image \
  --server https://img.example.com \
  --token YOUR_TOKEN
  1. The bundled script normalizes ~ and relative paths for the image and config arguments, but still prefer absolute paths in examples and real executions to avoid shell-specific surprises.
  2. Parse the JSON output.
  3. If ok is true, return the url to the user. Mention thumb only if useful.
  4. Do not expose delete_url unless the user explicitly asks for deletion capability.
  5. If upload fails, explain the likely cause using the code or error payload.

Failure handling

When the script returns a failure payload:

  • network_error: server unreachable, DNS/TLS/network problem, or timeout
  • http_error: server returned a non-2xx HTTP response
  • invalid_json: server responded unexpectedly
  • EasyImages code values should be interpreted using references/api.md

Common user-facing explanations:

  • 202: server-side upload quota reached
  • 205: current client is blocked by EasyImages allow/deny rules
  • 401: server requires login uploads instead of token-only uploads
  • 403: token invalid or signature check failed
  • 406: file type rejected

Notes

  • Use this skill for local files that already exist on disk.
  • If the user only gives a remote URL and wants it mirrored, download it first only if appropriate and allowed.
  • Prefer returning the direct image url as the main result.
  • Keep secrets safe. Never echo the configured token back to the user.
  • config.json contains secrets. Keep file permissions tight and avoid committing it to public repositories.
安全使用建议
This skill is basically what it says: a local-image uploader to an EasyImages server. Before installing or using it, consider the following: - Review config.json and avoid putting real tokens into public repos. The script will read a local config file or environment variables for the upload token. - The uploader prints JSON that includes the endpoint, the resolved config file path, and the raw server response (including any 'del' delete URL from the server). The SKILL.md tells agents not to expose delete URLs to users unless requested, but the script still returns that value in its output. If you care about hiding delete links or local paths, modify the script to omit or redact config_path, raw response, and delete_url unless explicitly requested. - The documentation says relative paths resolve relative to the skill root, but the script resolves relative image paths relative to the current working directory. Prefer using absolute paths in commands to avoid surprises. - Confirm the environment variable names you plan to use; the script accepts additional fallbacks (EASYIMAGE_SERVER, EASYIMAGE_BASE_URL) that are not listed in SKILL.md. - The code builds the entire multipart body in memory; be cautious with very large files. If you want higher assurance: run the script locally with a test server or inspect/modify the script to remove printing of config paths and raw server responses, and to explicitly avoid returning the delete URL unless the user asks for deletion. If you need help producing a hardened variant, share your requirements and I can suggest specific changes.
功能分析
Type: OpenClaw Skill Name: easyimage-uploader-py Version: 1.0.0 The skill is a legitimate utility designed to upload local images to an EasyImages 2.0 server. The core logic in `scripts/upload_easyimage.py` uses Python's standard library to perform multipart/form-data POST requests to a user-defined endpoint. The instructions in `SKILL.md` and `README.md` are consistent with the tool's purpose and include explicit security guidance, such as preventing the leakage of API tokens and sensitive deletion URLs. No evidence of data exfiltration, malicious execution, or prompt injection was found.
能力评估
Purpose & Capability
Name, description, README, references, SKILL.md, and the bundled Python uploader are coherent: all implement uploading a local image to an EasyImages 2.0 server. The requested capabilities (token and server via CLI/config/env) are reasonable for the stated purpose.
Instruction Scope
SKILL.md limits actions to local-file uploads and explicitly warns about not echoing tokens and not exposing delete URLs. The bundled script follows the main upload flow and does not print the token. However the SKILL.md claims relative paths are resolved relative to the skill root; the script resolves relative image paths relative to the current working directory (Path.cwd()), so path-resolution behavior is different than the documentation. Also, the script includes the server endpoint, the path to the config file, and the server response (raw) in its JSON output, which can expose local paths and server-provided payloads (including delete URLs returned by the upstream API). The SKILL.md instructs the agent not to reveal delete URLs unless requested, but the script includes the delete URL in its printed JSON output, leaving it to the agent to honor the SKILL.md guidance.
Install Mechanism
Instruction-only skill with a small bundled script and no install spec. No external downloads or install-time code execution are required. Risk from installation is low.
Credentials
The skill does not require any environment variables by registry metadata (config is optional). The script accepts EASYIMAGE_URL / EASYIMAGE_SERVER / EASYIMAGE_BASE_URL and EASYIMAGE_TOKEN as fallbacks; SKILL.md documents EASYIMAGE_URL and EASYIMAGE_TOKEN only (minor mismatch). Requiring a single service token is proportionate to the purpose. Be aware config.json contains the token; the skill recommends not committing it and keeping permissions tight.
Persistence & Privilege
The skill does not request always:true, does not install system-wide components, and does not modify other skills. It runs a local script at invocation and has normal, limited privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install easyimage-uploader-py
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /easyimage-uploader-py 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of easyimage-uploader: - Uploads local image files to an EasyImages 2.0 service and returns the hosted image URL. - Supports configuration via CLI flags, skill-local `config.json`, or environment variables. - Includes failure handling with clear user-facing explanations for common errors and status codes. - Guides usage with security notes, safe path handling, and best practices for `temp_dir`. - Provides a detailed workflow for confirming file selection, parsing results, and managing config secrets.
元数据
Slug easyimage-uploader-py
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Easyimage uploader 是什么?

Upload local image files to an EasyImages 2.0 service and return the hosted image URL. Use when the user asks to upload an image, host a picture, put a local... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 70 次。

如何安装 Easyimage uploader?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install easyimage-uploader-py」即可一键安装,无需额外配置。

Easyimage uploader 是免费的吗?

是的,Easyimage uploader 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Easyimage uploader 支持哪些平台?

Easyimage uploader 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Easyimage uploader?

由 FM7077(@fm7077)开发并维护,当前版本 v1.0.0。

💬 留言讨论