wuji-cli-doctor について
wuji-cli-doctorは、Wujiデバイスのオペレーター向けコマンドライン診断スキルです。環境とデバイスの読み取り専用チェックに加え、明示的な許可が必要な手の動作テストを実行し、テキストまたは構造化データで結果を報告します。
主な機能
- 01全デバイスの読み取り専用チェック
- 02グローブのEMF・触覚センサー異常検出
- 03任意の親指対向動作テスト
- 04テキスト、JSON、JSONL形式のレポート
- 05接続せずに診断項目を一覧表示
活用シーン
- 01使用前のWujiデバイス状態確認
- 02指や触覚センサーの問題箇所特定
- 03許可を得た手の動作チェック
- 04スクリプトでの診断結果収集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wuji-technology/ wuji-cli --skill wuji-cli-doctorインストール後、Claude Code で/wuji-cli-doctorを入力して読み込まれたか確認します。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
wuji doctor は各デバイスに接続し、リアルタイムデータをサンプリングして(約100フレーム、数秒以内に完了)、ツリー形式の診断レポートを出力します。
現在サポートしているデバイスと障害の種類:
- wuji_glove
- EMF 切断の検出:影響を受けている指を特定し、RX(受信)障害と TX(送信)障害を判別します
- 触覚センサーのデッドピクセル/不良行/不良列の検出(手袋は動かさず、装着したり押したりしないでください。誤検出が発生する場合があります)
使用方法
wuji doctor # Diagnose all devices
wuji doctor --sn <SN> # Diagnose one device only
wuji doctor -v # Show all check items (passing items hidden by default)
wuji doctor --json # The same information as the tree report, as structured JSON
レポートの読み方
- ステータス:✔ 合格/! 警告(参考情報としての異常)/✘ 失敗(確認済みの障害)/~ スキップ(チェックが適用されない、または実行できなかった)
Tip:行は修正方法の提案です- 終了コード:0 = 失敗なし(警告は許容)。1 = 失敗あり、または診断を完了できなかった場合。スクリプトでそのまま使用できます。デバイスが接続されていないことはエラーではありません。ホスト環境と検出のチェックは引き続き実行され、終了コードを決定します。
- 触覚チェックの結果は参考情報のみです(警告を上限とします)。Wuji Studio の触覚ヒートマップで確認してください
- デバイスの IP 重複チェックとホストのサブネットチェックは、検出で UDP デバイスが見つかった場合にのみ実行されます。すべてのデバイスが USB または Zenoh を使用している場合、両方のチェックは
~ not attempted: no UDP devicesと表示されます。これらのスキップされたチェックによって終了コードが1になることはありません。 - 診断レシピのないデバイスには、~ connect & diagnose ノードが表示されます。このスキップされたノードによって終了コードが1になることはありません。接続またはデータ収集に失敗した場合は ✘ が表示され、1 が返されます。
例
$ wuji doctor
══════ Environment ══════
~ Software: version info incomplete
├─ ✔ CLI: 2026.8.3 (up to date)
├─ ~ SDK: not installed or version undetectable (skipped)
└─ ✔ Studio: 2026.8.3 (up to date)
✔ System: supported
└─ ✔ OS: Ubuntu 26.04 (supported)
! Network interfaces: 2 interfaces, see interface count
├─ ✔ eth0 (192.168.1.100/24, fe80::abcd:.../64)
└─ ! Interface count: 2 interfaces — multiple interfaces may cause routing issues
══════ Generic ══════
✔ Device discovery: 2 device(s) found, no issues
├─ ✔ Devices found: 2 device(s) found
├─ ✔ Duplicate device IP
└─ ✔ Host subnet
══════ wuji_glove: WG1KXXXXXXXXXX01 ══════
├─ ✔ EMF disconnect check: all 5 fingers normal
└─ ! tactile dead-pixel check: 0 dead pixels, 0 bad rows, 0 bad cols
══════ wuji_glove: WG1KXXXXXXXXXX02 ══════
├─ ✔ EMF disconnect check: all 5 fingers normal
└─ ! tactile dead-pixel check: 0 dead pixels, 2 bad rows, 2 bad cols
├─ ! Bad rows: 2 bad row(s)
└─ ! Bad cols: 2 bad col(s)
Tip: Tactile check result is for reference only. Verify via tactile heatmap in Wuji Studio
wuji doctor -v はすべてのチェック項目を表示します。合格した項目はデフォルトで非表示のため、すべて表示するには -v を追加してください。デバイスのセクションのみを示しています。簡潔にするため、上記の Environment/Generic セクションは省略しています(実際の出力ではデバイスの前に表示されます)。
$ wuji doctor
══════ wuji_glove: WG1KXXXXXXXXXXX ══════
├─ ✔ EMF disconnect check: all 5 fingers normal
└─ ! tactile dead-pixel check: 0 dead pixels, 0 bad rows, 1 bad col
└─ ! Bad cols: 1 bad col(s)
Tip: Tactile check result is for reference only. Verify via tactile heatmap in Wuji Studio
$ wuji doctor -v
══════ wuji_glove: WG1KXXXXXXXXXXX ══════
├─ ✔ EMF disconnect check: all 5 fingers normal
│ ├─ ✔ Thumb
│ ├─ ✔ Index
│ ├─ ✔ Middle
│ ├─ ✔ Ring
│ └─ ✔ Pinky
└─ ! tactile dead-pixel check: 0 dead pixels, 0 bad rows, 1 bad col
├─ ✔ Thumb
├─ ✔ Index
├─ ✔ Middle
├─ ✔ Ring
├─ ✔ Pinky
├─ ✔ Palm
└─ ! Bad cols: 1 bad col(s)
Tip: Tactile check result is for reference only. Verify via tactile heatmap in Wuji Studio
wuji doctor --json は、ツリーレポートと同じ情報を機械可読形式で出力します。トップレベルのオブジェクトには2つの配列があります。
env:ホスト環境のチェック。ソフトウェアのバージョン(CLI/SDK/Studio)、システム、ネットワークインターフェースがそれぞれチェックノードになります(childrenを介してネストされます)device:デバイス層の結果。デバイス検出チェックを含むsnのないGenericエントリ(スキャンが実行された場合、デバイスが見つからなくても追加されます)に続いて、デバイスごとに1つのエントリ(label+sn+ チェックツリー)が含まれます
各配列は、空の場合にのみ省略されます。オンラインでは env は常に含まれます。スキャンが実行された場合、またはデバイスが指定された場合は device が含まれます。例:
この例では、検出によって UDP デバイスが見つかったことを想定しています。USB または Zenoh デバイスしかない場合、検出ノードと両方の IP チェックは "status": "skip" となり、サマリーには UDP デバイスが見つからなかったことが示されます。
$ wuji doctor --json
{
"env": [
{
"id": "env_software",
"label": "Software",
"status": "warn",
"summary": "updates available or unable to verify latest",
"children": [
{
"label": "CLI",
"status": "warn",
"summary": "2026.8.3 (unable to check latest version)"
},
{
"label": "SDK",
"status": "skip",
"summary": "not installed or version undetectable (skipped)"
},
{
"label": "Studio",
"status": "pass",
"summary": "2026.8.3 (up to date)"
}
]
},
{
"id": "env_system",
"label": "System",
"status": "pass",
"summary": "supported",
"children": [
{
"label": "OS",
"status": "pass",
"summary": "Ubuntu 26.04 (supported)"
}
]
}
],
"device": [
{
"label": "Generic",
"children": [
{
"id": "device_discovery",
"label": "Device discovery",
"status": "pass",
"summary": "1 device(s) found, no issues",
"children": [
{
"label": "Devices found",
"status": "pass",
"summary": "1 device(s) found"
},
{
"label": "Duplicate device IP",
"status": "pass"
},
{
"label": "Host subnet",
"status": "pass"
}
]
}
]
},
{
"label": "wuji_glove",
"sn": "WG1KXXXXXXXXXXX",
"children": [
{
"id": "emf_disconnect",
"label": "EMF disconnect check",
"status": "pass",
"summary": "all 5 fingers normal",
"children": [
{
"label": "Thumb",
"status": "pass",
"summary": "normal"
},
{
"label": "Index",
"status": "pass",
"summary": "normal"
},
{
"label": "Middle",
"status": "pass",
"summary": "normal"
},
{
"label": "Ring",
"status": "pass",
"summary": "normal"
},
{
"label": "Pinky",
"status": "pass",
"summary": "normal"
}
]
}
]
}
]
}