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?

OSS版 Devin「OpenHands」.vol1 〜自宅鯖で立てる話〜

Posted at

これは備忘録です
使用したコードやサイトのリンクと手順、途中引っかかった点を記録します

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/ へアクセスしたら表示されました。

image.png

[f:id:i-icc:20250228212021p:plain]立ててすぐの画面

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 を選択します。後から自由に変更することも可能です!

image.png

続いて設定を開き、Githubのトークンも設定して、言語を日本語に変えておきます。

Githubトークンは here をクリックしたら発行ページへ飛ぶことができるのでそちらをおしてください。

image.png

実行

新規プロジェクト からホーム画面を開き、リポジトリを開くからOpenHnadsを利用したいリポジトリを選択て開きます。

image.png

トラブルシューティング

プロンプトを実際に送信しようとしたら、なぜか送信することができません。
左下に表示されるステータスが Waiting for client to become ready… で止まり、タイムアウトエラーになってしまいました。

https://github.com/All-Hands-AI/OpenHands/issues/5968 こちらと同じような現象

image.png

私の場合はファイアーウォールが原因だったので、一時的に停止して動作確認を続けます。

停止する際はリスクを理解した上での実行してください

プロジェクトの要約をしてもらう

今回は、個人開発をする上でおざなりにしてしまっていた、ディレクトリ構成や解説をまとめてもらい Readme に記載してもらいます。

プロジェクトを読み込んでディレクトリ構成の説明と解説を Readme に追記してください

image.png

しばらく待つと下の日常をアスキーアートで残すアプリ、AAgramのディレクトリ構成とそれぞれがどのような責務を追っているかをまとめて Readme に記載してくれました!

PR を作成する選択肢が上がってきたので、こちらを押すだけで作成してくれます。
いいですね。

ちなみに、これらのPRを提出するまでにかかった費用は $0.02 でした。安い!

最後に

今回は実際にプログラミングはしてもらっていませんがPRまで自立して立ててくれるのはとても便利に感じました。

今後、いろいろ触ってみたらまた備忘録を書こうかとおもいます。

可能なら本家 Devin で slack 連携ができるように、OpenDevin も Discord なりで指示したいですね......!!

下のようなシンプルなポモドーロタイマーなども作成していますので、こちらを使ってコーディングに集中されてはいかがでしょうか?

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?