> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# shellの起動と設定

Tauri開発shellを起動し、Webアプリへ接続します。

## 初心者向けのウォークスルー

前提条件: 以下の 2 つの初心者向けガイドを読み、Rust およびオペレーティング システムの前提条件を含むデスクトップのローカル セットアップを完了してください。コード ブロックは、モノリポジトリ内の Web アプリと Tauri の両方を開始します。デスクトップのみのチェックアウトでは、到達可能な Web バックエンドを個別に起動した後でのみ、フィルターされたコマンドを使用してください。 Tauri はそのバックエンドをロードします。

簡単に説明すると、ワークスペースは 1 つのチームの個別のユーザー、データ、設定です。サーバーは信頼できるバックエンドです。プロバイダー キーがブラウザーや電話コードに含まれないようにします。移行は、テーブルを作成または更新する、バージョン管理されたデータベースの変更です。 AI モデルは答えを返すエンジンです。モデル カタログは、使用可能なモデル ID と価格のサーバーのリストです。プロバイダーは、AI、電子メール、請求サービスなどの外部サービスです。資格は、ワークスペースで機能を使用できるようにする付与です。 Webhook は、あるサービスが別のサービスの URL に送信するメッセージです。

1. `apps/desktop/src-tauri/src/lib.rs` を開きます。指定されたウィンドウ/トレイ/ホットキーの動作のみを変更し、Web アプリ内の製品 UI を維持するようエージェントに依頼してください。

2. シェルを実行し、トレイに近い、終了、`CmdOrCtrl+Shift+Space` をテストします。 `supastack:///settings/appearance?preview=1#main`をテストします。

3. 既存のウィンドウにフォーカスし、パス/クエリ/フラグメントを保持する必要があります。間違ったページが開いた場合は、設定された起点と正確なルートを比較してください。

カスタム コードの場合は、提供された `prompts/README.md` から始めて、最も近いプロンプト (アプリ画面の場合は `prompts/new-app-screen.md`、パブリック ページの場合は `prompts/new-landing-page.md`) をコピーします。サーバー、データベース、またはプロバイダーの作業については、コーディング エージェントにこのガイドのタスクを与え、`AGENTS.md`、`.ai/PROJECT_CONTEXT.md`、および一致する `.ai/` ミラーを読み取るように依頼します。ここで指定されている正確なソース ファイルを調べてください。ファイルをリストし、編集前にチェックします。ワークスペースの所有権とサーバーのみの秘密を保持します。そして差分を見せてください。必要な動作、入力フィールドと出力フィールド、許可されるロール、予想される成功とエラー、テスト アカウント、プロバイダー、またはデバイスを指定します。サンプル値を使用します。絶対に本当の秘密を貼り付けないでください。

[始める前に](https://supastack.dev/ja/docs/web/before-you-start.md)

【端末の基本】(/docs/web/terminal-basics)

[デスクトップローカルセットアップ](https://supastack.dev/ja/docs/desktop/ship-in-5-minutes.md)

[エージェント プロンプトとプロジェクト メモリ](https://supastack.dev/ja/docs/web/agents.md)

```
# Monorepo: start the web app and desktop shell together
corepack pnpm dev:desktop

# Desktop-only checkout: start Tauri after a web backend is already reachable
corepack pnpm --filter @supastack/desktop dev
```


## Rustでシェルの動作を維持する

`src-tauri/src/lib.rs` は、1200×800 のメイン Web ビュー ウィンドウを作成します。閉じるとトレイに隠れます。出口をやめる。ネイティブ メニューには、ホーム/戻る/進む/リロード、ズーム/全画面、およびウィンドウのアクションが用意されています。ウィンドウ状態の復元では、サイズ/位置が保持されます。


## リンクを処理して召喚する

シェルは `supastack://` ルートを受け入れ、正確に構成された HTTP(S) アプリのオリジンに対してそれらを解決します。たとえば、`supastack:///settings/appearance?preview=1#main` は `/workspace/settings?tab=billing#plans` になります。 `supastack:///auth/callback?code=...` は `/auth/callback?code=...` にマップされます。クエリ文字列とフラグメントは保持されます。

スタートアップ リンクは、最初のウィンドウが表示される前に適用されます。 macOS ランタイム リンクは Tauri の `on_open_url` を使用します。 Windows および Linux の 2 番目のインスタンスの引数は、`deep-link` 機能が有効になっている単一インスタンス コールバックを使用します。有効なリンクは、既存のウィンドウにフォーカスして移動します。

正確に構成されたスキーム、ホスト、および有効なポートを持つ資格情報不要の HTTP(S) リンクのみがシェルに残ります。認証情報不要の HTTP(S)、`mailto:`、および `tel:` リンクは外部に開くことができます。不正なリンク、認証情報、サポートされていないスキーム、カスタム リンク上のポート、およびトラバーサルの試みは拒否されます。構成されたバックエンド URL も資格情報を拒否し、次の有効/デフォルトのオリジンにフォールバックします。

```
SUPASTACK_APP_URL=https://your-app.example
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space

supastack:///settings/appearance?preview=1#main
# Opens https://your-app.example/workspace/settings?tab=billing#plans
```


## プラットフォーム固有の動作を確認する

挿入されたオフライン オーバーレイは、再試行を提供し、オンラインで非表示にし、Web アプリをリロードします。すべてのターゲット OS でフォ​​ーカス、ショートカット、メニュー ズーム、トレイ、ディープリンクの呼び出しをテストします。ユニット URL チェックだけでは、これらのネイティブ インタラクションを証明することはできません。

【デスクトップ受付】(/docs/desktop/release)


## インストールとセットアップ

ワークスペースの依存関係と Rust ツールチェーンに加えて、Tauri の OS ごとの前提条件をインストールします (WebView2 は Windows に同梱されています。macOS と Linux には文書化されたパッケージが必要です)。 corepack pnpm --filter @supastack/desktop dev は tauri dev を実行します。Rust コアをビルドし、プレースホルダー UI を表示し、解決されたアプリ URL をロードします。

実行時SUPASTACK_APP_URLを優先し、次にbuild時の値を使います。資格情報のないHTTP(S)だけを受け付け、無効なら次の候補を試します。SUPASTACK_DESKTOP_HOTKEYはCmdOrCtrl+Shift+Spaceを上書きします。無効値は既定値に戻り、起動を妨げません。

```
corepack pnpm --filter @supastack/desktop dev
corepack pnpm --filter @supastack/desktop typecheck

SUPASTACK_APP_URL=https://app.example.com \
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space \
corepack pnpm --filter @supastack/desktop dev
```


## 実装ワークフロー

メインwindowはschemeとportを含む設定済みorigin完全一致の範囲だけを移動します。資格情報のないHTTP(S)、mailto、telはシステムbrowserで開けます。それ以外のschemeはキャンセルします。

登録済みsupastack:// linkはpath、query、fragmentを設定済みapp originへ対応付けます。初回起動、platformのopen-url event、second-instance callbackは同じ検証を使い、別hostへのredirectを防ぎます。

trayとglobal shortcutで唯一のメインwindowを表示・フォーカスします。登録できない場合は別のアプリがshortcutを使っている可能性があります。SUPASTACK_DESKTOP_HOTKEYを変更してください。


## 検証とトラブルシューティング

src-tauri変更後はpackage scriptでcargo checkとcargo testを実行します。origin一致、許可された外部URL、設定済みoriginに留まるsupastack:// link、tray、hotkey、再起動後のログイン状態を確認してください。


設定を続けるには、[デスクトップリリースアカウントを作成する](https://supastack.dev/ja/docs/desktop/external-accounts.md)をご覧ください。


## 次へ

[デスクトップリリースアカウントを作成する](https://supastack.dev/ja/docs/desktop/external-accounts.md)
