mcpField
K
klipper-manager

klipper-manager

github.com/santiagomonetaその他646 回インストール32 週間前に更新
リポジトリ

klipper-manager について

klipper-manager は、Moonraker API 経由で Klipper 3D プリンターを管理するスキルです。設定、診断、キャリブレーション、状態監視を行うユーザー向けに、プリンター設定を踏まえた操作と、プローブオフセットや可動範囲、校正データの確認を案内します。

主な機能

  1. 01プリンター設定ファイルの読み取りと編集
  2. 02設定範囲やキャリブレーション問題の診断
  3. 03温度・位置・印刷状態の監視
  4. 04キャリブレーション手順の実行とGCode送信
  5. 05Moonraker 経由で設定をアップロードしてファームウェアを再起動

活用シーン

  1. 01プリンター設定のエラーや警告を調べる
  2. 02プローブ、ベッドメッシュ、PID を校正する
  3. 03印刷状態を確認してプリンターコマンドを送る

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/santiagomoneta/3d-printing-skills --skill klipper-manager

インストール後、Claude Code で/klipper-managerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
config_sections.md
gcodes.md
moonraker_api.md
troubleshooting.md
scripts/
diagnose.sh
fetch_config.sh
query_status.sh
send_gcode.sh
upload_config.sh

詳細

スキル:klipper-manager

Klipper Manager — AI 主導のプリンター設定と診断

Moonraker API を介してあらゆる Klipper プリンターを管理します。printer.cfg の読み取りと編集、診断の実行、キャリブレーション手順の実行、ライブステータスの監視、設定を十分に考慮した問題の修正を行います。


起動条件

ユーザーが次の操作を依頼した場合:

  • Klipper プリンターへの接続または管理
  • printer.cfg の設定の読み取り、変更、修正
  • Klipper のエラーや警告の診断
  • キャリブレーションの実行(ベッドメッシュ、プローブ、PID、共振、圧力アドバンス、軸のねじれ、ネジなど)
  • 温度、位置、印刷ステータスの監視
  • GCode コマンドの送信
  • ファームウェアまたは Klipper の再起動

必ず最初に state/printer_context.json を読み取ってください。存在する場合は、把握しているプリンターの概要をユーザーに伝えます。ファイルがない場合、またはユーザーから新しい IP が指定された場合は、フェーズ 1 を実行します。


フェーズ 1:プリンターの検出

ステップ 1 — Moonraker に接続

まだ分かっていない場合は、プリンターの IP を確認します。その後、接続を確認します。

curl -s "http://<IP>:7125/printer/info"

予想される応答には、state、hostname、software_version、config_file が含まれます。

state が "ready" でない場合は、その状態を報告し、続行する前にユーザーに解決を依頼します。

ステップ 2 — printer.cfg を取得
curl -s "http://<IP>:7125/server/files/config/printer.cfg"

また、[include ...] で参照されているファイルも取得します。

curl -s "http://<IP>:7125/server/files/config/<included_file>"

自動取得する一般的なインクルードファイル:mainsail.cfg、macros/*.cfg、KAMP/*.cfg。

ステップ 3 — 設定を解析して一覧化

取得した設定からすべてのセクションを解析します。以下の情報を抽出し、state/printer_context.json に保存します。

{
  "version": 1,
  "updated": "ISO-8601",
  "moonraker_url": "http://<IP>:7125",
  "klipper_version": "v0.13.x",
  "hostname": "mainsailos",
  "config_file": "/home/pi/printer_data/config/printer.cfg",

  "kinematics": "cartesian | corexy | corexz | delta | ...",
  "build_volume": {"x": 235, "y": 235, "z": 250},

  "steppers": {
    "stepper_x": {"position_max": 246, "position_min": 0, "rotation_distance": 40, "microsteps": 16},
    "stepper_y": {"position_max": 235, "position_min": 0},
    "stepper_z": {"position_max": 250, "position_min": -2}
  },

  "probe": {
    "type": "bltouch | probe | smart_effector | probe_eddy_current | none",
    "x_offset": -62,
    "y_offset": -12,
    "z_offset": 3.439
  },

  "bed_mesh": {
    "mesh_min": [60, 30],
    "mesh_max": [170, 220],
    "probe_count": [5, 5]
  },

  "axis_twist_compensation": {
    "calibrate_start_x": 20,
    "calibrate_end_x": 183,
    "calibrate_y": 117.5
  },

  "safe_z_home": {
    "home_xy_position": [108.5, 117.5]
  },

  "extruder": {
    "nozzle_diameter": 0.4,
    "rotation_distance": 7.687,
    "pressure_advance": null
  },

  "tmc_drivers": {
    "stepper_x": {"driver": "tmc2209", "run_current": 0.750, "stealthchop_threshold": 999999},
    "stepper_y": {"driver": "tmc2209", "run_current": 0.750, "stealthchop_threshold": 999999},
    "stepper_z": {"driver": "tmc2209", "run_current": 0.580, "stealthchop_threshold": 0},
    "extruder": {"driver": "tmc2209", "run_current": 0.580, "stealthchop_threshold": 0}
  },

  "input_shaper": {
    "x": {"type": "3hump_ei", "freq": 66.2},
    "y": {"type": "ei", "freq": 45.0}
  },

  "printer_limits": {
    "max_velocity": 300,
    "max_accel": 7000,
    "max_z_velocity": 15,
    "max_z_accel": 100
  },

  "installed_sections": [],
  "save_config_block": {},

  "known_issues": [],
  "last_diagnostic": null
}
ステップ 4 — 自動診断を実行

解析後、必ず完全な診断を実行し(フェーズ 3 を参照)、見つかった問題を報告します。

ステップ 5 — 概要を提示

次の表をユーザーに提示します。

Printer    : mainsailos (Klipper v0.13.x)
Kinematics : Cartesian  |  Build: 246 × 235 × 250 mm
Probe      : BLTouch    |  x_offset: -62  y_offset: -12  z_offset: 3.439
Sections   : [printer] [extruder] [heater_bed] [bltouch] [bed_mesh] [axis_twist_compensation]
             [input_shaper] [firmware_retraction] [safe_z_home] [screws_tilt_adjust] ...
Issues     : (list any found by diagnostic, or "None detected")

フェーズ 2:設定の管理

設定の読み取り

設定を読み取るには、解析済みの printer_context.json を確認するか、ファイルを再取得します。

curl -s "http://<IP>:7125/server/files/config/printer.cfg"
設定の編集

設定を変更するたびに、次のワークフローに従います。

  1. 現在のファイルを取得します(古いコピーは絶対に編集しないでください)。
  2. 対象箇所を変更します。
  3. 変更を検証します(フェーズ 3 の検証ルールを参照)。
  4. 一時ファイル C:/Users/<user>/Documents/printer_fix.cfg に保存します。
  5. Moonraker 経由でアップロードします。
    curl -s -X POST "http://<IP>:7125/server/files/upload" \
      -F "root=config" \
      -F "file=@C:/Users/<user>/Documents/printer_fix.cfg;filename=printer.cfg"
    
  6. 適用するため、ファームウェアを再起動します。
    curl -s -X POST "http://<IP>:7125/printer/firmware_restart"
    
  7. 5 秒待って、state: ready であることを確認します。
    curl -s "http://<IP>:7125/printer/info"
    
  8. state/printer_context.json を更新します。
  9. 一時ファイルを削除します。

重要:SAVE_CONFIG ブロックを手動で編集しないでください。 このブロックを変更できるのは、Klipper の SAVE_CONFIG コマンドだけです。変更した設定をアップロードするときは、古いキャリブレーションデータを明示的に削除する場合を除き、#*# <--- SAVE_CONFIG ---> ブロック全体をそのまま保持してください。

複数の設定ファイル

プリンターで [include] セクションを使っている場合は、すべての設定ファイルを一覧表示します。

curl -s "http://<IP>:7125/server/files/list?root=config"

適切なファイルを取得して編集します。対象のセクションがインクルードファイルにある場合、printer.cfg は変更しないでください。


フェーズ 3:診断と検証

自動診断チェックリスト

設定を読み込むたび、または変更を加えた後に、必ずこれを実行します。すべてのルールを確認してください。

1. プローブオフセットの範囲

プローブ座標を使うすべてのキャリブレーションセクションで、プローブオフセットを考慮したとき、ノズルが [position_min, position_max] の範囲内に収まる必要があります。

セクション座標パラメーターノズル位置の計算式
[axis_twist_compensation]calibrate_start_x、calibrate_end_x、calibrate_ynozzle_x = coord_x - probe.x_offset;nozzle_y = coord_y - probe.y_offset
[bed_mesh]mesh_min、mesh_maxnozzle_x = mesh_x - probe.x_offset;nozzle_y = mesh_y - probe.y_offset
[screws_tilt_adjust]screw1..N(x、y)nozzle_x = screw_x - probe.x_offset;nozzle_y = screw_y - probe.y_offset
[safe_z_home]home_xy_positionこれらはノズル座標そのものです(オフセットの減算は不要です)。
[delta_calibrate]radiusオフセットを考慮したうえで、プローブが中心から半径内に収まる必要があります。

軸ごとに検証します。

nozzle_x >= stepper_x.position_min  AND  nozzle_x <= stepper_x.position_max
nozzle_y >= stepper_y.position_min  AND  nozzle_y <= stepper_y.position_max

修正の計算式:

max_coord_x = stepper_x.position_max + probe.x_offset   (when x_offset is negative)
min_coord_x = stepper_x.position_min - probe.x_offset   (when x_offset is positive)
2. ベッドメッシュの範囲

mesh_min と mesh_max は、プローブが到達可能な範囲内に設定する必要があります。

mesh_min.x >= stepper_x.position_min - probe.x_offset
mesh_max.x <= stepper_x.position_max + probe.x_offset  (when x_offset < 0)
mesh_min.y >= stepper_y.position_min - probe.y_offset
mesh_max.y <= stepper_y.position_max + probe.y_offset  (when y_offset < 0)
3. 安全な Z ホーム位置

home_xy_position はノズルが到達可能な位置に設定する必要があります。

home_xy.x >= stepper_x.position_min AND home_xy.x <= stepper_x.position_max
home_xy.y >= stepper_y.position_min AND home_xy.y <= stepper_y.position_max

また、ホーム位置でプローブがベッド上にあり、端からはみ出していないことも確認してください。

4. SAVE_CONFIG とキャリブレーションの整合性

設定を変更した後、#*# SAVE_CONFIG に保存されているキャリブレーションデータが引き続き有効か確認してください。

  • axis_twist_compensation の範囲を変更した場合 → 古い z_compensations / compensation_start_x / compensation_end_x が古くなっている可能性があります → ユーザーに AXIS_TWIST_COMPENSATION_CALIBRATE の再実行を促す警告を表示します
  • bltouch.z_offset または probe.z_offset を手動で変更した場合 → PROBE_CALIBRATE を再実行するよう警告します
  • bed_mesh の範囲を変更した場合 → 既存のメッシュプロファイルが範囲外になっている可能性があります → BED_MESH_CALIBRATE の再実行を促す警告を表示します
5. TMC ドライバーに関する警告
  • 圧力アドバンスを使用するエクストルーダーで stealthchop_threshold: 999999 が設定されている場合 → 警告します(トルクが低下しますが、多くの場合は問題ありません)
  • hold_current が設定されている場合 → 警告します(振動の原因となることがあり、Klipper のドキュメントでは省略が推奨されています)
  • run_current がモーター定格電流の 0.85 倍を超える場合 → 警告します(熱的リスクがあります)
  • 高精度が求められる状況で interpolate: True が設定されている場合 → 位置偏差(16 マイクロステップで約 0.006mm)を知らせます
6. Input Shaper
  • shaper_type: 3hump_ei または 2hump_ei の場合 → 共振特性が複雑なため、ベルトの張力を確認するよう推奨します
  • [input_shaper] セクションがない場合 → SHAPER_CALIBRATE の実行を推奨します
  • シェーパーの周波数が 20Hz 未満の場合 → キャリブレーションが適切でないか、ツールヘッドが非常に重い可能性があります
7. Pressure Advance
  • [extruder] の pressure_advance が設定されていない(0 または未指定)場合 → キャリブレーションを推奨します
  • pressure_advance > 1.0 の場合 → 異常に高い値です。rotation_distance とエクストルーダーの種類を確認してください
8. Rotation Distance の妥当性

エクストルーダーの場合:

  • ダイレクトドライブ:rotation_distance は 4~10(BMG スタイルでは通常 7~8)
  • ボーデン式:rotation_distance は 20~40

モーション軸の場合:

  • GT2 ベルト、20 歯プーリー:rotation_distance = 40
  • GT2 ベルト、16 歯プーリー:rotation_distance = 32
  • T8 リードスクリュー(ピッチ 2mm、4条):rotation_distance = 8
  • T8 リードスクリュー(ピッチ 2mm、1条):rotation_distance = 2
9. PID 調整
  • control: watermark の場合 → 古い方式のため、PID キャリブレーションを推奨します
  • pid_Kp、pid_Ki、pid_Kd がない場合 → ヒーターに PID が設定されておらず、不安定になる可能性があります
10. 推奨セクションの不足

エラーではなく警告として示します:

  • [exclude_object] がない → オブジェクトのキャンセルが利用できません
  • [firmware_retraction] がない → 実行時のリトラクション調整が利用できません
  • [gcode_arcs] がない → 円弧のサポートが利用できません
  • [respond] がない → マクロのフィードバックが表示されない可能性があります
  • [pause_resume] がない → 印刷の一時停止/キャンセルが機能しない可能性があります

フェーズ 4:ライブステータスの監視

プリンターオブジェクトの照会

Klipper は Moonraker のオブジェクト API を介してライブ状態を公開します。

# Query everything
curl -s "http://<IP>:7125/printer/objects/query?toolhead&extruder&heater_bed&bed_mesh&probe&print_stats"

# Query specific fields
curl -s "http://<IP>:7125/printer/objects/query?toolhead=position,max_velocity,max_accel&extruder=temperature,target,pressure_advance"

主なオブジェクトとフィールド:

オブジェクト主なフィールド
toolheadposition、homed_axes、max_velocity、max_accel、stalls
extrudertemperature、target、pressure_advance、can_extrude
heater_bedtemperature、target、power
probe または bltouchlast_query、last_probe_position
bed_meshprofile_name、mesh_min、mesh_max、probed_matrix
print_statsstate、filename、total_duration、filament_used
idle_timeoutstate、printing_time
motion_reportlive_position、live_velocity
firmware_retractionretract_length、retract_speed
input_shaper(configfile から照会)
tmc2209 stepper_xrun_current、hold_current、drv_status、temperature
configfilesave_config_pending、settings.<section>.<key>
webhooksstate、state_message
system_statssysload、cputime、memavail
GCode の送信
curl -s -X POST "http://<IP>:7125/printer/gcode/script" \
  -H "Content-Type: application/json" \
  -d '{"script": "QUERY_ENDSTOPS"}'
エンドストップの照会
curl -s "http://<IP>:7125/printer/query_endstops/status"

フェーズ 5:キャリブレーション手順

Z オフセットのプローブ校正(PROBE_CALIBRATE)
  1. プリンターがホーム位置にあることを確認します:G28 を送信します
  2. 校正を開始します:PROBE_CALIBRATE
  3. ノズル位置での紙挟みテストをユーザーに案内します
  4. 確定します:TESTZ Z=-0.1(ステップ単位で調整します)
  5. 完了します:ACCEPT
  6. 保存します:SAVE_CONFIG(ファームウェアが自動的に再起動します)
ベッドメッシュの校正
  1. すべての軸をホーム位置に移動します:G28
  2. 任意:あらかじめベッドを印刷温度まで加熱します
  3. 実行します:BED_MESH_CALIBRATE
  4. プロファイルを保存します:BED_MESH_PROFILE SAVE=default
  5. 設定に保存します:SAVE_CONFIG
軸ツイスト補正

実行する前に、必ず calibrate_end_x を検証してください:

max_safe_end_x = stepper_x.position_max + probe.x_offset

calibrate_end_x > max_safe_end_x の場合は、まず修正してください(Phase 2 の編集ワークフローを参照)。

次に:

  1. ホーム位置に移動します:G28
  2. 実行します:AXIS_TWIST_COMPENSATION_CALIBRATE
  3. 各プローブ測定点での紙挟みテストの指示に従います
  4. 保存します:SAVE_CONFIG
PID 調整

ホットエンド:

PID_CALIBRATE HEATER=extruder TARGET=200
SAVE_CONFIG

ベッド:

PID_CALIBRATE HEATER=heater_bed TARGET=60
SAVE_CONFIG
圧力先行(Pressure Advance)

方法 1 — チューニングタワー(手動):

SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005

チューニングタワーのモデルを印刷します。最適な層を測定します。次の式で計算します: PA = START + FACTOR × best_layer_height_mm

方法 2 — 値がわかった後に直接設定:

SET_PRESSURE_ADVANCE ADVANCE=0.04

次に、設定の [extruder] に追加して、SAVE_CONFIG を実行します。

共振/入力シェーパーの校正
  1. [adxl345] またはその他の加速度センサーが設定されていることを確認します
  2. ホーム位置に移動します:G28
  3. 加速度センサーをテストします:ACCELEROMETER_QUERY
  4. ノイズの基準値を測定します:MEASURE_AXES_NOISE
  5. X 軸を校正します:SHAPER_CALIBRATE AXIS=X
  6. Y 軸を校正します:SHAPER_CALIBRATE AXIS=Y
  7. 結果を確認し、推奨されたシェーパーを適用します
  8. SAVE_CONFIG
ネジの傾き調整
  1. ホーム位置に移動します:G28
  2. 実行します:SCREWS_TILT_CALCULATE
  3. 出力を確認します。各ネジについて、回転方向(CW/CCW)と量(HH:MM)が表示されます
  4. すべてのネジの偏差が 0:05 未満になるまで再実行します
TMC ドライバーの診断

ドライバーの状態を出力します:

DUMP_TMC STEPPER=stepper_x
DUMP_TMC STEPPER=stepper_y
DUMP_TMC STEPPER=stepper_z
DUMP_TMC STEPPER=extruder

実行時に電流を調整します(テスト専用 — 設定に追加すると保持されます):

SET_TMC_CURRENT STEPPER=stepper_x CURRENT=0.8 HOLDCURRENT=0.5

Phase 6:トラブルシューティング

エラー → 原因 → 修正のデータベース全体については、references/troubleshooting.md を使用してください。

ユーザーが貼り付けたエラーメッセージに対するワークフロー:

  1. エラーパターン(エラーの種類と、存在する場合は座標/値)を抽出します
  2. トラブルシューティングのリファレンスで、既知のパターンと照合します
  3. printer_context.json から関連する設定セクションを取得します
  4. 検証式を使って、具体的な修正値を計算します
  5. 変更する正確な行を示して、診断結果を提示します
  6. 修正を自動適用するか確認します(Phase 2 の編集ワークフロー)

よくあるエラーパターン(クイックリファレンス):

エラー原因修正
Move out of range: X Y Z [step]ノズルが軸の限界を超える可能性があります。校正座標でプローブオフセットが考慮されていないことがよくありますabs(probe.x_offset) 分だけ calibrate_end_x/mesh_max を減らします
Must home axis first移動コマンドの前に軸がホーム位置に移動されていませんG28 を実行します
Endstop stepper_x still triggeredエンドストップが作動したまま、または配線に問題がありますQUERY_ENDSTOPS を確認し、エンドストップのピン極性を確認します
Unable to read tmc uart ... IFCNTTMC の UART 通信に失敗していますモーターの電源と UART 配線を確認し、電源を入れ直します
TMC reports error: ... OvertempErrorTMC ドライバーの温度が高すぎますrun_current を下げ、冷却を改善します
TMC reports error: ShortToGNDモーターの配線がショートしていますモーターの配線を確認します
TMC reports error: UndervoltagePSU の電圧が低下していますPSU と配線の接続を確認します
Heater extruder not heating at expected ratePID 調整が必要、またはヒーター/センサーに問題がありますPID_CALIBRATE HEATER=extruder TARGET=200 を実行します
Probe triggered prior to movementBLTouch の状態が正しくない、または z_offset が高すぎますBLTOUCH_DEBUG COMMAND=reset を実行してから、再度ホーム位置に移動します
Timeout on connectMoonraker が実行されていない、または IP が間違っていますプリンターの IP と、Moonraker が実行中であることを確認します
Lost communication with MCUUSB が切断されたか、ファームウェアがクラッシュしましたFIRMWARE_RESTART を実行し、USB ケーブルを確認します

Phase 7:設定セクションのリファレンス

パラメーターの完全なリファレンスについては、references/config_sections.md を使用してください。

主なセクションと、最もよく調整するパラメーター:

[printer]
kinematics: cartesian          # cartesian|corexy|corexz|delta|deltesian|polar
max_velocity: 300              # mm/s — runtime tunable via SET_VELOCITY_LIMIT
max_accel: 7000                # mm/s² — runtime tunable
max_z_velocity: 15             # mm/s (cartesian only)
max_z_accel: 100               # mm/s² (cartesian only)
minimum_cruise_ratio: 0.5      # 0.0–1.0, reduces top speed of short moves
square_corner_velocity: 5.0    # mm/s, higher = less deceleration at corners
[stepper_x/y/z]
rotation_distance: 40          # mm per full motor rotation
microsteps: 16                 # 8|16|32|64|128
position_min: 0                # soft limit minimum
position_max: 246              # soft limit maximum — CRITICAL for range checks
position_endstop: 0            # endstop position (must match position_min or position_max)
homing_speed: 80               # mm/s
[extruder]
rotation_distance: 7.687       # mm per motor rotation (direct drive ~7-8, bowden ~20-40)
nozzle_diameter: 0.400
pressure_advance: 0.04         # 0 = disabled; typical range 0.02–0.12 for direct
pressure_advance_smooth_time: 0.04
max_extrude_cross_section: 5   # max mm² cross section (4 × nozzle_diameter² is safe default)
[bltouch] / [probe]
x_offset: -62                  # probe X position relative to nozzle (negative = left of nozzle)
y_offset: -12                  # probe Y position relative to nozzle (negative = in front)
# z_offset: stored in SAVE_CONFIG block
samples: 3                     # number of probe samples
samples_result: median         # average|median
sample_retract_dist: 5.0
samples_tolerance: 0.01        # max deviation between samples (mm)
samples_tolerance_retries: 3
[bed_mesh]
mesh_min: 60, 30               # PROBE coordinates (not nozzle!)
mesh_max: 170, 220             # PROBE coordinates
probe_count: 5, 5              # grid points per axis
algorithm: bicubic             # lagrange (≤3×3) | bicubic (≥4×4 recommended)
fade_start: 1                  # mm height to start fading mesh correction
fade_end: 10                   # mm height where mesh correction reaches zero (0=disabled)
[axis_twist_compensation]
calibrate_start_x: 20         # PROBE X coordinate — nozzle = start_x - x_offset
calibrate_end_x: 183          # PROBE X coordinate — nozzle = end_x - x_offset
calibrate_y: 117.5            # PROBE Y coordinate — nozzle = calibrate_y - y_offset
# Rule: nozzle must be within [position_min, position_max]
# Formula: calibrate_end_x <= position_max + x_offset  (when x_offset < 0)
[safe_z_home]
home_xy_position: 108.5, 117.5  # NOZZLE position for Z homing (not probe!)
speed: 120
z_hop: 10
z_hop_speed: 5
[tmc2209 stepper_x]
run_current: 0.750             # Amps RMS — start at 70% rated current
hold_current: 0.500            # Optional — Klipper docs recommend omitting
stealthchop_threshold: 999999  # 999999=always stealthChop; 0=always spreadCycle
interpolate: True              # micro-step interpolation (small positional error)
driver_SGTHRS: 255             # stallGuard threshold for sensorless homing (if used)
[input_shaper]
shaper_type_x: 3hump_ei        # mzv|ei|2hump_ei|3hump_ei|zv|zvd
shaper_freq_x: 66.2            # Hz — from SHAPER_CALIBRATE
shaper_type_y: ei
shaper_freq_y: 45.0
[firmware_retraction]
retract_length: 0.5            # mm — direct drive: 0.4–1.0; bowden: 4–7
retract_speed: 60              # mm/s
unretract_extra_length: 0
unretract_speed: 60

Moonraker API クイックリファレンス

ベース URL:http://<IP>:7125

メソッドエンドポイント用途
GET/printer/infoKlipper の状態、バージョン、ホスト名
GET/server/files/config/printer.cfgprinter.cfg を読み取る
GET/server/files/list?root=configすべての設定ファイルを一覧表示
POST/server/files/upload (multipart)設定ファイルをアップロード/上書き
POST/printer/firmware_restartファームウェアを再起動(設定変更を適用)
POST/printer/gcode/scriptGCode コマンドを送信(JSON 本文:{"script":"..."})
GET/printer/objects/listクエリ可能なプリンターオブジェクトをすべて一覧表示
GET/printer/objects/query?<obj>=<fields>プリンターの現在の状態を照会
GET/printer/query_endstops/statusエンドストップの状態
POST/printer/gcode/script {"script":"SAVE_CONFIG"}キャリブレーションデータを保存
GET/server/infoMoonraker のバージョン、登録済みコンポーネント
POST/machine/rebootホスト(Pi)を再起動
POST/machine/shutdownホストをシャットダウン
ファイルのアップロード(curl)
curl -X POST "http://<IP>:7125/server/files/upload" \
  -F "root=config" \
  -F "file=@/path/to/printer.cfg;filename=printer.cfg"
GCode の送信(curl)
curl -X POST "http://<IP>:7125/printer/gcode/script" \
  -H "Content-Type: application/json" \
  -d '{"script": "G28"}'
オブジェクトの照会(curl)
curl "http://<IP>:7125/printer/objects/query?extruder&heater_bed&toolhead"

プラットフォームに関する注意事項

AI は curl(Windows と Linux の両方で利用可能)とテキストの直接分析を使って、すべての設定の取得、解析、編集をインラインで実行します。scripts/ 内のスクリプトは参考実装として提供されており、Linux/macOS で動作します(python3 が必要です)。Windows では、AI が同等の処理を直接実行します。シェルスクリプトに依存しないでください。

Klipper ホスト上で直接(SSH 経由で)実行する場合、スクリプトは変更なしで動作します。


ファイル構成

klipper-manager/
├── SKILL.md                         # This file
├── references/
│   ├── config_sections.md           # Full parameter reference for all config sections
│   ├── gcodes.md                    # All supported G-codes and extended commands
│   ├── troubleshooting.md           # Error patterns → causes → fixes
│   └── moonraker_api.md             # Full Moonraker API reference
├── scripts/
│   ├── fetch_config.sh              # Fetch printer.cfg from Moonraker
│   ├── upload_config.sh             # Upload modified config
│   ├── send_gcode.sh                # Send a GCode command
│   ├── query_status.sh              # Query printer status objects
│   └── diagnose.sh                  # Full diagnostic run
└── state/
    └── printer_context.json         # Persisted printer state (auto-created)

ベースディレクトリ:file:///C:/Users/santi/.config/opencode/skills/klipper-manager

コメント