ワークフロースタジオ

ワークフロースタジオとは、キャンバスそのものです。ワークフローは有向グラフで、素材ノードの出力が変換ノードへ流れ、変換の結果がさらに別の変換や組み合わせへ流れ、最終的に欲しい出力が葉ノードに集まります。

ワークフローの組み立て

  1. 素材を追加します。 Create モードで Smart Island の Add ツールバーを開き、必要なモダリティ(テキスト、画像、動画、音声、ドキュメント、URL、3D モデル)を選びます。クリックするたびに、ビューポート中央にノードが 1 つ置かれます。
  2. 選択して変換します。 素材ノードをクリックすると、Smart Island の表示が Add ツールバーからコンテキスト操作に切り替わります。たとえばテキストノードを選択中なら、画像生成動画生成音楽生成 などが並びます。どれかをクリックすると、選択中のノードに配線済みの変換ノードが追加されます。
  3. 手動で接続することもできます。 出力ハンドル(ノードの右端)から別ノードの入力ハンドル(左端)へドラッグします。接続が成立するのは、モダリティと形状が一致する場合だけです。この判定は ABI に基づきます。
  4. 入力を設定します。 ノードをクリックして、プロンプトテキスト、モデルのドロップダウン、スライダー、ファイルピッカーなどのパラメータを編集します。表示されるフィールドは、そのノードの ABI スキーマで決まります。

接続のルール

  • 出力ハンドルの名前は out:<field> です(例:out:imageout:text)。
  • 入力ハンドルの名前は in:<field> です。
  • out:<field> のモダリティと形状が、接続先の in:<field> と一致するときだけ接続は有効です。無効なエッジはキャンバスが弾きます。
  • 1 つの出力は複数の入力へファンアウトできます。1 つの入力が受け取れる上流エッジは最大 1 本です。
  • N 入力のノード(画像を N 枚受け取る image-fusion など)には、ラベル付きの入力ハンドルが N 個あります。

保存

ワークフロータイトルは上部中央にあります。クリックするとタイトルメニューが開きます。

  • Save — 現在のキャンバスとノードの状態を SQLite に書き込みます。新規ワークフローとして保存するか、既存のものを上書きします。
  • Save as… — キャンバスを別名の新しいワークフローとしてフォークします。
  • Rename — ワークフローのタイトルを変更します。
  • Delete — ワークフローをデータベースから削除します(参照していた素材は Portfolio に残ります)。

キャンバスの位置とズームはブラウザが自動保存し、ノードのパラメータ編集はフォーカスが外れた時点で自動保存されます。明示的な Save は、グラフ全体を DB のバージョン付きの行としてコミットします。

読み込み

左サイドバーの Workflow ボタン(最初のアイコン)を開きます。ダイアログに保存済みワークフローが一覧表示されるので、クリックして読み込みます。

実行

Execute モード に切り替えます(ヘッダーの Sparkles → Play トグル)。

  1. Smart Island の Play をクリックします。
  2. 未保存の編集がある場合は、先に保存するかを確認するダイアログが出ます。
  3. ワークフローエクスポーターがグラフをトポロジカル順に走査し、キャッシュ結果のないノードごとにタスクを 1 つ発行します。
  4. 各タスクは、変換ノードなら Modal へ、gen-text 系なら設定した LLM プロバイダへディスパッチされます。
  5. 出力は手元のマシンに戻り、対応するノードが結果で更新されて緑に点灯します。エラーのノードは赤く点灯し、メッセージは Tasks パネルで確認できます。

画面上部のトーストが全体の進捗を追跡し、そこから実行を停止できます。

キャッシュ

2 回目以降の実行では、変更のない上流ノードはキャッシュされた出力を返します。特定のノードだけ再実行を強制するには、次のいずれかを行います。

  • そのノードの入力値(プロンプト、パラメータ、添付素材)をどれか編集する。
  • 右クリック → キャッシュをクリア(実装され次第。現状の代替手段は、ノードを削除して追加し直すことです)。

インポート / エクスポート

ワークフローエクスポーター(tongflow リポジトリの src/lib/workflow/exporter.ts)は、キャンバスとノードのスペックを JSON にシリアライズします。この JSON は別のマシンで再インポートできるので、Discord でのワークフロー共有や GitHub Issue への添付に便利です。

パン、ズーム、複数選択

  • パン — 中ボタンドラッグ、Space + ドラッグ、または 2 本指スクロール。
  • ズーム — ピンチまたはスクロールホイール。右下のコントロールで 100% 表示 / 画面フィットができます。
  • 複数選択 — 囲むようにドラッグ、または Shift + クリック。
  • 削除 — ノードを選択して Backspace または Delete。ノード間のエッジも自動的に取り除かれます。
  • コピー / 貼り付け — Cmd/Ctrl+C、Cmd/Ctrl+V。貼り付けたノードは元の位置から少しずらして配置されます。

関連ページ