Skip to main content
このドキュメントは Devin の連邦政府向け導入環境を対象としています。Devin ドキュメントに戻る
エアギャップ化された Devin Desktop および Devin CLI の build では、クラウドへのログインは行いません。アクセスは署名付きライセンスファイルによって制御され、製品は起動するたびにこのファイルを完全にオフラインで検証します。各ライセンスはポータルからシート保有者 1 人に対して発行され、あなたの Team が持つエアギャップ環境向けエンタイトルメントのシートを 1 つ消費します。

ライセンスの配置場所

同梱の Desktop エージェントとスタンドアロンの CLI は、同じファイルを読み込みます。初回起動前にインストールしてください。詳しくは インストール → ステップ 4 を参照してください。Desktop ユーザーは Devin の設定からライセンスをインストールすることもできます。その場合、同梱のエージェントがファイルをオフラインで検証します。他のユーザーが所有するファイルは上書きせず、インストール時には license_installed 監査イベントを記録します。Windows では、ライセンスファイルの所有者が管理者の場合、標準ユーザーは Desktop からファイルを置き換えられません (インストールは LIC001 で拒否されます)。置き換えられるのは管理者のみです。ファイルを配置する前に、C:\ProgramData\Devin\ へのアクセスを制限してください。

ポータルからライセンスを発行する

  1. ポータルにサインインし、Team ページを開きます。Air-gapped licenses セクションには、使用中のシート数、エンタイトルメント期間、デフォルトのライセンス期間が表示されます。
  2. Generate license をクリックします。
  3. ラベル (例えばホスト名やユーザー名) 、担当者のメールアドレス、期間 (日数) を入力します。期間の初期値はエンタイトルメントのデフォルト値で、エンタイトルメントの最大値とエンタイトルメント期間の終了日のいずれも超えることはできません。レビューのステップでは、有効期限の予定日が表示されます。
  4. 確定します。ポータルに License generated と表示され、Download license file が利用可能になります。ダウンロードされるのは署名済みの .devin-onprem-license ファイルです。承認済みのメディア転送手順に従って、エアギャップ化されたホストに転送してください。
Issued licenses テーブルには、すべてのライセンスがステータス (Active、Expiring soon、Expired、Revoked) とともに一覧表示されます。アクティブなライセンスは、このテーブルから再ダウンロードできます。ライセンスの失効や再発行、およびすべてのシートが使用中になった場合のシートの解放は、サポートチームが対応します。

ファイルの内容

このファイルは、コンパクト形式 (header.payload.signature) の単一の JSON Web Token で、EdDSA (Ed25519) で署名されています。ヘッダーの kid は、署名に使用された公開キーを示します。製品にはすべての環境の公開キーが同梱されているため、検証時に外部から何かを取得することはありません。クレームは次のとおりです。 検証では、kid で選択された組み込みキーによる署名、nbf/exp の有効期間 (前後それぞれ 24 時間のクロックスキューを許容) 、および product クレームがチェックされます。

ライセンスを確認する

キー ID をチェックする

JWT ヘッダーをデコードして kid を読み取ります。次のワンライナーは Linux と macOS の両方で動作します。macOS に同梱されている BSD 版の base64 は、パディングのない入力を警告なしに切り捨ててしまうため、base64url を base64 に変換したうえでパディングを付加しています。
期待される値: kid が異なる場合や結果が空の場合は、そのファイルがこの製品向けに発行されたライセンスではないか、転送中に破損している可能性があります。

シート、アカウント、有効期限をチェックする

devin auth status はライセンスが存在しない場合や無効な場合でも動作するため、問題の診断に利用できます。
Identity はローカルのアトリビューション用アイデンティティ (OS のユーザー名と git config user.email の組み合わせ) です。これは監査ログに記録され、ライセンスとは関係ありません。ファイルを検証できない場合は、最終行が License: INVALID — LIC00X: <reason> になります。 devin airgap doctor の license チェックでも同じシート、アカウント、有効期限が表示され、有効期限まで 30 日を切ると warn に変わります。

起動時と再検証の動作

  • CLI は起動のたびにライセンスを検証し、stderr に次の 1 行を出力します。
    ライセンスの有効期限まで 30 日を切っている場合は、続けて Warning: license expires in N day(s) という行が出力されます。
  • 長時間実行されるプロセス (Desktop にバンドルされたエージェントや CLI REPL) は、新しいセッションまたはターンを開始する前にファイルを再検証します。再検証の頻度は最大で 1 時間に 1 回です。実行中の作業が中断されることはありません。
  • 有効期限切れから 24 時間を超えたライセンスでは、新しいセッションやターンを開始できなくなります。Desktop では、チャットパネルに ACP エラー -32019 license_invalid が表示されます。LIC00X で示される具体的な原因は、View → Output → Devin ACP で確認できます。
  • 検証の失敗はキャッシュされません。更新したファイルをインストールすれば、再起動しなくても次のターンから反映されます。
  • ホストを修復できるよう、次のコマンドは有効なライセンスがなくても実行できます: devin auth status、devin airgap doctor、devin doctor、devin diagnostics、devin models validate、devin version。

ライセンスを更新または差し替える

  1. ポータルから、同じシート保有者向けに新しいライセンスを生成します (上記参照) 。そのシートがすでに使用中の場合は、先にサポートチームへ古いライセンスの失効を依頼してください。
  2. 新しいファイルで /etc/devin/license.devin-onprem-license (または DEVIN_LICENSE_FILE で指定したパス) にある既存のファイルを上書きします。ファイルの所有者は Devin を実行するアカウントのままにするか、所有者を root にしたうえでそのアカウントに読み取り権限を付与してください。Windows でのデフォルトのパスは C:\ProgramData\Devin\license.devin-onprem-license です。管理者権限で開いたセッションからファイルを差し替えてください。
  3. 確認します:
再起動は不要です。新しいファイルは次のセッションまたはターンから読み込まれます。

エラーコード

ライセンス関連の失敗はすべて LIC00X: <message> の形式で出力され、続けてチェック対象のパスとその上書き方法が表示されます。 すべての名前空間を網羅したエラーコードのカタログは、エラーコード を参照してください。