ブラウザ版Embedr
クラウドプロジェクト、クラウドビルド、タブを閉じても続くエージェント実行、Web Serialでの書き込み、デスクトップ版との違い。
studio.embedr.app のWebアプリは、デスクトップアプリと同じEmbedrです。ディスク上のフォルダではなく、クラウドプロジェクトを扱います。同じアカウントでサインインすれば、プラン、モデル、ChatGPTやOpenCodeの接続は両方で使えます。
必要なもの
- デスクトップまたはタブレットのブラウザ。スマートフォンでは "Use Embedr in a desktop browser" と表示されます。
- 書き込みとシリアルモニターには、Web Serialに対応したChromium系のブラウザ(ChromeやEdgeなど)でHTTPSのサイトを開く必要があります。他のブラウザでも編集、ビルド、エージェントの実行はできます。Web Serialがない場合、書き込みは "Web Serial requires a supported Chromium browser on HTTPS." で失敗します。
クラウド上のプロジェクト
Webのプロジェクトは、コンピュータではなくEmbedrアカウントに保存されます。保存するたびにクラウドプロジェクトに記録され、エージェントも同じファイルを扱います。
ホーム画面では次のことができます。
| ボタン | 内容 |
|---|---|
| 入力欄(Describe what you want to build) | 要望からプロジェクトを作り、エージェントに作業を始めさせます。 |
| Create Blank Project | 空のプロジェクトを作ります(Electronics only または Electronics + firmware)。 |
| Import KiCad | KiCadデザインを含むフォルダを選びます。参照しているすべてのシートとローカルライブラリを含めてください。 |
| Import Folder | コンピュータのフォルダを新しいクラウドプロジェクトとしてアップロードします。 |
ブラウザには Clone Repository ボタンはありません。デスクトップでクローンし、そこから共有するか取り込んでください。
取り込みの制限
| 取り込み | 制限 |
|---|---|
| Import Folder | 500ファイル、合計100 MB、1ファイル25 MB |
| Import KiCad | 256ファイル、48 MB |
| プロジェクトの個々のファイル | 25 MB |
取り込んだフォルダはコピーです。その後ディスク上で変更しても、クラウドプロジェクトには反映されません。
Import Folder では、バージョン管理のデータ、ビルド出力、ローカルの状態が除外されます。たとえば .git、.pio、.pcb、node_modules、.versions、.history、.embedr-board、チャットの記録、KiCadのロックファイルとバックアップファイル(*.kicad_prl、*.lck、fp-info-cache、backup や .bak を含む名前)、.DS_Store などのOSのファイルです。
表示される可能性のあるエラー:
- "Web project imports are limited to 500 files" または "…limited to 100 MB": 生成された出力を除くなど、より小さなフォルダを取り込みます。
- "
<path>exceeds the 25 MB per-file limit": 先にそのファイルを削除するか小さくします。 - "The selected folder contains no importable project files": フォルダ内のすべてが除外されました。
- "A project named '
<name>' already exists": フォルダか既存のプロジェクトの名前を変えます。
ファームウェアのビルド
ブラウザの中では何もコンパイルされません。Compile はプロジェクトを隔離されたクラウドビルドに送り、デスクトップと同じPlatformIOツールチェーンで実行します。
- 下部ツールバーで Target を選びます。
- Compile をクリックします。Output タブにビルドが逐次表示されます。
- ビルドが成功すると、Output タブに各ファームウェアファイル(
.bin、.hex、.uf2)のダウンロードボタンが表示されます。
カスタムターゲット(Custom Target...)はデスクトップの機能です。Webでは組み込みの一覧からターゲットを選んでください。
Web Serialでの書き込みとシリアルモニター
ブラウザでの書き込みは、次のターゲットで使えます。
| ターゲット | チップ |
|---|---|
ESP32 Dev Module(esp32dev、Arduinoフレームワーク) |
ESP32 |
ESP32-S3 DevKitC-1(esp32-s3-devkitc-1、Arduinoフレームワーク) |
ESP32-S3 |
その他のターゲットはクラウドでビルドできますが、ブラウザからは書き込めません。Arduino Uno、Nano、Raspberry Pi Picoでは、ブラウザでの書き込みについて "has not completed hardware qualification." と表示されます。Output タブからファームウェアをダウンロードし、デスクトップアプリか手持ちのツールで書き込んでください。
対応ボードに書き込むには:
- データ通信できるUSBケーブルでボードを接続します。
- Device の選択肢を開き、Pair Browser Serial... をクリックします。ブラウザがシリアルポートを一覧表示するので、ボードを選んで Connect をクリックします。ペアリングしたポートは "USB Serial (VID xxxx · PID xxxx)" と表示されます。
- まだビルドしていなければ Compile をクリックします("Build this project before flashing it.")。
- Flash をクリックします。進行状況は "Connecting to board…"、"Flashing N%"、"Flash complete." と表示されます。
書き込みでは、接続されたチップがビルドと一致しているか確認します。"Connected board is X; this artifact requires Y." は、ボードかターゲットの選択が間違っていることを意味します。
Serial Monitor タブ(+ メニューから開きます)も同じペアリング済みのポートを使います。Baud Rate を選んで Connect をクリックします。ブラウザがポートを忘れた場合は "Select this serial device again." と表示されるので、Device の選択肢から再度ペアリングしてください。
ブラウザのポート選択をキャンセルすると "No device selected." と表示されます。
続行するエージェント実行
エージェントの実行はEmbedrのサーバーで行われるため、エージェントの作業中にタブを閉じたり、接続が切れたり、デバイスを切り替えたりしても構いません。プロジェクトを開き直すと、実行が行ったすべての内容にチャットが追いつきます。
チャットに表示される実行状態には "Queued…"、"Preparing project…"、"Thinking…"、"Saving progress…" などがあります。少し待ってもクラウドのワーカーが実行を引き受けない場合は "Waiting for a worker…"、その後 "Still waiting for a worker…" と表示されます。
通知
初めて要望を送ったときや Implement this spec をクリックしたとき、Embedrはブラウザ通知を提案します(Know when it's done)。Turn on をクリックし、ブラウザの確認で通知を許可します。メールも受け取るには Also email <address> にチェックを入れます。ブラウザが通知をブロックしている場合は、代わりに Email me が提案されます。
設定 → Notifications では:
- System Notifications は、Embedrがバックグラウンドにあるときに通知を表示します。ブラウザの現在の Permission も表示されます。
- Email Notifications は、エージェントが完了したとき、失敗したとき、あなたの対応が必要なときにメールを送ります。確認済みのアカウントメールアドレスが必要です("Available once your account email is verified.")。
メールの件名は "The agent finished in <project>: <thread>" のようになり、Open in Embedr ボタンが付いています。
ブラウザのターミナル
Terminal タブは、プロジェクトのスナップショット上でクラウドのターミナルを開きます。バナーを確認してください: "Cloud snapshot · close to save terminal file changes; reopen to load editor changes."
- Close & save をクリックすると、ターミナルでのファイルの変更がプロジェクトに書き戻されます。
- セッションは30分で期限切れになります。
node_modulesや.pioなどの生成されたキャッシュは、クラウドプロジェクトに保存されません。- 保存に失敗した場合は Download recovery files を使ってください。
デスクトップアプリとの違い
| 機能 | デスクトップ | ブラウザ |
|---|---|---|
| プロジェクトの保存先 | ディスク上のフォルダ | アカウント内のクラウドプロジェクト |
| ファームウェアのビルド | ローカルのツールチェーン | クラウドビルド |
| 書き込み | USBシリアルで書き込めるすべてのターゲット | 上記のESP32とESP32-S3のターゲット(Web Serial経由) |
| カスタムターゲット | あり | なし |
| KiCadの取り込み | .kicad_sch か .kicad_pro を選択。KiCad 10のインストールが必要 |
フォルダを選択。クラウドで変換 |
| KiCadのチェックとエクスポート | ローカルのKiCad 10またはクラウド(設定 → Local tools) | 常にクラウド |
| Open in KiCad | 手元のKiCadで基板を開く | 使えません: "Opening the native KiCad application requires Embedr Desktop." 代わりに基板ファイルをダウンロードしてください。 |
| ターミナル | ローカルのシェル | 30分間のクラウドスナップショットのセッション |
| コマンドの承認(設定 → Command Approval) | あり | なし |
| キュー内のメッセージの Steer | 実行中の処理の次のステップでメッセージが加わる | 実行が止まり、メッセージを加えて再開 |
| Clone Repository | あり | なし |
| Gitのリモート | Gitの設定で到達できるすべてのリモート | GitHub、GitLab、BitbucketのHTTPSリポジトリ。トークンは保存されません |
| 通知 | システム通知 | ブラウザ通知とメール |
従来の .ino の移行(Migrate Project) |
あり | なし |
ブラウザのGitでも、デスクトップと同じ日常的な操作(コミット、同期、ブランチ、マージの競合、スタッシュ、破棄、取り消し)ができます。バージョン管理を参照してください。
共有されたプロジェクトを開く
共有リンクは https://studio.embedr.app/projects/<owner>/<project> の形式で、常にブラウザで開きます。自分のプロジェクトを公開するにはプロジェクトの共有を参照してください。
閲覧者に表示される内容は、所有者の共有方法によって異なります。
| 状況 | 表示 |
|---|---|
| Anyone with the link | プロジェクトが読み取り専用で開き、README の横に所有者が固定したタブ(Schematics、Board、Mechanical など)が表示されます。サインインは不要です。 |
| Only people invited、サインインしていない | "Sign in to view <project>" と Sign in ボタン。プロジェクトが共有されたメールアドレスでサインインしてください。 |
| Only people invited、別のアカウント | "You don't have access to this project" と Sign in with a different account、Back to projects。 |
| 非公開、削除済み、または誤ったリンク | Project not found。 |
読み取り専用のプロジェクトでは、上部に Read-only public revision というバーが表示され、次の操作があります。
- Download files: プロジェクトをzipでダウンロードします。
- Download firmware: 所有者がリビジョンと一緒にファームウェアを公開した場合に表示されます。
- Fork project(または Sign in to fork): プロジェクトを自分のアカウントにコピーし、編集、ビルド、エージェントの実行ができるようにします。
読み取り専用のプロジェクトでは、エージェントの操作、ターミナル、Voice Modeは使えません("Fork this project to open a terminal and make changes.")。サインインしている場合、エージェントの歓迎メッセージに返信するとプロジェクトがフォークされ、自分のコピーで会話が続きます。
