> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# エアギャップ化された Devin Desktop のインストール

> ポータルからエアギャップ化された Devin Desktop バンドルをダウンロードし、SHA-256 チェックサムを検証したうえで、macOS、Linux、または Windows にインストールしてヘルスチェックを実行します。

> [!NOTE]
>
> このドキュメントは Devin の連邦政府向け導入環境を対象としています。[Devin ドキュメントに戻る](/ja/get-started/devin-intro)

このページでは、エアギャップ化された Devin Desktop バンドル (エアギャップ化された Devin CLI を同梱) を初めてインストールする手順を説明します。まず 1 台のワークステーションでインストールを完了し、その後、承認済みのメディア運用手順に従って、管理対象のすべての端末に同様にインストールしてください。

## 始める前に

* **アクティブなオンプレミス利用権を持つ Team の承認済みメンバー**としてポータルにサインインしていること。利用権がない場合、エアギャップ環境向けのダウンロードページに利用資格がない旨が表示されます。その場合はアカウント担当チームにお問い合わせください。
* すべてのホストで初回起動前に必要となる次の 2 つのファイルを準備済みであるか、すぐに準備できる状態であること:
  * ポータルから発行される **ライセンスファイル**([ライセンス](/ja/federal/air-gapped/license)を参照)
  * モデルのエンドポイントを記述した **モデルファイル**([モデルファイル](/ja/federal/air-gapped/models-file)を参照)
* 対象ホストがサポート対象のプラットフォームで動作していること: macOS(Apple silicon または Intel)、Linux(x86\_64 または aarch64)、Windows(x64 または arm64)。

## ステップ 1: ポータルからバンドルをダウンロードする

1. ポータルで **Install → Air-gapped downloads** ([`windsurf.fedstart.com/install/airgap`](https://windsurf.fedstart.com/install/airgap)) を開きます。

2. 対象プラットフォーム向けの **Devin Desktop** インストーラーを選択します。このページには、プラットフォームと形式ごとに 1 つずつパッケージが一覧表示されます。

   | プラットフォーム | 形式 |
   | - | - |
   | macOS、Apple silicon | `.dmg` |
   | macOS、Intel | `.dmg` |
   | Linux x64 | `.deb`、`.rpm`、`.tar.gz` |
   | Linux arm64 | `.deb`、`.rpm`、`.tar.gz` |
   | Windows x64 | `.exe` (システムインストーラー) 、`.zip` |
   | Windows arm64 | `.exe` (システムインストーラー) 、`.zip` |

   Windows 用のファイル名は `DevinSetup-<arch>-<version>.exe` および `Devin-win32-<arch>-<version>.zip` です (`<arch>` は `x64` または `arm64`) 。インストーラーはすべてのユーザーを対象にインストールします。ユーザーごとのインストーラーはありません。

3. ページ上でファイルの横に表示される **SHA-256** チェックサムを控えておきます (**Show checksum** で表示できます) 。転送後にこの値と照合します。

4. 承認済みのメディア運用手順に従って、ファイルをエアギャップ環境へ転送します。

同じページでは、ほかに 2 種類のダウンロードも提供されています。いずれも個別の SHA-256 チェックサムが付いています。

| ダウンロード | ファイル | 目的 |
| - | - | - |
| **Desktop tunnel CLI** | `Devin-cli-linux-x64-<version>.tar.gz`, `Devin-cli-linux-arm64-<version>.tar.gz` | SSH 経由で Desktop をリモートホストに接続するための、スタンドアロンのコマンドライントンネル `devin-desktop-airgap` です。ワークステーションではなく、リモートマシンにインストールしてください。 |
| **Remote extension host** | `devin-reh-linux-<arch>-<version>.tar.gz`, `devin-reh-darwin-<arch>-<version>.tar.gz` | Desktop が SSH 接続先にインストールするサーバーコンポーネントです。ホスト自身で取得できない場合に備えて、事前に配置しておきます。 |

Devin *agent* CLI (`devin`) は、これらのダウンロードには含まれていません。すべての Desktop パッケージに同梱されています ([ステップ 5](#step-5-locate-the-bundled-cli) を参照) 。

## ステップ 2: チェックサムを検証する

対象ホスト上で(またはエアギャップを越えて持ち込む前に)、ダウンロードしたファイルの SHA-256 を計算し、ポータルに表示されている値と照合します。

**macOS**

```sh theme={null}
shasum -a 256 Devin-darwin-arm64-<version>.dmg
```

```text theme={null}
3f6c…e21a  Devin-darwin-arm64-<version>.dmg
```

**Linux**

```sh theme={null}
sha256sum Devin-linux-x64-<version>.deb
```

```text theme={null}
3f6c…e21a  Devin-linux-x64-<version>.deb
```

**Windows**

```powershell theme={null}
Get-FileHash -Algorithm SHA256 .\DevinSetup-x64-<version>.exe
```

`Hash` の値がポータルページのチェックサムと一致している必要があります。`Get-FileHash` は値を大文字で出力するため、大文字・小文字を区別せずに比較してください。

1 列目の値は、ポータルページのチェックサムと完全に一致している必要があります。一致しない場合は、ファイルを破棄してダウンロードし直してください。

## ステップ 3: インストール

**macOS**

1. `.dmg` を開き、**Devin - Airgap** を `/Applications` にドラッグします。
2. 初回起動の前に、コード署名と公証を検証します:

   ```sh theme={null}
   spctl --assess --type execute --verbose "/Applications/Devin - Airgap.app"
   codesign --verify --deep --strict "/Applications/Devin - Airgap.app"
   ```

   ```text theme={null}
   /Applications/Devin - Airgap.app: accepted
   source=Notarized Developer ID
   ```

   署名が損なわれていなければ、`spctl` は `accepted` を出力し、`codesign --verify` は何も出力せずに `0` で終了します。`rejected` や `code object is not signed at all` が出力された場合は、転送中にバンドルが改変されています。そのバンドルは破棄し、ステップ 1 からやり直してください。

**Linux (.deb / .rpm)**

```sh theme={null}
sudo dpkg -i Devin-linux-x64-<version>.deb   # Debian/Ubuntu
sudo rpm -i Devin-linux-x64-<version>.rpm    # RHEL/Fedora
```

エアギャップ化された build 向けの apt / yum リポジトリは提供されていません。インストールとアップグレードは、パッケージファイルから直接行ってください。

**Linux (.tar.gz)**

```sh theme={null}
sudo tar -xzf Devin-linux-x64-<version>.tar.gz -C /opt
```

ランチャーは `/opt/Devin-linux-x64/bin/devin-airgap` です。

**Windows (インストーラー)**

1. インストーラーを実行する前に、Authenticode 署名を検証します:

   ```powershell theme={null}
   Get-AuthenticodeSignature .\DevinSetup-x64-<version>.exe | Format-List Status, SignerCertificate
   ```

   `Status` が `Valid` であり、署名者証明書の発行先が `Exafunction, Inc.` であることを確認してください。Windows SDK がインストールされている場合は、`signtool verify /pa .\DevinSetup-x64-<version>.exe` でも同じチェックを行えます。それ以外のステータスが表示された場合は、転送中にファイルが改変されています。そのファイルは破棄し、ステップ 1 からやり直してください。
2. `DevinSetup-x64-<version>.exe` を管理者として実行します。インストーラーは管理者権限で実行され、**Devin - Airgap** を全ユーザー向けに `C:\Program Files\Devin Airgap\` へインストールします。

インストーラーは設定フォルダの作成や保護を行いません。これらは [ステップ 4](#windows-lock-down-the-configuration-folder) で行ってください。Windows のアンインストール一覧には **Devin Airgap** という名前で表示されます。

**Windows (.zip)**

`Devin-win32-x64-<version>.zip` を任意のフォルダに展開し、そこから Desktop を実行します。それ以外には何もインストールされません。インストーラーの場合と同様に、展開した実行ファイルの Authenticode 署名を `Get-AuthenticodeSignature` で検証してください。`Status` が `Valid` で、署名者が `Exafunction, Inc.` であることを確認します。

[ステップ 4](#windows-lock-down-the-configuration-folder) のフォルダのロックダウンは、zip でインストールした場合にも適用されます。

Linux では、ステップ 2 の SHA-256 の照合が検証ステップとなります。パッケージに個別の署名ファイルは付属していません。

## ステップ 4: ライセンスファイルとモデルファイルを配置する

スタンドアロンの CLI と Desktop にバンドルされたエージェントは、どちらも同じ 2 つのファイルを読み込みます。これらのファイルをデフォルトのパスに配置すれば、環境変数を設定する必要はありません。

| ファイル | デフォルトのパス | 上書き用の環境変数 |
| - | - | - |
| ライセンス | `/etc/devin/license.devin-onprem-license` | `DEVIN_LICENSE_FILE` |
| モデルファイル | `/etc/devin/models.json` | `DEVIN_MODELS_FILE` |

Windows のデフォルトのディレクトリは `C:\ProgramData\Devin\` です。上書き用の環境変数は同じです。

| ファイル | デフォルトのパス (Windows) | 上書き用の環境変数 |
| - | - | - |
| ライセンス | `C:\ProgramData\Devin\license.devin-onprem-license` | `DEVIN_LICENSE_FILE` |
| モデルファイル | `C:\ProgramData\Devin\models.json` | `DEVIN_MODELS_FILE` |

### Windows: 設定フォルダをロックダウンする

Windows では、インストーラーと zip のどちらを使う場合もこのステップが必須です。インストーラーはこの処理を自動では行いません。デフォルトでは、標準ユーザーは `C:\ProgramData` 配下に新規作成されたフォルダ内にファイルを作成できます。そのため、ロックダウンを行わないと、管理者より先に一般ユーザーが `models.json`(またはライセンスファイルや認証ファイル)を作成し、そのファイルの制御権を握り続けるおそれがあります。

**ファイルを配置する前に**、管理者権限で起動した PowerShell セッションでフォルダを作成し、SYSTEM と Administrators にフルコントロールを、標準ユーザーには読み取り権限のみを付与するようアクセス権を制限します:

```powershell theme={null}
New-Item -ItemType Directory -Force C:\ProgramData\Devin
icacls C:\ProgramData\Devin /inheritance:r /grant:r "*S-1-5-18:(OI)(CI)(F)" "*S-1-5-32-544:(OI)(CI)(F)" "*S-1-5-32-545:(OI)(CI)(RX)"
```

`C:\ProgramData\Devin\` がすでに存在していた場合は、上記のコマンドだけでは不十分です。標準ユーザーが以前にこのフォルダ内に作成したものは引き続きそのユーザーの所有となり、別のユーザーやグループに対してフォルダに明示的に付与された権限もそのまま残ります。上記のコマンドに続けて、以下のコマンドも記載の順序で実行してください。これにより、フォルダとその中身の所有権が Administrators に移り、フォルダの明示的な権限がすべて削除され、ロックダウンが再適用されたうえで、中身の権限がリセットされてフォルダの権限を継承するようになります：

```powershell theme={null}
icacls C:\ProgramData\Devin /setowner "*S-1-5-32-544" /T /C
icacls C:\ProgramData\Devin /reset
icacls C:\ProgramData\Devin /inheritance:r /grant:r "*S-1-5-18:(OI)(CI)(F)" "*S-1-5-32-544:(OI)(CI)(F)" "*S-1-5-32-545:(OI)(CI)(RX)"
icacls C:\ProgramData\Devin\* /reset /T /C
```

結果を確認します。上記のいずれのコマンドでも、ファイルやフォルダに関するエラーメッセージが表示されていないことを確認してください。`/C` を指定すると、`icacls` は変更できなかった項目があってもスキップして処理を続行します。そのため、エラーが表示された場合は、その項目の所有者または権限が変更されずに残っています。次に、フォルダとその中のすべての項目の権限を一覧表示します。

```powershell theme={null}
icacls C:\ProgramData\Devin /T
```

フォルダ自体 (`C:\ProgramData\Devin`) には、`NT AUTHORITY\SYSTEM:(OI)(CI)(F)`、`BUILTIN\Administrators:(OI)(CI)(F)`、`BUILTIN\Users:(OI)(CI)(RX)` の3つの項目だけが表示され、いずれにも `(I)` が付いていない必要があります。フォルダ内のすべてのファイルとサブフォルダには、これと同じ3つのユーザーおよびグループだけが表示され、それ以外は含まれていない必要があります。また、これらはフォルダから継承されたものであるため、それぞれに `(I)` が付いている必要があります。ファイルの場合は `NT AUTHORITY\SYSTEM:(I)(F)`、`BUILTIN\Administrators:(I)(F)`、`BUILTIN\Users:(I)(RX)` となります。他のユーザーやグループがどこかに表示されている場合、フォルダの項目に `(I)` が付いている場合、またはファイルやサブフォルダの項目に `(I)` が付いていない場合は、ロックダウンが有効になっていません。既存フォルダ向けのコマンドをもう一度実行してください。

次に、同じ管理者権限のセッションで、ライセンスファイルとモデルファイルをフォルダにコピーします。

各モデル項目では、APIキーを格納する環境変数 (`api_key.env`) を指定します。この変数は、エージェントを実行するプロセスの環境で設定されている必要があります。Desktopに同梱されたエージェントは、シェルではなく **Desktop アプリ**の環境を継承します。Desktopへの設定方法については、[モデルファイル → APIキーの環境変数](/ja/federal/air-gapped/models-file#api-key-environment-variables) を参照してください。

## ステップ 5: バンドルされた CLI を見つける

Devin agent CLI はすべての Desktop パッケージに同梱されており、Desktop と同じリリースコミットからビルドされるため、両者のバージョンが食い違うことはありません。

| プラットフォーム | パッケージ内のパス |
| - | - |
| macOS | `/Applications/Devin - Airgap.app/Contents/Resources/app/extensions/windsurf/devin/bin/devin` |
| Linux | `<install root>/resources/app/extensions/windsurf/devin/bin/devin` |
| Windows | `<install root>\resources\app\extensions\windsurf\devin\bin\devin.exe` (`<install root>` は、インストーラーを利用した場合は `C:\Program Files\Devin Airgap`、zip を利用した場合は展開先のフォルダ) |

このガイドに登場する `devin …` コマンドはこのバイナリで実行するか、バイナリを `PATH` に追加してください。次のコマンドでバージョンを確認します:

```sh theme={null}
"/Applications/Devin - Airgap.app/Contents/Resources/app/extensions/windsurf/devin/bin/devin" --version
```

```text theme={null}
devin-federal <version>+airgap.<sha>
```

## ステップ 6: ヘルスチェックを実行する

エージェントの実行時と同じ環境 (特に、モデルファイルで指定されている API キーの環境変数) が設定されたシェルで、次のコマンドを実行します:

```sh theme={null}
devin airgap doctor
```

```text theme={null}
pass  license                                seat alice@example.gov (account acme), expires 2027-03-01
pass  models file path                       /etc/devin/models.json
pass  config dir writable                    /home/alice/.config/devin/cli-federal
pass  data dir writable                      /home/alice/.local/share/devin/cli-federal
pass  CA bundle                              not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA)
pass  models file parse                      1 model(s) configured
pass  model 'llama-3.3-70b': API key env var  LOCAL_LLAMA_API_KEY is set
pass  custom subagent profiles               none configured
pass  model 'llama-3.3-70b': endpoint reachability  GET https://models.internal:8000/v1/models -> 200 OK
pass  model 'llama-3.3-70b': inference conformance  POST https://models.internal:8000/v1/chat/completions -> 200 OK (412 ms)

10 check(s): 10 passed, 0 warning(s), 0 failure(s)
```

このコマンドは、失敗したチェックが1つもない場合にのみ終了コード `0` を返します。各 `FAIL` 行には `CFG002` や `NET003` などのエラーコードが付きます。[エラーコード](/ja/federal/air-gapped/error-codes)で該当するコードを調べ、[トラブルシューティング](/ja/federal/air-gapped/troubleshooting)のランブックに従って対処してください。

## ステップ 7: 初回起動

**macOS**

インストールしたアプリを明示的なパスを指定して起動します:

```sh theme={null}
open "/Applications/Devin - Airgap.app"
```

`open -a "Devin - Airgap"` は使用しないでください。このコマンドは LaunchServices 経由で名前を解決するため、検証したものとは別のコピー (マウントされた `.dmg` や古いインストールなど) が起動される可能性があります。

**Linux**

パッケージでインストールされたランチャーを起動します。tarball でインストールした場合は `/opt/Devin-linux-x64/bin/devin-airgap` を実行します。

**Windows**

インストールした **Devin - Airgap** アプリを起動します。zip でインストールした場合は、展開したフォルダからアプリケーションを実行します。

ライセンスが存在しないか無効な場合でも Desktop 自体は起動しますが、同梱のエージェントが動作せず、チャットパネルに ACP エラー `-32019 license_invalid` が表示されます。**View → Output → Devin ACP** を開いて `LIC00X` の行を確認したうえで、[ライセンス](/ja/federal/air-gapped/license#error-codes)を参照してください。

## 次のステップ

* デプロイでユーザーのログインが必要な場合は、SSO (シングルサインオン) を設定します：[SSO](/ja/federal/air-gapped/sso)
* エンドポイントで内部証明書を利用している場合は、プライベートCAを追加します：[ネットワークと証明書](/ja/federal/air-gapped/network-and-certificates)
* 製品が状態を書き込む場所と、監査ログの取り込み方法を確認します：[ディスク上のフォーマット](/ja/federal/air-gapped/on-disk-formats)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.