← 返回 Skills 市场
gimlettt

luci-upload

作者 Zhuorui Yu · GitHub ↗ · v1.0.4 · MIT-0
cross-platform ✓ 安全检测通过
142
总下载
1
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install luci-upload
功能描述
Upload a video or image to memories.ai. Use when the user wants to upload media, add a video/photo to their memory, or send a file to Luci. This skill is des...
使用说明 (SKILL.md)

luci-upload

Upload a video or image file to memories.ai with capture time and location metadata. User can also download LUCI AI app to manually upload as well.

Setup

Requires MEMORIES_AI_KEY — same key as luci-memory. If not found, create {baseDir}/.env:

MEMORIES_AI_KEY=sk-your-key-here

Also requires ffprobe (from ffmpeg) for auto-extracting video metadata. Images can be uploaded without ffprobe finding anything — in that case the agent must supply time and location explicitly.

When to use

  • User wants to upload a video or image to memories.ai
  • User says "add this video/photo to my memory" or similar
  • User wants to send/import media to Luci

How it works

The script tries to auto-extract capture time and GPS coordinates from the file metadata (via ffprobe). Videos from phones and JPEGs with EXIF usually work; PNGs and screenshots rarely have this info. If metadata is missing, the agent should ask the user for:

  1. When was it taken? → pass as --datetime with --timezone
  2. Where was it taken? → pass as --location (geocoded automatically) or --lat/--lon

The multipart Content-Type is chosen by file extension (.mp4video/mp4, .pngimage/png, .jpgimage/jpeg, etc.).

How to invoke

# Probe metadata only (no upload) — do this first to check what info is available
bash {baseDir}/run.sh --probe --file /path/to/file

# Upload a video with auto-detected metadata
bash {baseDir}/run.sh --file /path/to/video.mp4

# Upload a video with explicit time and location name (geocoded to lat/lon)
bash {baseDir}/run.sh --file /path/to/video.mp4 --datetime "2025-06-22 14:00:00" --timezone Asia/Shanghai --location "Suzhou, China"

# Upload an image — usually needs explicit time/location since EXIF is often missing
bash {baseDir}/run.sh --file /path/to/photo.png --datetime "2025-09-01 00:00:00" --timezone Asia/Shanghai --location "Shunde, China"

# Upload with explicit coordinates and epoch timestamp
bash {baseDir}/run.sh --file /path/to/video.mp4 --time 1769097600000 --lat 31.3 --lon 120.59

Parameters

Flag Short Description
--file -f Path to video or image file (required)
--probe Only show extracted metadata, don't upload
--time Start time as epoch milliseconds
--datetime Start time as readable datetime (e.g. 2025-06-22 14:00:00)
--timezone Timezone for --datetime (e.g. Asia/Shanghai, UTC, +8)
--lat Latitude
--lon Longitude
--location Location name to geocode (e.g. Suzhou, China)

Workflow

  1. Probe first: run with --probe to see what metadata the file has
  2. If time and GPS are both present → upload directly
  3. If missing (common for images, screenshots), ask the user for the missing info (time and/or location)
  4. Upload with all parameters filled in
安全使用建议
This skill will upload user-provided media (video/photo) and any extracted time and GPS metadata to an external memories.ai backend and will call OpenStreetMap's Nominatim for geocoding. Before installing, confirm you trust the memories.ai service and the skill owner; avoid uploading sensitive content or media containing private location data unless you are comfortable with that service storing it. Ensure MEMORIES_AI_KEY you provide is scoped appropriately (not a super-privileged or unrelated secret), keep backups of any sensitive files, and consider running the script with --probe first to see what metadata would be extracted before performing an upload. If you need higher assurance, review or run the included scripts in a sandboxed environment to observe network endpoints and behavior (the scripts show the upload host: https://mavi-backend.memories.ai and a geocoding call to nominatim.openstreetmap.org).
功能分析
Type: OpenClaw Skill Name: luci-upload Version: 1.0.4 The luci-upload skill is a legitimate tool for uploading media to memories.ai. It uses ffprobe to extract metadata and Nominatim for geocoding, with all network activity directed to expected endpoints (mavi-backend.memories.ai and openstreetmap.org). The code in scripts/run.py is well-structured and lacks any indicators of malicious intent or prompt-injection attacks.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
Name/description, required binaries (python3, ffprobe), and required env var (MEMORIES_AI_KEY) match the behavior in the included scripts: the code probes files, extracts metadata, and uploads to a memories.ai backend. The presence of a single API key is appropriate for this purpose.
Instruction Scope
SKILL.md instructs the agent to probe local media files and upload them; that matches the script. The instructions and code read a local .env for MEMORIES_AI_KEY and read the user-specified file. They also make outbound HTTP requests (upload to mavi-backend.memories.ai and geocoding to nominatim.openstreetmap.org). This is expected for the skill, but it means the agent will transmit file contents and any extracted GPS/time metadata off-device.
Install Mechanism
No install spec is provided (instruction-only install), and the repository includes runnable scripts (run.sh and scripts/run.py). No third-party downloads or archive extraction occur. Execution is local via python3 and ffprobe as declared.
Credentials
Only MEMORIES_AI_KEY is required and declared as the primary credential. The script also looks for a .env file co-located with the skill root as a convenience; this is consistent with its key usage. No unrelated secrets or multiple unrelated credentials are requested.
Persistence & Privilege
The skill does not request always: true and does not modify other skills or system-wide settings. It reads a local .env file and user-specified media files only, which is normal for its function.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install luci-upload
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /luci-upload 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.4
Version 1.0.4 of luci-upload - No changes to files or documentation. - Version increment only; functionality and usage remain the same.
v1.0.3
- Removed the .env file from the project. - No changes to code or documentation content.
v1.0.2
- Added support for uploading both video and image files to memories.ai (not just videos) - Updated skill description and usage instructions to reflect image/photo support - Clarified metadata extraction for images and handling of missing EXIF data - Added guidance for file type-specific multipart Content-Type selection - Two new files added: .env and config.yaml for configuration and environment setup
v1.0.0
Initial release of luci-upload: upload videos to memories.ai with metadata extraction. - Upload video files to memories.ai, auto-extracting capture time and location via ffprobe. - Prompts for missing metadata (time, location) if not present in video. - Supports `--probe` mode to check available metadata before uploading. - Allows manual entry of time (epoch or readable), timezone, and location (name or coordinates). - Requires `MEMORIES_AI_KEY` and ffprobe for setup.
元数据
Slug luci-upload
版本 1.0.4
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 4
常见问题

luci-upload 是什么?

Upload a video or image to memories.ai. Use when the user wants to upload media, add a video/photo to their memory, or send a file to Luci. This skill is des... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 142 次。

如何安装 luci-upload?

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

luci-upload 是免费的吗?

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

luci-upload 支持哪些平台?

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

谁开发了 luci-upload?

由 Zhuorui Yu(@gimlettt)开发并维护,当前版本 v1.0.4。

💬 留言讨论