はじめに
この記事はElixirアドベントカレンダー2025シリーズ2の5日目の記事です。
本記事はAIコーディングツールTidewave Wabをセットアップし、実際に作っていく方法を解説していきます
Tidewave Webとは?
Elixirの作者のJosé Valimさんが所属している会社のdashbitが開発した
開発環境のブラウザ内で直接動作するコーディングエージェントです
特徴としては以下のようです
Unlike traditional coding agents that require constant back-and-forth, Tidewave Web knows your UI state, understands your framework, and runs within your actual development environment. No more describing what’s on your screen, copying stacktraces, or losing context between tools.
従来のコーディングエージェントとは異なり、Tidewave WebはあなたのUIの状態を理解し、あなたの使っているフレームワークを理解し、実際の開発環境の中で動作します。
つまり、 画面の説明を書いたり、スタックトレースをコピペしたり、ツール間で文脈が切れることがなくなります。
つまりブラウザ上で動作しているので、インスペクタ経由でこの場所をこうしてと直接指示がしやすいのと、アプリとエージェントの間に立って指示を最適化して使用トークンを大幅に減らせるのが強みのようです
料金
FreeはDBアクセス等をしてデータを取得してくれたりするMCPでコードは別に書いてくれません
Proからコーディングをしてくれます
Try it For Freeで20回まで無料でお試しができます
月額1500円くらいですし、トークン使用の効率がめっちゃ上がるとのことなので、実質0円!
今回はProをお試しで使っていきます
対応しているフレームワーク
最初はPhoenixとRailsだけでしたが現在は以下のプロジェクトで使用できます
- Phoenix
- Rails
- Django
- FastAPI
- Flask
- Next.js
- React
本記事ではPhoenixを使用します
対応Coding Agent
現在以下のサービスに対応しています
- Claude Code
- OpenAI Codex
- Github Copiot
この他にもFigma dev modeでも使えるようです
本記事では OpenAI Codexを使用します
codex setup
こちらを参考にcodex cliをセットアップします
npm install -g @openai/codex
インストールしたら以下のコマンドを実行して認証します
codex
enter押せば認証ページを開くので認証してください
install
サイトからインストールバイナリをダウンロードして、追加します
実装はRustのようです
Phoenix project作成
今回は本棚アプリをsqliteでDBを作成します
mix phx.new bookshelf --database sqlite3
dektopアプリ化します
def deps
- {:bandit, "~> 1.5"},
+ {:bandit, "~> 1.5"},
+ {:desktop_setup, github: "thehaigo/desktop_setup", only: :dev}
end
mix deps.get
mix desktop.install
setup
次にPhoenixにtidewaveを追加します
defp deps do
[
{:tidewave, "~> 0.5", only: [:dev]},
...
]
end
mix deps.get
追加が完了したらendpoint.exの if code_reloadingの前にいかのように追加します
+ if Code.ensure_loaded?(Tidewave) do
+ plug Tidewave
+ end
# Code reloading can be explicitly enabled under the
# :code_reloader configuration of your endpoint.
if code_reloading? do
socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
plug Phoenix.LiveReloader
plug Phoenix.CodeReloader
plug Phoenix.Ecto.CheckRepoStatus, otp_app: :bookshelf
end
起動!
以下のコマンドでPhoenixサーバーを起動して
Tidewaveのアプリを起動します
iex -S mix
起動するとブラウザに以下のようなページが開きます
Phoenixはlocalhost:4000で動いてるのでそのurlを入力します
すると以下のようになページになります
コーディングエージェントの設定をします
provideのタブを選択してCodexを選択connectを押すとgithub経由で認証するのでok
するとconnectedになったら完了です
こんな感じチャット欄がでてくるので
めっちゃ雑に本棚アプリを作りたいと入力します
そうすると大体の構成を提案してくれるのでそれを貼り付けると、アプリ作成を開始して最終的にここまで作ってくれます
インスペクタモードで指示
せっかくなのでインスペクタで該当のタグを指定して変更してもらいましょう
右上の右から2つ目ディスプレイボタンを押して、viewportをモバイルサイズにして
次に右から3番目の矢印ボタンでインスペクタ選択モードになります
いらないテーマ変更トグルを選択するとチャットらんに選択箇所がはいるので、消してくださいとチャットで送るとちゃんと消してくれました!
最後に
Tidewaveを実際に使ってアプリを作ってみました
実際のページのタグを指定しながら指示を出せるのでとてもよいですね
codexなのでテストコードの生成やレビューもできると思うのでいろいろ試してみたいと思います
本記事は以上になりますありがとうございました










