自分の GPU で、OpenCode に Web ピアノを作らせる

Armor EdgeAI のローカル API を OpenCode につなぎ、計画してから実装。Qwen 3.8 27B が約 1 時間半のエージェントタスクを走らせ、演奏・録音・MIDI 書き出しができる単一ファイルの Web ページを生成しました。

本ケースは Armor EdgeAI 0.63.5 で検証。新しいバージョンでは画面やメニュー位置が多少異なる場合があります。

手順 01

このケースでやること

Armor EdgeAI は対応機種の GPU を直接使い、ローカルの計算資源をオープンな大規模言語モデルの推論能力に変えます。内蔵の OpenAI 互換 API に OpenCode のような AI エージェントをつなげば、フォルダーやファイルの整理、文書作成、データ分析、さらにはプログラミングといった長時間の多段階タスクを実行できます。

以下では ROG Zephyrus G16 を例に、設定から成果物までの全工程を記録します。うまくいった点も、まだ足りない点も含めて。

手順 02

まずアプリ内でモデルの実力を確認

Armor EdgeAI を起動し、「AI チャット」で Qwen 3.8 27B Vision を選んで、まず「Web ピアノの HTML を書けるか」と聞きました。回答は堅実で、できると答えたうえ、おすすめのプロンプトまで提示してきました。

正直な観察をひとつ。自分のバージョンやパラメータ数を尋ねても、モデルは答えられず「Qwen です」と言うだけでした。これはモデル自身の自己認識の限界で、その後のタスクには影響しません。

Armor EdgeAI のチャット画面。Qwen 3.8 27B Vision が Web ピアノの実現可能性に回答
実機スクリーンショット · Armor EdgeAI 0.63.5
手順 03

API 接続情報を取得

チャットモデルはそのままに、サイドバーの「詳細 → API 設定」を開きます。OpenCode と Armor EdgeAI が同じ PC なら、次の 3 項目だけでローカル GPU につながります。

同じ LAN 内の他の端末からこの PC の計算力を使うには、「設定 → AI チャット」で「LAN アクセス」をオンにします。設定後、再起動を求められます。

Base URLhttp://127.0.0.1:2918/v1
Modelqwen3.8-27b-vl
API Keyarmor-edgeai-local
Armor EdgeAI の API 設定ページ。OpenAI 互換と Anthropic 互換の 2 つのエンドポイントを表示
実機スクリーンショット · Armor EdgeAI 0.63.5
手順 04

OpenCode にカスタムプロバイダーを追加

OpenCode で「ファイル → 設定 → プロバイダー」と進み、「カスタムプロバイダー」を選択。前の手順の API ページの値を順に入力して「送信」すれば基本設定は完了です。

OpenCode のプロバイダー一覧。最下段が「カスタムプロバイダー」
実機スクリーンショット · Armor EdgeAI 0.63.5
手順 05

ワークスペースを開き、Plan してから Build

新しいセッションを開きます。画面上のコントロールの役割は下の注記のとおり。経験上、まずエージェントに Plan モードで計画させ、方向性を確認してから Build に切り替えると、やり直しに費やす時間と計算資源を減らせます。

続いて、作りたい機能を説明するこのプロンプトを送ります:

プロンプト全文

Armor-piano.html という簡易バンドアプリを設計してください。中央にピアノを置き、順に高くなる 4 オクターブ分の白鍵と対応する黒鍵を備えます。マウスでクリックすると対応する MIDI 音色が鳴り、押している間は鳴り続け、離すと止まります。キーボードの 1234567、QWERTYU、ASDFGHJ、ZXCVBNM を、順に高くなる 4 組の Do・Re・Mi・Fa・So・La・Si に対応させます。鍵盤を押したときは沈み込む視覚効果を付けてください。左上に録音ボタンを追加し、演奏した音を録音できるようにし、再生機能も用意します。録音ファイルは HTML と同じフォルダーに保存でき、MIDI ファイルとして書き出せるようにしてください。

OpenCode の新規セッション。入力欄の下にモード切替、モデルメニュー、ワークスペースフォルダー
実機スクリーンショット · Armor EdgeAI 0.63.5
画面上のコントロール
+(タブバー)
新しいセッションを作成。
Build ▾
Plan と Build モードを切り替え。
qwen3.8-27b-vl ▾
モデルメニュー。API を Armor EdgeAI が提供している場合、実際のモデル切替はアプリ側で行います。
Web-Piano ▾
ワークスペースのフォルダー。自分のファイル管理に合わせて設定。
手順 06

モデルはまず計画を出し、確認を待つ

Plan モードで送ったので、モデルはまず確認の質問をいくつか投げてきました。音色と録音方式、出力形式、保存方法。答えると設計計画を作成し、確認待ちで止まります。

計画に問題がなければ、モードを Build に切り替えて実行を確認。そこで初めてエージェントがファイルを書き始めます。

OpenCode が作成した設計計画:レイアウト、音色、録音・保存、MIDI マッピング
実機スクリーンショット · Armor EdgeAI 0.63.5
手順 07

Build:1 時間半の自己検証

Armor-piano.html を書いたあと、エージェントは環境にブラウザ自動化ツールがないことに気づき、Node で検証スクリプトを自作して MIDI エンコードと WAV 出力をロジックテストしました。その過程で実際のバグもいくつか修正しています:可変長整数の符号付きシフト、tempo イベントの接頭バイト欠落、note-off のチャンネルバイト誤り、マウスイベントの二重バインドによる音の鳴りっぱなし。

プロンプト送信から完成まで、OpenCode のタイマーは約 96 分。その間も同じ PC で別の作業をしていたので、所要時間は目安です。

OpenCode の完了サマリー。実装内容、修正したバグ、Node ロジックテスト全通過
実機スクリーンショット · Armor EdgeAI 0.63.5
手順 08

成果物

ワークスペースのフォルダーに、24 KB のきれいな Armor-piano.html が現れました。Edge か Chrome で開けば使えます。このページの下でそのまま試すこともできます。

エクスプローラーのワークスペースフォルダー。Armor-piano.html が 1 つだけ
実機スクリーンショット · Armor EdgeAI 0.63.5
Try It

自分で試す

どちらの成果物も無修正のオリジナルファイルです。鍵盤をクリックするかキーボードで演奏できます。

AI 生成 · 無修正オリジナル
完成した Armor-Piano の画面

ローカルモデルが OpenCode を通じて生成したそのままのファイル。「主な不足点」に挙げた配置と音高の欠点も含みます。

まず鍵盤を一度クリックするとキーボード入力がデモに向きます。UI はどちらも繁体字中国語です。 新しいタブで開く

Verdict

検証まとめ

うまくいった点

  1. 鍵盤の描画がとてもきれい。
  2. 録音・再生・保存が動作し、仕様どおり MIDI と WAV の書き出しも実装された。
  3. タスクは約 1 時間半途切れずに走った。Armor EdgeAI の API 出力は安定しており、Qwen 3.8 27B は長いエージェントタスクを完走できる。

主な不足点

  1. 鍵盤配置が正確ではなく、特に黒鍵の数と位置に明らかな誤りがある。
  2. 音色と音高は完全には正確でないが、Do から Si までの 7 音は明確に聞き分けられる。
  3. 黒鍵は押したあと自動で戻らない。白鍵にはこの問題はない。

クラウドモデルとの比較

同じプロンプトを ChatGPT 5.6 のチャットモードに直接送ると、約 10 分で HTML ファイルが完成し、細部の仕上がりもローカルの 27B モデルよりやや上でした。両方のバージョンを上に置いてあるので、ご自身で比べてみてください。

結論

Armor EdgeAI はさまざまな AI エージェントと問題なく連携し、多くの開発タスクをこなせます。成果物に小さなバグが残るなら、まず Plan モードに戻って見直し、必要なら能力の高いクラウド API で修正する。コスト・速度・品質のバランスを取る使い方です。

さらに AI エージェントを完全にオンプレミスで動かせば、社内の機密データも扱えます。売上記録を集計して表と分析にまとめる、顧客メールを翻訳する、ビジネス向けの資料を作る。データを外部クラウドへ送らずに済み、漏えいリスクも下がります。

Next

自分のマシンで再現したい?

API 活用ページに接続方法の詳細、はじめるページにインストールと有効化の手順があります。