wendy について
wendy は、エッジデバイスや VM 向けの WendyOS でアプリを開発・実行するためのスキルです。Wendy CLI によるプロジェクト作成、デプロイ、デバイス管理、権限設定、デバッグ、テレメトリーを扱います。
主な機能
- 01Wendy Lite プロジェクトの初期化と実行
- 02デバイス検出と WiFi 設定
- 03WendyOS デバイスのインストールと更新
- 04wendy.json でのアプリ権限設定
- 05リモートデバッグとテレメトリー出力
活用シーン
- 01Swift アプリのビルドとエッジデバイスへのデプロイ
- 02デバイスの検出や WiFi 接続
- 03アプリでの GPU またはカメラ利用の有効化
- 04デバイス上で動作するアプリのデバッグ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wendylabsinc/ claude-skills --skill wendyインストール後、Claude Code で/wendyを入力して読み込まれたか確認します。
同梱ファイルreferences/wendy.json.md
詳細
WendyOS
WendyOS は、エッジコンピューティング向けの組み込み Linux オペレーティングシステムです。以下をサポートしています。
- NVIDIA Jetson デバイス(OTA アップデートによる本番運用)
- Raspberry Pi 4/5(エッジデバイス)
- ARM64/AMD64 VM(開発用)
Wendy について学ぶ
Wendy のコマンドを使う前に、以下を実行して利用可能なすべてのコマンドを確認してください。
wendy --experimental-dump-help
すべてのコマンド、フラグ、ドキュメントを含む JSON 構造が出力されます。
wendy コマンドを実行する際は、JSON 構造のオプションを使って構造化 JSON 出力を指定してください。これにより、対話型ダイアログやエラーも回避できます。JSON 出力を指定するには、--json または -j を使います。
よくあるタスク
- アプリを実行する:
wendy run - 新しいプロジェクトを作成する:
wendy init - デバイスを検出する:
wendy discover - エージェントを更新する:
wendy device update - WiFi を設定する:
wendy device wifi connect - 外部ドライブに WendyOS をインストールする:
wendy os install wendy device set-defaultを使ってデバイスをデフォルトに設定する
wendy init — 新しい Wendy Lite プロジェクトを作成する
必要なひな形を含む新しい Wendy Lite プロジェクトを作成します。
wendy init
wendy.json 設定ファイルと、Wendy Lite アプリのビルドおよびデプロイに必要な構成を含む新しいプロジェクトディレクトリが作成されます。
wendy run — Wendy Lite プロジェクトを実行する
Wendy Lite プロジェクトをビルドし、アップロードして、接続されたデバイス上で実行します。
wendy run
このコマンドは、アプリのコンパイル、バイナリのデバイスへの転送、実行の開始まで、開発サイクル全体を処理します。ビルドの詳細な出力を確認するには、--verbose を使います。
wendy device wifi connect — WiFi を設定する
接続されたデバイスの WiFi 認証情報を設定します。
wendy device wifi connect
WiFi の SSID とパスワードをデバイスに送信し、ローカルネットワークに接続できるようにします。最初に、USB または既存の接続経由でデバイスにアクセスできる状態にする必要があります。
セットアップと設定
Wendy CLI は、gRPC(TCP)ポート 50051 経由でデバイスに接続します。Wendy CLI がまだインストールされていない場合は、brew install wendy を使ってインストールできます。
デバイスは USB または LAN 経由で検出されます。デバイスが見つからない場合は、接続を確認するか、USB 経由で接続するようユーザーに依頼してください。
デバイスにまだインストールされていない場合は、wendy os install を使って外部ドライブに OS をインストールしてください。NVIDIA Jetson デバイスでは、通常 NVMe に OS をインストールします。
開発
WendyOS は Linux ベースのコンテナ化されたオペレーティングシステムです。Linux コンテナを使ってアプリを実行します。
WendyOS では、主な言語として Swift.org を採用しています。Swift Package Manager と Swift Container Plugin を使ってアプリをビルドし、実行します。Wendy CLI が Swift をクロスコンパイルします。
その他のプログラミング言語もサポートされていますが、アプリのビルドには Dockerfile が必要です。
エンタイトルメント
WendyOS は、wendy.json で管理するエンタイトルメントシステムを使って、アプリの権限を管理します。これは、デバイス上でコンテナをどのように構成するかを反映します。
詳しいエンタイトルメントの設定については、references/wendy.json.md を参照してください。
クイックスタート
- 新しい Swift プロジェクトを作成するか、既存のプロジェクトに移動します
- wendy.json を初期化します:
wendy project init - 必要なエンタイトルメントを追加します(例:Web サーバーの場合):
wendy project entitlements add network --mode host - デバイス上で実行します:
wendy run
よく使われるエンタイトルメント
| エンタイトルメント | 用途 |
|---|---|
network(host モード) | Web サーバー、HTTP API、着信接続 |
gpu | ML 推論、コンピュータービジョン(Jetson のみ) |
video | カメラアクセス、動画キャプチャ |
audio | マイク、スピーカー |
bluetooth | BLE デバイス、Bluetooth 通信 |
リモートデバッグ
WendyOS には、Swift アプリのリモートデバッグ機能が組み込まれています。wendy run --debug を使うと、デバッグセッションを含めて起動できます。
これにより、ポート 4242 で GDB サーバーが公開されます。
VS Code から接続する
wendy run --debugを実行します- VS Code で CodeLLDB 拡張機能を使います
<device-ip>:4242に接続します
可観測性
WendyOS は、各デバイス上でローカルの OpenTelemetry コレクターを実行します。アプリはこのローカルコレクターにテレメトリー(ログ、メトリクス、トレース)を送信してください。
設定
OTel のエクスポートには HTTP プロトコルを使用してください(gRPC ではありません)。
import OTel
var config = OTel.Configuration.default
config.traces.otlpExporter.protocol = .httpProtobuf
config.traces.otlpExporter.endpoint = "http://localhost:4318"
config.metrics.otlpExporter.protocol = .httpProtobuf
config.metrics.otlpExporter.endpoint = "http://localhost:4318"
config.logs.otlpExporter.protocol = .httpProtobuf
config.logs.otlpExporter.endpoint = "http://localhost:4318"
let observability = try OTel.bootstrap(configuration: config)
環境変数を使う場合:
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
ローカルコレクターが、テレメトリをバックエンドインフラストラクチャに転送します。
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| デバイスが見つからない | USB/LAN 接続を確認し、wendy discover を実行してください |
| ネットワークアクセスが拒否される | ホストモードでネットワークのエンタイトルメントを追加してください |
| GPU が検出されない | GPU のエンタイトルメントを追加してください(Jetson のみ) |
| カメラが見つからない | ビデオのエンタイトルメントを追加し、カメラが /dev/video0 にあることを確認してください |
| ビルドに失敗する | Swift のバージョンとの互換性を確認し、wendy run --verbose を試してください |
参照ファイル
特定のトピックに応じて、必要なファイルを読み込んでください。
references/wendy.json.md- アプリの設定、エンタイトルメント(ネットワーク、GPU、ビデオ、オーディオ、Bluetooth)、一般的な設定、CLI コマンド
関連資料
WendyOS のドキュメント:https://wendy.sh/docs/