0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Devin に Namespace の macOS 環境(Outposts)をセットアップさせてみた

0
Posted at

以前 Namespace の Devin 連携(Outposts)で構築した macOS 環境が原因不明の不調に陥ってしまったため、クリーンな環境を一から新しくセットアップし直すことにしました。

セットアップ結果の Devin 画面

Devin 標準の実行環境は Linux VM ですが、iOS アプリのビルドなど Apple Silicon の macOS が必要な場面があります。そうした外部インフラをワーカーとして繋ぎ込めるのが Outposts 機能です。

今回やってみて面白かったのは、セットアップ作業そのものを Devin に丸投げした 点です。不調な環境の再構築を手動でやるのも面倒だったので、Devin の VM 上で動くブラウザを Devin 自身に操作させ、Namespace と Devin のダッシュボードを行き来しながら設定を完了してもらいました。

前提条件

Devin に投げたプロンプト

指示の流れはシンプルです。

  1. 「Outposts で Namespace の macOS 環境を新規セットアップしたい。最短の手順を説明して」
  2. 「その最短手順をステップごとに実行して」

Namespace へのログイン情報は、Devin の Secrets 機能にあらかじめ登録しておき、「<シークレット名>、<シークレットパスワード>を使ってログインして」と伝えました。これで平文パスワードをチャットに流さないで済みます。

実際に Devin が進めた手順

1. Namespace へのログイン

Devin は自身の VM 内で Chrome を立ち上げ、cloud.namespace.so にアクセスしてログインを進めます。
パスワード入力欄には Secrets の環境変数をそのままタイプしてくれました(Devin 側の画面やログにも平文は表示されません)。2段階認証のプッシュ通知だけ手元のスマートフォンで承認すれば、問題なくログイン完了です。

ちょっとした Tips ですが、Devin の Desktop タブはホストマシンからのクリップボード貼り付けに対応していません。長いメールアドレスや認証情報は、チャット欄で送って Devin にタイプさせるのが一番楽でした。

2. Blueprint の作成(Namespace 側)

Devin が Namespace 側で Devbox のテンプレートとなる Blueprint を作成。
メニューの Devboxes → Blueprints →「New Blueprint」から「Devin」タイプを選択。

設定値は以下のように指定しました。

devin-macos.png

3. Devin との連携(Connect with Devin)

Blueprint 作成画面にある「Connect with Devin」ボタンを押すと、Devin 側の認証画面(app.devin.ai/outposts/connect?...)へ飛びます。
「Devin マシンを動かすための認証情報を Namespace と共有する」という警告を確認して承認。Namespace 側に戻って Blueprint を保存すれば設定は完了です。

作業が終わると、Devin の Settings → Environment → Outposts 一覧に namespace-devin-macos が追加されます。
従来のセルフホスト型ワーカーのように devin worker start などの常駐プロセスを手動で起動する必要はなく、ワーカーの起動・停止は Namespace 側がよしなに管理してくれます。

4. 動作確認

新規セッションを立ち上げ、プロンプト入力欄の設定アイコンから Virtual environment → Outposts → namespace-devin-macos を選択します。

次のプロンプトを投げてみました。

What is the OS version and flavor? Run sw_vers and uname -a.

数十秒ほどで Devbox が立ち上がり、以下の結果が返ってきました。

ProductName:    macOS
ProductVersion: 26.6.2
BuildVersion:   25G83
Darwin ... 25.6.0 ... RELEASE_ARM64_VMAPPLE arm64

Apple Silicon(ARM64)の macOS 環境で Devin が無事に動き始めました。

ハマりどころ:停止中 Devbox による枠の圧迫

全体としてスムーズに進みましたが、1点だけ「Waiting for outpost to provide a machine」のまま Devin が待機状態になって止まる場面がありました。

原因は Namespace 側の Devbox 同時実行上限(無料/基本枠の3台)の枯渇 です。
罠だったのは、停止(Stop)している Devbox も上限数としてカウントされる という仕様でした。過去に検証して停止したまま残っていた Devbox が3台あったため、新規マシンが起動できずに詰まっていたわけです。

面白かったのは、Devin がログからこの仕様と原因を自力で突き止め、「枠が埋まっているので、古い Devbox を削除してもよいですか?」とチャットで確認してきたことです。承諾の返事をすると、ダッシュボードから古い Devbox を自分で削除して枠を空けてくれました。

QAツールによる確認画面

なお、詰まっている間にキューに残っていた古い検証セッションはマシンの割り当てループから復帰できなかったため、セッションを停止して新しく作り直したところ、すぐに立ち上がりました。

やってみた所感

  • 導入がシンプル: Blueprint を作って Devin と認証連携し、セッション開始時に環境を選ぶだけで完了します。
  • ブラウザ操作のセットアップは Devin に任せると楽: ドキュメントを読みながらダッシュボードを行き来する作業は、Devin のブラウザ操作機能と Secrets の組み合わせに丸投げするのが一番手軽でした。
  • 動かない時は Devbox の台数上限を疑う: Namespace は停止中のマシンも同時実行枠を消費するため、マシンが払い出されない時はまずダッシュボードの整理から確認するのがおすすめです。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?