wol-light 開発経緯まとめ(Windows 10 / Cursor / OpenClaw + openai-codex/gpt-5.5)

目次

1. 目的

  • Androidで動作する Wake on LAN(WoL)専用アプリを作成
  • FingのWoL機能の代替
  • 必要最小機能:
    • LANスキャン
    • デバイス選択
    • WoL送信
    • Ping確認

2. 開発環境

  • OpenClaw + openai-codex/gpt-5.5 による自動生成
  • Windows 10 + Android Studio
  • 実機(Android)で検証

3. プロジェクト構成の特徴

想定

  • D:\AI\OpenClaw\maybe_public\wol-light に作成予定

実際

  • OpenClawが既存リポジトリを自動選択
D:\AI\OpenClaw\work\openclaw\apps\android\wolapp

理由

  • 既存Gradle構成を優先利用するエージェント挙動
  • カレントディレクトリではなく「最適なプロジェクト」を選択

4. 実装済み機能

ネットワーク系

  • LANスキャン(IP列挙)
  • Pingによる応答確認
  • UDP probeによるARP生成促進

MAC取得

  • /proc/net/arp
  • ip neigh show
  • 再読込処理
  • UDP送信後の再取得
  • 手動MAC入力対応

WoL

  • Magic Packet送信
  • MAC取得済み or 手入力MACで送信可能

デバッグ

  • Logcat出力
  • UI上でログ表示(pingLogs)

5. 実機確認結果

項目状態
アプリ起動OK
ScanOK
PingOK
MAC取得不安定(改善中)
WoL送信未最終確認
UI操作一部NG

6. 発生した主な問題

① MACアドレス取得が不安定

原因

  • AndroidのARP制限
  • キャッシュ依存
  • ネットワーク環境依存

対策

  • UDP probe追加
  • 待機時間追加
  • 複数手段併用
  • 手入力対応

② UIスクロール不可(致命的)

症状

  • スキャン結果は出るがスクロールできない
  • 下のデバイスが選択不可

原因

  • Composeで Column + forEach 使用
  • スクロールコンテナ未使用

対策(未適用)

  • LazyColumn化

③ OpenClawセッション肥大化

症状

tokens 190k / 200k
connected | error

原因

  • セッション履歴蓄積

対処

  • sessions.json リネームでリセット

④ Claude/OpenClawの指示解釈問題

  • 長文指示がコマンドとして誤解釈
  • 質問モードに遷移して修正が進まない

7. 技術的な学び

OpenClawの挙動

  • 作業ディレクトリではなく「意味」でプロジェクト選択
  • セッション肥大で性能劣化
  • 指示は短く明確にする必要あり

Androidネットワーク制約

  • MAC取得は100%自動化不可
  • ARP依存は不安定
  • 「一度取得したMACを保存」が現実解

WoLの本質

MACが正しい × パケットが届く

8. 現在の到達点

  • 基本機能は完成
  • 実機動作も概ね確認済み
  • ただし以下が未解決:

未解決

  • UIスクロール不具合
  • MAC取得の安定化
  • WoL最終確認

9. 方針転換

理由

  • Claude Code版で同一要件が正常動作
  • OpenClaw側は調整コストが高い

決定

👉 Claude Code版をメインとして継続開発


10. 今後の方針(推奨)

優先事項

  1. MAC保存機能
  2. デバイス管理(名前付け)
  3. UI改善
  4. WoL成功率100%化

11. 総括

  • OpenClawによる自動生成で短時間に動作アプリを構築可能
  • ただし
    • セッション管理
    • UI品質
    • 実機調整
      に課題あり

👉 プロトタイピング用途としては有効
👉 本開発はClaude Codeの方が安定


(以上)