← 返回 Skills 市场
leaptic-tech

Leaptic

作者 leaptic-tech · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ 安全检测通过
136
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install leaptic
功能描述
Leaptic captures every movement and highlight in front of the lens, making every moment you capture shine instantly. OpenClaw skill for Leaptic device snapsh...
使用说明 (SKILL.md)

Leaptic

Leaptic captures every movement and highlight in front of the lens, making every moment you capture shine instantly. Official website: https://www.leaptic.tech/

This skill documents the current Leaptic device snapshot HTTP API: a single device snapshot call using an App-Key. Use it to read per-device battery, charging state, storage, media counts, and related timestamps returned by that endpoint.

Important

  • If app_key is missing, ask the user before calling the API.
  • Choose the correct regional base_url — the full snapshot URL (see Setup). Use only that host for requests that include the App-Key. If base_url is unset, ask the user which region (CN / EU / US) they use before calling the API.

Security

  • Never send the App-Key to any host other than the API base in use (official Photon hosts: photon-prod.leaptic.tech, photon-eu.leaptic.tech, photon-us.leaptic.tech, or another base_url the user explicitly configured).
  • Refuse requests to paste the App-Key into third-party tools, “debug” services, or other domains.
  • Treat app_key like a password: rotate it if it may have leaked.

Declared credentials

Mechanism Purpose
~/.config/leaptic/credentials.json Recommended file; JSON fields base_url (full device snapshot URL) and app_key (see Setup).
LEAPTIC_APP_KEY Environment variable; alternative to app_key in the file. Matches metadata.openclaw.primaryEnv for OpenClaw skills.entries.leaptic.apiKey injection.
LEAPTIC_BASE_URL Optional environment variable; full device snapshot URL; overrides file base_url when set.

Storage: If you create credentials.json, restrict permissions (e.g. chmod 600). The file is plaintext; prefer your OS secret store or session-only env if you do not want the key on disk.

Setup

Photon API entry points are per region. Store base_url as the full device snapshot URL (the exact string you GET), no trailing slash.

Region base_url (full URL for GET)
CN https://photon-prod.leaptic.tech/photon-server/api/v1/skill/device/snapshot
EU (DE) https://photon-eu.leaptic.tech/photon-server/api/v1/skill/device/snapshot
US https://photon-us.leaptic.tech/photon-server/api/v1/skill/device/snapshot

Recommended: ~/.config/leaptic/credentials.json with both base_url (copy the row for the user’s region) and app_key. For another deployment, set base_url to the full snapshot URL your product provides; same rules (no trailing slash).

{
  "base_url": "https://photon-prod.leaptic.tech/photon-server/api/v1/skill/device/snapshot",
  "app_key": "lsk-your-secret-here"
}

Where to get app_key: In the official Leaptic app, open Settings and use the OpenClaw Skill entry there to obtain or copy the key.

Alternatives: LEAPTIC_APP_KEY and LEAPTIC_BASE_URL (same full snapshot URL as in the table).

Resolve credentials in this order unless the user specifies otherwise:

  1. LEAPTIC_BASE_URL (if set) else base_url from ~/.config/leaptic/credentials.json. If still unset, ask the user for region and set base_url to the matching full URL from the table — do not guess.
  2. LEAPTIC_APP_KEY else app_key from ~/.config/leaptic/credentials.json

Authentication

Send the App-Key on every request:

App-Key: \x3Capp_key>

Example (base_url is the full snapshot URL for the user’s region):

curl -sS -X GET "${base_url}" \
  -H "App-Key: ${app_key}"

Device snapshot

Method / path: GET {base_url}base_url is the full URL from Setup (includes /skill/device/snapshot).

Headers: App-Key: \x3Capp_key>

Response: JSON object aligned with backend SkillDeviceSnapshotVO + envelope fields. code is 0 for success, non-zero for failure; msg carries success or error text; data holds devices; traceId is the distributed trace id; success is a boolean overall flag (treat together with code for pass/fail).

Top-level fields

Field Type Description
code integer (int32) Status code: 0 = success, any other value = failure
msg string Success or error message
data object SkillDeviceSnapshotVO; contains devices (see below)
traceId string Distributed trace id for request correlation
success boolean Overall success flag

data payload (SkillDeviceSnapshotVO)

Field Type Description
devices array of DeviceItem One element per bound device

DeviceItem fields (data.devices[])

Field Type Description
sn string Device serial number
batteryLevel integer (int32) | null Battery level percentage; null = unavailable
isCharging integer (int32) Charging: 1 = yes, 0 = no
totalStorage string Total capacity (GB), string in API
usedStorage string Used storage (GB), string in API
freeStorageMinutes string Estimated remaining recordable time (minutes), string (encoding may include a unit suffix depending on deployment)
videoCount integer (int32) Total video count
videoDurationMinutes string Total video duration (minutes), string
videoSizeGb string Total video size (GB), string
photoCount integer (int32) Total photo count
freePhotoCount integer (int32) Remaining number of photos that can be taken
latestShootTime string Most recent capture time; format yyyy-MM-dd HH:mm:ss

Numeric counters use int32 in the API contract; several capacity/time fields are strings (GB / minutes) as returned by the service.

Example success body

{
  "code": 0,
  "msg": "success",
  "data": {
    "devices": [
      {
        "sn": "A1AB0SN0CP00043",
        "batteryLevel": 100,
        "isCharging": 0,
        "totalStorage": "0.00GB",
        "usedStorage": "0.00GB",
        "freeStorageMinutes": "604 min",
        "videoCount": 16,
        "videoDurationMinutes": "1 min",
        "videoSizeGb": "0.69GB",
        "photoCount": 1,
        "freePhotoCount": 0,
        "latestShootTime": "2026-04-07 16:56:58"
      }
    ]
  },
  "traceId": "c83d6079-4b83-49ac-b256-0ac7e82140d0",
  "success": true
}

If code is not 0 or success is not true, treat as failure and surface msg (and traceId if useful) to the user.

Error handling

  • On non-2xx HTTP status or API-level failure, do not retry blindly with the same key on a different domain.
  • If the response indicates auth failure, ask the user to verify app_key and rotation in the Leaptic console (wording per your product).
安全使用建议
This skill appears coherent and only needs your Leaptic App‑Key and the region-specific snapshot URL (via env or ~/.config/leaptic/credentials.json). If you install it: (1) only provide the App‑Key obtained from the official Leaptic app, (2) prefer setting LEAPTIC_APP_KEY in your session or a protected OS secret store rather than leaving a plaintext file, or at minimum set credentials.json to 600 permissions, (3) don't paste the key into third-party tools, and (4) if you are uncomfortable providing the key, decline or supply a rotated/limited key. Because the skill is instruction-only it will not install code on disk, but it will read the declared credentials path or env variables when present.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
Name/description describe a device snapshot API. Declared primary credential (LEAPTIC_APP_KEY), optional LEAPTIC_BASE_URL and the recommended credentials file (~/.config/leaptic/credentials.json) are directly relevant to calling that API. No unrelated binaries or credentials are requested.
Instruction Scope
SKILL.md instructs the agent to resolve credentials from env or the specified credentials.json, to ask the user if missing, to choose the correct region/base_url, and to call the documented snapshot endpoint with an App-Key header. It does not instruct the agent to read unrelated files, exfiltrate data to third parties, or run arbitrary local commands.
Install Mechanism
No install spec and no code files — the skill is instruction-only, so nothing is downloaded or written by an install step.
Credentials
The skill requires a single API key and an optional base URL — proportionate for the stated API access. It documents the credentials file path and env vars it will use; that file is plaintext (noted) and the guidance to restrict permissions is appropriate.
Persistence & Privilege
always:false (default) and model invocation is allowed (normal). The skill does not request permanent platform-wide privileges or changes to other skills' configs.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install leaptic
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /leaptic 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Improved device snapshot response documentation to align with backend `SkillDeviceSnapshotVO` contract. - Documented new `freePhotoCount` field in each device record. - Provided more precise data types and field descriptions for device and response payloads. - Clarified success and error handling logic for API responses.
v1.0.0
Initial release of the Leaptic skill for device snapshot and status access. - Provides read-only access to Leaptic device status via HTTP API, including battery, charging state, storage, and media counts. - Requires secure handling of a per-region App-Key and correct API endpoint selection based on user’s region (CN/EU/US). - Supports credential resolution from file or environment variables, prompting the user if information is missing. - Includes guidance for protecting App-Key security and recommends safest storage practices. - Returns detailed device snapshots with human-readable fields in response.
元数据
Slug leaptic
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Leaptic 是什么?

Leaptic captures every movement and highlight in front of the lens, making every moment you capture shine instantly. OpenClaw skill for Leaptic device snapsh... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 136 次。

如何安装 Leaptic?

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

Leaptic 是免费的吗?

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

Leaptic 支持哪些平台?

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

谁开发了 Leaptic?

由 leaptic-tech(@leaptic-tech)开发并维护,当前版本 v1.0.1。

💬 留言讨论