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/arpip neigh show- 再読込処理
- UDP送信後の再取得
- 手動MAC入力対応
WoL
- Magic Packet送信
- MAC取得済み or 手入力MACで送信可能
デバッグ
- Logcat出力
- UI上でログ表示(pingLogs)
5. 実機確認結果
| 項目 | 状態 |
|---|---|
| アプリ起動 | OK |
| Scan | OK |
| Ping | OK |
| 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. 今後の方針(推奨)
優先事項
- MAC保存機能
- デバイス管理(名前付け)
- UI改善
- WoL成功率100%化
11. 総括
- OpenClawによる自動生成で短時間に動作アプリを構築可能
- ただし
- セッション管理
- UI品質
- 実機調整
に課題あり
👉 プロトタイピング用途としては有効
👉 本開発はClaude Codeの方が安定
(以上)