← 返回 Skills 市场
boxjod

box2robot-skills

作者 Boxjod · GitHub ↗ · v1.0.7 · MIT-0
cross-platform ✓ 安全检测通过
110
总下载
1
收藏
0
当前安装
8
版本数
在 OpenClaw 中安装
/install box2robot-skills
功能描述
Control Box2Robot robotic arms via cloud API — move servos, record trajectories, calibrate, camera, voice, and orchestrate AI training/inference.
使用说明 (SKILL.md)

Box2Robot — Robotic Arm Control Skill

Control ESP32-based robotic arms through a cloud server API. Move servos, record trajectories, calibrate, capture images, voice interaction, and orchestrate AI training/inference — all from a single CLI.

Official skill published by the Box2Robot team (https://robot.box2ai.com).

Safety & Supervision

This skill controls physical robotic hardware and camera/microphone peripherals.

  • Human supervision required: Do NOT run autonomously without operator oversight. Servo torque and motion commands cause physical movement that could injure people or damage objects.
  • Destructive operations (device.factory_reset, device.wifi_clear, calibrate.center_offset) require explicit user confirmation before execution.
  • Privacy-sensitive operations (camera.snapshot, camera.voice_start, camera.record_audio_start) access camera and microphone — only invoke with user consent.
  • No OS shell access: The exec command routes named Actions through the HTTP API (e.g., exec servo.move). The shell command is an interactive REPL that dispatches CLI subcommands — neither executes arbitrary OS commands. All operations are HTTP requests to B2R_SERVER.
  • Token sensitivity: ~/.b2r_token stores a JWT that grants device control. Treat it like an SSH key. Delete it when no longer needed.

Credential Flow

login → POST /api/auth/login → JWT token
  → saved to ~/.b2r_token (mode 0600, owner-only)
  → all subsequent commands use this token automatically
  → override with B2R_TOKEN env var
  → delete ~/.b2r_token to revoke

All network calls go exclusively to B2R_SERVER (default: https://robot.box2ai.com). No other endpoints are contacted.

Setup

# Install dependency
pip install aiohttp

# Login (one-time, token cached to ~/.b2r_token)
python b2r.py login \x3Cusername> \x3Cpassword>

# Or set environment variables
export B2R_SERVER="https://robot.box2ai.com"
export B2R_TOKEN="\x3Cjwt_token>"
export B2R_DEVICE="B2R-XXXXXXXXXXXX"

CLI Quick Reference

Device & Status

b2r.py devices                     # List devices (* = online)
b2r.py status                      # Servo positions, load, temperature

Servo Control

b2r.py torque on                   # Lock servos
b2r.py torque off                  # Release (allows manual dragging)
b2r.py home                        # Safe return to home position
b2r.py move \x3Cservo_id> \x3Cpos> [spd] # Move a single servo
# Position: 0-4095 (center 2048), Speed: 0-4000 (default 1000)

Recording & Playback

b2r.py record start                # Start recording
b2r.py record stop [name]          # Stop and save
b2r.py play                        # List all trajectories
b2r.py play \x3Ctraj_id>              # Play a trajectory

Camera & Data

b2r.py snapshot                    # Camera snapshot
b2r.py frame [cam_id] [output.jpg] # Download latest camera frame (JPEG)
b2r.py calibrate [servo_id]        # Auto-calibrate (0 = all)
b2r.py download \x3Ctraj_id> [dir]    # Download trajectory images (HTTP GET only)

Action System (79 Actions)

Invoke via b2r.py exec \x3Caction_name>. Parameters in JSON or key=value format.

device (Device Management)

Action Description
device.list List devices
device.status Device status (control mode + servos)
device.bind Bind device (requires bind_code)
device.unbind Unbind device
device.rename Rename device
device.factory_reset [DESTRUCTIVE] Factory reset — requires user confirmation

servo (Servo Control)

Action Parameters Description
servo.status device_id Read position/load/temperature
servo.move device_id, servo_id, position, [speed] Move single servo
servo.move_batch device_id, commands:[{id,position,speed}] Batch move
servo.torque device_id, enable:bool Toggle torque
servo.go_home device_id Return to home position
servo.set_id device_id, old_id, new_id Burn servo ID

recording (Recording & Playback)

Action Parameters Description
record.start device_id, [mode], [camera_id] Start recording (single/dual/phone)
record.stop device_id, [name] Stop recording
trajectory.list device_id List trajectories
trajectory.play device_id, trajectory_id Play trajectory
trajectory.stop device_id, trajectory_id Stop playback
trajectory.delete device_id, trajectory_id Delete trajectory

pairing (Leader-Follower)

Action Parameters Description
pairing.create leader_id, follower_ids, [use_espnow] Create pairing
pairing.disconnect leader_id Disconnect
pairing.connect leader_id Reconnect
pairing.delete leader_id Delete pairing
espnow.discover Scan nearby devices

calibration

Action Parameters Description
calibrate.auto device_id, [servo_id=0] Auto-calibrate (0 = all)
calibrate.manual device_id, servos:[{id,min,max,mid}] Manual calibration
calibrate.center_offset device_id Write EEPROM center offset

camera (Camera & Voice)

Privacy note: Snapshot and voice commands access camera/microphone hardware. Only invoke with user consent.

Action Parameters Description
camera.snapshot device_id [PRIVACY] Take photo
camera.stream_mode device_id, mode Stream mode (idle/preview/inference)
camera.voice_start device_id [PRIVACY] Enable microphone
camera.voice_stop device_id Disable microphone
camera.tts device_id, prompt Text-to-speech

training (Training & Inference)

Action Parameters Description
training.submit name, dataset_ids, [model_type] Submit training job
training.list [page] Job list
training.deploy job_id, arm_device_id, gpu_device_id Deploy inference
training.stop_inference job_id Stop inference

store (Skill Store)

Action Parameters Description
store.list [search], [category] Browse store
store.execute task_id, device_id Execute skill

config (Configuration)

Action Parameters Description
config.get device_id View config
config.set device_id, params:{key:val} Update config
config.speed device_id, speed(100-4000) Set speed
config.volume device_id, volume(0-255) Volume

Natural Language

Via b2r.py say "text":

Input Maps to
"go home" / "回零位" servo.go_home
"release torque" / "释放力矩" servo.torque(False)
"start recording" / "开始录制" record.start
"take a photo" / "拍照" camera.snapshot
"auto calibrate" / "自动校准" calibrate.auto
"move servo 1 to 2048" servo.move(1, 2048)

Preflight Checks

Agents must verify before executing:

Step Check On Failure
1 Device online "Device offline — check power"
2 Device type = arm "Not a robotic arm"
3 Control mode = idle release_control first
4 Calibration exists calibrate.auto first
5 Servo count matches Trajectory vs device axis count

Orchestration Examples

"Teach you to pour water, record 5 demos"

1. torque off
2. camera.stream_mode(cam_id, "preview")
3. Loop 5x:
   record.start(mode="single", camera_id)
   [user demonstrates]
   record.stop(name="pour_water_{n}")
4. training.submit(name="pour_water", dataset_ids)

Visual Inference Loop

1. training.deploy(job_id, arm_id, gpu_id, cam_id)
2. GPU auto-loop: image → inference → command → arm
3. training.stop_inference(job_id)

HTTP API Direct Access

# Login
curl -X POST https://robot.box2ai.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"xxx","password":"xxx"}'

# Move servo
curl -X POST https://robot.box2ai.com/api/device/B2R-xxx/command \
  -H "Authorization: Bearer \x3Ctoken>" \
  -H "Content-Type: application/json" \
  -d '{"id":1,"position":2048,"speed":1000}'

Environment Variables

Variable Description Default
B2R_SERVER Server URL https://robot.box2ai.com
B2R_TOKEN JWT token (overrides ~/.b2r_token)
B2R_DEVICE Default device ID
安全使用建议
This skill appears internally consistent with a cloud‑API robotic arm CLI: it needs a JWT (B2R_TOKEN), the server URL, and optionally a device ID, and it installs only aiohttp. Important operational cautions: (1) Treat the saved JWT (~/.b2r_token) like an SSH key — rotate and delete it if compromised. (2) Do not allow autonomous, unsupervised invocation of this skill (it can move servos and access camera/microphone); consider disabling autonomous use or only granting it in supervised contexts. (3) Only use a trusted B2R_SERVER — the env var can be changed to point the client at a different endpoint, which would let that endpoint accept commands or collect data. (4) Review the b2r.py file yourself before installing, and if possible prefer passing a short‑lived token via B2R_TOKEN rather than leaving a long‑lived token on disk. If you need higher assurance, ask the publisher for provenance (the package source is unknown) or run the code in a restricted environment first.
功能分析
Type: OpenClaw Skill Name: box2robot-skills Version: 1.0.7 The skill bundle provides a legitimate CLI tool and AI agent instructions for controlling Box2Robot robotic hardware via a cloud API (robot.box2ai.com). The Python script `b2r.py` handles authentication tokens securely by storing them in `~/.b2r_token` with restricted permissions (0600) and contains no evidence of data exfiltration, persistence, or unauthorized execution. While the documentation in `SKILL.md` and `SKILLS.md` mentions several advanced features (like an interactive shell and a conversational `chat.py`) that are not present in the provided code, these discrepancies appear to be due to an incomplete or simplified bundle rather than malicious intent. The instructions for the AI agent emphasize safety, human supervision, and privacy consent for camera/microphone operations.
能力标签
cryptocan-make-purchasesrequires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
Name/description, required env vars (B2R_TOKEN, B2R_SERVER, B2R_DEVICE), required binary (python3), install dependency (aiohttp), and the included Python CLI (b2r.py) all align with a cloud‑API robotic control CLI.
Instruction Scope
SKILL.md and the CLI source instruct only HTTP calls to the configured server and local token file; the README and SKILL.md clearly document device control, camera/microphone access, and destructive operations and warn about human supervision. The runtime instructions do not request unrelated system files or credentials.
Install Mechanism
The install spec only requires the aiohttp Python package (uv entry), which is proportionate for an async HTTP CLI. No arbitrary URL downloads or archive extraction are used.
Credentials
Only B2R_TOKEN, B2R_SERVER, and B2R_DEVICE are required; the primary credential is B2R_TOKEN (a JWT) which is appropriate for a cloud API client. Token persistence is local (~/.b2r_token) with owner‑only file permissions as documented. Note: B2R_SERVER is overridable via env, so a user could accidentally point the CLI at an untrusted server.
Persistence & Privilege
always:false (good). However, model invocation is not disabled (disable-model-invocation=false), so an agent could call this skill autonomously. Because the skill moves hardware and accesses camera/microphone, operators should avoid enabling autonomous runs without strict supervision or policy controls.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install box2robot-skills
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /box2robot-skills 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.7
Box2Robot skill v1.0.7 — changelog - Updated SKILL.md with new formatting and metadata, including YAML front matter and OpenCLAW requirements. - Expanded and reorganized documentation for improved clarity on safety, credential management, and privacy-sensitive operations. - Streamlined action descriptions and grouped commands more clearly by functionality. - Added warnings for destructive and privacy-sensitive commands to highlight the need for explicit user confirmation and consent. - Enhanced setup and usage instructions for easier configuration and onboarding.
v1.0.6
Version 1.0.6 - No file or documentation changes detected. - No feature updates, fixes, or content modifications in this release.
v1.0.5
Version 1.0.5 - No code or documentation changes detected in this release. - The SKILL.md reference manual remains unchanged from the previous version.
v1.0.4
**Changelog for box2robot-skills 1.0.4** - Added .clawhubignore for repo/file exclusion. - Replaced previous skill manual with new SKILL.md, adopting OpenClaw/AI agent metadata format. - SKILL.md is now more structured: includes YAML metadata, install instructions, and clear API/CLI/natural language mapping. - Manual content is streamlined, emphasizing setup, environment variables, common actions, and orchestration rationale. - No core application/API changes—documentation and repo structure update only.
v1.0.3
No file or documentation changes detected in this release. - No updates, bugfixes, or content edits in version 1.0.3. - Documentation and files remain identical to previous version.
v1.0.2
Version 1.0.2 - Added pyproject.toml to the project. - No changes to core skill content or logic.
v1.0.1
Declare environment variables and credentials for ~/.b2r_token,and change language to english
v1.0.0
Box2Robot Skills 1.0.0 - Initial release providing a complete reference for Box2Robot control and orchestration via CLI and HTTP API. - Covers device authentication, command line usage, action definitions (79 actions), and typical scene workflows. - Maps natural language instructions to underlying commands for LLM agents. - Includes comprehensive pre-check rules for action execution and error handling. - Outlines available LLM/API tools for chat-based robotic control. - Provides HTTP API example usage and endpoints for programmatic access.
元数据
Slug box2robot-skills
版本 1.0.7
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 8
常见问题

box2robot-skills 是什么?

Control Box2Robot robotic arms via cloud API — move servos, record trajectories, calibrate, camera, voice, and orchestrate AI training/inference. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 110 次。

如何安装 box2robot-skills?

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

box2robot-skills 是免费的吗?

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

box2robot-skills 支持哪些平台?

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

谁开发了 box2robot-skills?

由 Boxjod(@boxjod)开发并维护,当前版本 v1.0.7。

💬 留言讨论