見出し画像

Devinの代替OSS OpenHandsを使ってみた

会社にDevinが導入されて、これ個人で使いてえ〜ってなったんだけど

↑こういうことしてくれるAIエージェントね

個人で使うには価格が高い。まず使い始めるのに500ドル(7.5万円)払わないといけなくて、この500ドルはデポジットみたいなもんなのね。
この500ドルで250ACU(1ACUは15分の作業で消費)がチャージされるから60時間以上作業すると追加で従量課金しないといけない

さすがに個人で契約するには高い。契約して使わせてくれた会社には感謝

というわけで Devin の代替 OSS の OpenHands を使ってみることにした。



使い方

手っ取り早く使う方法

立ち上げ

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.25-nikolaik

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.25-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.25

openhasds:0.25 runtume:0.25 はこれ書いているときの最新リリースバージョンのため、ちゃんとGitHub見に行って新しいやつ使ってください
openhands:main runtime:main にすれば最新コミットバージョンが使えます。

localhost:3000 でWebUIが立ち上がる

画像

設定開いてLLM プロバイダーのapi keyとGitHub Token設定したらもう使える。日本語化も可能。

一番パフォーマンスがいいのがClaude SonnetなんだけどAnthropic社公式から直接使うとapiリミットで止まりまくって時間がかかる

Tier あげるのだるいので OpenRouterからClaudeのapiを利用している。

画像

あとは作りたいアプリを指示するか、GitHubリポジトリを指定して指示すればやってくれる。

画像
h
画像


画像


推奨はやはりclaude sonnet なのだが、安いDeepSeekでめちゃくちゃ働かせたいですよね。

画像
https://docs.all-hands.dev/modules/usage/llms


というわけでDeepSeekも使ってみる。

同じようにポケモン図鑑を作らせたのだが

画像

クオリティの差が激しいね

DeepSeek R1も使ってみたが

画像

レスポンスの形式と噛み合わせが悪いのかR1だとすぐエラーになる

画像

他のタスクもやらせてみたけどエラーが頻発して使い物になりそうになかった。

画像

なのでV3-Chatで使うか素直にSonnetを使うのが良さそう。
安いSonnetが出れば全世界の生産性がえぐいことになりそうなんだけどなー

ちなみにスマホで開いてもWebUIが崩れたりしなくて、スマホからも使いやすくて良い

画像

自宅鯖で動かして、Tailscale経由でアクセスできるようにしている。

こういうの最近安いからおすすめ、クーポン使って1万5千円くらいで買える
mac なら m1 の macmini中古が4万円切っててアツい


GitHub Action


画像

GitHub Action 版も用意されている。
こっちはさっき立ち上げたやつがやってくれるわけじゃなくて、GithubAction が立ち上げる Linux の上でヘッドレスモードのOpenHandsが動いてくれる形なので、GitHub Actionの使用時間が消費されるが、手軽に呼び出せる。


画像


Devin とは違うところ

Devin と大きく違うところはやはりマシンをセルフホストするところだろう。
(一応、今ベータ版でDevinみたいに全部クラウドに用意されてるやつもあるっぽいが、安く済ますならやはりセルフホストだろう)
基本的にはホストマシンと分離されたDocker コンテナ上の環境でAIが作業するのだが、ホストのファイルをマウントすることもできるし、Dockerを使用せず直に作業させることも最近のアプデでできるようになったっぽい。

OpenHandsに期待してるのはこの辺で、現状 Devin だとLinuxでしか作業できないので Xcode が絡んだ iOS Mac あたりの開発ができない。

パソコン1台AIにあげてやってくれるなら Mac mini 一台用意してAIに自由に使わせて開発させたい


まだ不便なところ

Devinの体験として非常に良いのがSlackチャンネルに参加してSlackから指示出したり、進捗を教えてくれる所なのだが、この辺がまだOpenHandsにないっぽいのが不便
エージェントがタスクを完了したり、止まっても気づかないからサブモニターで開いておかないといけないんだよな、で、開いてると気になっちゃうから監視してしまうw
ブラウザ通知はそのうちつくっぽいが

やっぱDiscord連携してほしさはある。スマホから見たいし
とりあえずタスク完了したらWebHook叩くように指示でもしとけばいいかな
日本企業がこれをホスティングして提供したら相当シェア取れるんじゃないかな、Cursorもだけど日本企業がパクれば相当AI導入進みそうな

とりあえず色々やらせて見ようと思うので気になったらnoteのフォローよろしくお願いします。


ここから先は

0字

IORI's Hack Logs

¥500 / 月 初月無料

初月無料なんで読んでから抜けてもらって全然いいですよ。 大っぴらに書くと怒られそうなやつとか、そのまま放流する気にはならないけど残しておき…

この記事が参加している募集

この記事が気に入ったらチップで応援してみませんか?

ピックアップされています

IORI's Hack Logs

  • ¥500 / 月
  • 初月無料

マガジン2

  • 4,586本

エンジニア

  • 911本

AI関連

  • 2本

プログラミング

  • 45本

購入者のコメント

ログイン または 会員登録 するとコメントできます。
ソフトウェアエンジニア / Youtuber 5k登録者 / デバイス屋
Devinの代替OSS OpenHandsを使ってみた|IORI
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1