これは備忘録です
使用したコードやサイトのリンクと手順、途中引っかかった点を記録します
Devin・OpenHandsとは
Devin
- 自律型AIソフトウェアエンジニア
- 自然言語での指示に基づき、タスクの計画、コードの作成、デバッグ、テスト、実装までを自律的に行う
- slack 等と連携でき、そちらから指示が可能
- 最低約500ドルから利用可能
OpenHands
- Devinのオープンソース代替(旧称:OpenDevin)
- 導入は Docker を使用して比較的簡単に行える
- 任意のAIモデルを選択可能
Devin が話題になっているのでぜひ触ってみたいのですが、ためそう!でポンと出せる金額ではないので今回はジェネリックDevinである OpenHnads を自宅で動かしているサーバーに立ててみようとおもいます!
環境
i-icc@pc-name:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Docker は既にインストール済みです。
未インストールの場合はこちらの手順に従いインストール
OpenHandsを立てる
https://github.com/All-Hands-AI/OpenHands に記載されている Quikc Start をそのまま実行します。
しかし、ポート 3000 はもう使っているので3001を使用します。
また、ホームディレクトリ直下におくのがなんとなく嫌なので ai-dir という AI 用のディレクトリを用意してそこに配置します。
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.26-nikolaik
docker run -d --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.26-nikolaik\
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/ai-dir/openhands-state:/.openhands-state \
-p 3001:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.26
イメージは適宜適切なバージョンを使用してください。
http://localhost:3001/
へアクセスしたら表示されました。

API Keyの発行
では次に、AI の API Key を入力します。とりあえずお試しで動かしたいので、Claude に数ドル入れて試してみます
APIコンソールを開いて、API keys > Billing
からクレジットを購入します。私はとりあえず $5 買いました。
(子供時代に$1は¥100だよと教えられたのでその感覚がどうしても抜けません...高い...)
クレジットを購入したら API keys
を開き + Create Key
を押して新しいキーを発行します。
発行できたら OpenHands を開き、Provider と LLM Model を選択して Key を入力して Save します。
Claude3.7sonnet は話題ですが値段が高いので、一旦 3.5Haiku を選択します。後から自由に変更することも可能です!
続いて設定を開き、Githubのトークンも設定して、言語を日本語に変えておきます。
Githubトークンは here をクリックしたら発行ページへ飛ぶことができるのでそちらをおしてください。
実行
新規プロジェクト
からホーム画面を開き、リポジトリを開くからOpenHnadsを利用したいリポジトリを選択て開きます。
トラブルシューティング
プロンプトを実際に送信しようとしたら、なぜか送信することができません。
左下に表示されるステータスが Waiting for client to become ready…
で止まり、タイムアウトエラーになってしまいました。
https://github.com/All-Hands-AI/OpenHands/issues/5968 こちらと同じような現象
私の場合はファイアーウォールが原因だったので、一時的に停止して動作確認を続けます。
停止する際はリスクを理解した上での実行してください
プロジェクトの要約をしてもらう
今回は、個人開発をする上でおざなりにしてしまっていた、ディレクトリ構成や解説をまとめてもらい Readme に記載してもらいます。
プロジェクトを読み込んでディレクトリ構成の説明と解説を Readme に追記してください
しばらく待つと下の日常をアスキーアートで残すアプリ、AAgramのディレクトリ構成とそれぞれがどのような責務を追っているかをまとめて Readme に記載してくれました!
PR を作成する選択肢が上がってきたので、こちらを押すだけで作成してくれます。
いいですね。
ちなみに、これらのPRを提出するまでにかかった費用は $0.02 でした。安い!
最後に
今回は実際にプログラミングはしてもらっていませんがPRまで自立して立ててくれるのはとても便利に感じました。
今後、いろいろ触ってみたらまた備忘録を書こうかとおもいます。
可能なら本家 Devin で slack 連携ができるように、OpenDevin も Discord なりで指示したいですね......!!
下のようなシンプルなポモドーロタイマーなども作成していますので、こちらを使ってコーディングに集中されてはいかがでしょうか?