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 | 简体中文
- What It Does
- Use Cases
- Supported Devices
- Why Use It
- Installation
- Environment Variables
- Quick Start
- Commands
- Safety
- Development
- Star History
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.
- 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.
- Agent-ready: packaged as a portable
SKILL.mdbundle 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 codexor a custom skill directory.
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-nameHMI_DEVICE_MACHMI_DEVICE_IDHMI_DEVICE_NAME
Install into Codex:
npx Seeed-Solution/reterminal_skill install --target codexInstall into a Cursor-style project skill directory:
npx Seeed-Solution/reterminal_skill install --target cursorInstall into OpenClaw:
npx Seeed-Solution/reterminal_skill install --target openclawInstall into Hermas:
npx Seeed-Solution/reterminal_skill install --target hermasInstall into a custom skill root:
npx Seeed-Solution/reterminal_skill install --target-dir /custom/skillsUse --force to overwrite an existing installation:
npx Seeed-Solution/reterminal_skill install --target codex --forceRequired:
| 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.
After installing the skill, agents can use:
node scripts/reterminal-skill.mjs list-devicesSend 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.pngSet the refresh interval to 1 minute:
node scripts/reterminal-skill.mjs set-refresh-interval --minutes 1The script sends refresh_interval: 60 because the current HMI downlink API stores and sends the refresh interval in seconds.
| 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 |
- 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.
Run tests:
npm testDry-run package contents:
npm pack --dry-runLocal 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 --forceMIT.