UStackUStack
Claude Desktop Buddy icon

Claude Desktop Buddy

Claude Desktop Buddyは、macOS/WindowsのClaudeがBLE製のmakerデバイスへ接続しプロンプトや状態を表示する参考・例。ESP32デモ対応。

Claude Desktop Buddy

claude-desktop-buddyとは?

Claude Desktop Buddy (anthropics/claude-desktop-buddy) は、macOS/Windows版ClaudeがBluetooth Low Energy (BLE) 経由で「makerデバイス」に接続する方法を示す参考・例プロジェクトです。Claude CoworkやClaude Code Desktopからの許可プロンプト、最近のメッセージ、その他のインタラクション状態を表示するハードウェアを構築したい開発者やメイカー向けに設計されています。

リポジトリは主にドキュメントとBLE「buddy」デバイスの例ファームウェアです。ハードウェアの概念構築にコードは不要ですが、REFERENCE.mdのワイヤープロトコル参考を基に独自BLEデバイスでプロトコルを実装できます。

主な機能

  • BLEワイヤープロトコル参考(Nordic UART Service UUIDs、JSONスキーマ):メッセージ形式を推測せずに互換デバイス動作を実装可能。
  • Claudeインタラクション用の例ファームウェアブリッジ:デバイスをClaudeに接続し、ハードウェアがインタラクション状態に反応。
  • Developer ModeとHardware Buddyウィンドウを使ったデバイス接続ワークフロー:スティック型BLEデバイスをClaude Desktopとペアリングする方法を記載。
  • Arduinoフレームワーク対応ESP32ファームウェア:組み込み実装の具体的な出発点。
  • 2つの「pet」表示モード対応—ASCIIとGIF:例デバイスがASCIIアニメーションセットを表示、またはBLE経由でカスタムGIFキャラクターパックをストリーミング。

claude-desktop-buddyの使い方

  1. ファームウェア例から開始:ハードウェアファームウェアはArduinoフレームワークでESP32対象。リポジトリの例はディスプレイ、IMU、ボタンドライバにM5StickCPlusライブラリ依存;そのボードかピン/レイアウト対応フォークが必要。
  2. PlatformIO Coreをインストール後、pio run -t uploadで例ファームウェアをフラッシュ。
  3. 既にプログラム済みデバイスを再フラッシュ時は、pio run -t erase && pio run -t uploadでまず消去。
  4. デバイスをClaude Desktopとペアリング:
    • Claude Desktopで開発者モードを有効(Help → Troubleshooting → Enable Developer Mode)。
    • Hardware Buddyウィンドウを開く(Developer → Open Hardware Buddy…)、Connectをクリックしリストからデバイスを選択。
    • macOSでは初回接続でBluetooth許可を求められる;許可。
  5. ペアリングフローを用いてインタラクションプロンプトとデバイス応答をテスト。ブリッジは両側がウェイク時自動再接続。

ユースケース

  • BLE「許可プロンプト」デバイス構築:参考プロトコルと例ファームウェア動作を使い、Claudeからのリクエスト承認/否認をユーザーにプロンプト。
  • セッション状態に応答するインタラクティブデスクトップコンパニオン作成:例にセッション接続中/ビジー/承認待ち/インタラクション完了で状態変化するデバイス「pet」。
  • 通知用低電力ディスプレイコントローラ展開:デスクpet例は無活動時スリープ、セッション開始でウェイク。
  • GIFパックでオンデバイスキャラクタービジュアルカスタマイズ:manifest.jsonと96px幅GIFファイルの状態用フォルダを提供;アプリがBLE経由ストリーミングしGIFモードに切り替え。
  • BLE往復なしでディスプレイアセット反復:リポジトリのtools/flash_character.pyワークフローがキャラクターデータをステージしUSB直アップ。

FAQ

提供デバイスコードを使って互換ハードウェアを構築する必要は? 不要。リポジトリは独自デバイス構築にここコード不要と明記;REFERENCE.mdにワイヤープロトコル詳細(UUIDs、JSONスキーマ、フォルダプッシュ転送)。

例ファームウェアはどのハードウェア対応? ArduinoフレームワークでESP32対象。記述通りディスプレイ、IMU、ボタンドライバにM5StickCPlusライブラリ依存;そのボードか別ドライバ使用フォーク必要。

デバイスをClaude Desktopとどうペアリング? 開発者モード有効後、Hardware Buddyウィンドウを開く(Developer → Open Hardware Buddy…)、Connectクリックでデバイス選択。macOS初回はBluetooth許可必要。

BLEデバイスが検出されない場合? リポジトリはスティックがウェイク(任意ボタン押下)確認とスティック設定メニューのBluetooth有効を推奨。

デバイスでカスタムキャラクタアニメーション表示可能? 可能。例はASCII petとGIF pet対応。GIFモードはmanifest.jsonと状態用96px幅GIFのキャラクターパックフォルダ提供;状態ファイルは単一ファイル名か回転アニメ用配列。

代替案

  • 提供されたワイヤプロトコルを使って独自のBLEデバイスを実装:リファレンスファームウェアを使わず、文書化されたNordic UART Service UUIDとJSONスキーマに従ったカスタムBLEスタックを書けます。
  • 同じアプリケーションロジックで別のBLE対応組み込みプラットフォームを使用:ESP32がターゲットでない場合、プロトコルと状態処理(スリープ/ウェイク、承認プロンプト表示、UI更新)を好みのマイコンに適応。
  • BLEハードなしの純粋ソフトウェア「デスクトップコンパニオン」を構築:PC上のインターフェースだけが必要なら、物理ディスプレイ/アニメーションデバイスではなくソフトウェアのみの統合アプローチを検討。
Claude Desktop Buddy | UStack