Skip to content

Seeed-Solution/reterminal_skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reTerminal E Series AI Agent Skill for SenseCraft HMI

GitHub Node.js Device License

reterminal-skill is an AI agent skill installer for Seeed reTerminal E Series devices and SenseCraft HMI. It lets Codex, Cursor-style agents, OpenClaw, Hermas, and other local agents automate ePaper display workflows: upload screenshots or images, create HMI pages and playlists, send content to reTerminal E devices, and control refresh intervals through the SenseCraft HMI API.

English | 简体中文

Table of Contents

What It Does

This package installs a reTerminal AI agent skill into supported local agent skill directories. The installed skill helps agents:

  • Query the user-bound reTerminal E device list.
  • Upload an image or file to SenseCraft HMI OSS.
  • Create an image page.
  • Create a playlist and attach pages.
  • Send a playlist to a device.
  • Set the device refresh interval, for example --minutes 1.
  • Delete pages or playlists by explicit numeric ID.

The installer only copies local skill files. It does not request, create, store, or print API keys.

Use Cases

  • Build an AI-controlled ePaper dashboard for reTerminal E Series.
  • Send a local screenshot to a reTerminal E display from an agent workflow.
  • Automate SenseCraft HMI playlist creation for IoT display demos.
  • Refresh field device content on a schedule with set-refresh-interval.
  • Give Codex, Cursor-style agents, OpenClaw, or Hermas a safe tool for HMI page and playlist operations.

Why Use It

  • Agent-ready: packaged as a portable SKILL.md bundle with scripts and API references.
  • reTerminal E focused: tuned for image pages, playlists, refresh intervals, and SenseCraft HMI workflows.
  • Useful for IoT displays: works well for ePaper dashboards, signage, status panels, and demo devices.
  • Safe by default: destructive commands require explicit numeric IDs and never fuzzy-match names.
  • Fast setup: install directly from GitHub with npx Seeed-Solution/reterminal_skill install --target codex or a custom skill directory.

Supported Devices

This skill is designed for Seeed reTerminal E Series devices connected to SenseCraft HMI.

If your API key has exactly one bound device, the skill can resolve the target MAC address automatically. If multiple devices are bound, pass one of:

  • --mac-address
  • --device-id
  • --device-name
  • HMI_DEVICE_MAC
  • HMI_DEVICE_ID
  • HMI_DEVICE_NAME

Installation

Install into Codex:

npx Seeed-Solution/reterminal_skill install --target codex

Install into a Cursor-style project skill directory:

npx Seeed-Solution/reterminal_skill install --target cursor

Install into OpenClaw:

npx Seeed-Solution/reterminal_skill install --target openclaw

Install into Hermas:

npx Seeed-Solution/reterminal_skill install --target hermas

Install into a custom skill root:

npx Seeed-Solution/reterminal_skill install --target-dir /custom/skills

Use --force to overwrite an existing installation:

npx Seeed-Solution/reterminal_skill install --target codex --force

Environment Variables

Required:

Name Description Example
HMI_API_BASE SenseCraft HMI API base URL https://sensecraft-hmi-api.seeed.cc
HMI_API_KEY API key sent as the api-key HTTP header sk_...

Optional device defaults:

Name Description
HMI_DEVICE_MAC Default target device MAC address
HMI_DEVICE_ID Default target device ID resolved through GET /api/v2/user/device/list
HMI_DEVICE_NAME Default exact device name resolved through GET /api/v2/user/device/list

Do not commit API keys to git.

Quick Start

After installing the skill, agents can use:

node scripts/reterminal-skill.mjs list-devices

Send an image file to your reTerminal E device:

node scripts/reterminal-skill.mjs create-upload-send \
  --name current-screen \
  --page-name current-screen \
  --file ./screen.png

Set the refresh interval to 1 minute:

node scripts/reterminal-skill.mjs set-refresh-interval --minutes 1

The script sends refresh_interval: 60 because the current HMI downlink API stores and sends the refresh interval in seconds.

Commands

Command Purpose
list-devices List devices bound to the API key user
create-playlist --name NAME Create a playlist
upload-image-base64 --image-base64 BASE64 Upload an image from base64
upload-file --file PATH Upload a local file
create-image-page --name NAME --image-url URL Create an image page from an uploaded image URL
upsert-pages --playlist-id ID --page-id ID Attach or reorder pages in a playlist
send-playlist --playlist-id ID Downlink a playlist to the target device
set-refresh-interval --minutes N Set refresh interval in minutes
set-refresh-interval --seconds N Set refresh interval in seconds
delete-playlist --playlist-id ID Delete a playlist by explicit ID
delete-page --page-id ID Delete a page by explicit ID
create-upload-send --name NAME --file PATH Create playlist, upload file, create page, attach page, and send

Safety

  • Delete operations require explicit numeric IDs.
  • The skill never deletes by fuzzy name matching.
  • If multiple devices are found, the skill asks for an exact selector instead of guessing.
  • API key management is intentionally outside this skill because API key creation/list/revocation requires JWT.

Development

Run tests:

npm test

Dry-run package contents:

npm pack --dry-run

Local installer smoke tests:

node bin/reterminal-skill.mjs install --target codex --dry-run
node bin/reterminal-skill.mjs install --target-dir /tmp/hmi-skill-test --force

License

MIT.

Star History

Star History Chart

About

AI agent skill for Seeed reTerminal E Series, SenseCraft HMI playlists, ePaper dashboards, and IoT display automation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors