🛁

Raspberry PiでリモートからアクセスできるAIエージェントを作る

に公開
2

Raspberry Pi(ラズパイ)使ってスマートフォンからVibe Coding

「お風呂やおふとんからバイブ(Vibe Coding、生成AIを活用した勢い任せのコーディングの意)したいよねー」

そんな声が聞こえてくる今日このごろ。

そんな夢、叶えてみましょう。そう、ラズパイとClaude Codeでね。

ラズパイセットアップ

一般のご家庭には1台は転がっていそうなラズパイを使います。今回「Raspberry Pi 5」を使いましたが、3や4でも大丈夫だと思います。

もし余っているラズパイがなかったら、スイッチサイエンスさんとかで買いましょう。購入先、周辺機器、セットアップは以下記事を参考にしてください。

https://zenn.dev/karaage0703/articles/8fe578dba4857a

最低限、以下がセットアップできていれば大丈夫だと思います。

  • GitHub CLI(gh)
  • パッケージ管理ツール uv, npm(nvm)
  • リモートアクセス(Tailscale)
  • Claude Code

Claude Codeのセットアップと使い方は以下記事参照してください。最低限は以下コマンドでClaude CodeをセットアップしておけばOKです。

$ npm install -g @anthropic-ai/claude-code

https://zenn.dev/karaage0703/articles/6699045b3cec5c

スマートフォンからのアクセス

SSHアクセス

Tailscaleアプリをセットアップした後、Termiusというソフトをセットアップすれば、SSHでTailscale経由でリモートアクセスできます。

このままだと、SSHの接続が切れるとClaude Codeも落ちてしまうので、バックグラウンドでClaude Codeを動かし続けたい場合は、ラズパイにbyobu(tmuxラッパー)を入れて使うとグッドです。操作的にもファンクションキー一発で手軽にウィンドウを切り替えられる点が、Termiusでの操作と相性がよいです。byobuに関しては以下記事を参照してください。

https://zenn.dev/mkj/articles/82c4e53a505f95

ブラウザでアクセス

Claude CodeにWeb UIでアクセスできるようにすれば、Tailscaleと組み合わせて、リモートからもブラウザでアクセスすることが可能です。

そのうち良さげなWebUIのソフトが出てきそうですが、MCPサーバを好き勝手につなげて、WebUIで音声認識で動かせるみたいなのが(自分が知る限り)見つけられなかたので、自作してみました。

https://github.com/karaage0703/llm-assistant

セットアップは上記リポジトリのREADME参照してください。バックエンドはPythonで、FastAPIとClaude Code SDKを使って動かしています。フロントエンドは、Claude Codeがいい感じに作ってくれました。

MCPにも対応していて、リポジトリ直下に.mcp.jsonにMCPサーバの設定を書けば好きにMCPサーバを繋げられます。そして、Claude Code SDK、MCPサーバが権限の関係で動かなかったので--dangerously-skip-permissionsという割と何でも(rm -rf ~/とか)できちゃうオプションを付けていますので、使用するときは注意してください。わざわざラズパイ使っているのは、そういう理由もあります。

セットアップして、起動したらブラウザで、ローカルの場合は以下URLにアクセスすれば接続できます。

localhost:3000

Tailscaleで接続すれば、リモートからもアクセスできます。その場合は、xxx.xxx.xxx.xxx:3000とIPアドレスでアクセスすることになります。

ブラウザでの音声認識にも対応しているので、スマートフォンから

「美味しいからあげについてリサーチして、レポートとしてNotionの調査データベースにまとめておいて」

みたいに言うだけで、Notionにレポートがまとまったりします。

ラズパイ以外へのセットアップ

重い処理をさせたいときは、もちろんLinuxインストールしたゲーミングPCなどでも同じ要領でセットアップできます。

Linuxのセットアップに関しては、以下記事など参照ください。

https://zenn.dev/karaage0703/articles/0ca67e19aa772e

まとめ

Vibe Codingの夢叶いましたね。お風呂でも布団でも、思い立った時にすぐコーディングできる環境が手に入りました。WebUIのソフトに関しては、今は自作のソフト使ってますが、そのうちもっといけているソフトが出てくるんだろうなーと期待しています。

というわけで、ラズパイ1台で24時間稼働のパーソナルAIコーディングアシスタントが完成しました。実際に、お風呂でもバイブコーディングするようになってしまい、ちょっとAI漬けになりすぎている感はあります、ブクブクブク。

みなさんも、お手軽にお風呂でVibe Codingライフを始めてみてください。

参考リンク

https://github.com/sugyan/claude-code-webui

関連記事

https://zenn.dev/karaage0703/articles/029b45ff78bc57

https://zenn.dev/karaage0703/articles/ecf24124c1a535

https://zenn.dev/karaage0703/articles/1c84cd87f55ed5

Discussion

papahassypapahassy

ぜひClaudeCodeCLIだけでなく、GeminiCLIの、llm-assistantとWebUIを公開してほしいです。。

からあげからあげ

コメントありがとうございます。
作ろうかなとは思ったことあるのですが、あんまり自分がGemini CLI使わないので優先度下がってます。

作ってPRもらえると嬉しいです(笑)多分、Gemini CLIで作れると思います。