Awesome-openclaw-skills bambu-cli
Operate and troubleshoot BambuLab printers with the bambu-cli (status/watch, print start/pause/resume/stop, files, camera, gcode, AMS, calibration, motion, fans, light, config, doctor). Use when a user asks to control or monitor a BambuLab printer, set up profiles or access codes, or translate a task into safe bambu-cli commands with correct flags, output format, and confirmations.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bambu-cli" ~/.claude/skills/sundial-org-awesome-openclaw-skills-bambu-cli && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bambu-cli" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-bambu-cli && rm -rf "$T"
manifest:
skills/bambu-cli/SKILL.mdsource content
Bambu CLI
Overview
Use bambu-cli to configure, monitor, and control BambuLab printers over MQTT/FTPS/camera, producing exact commands and safe defaults.
Defaults and safety
- Confirm the target printer (profile or IP/serial) and resolve precedence: flags > env > project config > user config.
- Avoid access codes in flags; use
or--access-code-file
only.--access-code-stdin - Require confirmation for destructive actions (stop print, delete files, gcode send, calibrate, reboot); use
/--force
only when the user explicitly agrees.--confirm - Offer
when supported to preview actions.--dry-run - Choose output format: human by default,
for structured output,--json
for key=value output.--plain
Quick start
- Configure a profile:
bambu-cli config set --printer <name> --ip <ip> --serial <serial> --access-code-file <path> --default - Status:
bambu-cli status - Watch:
bambu-cli watch --interval 5 - Start print:
bambu-cli print start <file.3mf|file.gcode> --plate 1 - Pause/resume/stop:
bambu-cli print pause|resume|stop - Camera snapshot:
bambu-cli camera snapshot --out snapshot.jpg
Task guidance
Setup & config
- Use
to manage profiles.config set/list/get/remove - Use env vars to avoid flags in scripts:
,BAMBU_PROFILE
,BAMBU_IP
,BAMBU_SERIAL
,BAMBU_ACCESS_CODE_FILE
,BAMBU_TIMEOUT
,BAMBU_NO_CAMERA
,BAMBU_MQTT_PORT
,BAMBU_FTP_PORT
.BAMBU_CAMERA_PORT - Note config locations: user
, project~/.config/bambu/config.json
../.bambu.json
Monitoring
- Use
for a one-off snapshot; usestatus
for periodic updates (watch
,--interval
).--refresh - Use
/--json
for scripting.--plain
Printing
- Use
withprint start <file>
or.3mf
..gcode - Use
to select a plate number or gcode path inside a 3mf.--plate <n|path> - Use
only when the file already exists on the printer; do not use it with--no-upload
input..gcode - Control AMS:
,--no-ams
,--ams-mapping "0,1"
.--skip-objects "1,3" - Disable flow calibration with
if requested.--flow-calibration=false
Files and camera
- Use
,files list [--dir <path>]
.files upload <local> [--as <remote>] - Use
; usefiles download <remote> --out <path|->
to allow writing binary data to a TTY.--force - Use
only with confirmation.files delete <remote> - Use
; usecamera snapshot --out <path|->
to allow stdout to a TTY.--force
Motion, temps, fans, light
- Use
,home
.move z --height <0-256> - Use
(temps get|set
,--bed
,--nozzle
; require at least one).--chamber - Use
withfans set
values--part/--aux/--chamber
or0-255
.0-1 - Use
.light on|off|status
Gcode and calibration
- Use
orgcode send <line...>
(confirmation required;gcode send --stdin
skips validation).--no-check - Avoid combining
with--access-code-stdin
; use an access code file instead.gcode send --stdin - Use
withcalibrate
,--no-bed-level
,--no-motor-noise
when requested.--no-vibration
Troubleshooting
- Use
to check TCP connectivity to MQTT/FTPS/camera ports; suggestdoctor
if the camera port is unreachable.--no-camera - Assume default ports: MQTT 8883, FTPS 990, camera 6000 unless configured.
Reference
Read
references/commands.md for the full command and flag reference.