Skip to main content
Devin は、ビルドおよびセッションのプラットフォームとして Windows をサポートしています。デフォルトでは、Windows 環境では Linux と同じ bash シェル (Git Bash) を利用するため、ほとんどのブループリントのコマンドは両方のプラットフォームでそのまま動作します。ブループリントでは、Windows のセットアップステップを PowerShell で実行することもできます。
Windows サポートは現在、限定提供です。Devin で Windows を試してみたい場合は、詳細の確認とアクセス権の取得について、お問い合わせください。

仕組み

Windows サポートは、Linux と同じ宣言的構成システムに基づいています。主な違いはブループリントの runs-on フィールドで、ここで Devin がどのプラットフォームでビルドと実行を行うかを指定します。任意の shell フィールドを指定すると、Windows ブロックの run ステップを Git Bash ではなく Windows PowerShell で実行できます。 どちらのプラットフォームでもデフォルトで bash を利用するため、Linux と Windows で同じシェルコマンドを記述できます。主な違いは、ファイルシステムの構成と利用可能なパッケージマネージャーです。

Windows 用ブループリントの作成

単一プラットフォーム用ブループリント

リポジトリが Windows のみを対象とする場合は、トップレベルで runs-on: windows を利用します。

マルチプラットフォームのブループリント

同じリポジトリを Linux と Windows の両方でビルドするには、各プラットフォームを --- で区切られた個別の YAML ドキュメントとして記述します。各ドキュメントで、それぞれ独自の runs-on ラベルを指定します。この形式の背景については、ブループリントガイドの Multi-document YAML のコールアウトを参照してください。
各ドキュメントごとに、そのプラットフォーム用の個別のスナップショットのビルドが生成されます。セッションはプラットフォーム固有のスナップショットから起動します。
最上位の YAML は、シーケンスではなくマッピングである必要があります。上記の例を単一のリスト (- runs-on: default / - runs-on: windows) として記述すると、バックエンドで Invalid YAML: each YAML document must be a mapping, not a sequence; use '---' to separate multiple blocks として拒否されます。上記の --- 区切りを利用してください。

runs-on フィールド

runs-on フィールドは、アカウントに登録されているマシン構成に対応します。 runs-on は、文字列またはリストで指定できます。
ブロックに複数のプラットフォームが列挙されている場合、ビルドシステムは同じコマンドを使って、各プラットフォームごとに1つのスナップショットを作成します。
リスト構文では、リスト内のすべてのプラットフォームで同一のコマンドが実行されます。コマンドが真にクロスプラットフォーム対応である場合にのみ利用してください (例: npm install、uv sync) 。プラットフォーム固有のコマンド (Linux の apt-get や Windows の choco など) には、代わりに マルチドキュメント形式 を利用してください。プラットフォームごとに1つのドキュメントを使用し、--- で区切ります。

shell フィールド

デフォルトでは、Windows 上のブロックの run ステップは Git Bash で実行されます。代わりにネイティブの PowerShell コマンドレット、構文、Windows パスを使ってセットアップステップを記述するには、任意のトップレベルフィールド shell を powershell に設定します:
この設定はブロック単位で適用されます。マルチプラットフォームのブループリントでは、shell: powershell を runs-on: windows のドキュメントにのみ設定し、Linux のドキュメントでは引き続き bash が使われるようにしてください。この設定が影響するのはビルド手順だけで、Windows のセッションでは引き続き Git Bash がデフォルトのシェルになります。指定可能な値、シークレットと環境変数を PowerShell の手順に渡す仕組み、エラー処理については、ブループリントリファレンスの shell を参照してください。

使用量とコスト

Windows セッションでは、同等の Linux セッションと比べて、使用量 (ACU または利用枠) を約 9%多く 消費します。使用量の計測方法について詳しくは、使用量を参照してください。

Windows セッションの動作

Shell

Windowsセッションでは、デフォルトのシェルとして Git Bash を使用します。これは Linux で使われているものと同じ bash シェルです。ブロックで shell: powershell が設定されていない限り、ブループリントの run ステップも Git Bash で実行されるため、標準的な bash 構文は、どちらのプラットフォームでもそのまま使えます。

パス

Git Bash では POSIX 形式のパス (C:\... ではなく /c/...) を利用します:
一方、shell: powershell ブロック内のステップでは、Windows ネイティブのパスを利用します:

シークレット

セッション中は、標準的な bash 構文 ($SECRET_NAME) でシークレットを環境変数として利用できます。

添付ファイル

Windows では、アップロードされたファイルは /home/ubuntu/.files/ ではなく、/c/Users/Administrator/.files/ に書き込まれます。

Computer Use

Computer Use は、Windows セッションで完全にサポートされています。Devin は、Chrome、マウス、キーボードを利用できる Windows デスクトップ環境を備えているため、Web アプリに加え、Windows ネイティブのデスクトップアプリケーション (例: WPF や WinForms アプリ) もテストし、そのテスト セッションを記録できます。

Windows 用ブループリントのヒント

ツールのインストール

choco (Chocolatey) または直接ダウンロード用のスクリプトを利用します:

よくあるパターン

.NET プロジェクト:
Visual Studio / C++ プロジェクト: