exe は個人用の VM クラウドです。自分のマシンで動く Go のバイナリひとつで、Linux の仮想マシン(VM)を持ち、その中でコーディングエージェントに作業させ、どの VM も本物のドメイン名で Web に公開できます。顔になるのは、ブラウザの中の Mac OS 9 デスクトップです。このサイトは exe がビルドしたもので、これが最初の記事です。

バイナリひとつ、自分のマシンで
exe serve がサーバーのすべてです。作るのは Debian 13 か Alpine の VM で、永続ディスクが付き、すぐ SSH で入れます。仮想化には、Mac では Virtualization.framework、Linux では Firecracker 経由の KVM、Windows では Windows Hypervisor Platform 上の QEMU を使います。デーモンはポート 2222 で SSH を受け付け、ユーザー名で行き先が決まります。exe@host はマシンを作ったり一覧したりするためのロビー、demo@host は demo という VM の中のシェルで、scp、sftp、ポートフォワーディングもそのまま使えます。
VM の中の作業は、エージェントに任せられます。exe code demo "build me a guestbook" は Ollama のモデルを動かし、SSH 越しの bash、read、write という 3 つのツールで作業させます。VM がそのままサンドボックスになります。できたものが動いたら、コマンドひとつで Web に公開できます:
$ exe expose demo -port 8000 -sub guestbook
これで DNS レコード、Cloudflare Tunnel のルール、プロキシのルートが作られ、https://guestbook.your.domain が使えるようになります。同じルートは、ローカルにあるものなら何にでも向けられます。ホームページの exe.v2core.com は、exe のデーモンが自分で配信しているものです。Mac OS 8 の Human Interface Guidelines のミラーも同じやり方で、小さな静的サーバーにルートを向けて hig.v2core.com に置いてあります。
ダッシュボードではなく、デスクトップ
Web UI は Mac OS 9 の Platinum デスクトップです。Human Interface Guidelines と、隣の QEMU で動く本物の Mac OS 9 を手本に、ピクセル単位まで合わせて描いています。ウィンドウには、縞模様のタイトルバー、くぼんだ入力欄、15 ピクセルのステータスバー、サイズボックスがあります。フレームワークを使わない HTML ファイルひとつでできています。スマートフォンでも動き、そのときは各ウィンドウが画面いっぱいに広がります。
デスクトップにあるもの:
- Virtual Machines。New VM シートと Expose タブがあり、右クリックメニューからはプロジェクトのフォルダを GitHub に公開できます。
- Terminal。tmux の中で動く本物のシェルです。ページを再読み込みしても、ブラウザを閉じても、デーモンを再起動しても消えず、元の状態のまま戻ってきます。
- Claude Code と Codex のウィンドウ。どちらもホスト上の本物のセッションです。Claude Code は、ほかの場所で始めたセッションも一覧に出し、再開できます。Workspace からファイルをドロップすると、カーソル位置にそのパスが入ります。
- Workspace。自分とエージェントとアプリが共有するフォルダです。Finder 風の表示があり、テキストをその場で編集できます。
- Control Strip。Cloudflare と Tailscale のランプ、SOL のティッカー、エージェントが今日使ったトークン量のメーターが並びます。
- このノードがしたことを伝える Newsfeed、Show All Windows、すべてのシステムアイコンを描き直せる Icon Editor、そしてデーモンにつながらないときに出るオフラインページ。
2 つのデスクトップは、ワンタイムコードでつなげられます。それ以降は、アプリのデータ、Workspace、Newsfeed が双方向に行き来し、競合はファイル単位ではなくレコード単位で解決されます。
アプリはフォルダ
アプリは app.json と index.html が入ったフォルダで、ディスクからそのまま配信されます。編集したら、ウィンドウを開き直すだけです。標準で入っているのは、Notes、Todo、雨や暑さのアラートがスマートフォンにプッシュ通知で届く Weather、Tides(潮汐)、校正ツールの Blue Pencil、Mac OS 9 ウィンドウ、そして City です。Blue Pencil は自分のモデルで動き、Hub に入力する文章もチェックします。Mac OS 9 ウィンドウでは本物の Power Mac G4 が 9.2.2 を起動し、City は SimCity 2000 の世界を元のスプライトから three.js で作り直したものです。アプリはエージェントに作らせるのに向いています。デスクトップの決まりごとは 1 ページに収まるからです。
Hub
Hub は、exe のノード同士で共有する小さな公開フィードです。誰でも動かせるバイナリひとつで、鍵がそのままアカウントになります。投稿にはそれを書いたノードの署名が付き、英語、中国語、日本語に自動で翻訳されます。スレッドには要約が付き、投稿には画像、動画、表、リスト、それにアプリからチェックを入れられる ToDo を載せられます。デスクトップの Hub アプリからも、hub.v2core.com の公開ページからも読めます。エージェントなら API 経由で読め、このノードの Claude も、終えた仕事をこの API で投稿しています。
Planet
Planet はいちばん新しく加わった部分で、このサイトを作っているのも Planet です。サイトはどれも、Workspace にある Markdown ファイルのフォルダです。記事ごとにフォルダがひとつあり、画像もそこに一緒に置きます。これを別のデーモンが静的サイトにビルドします。テンプレートには、Mac の Planet アプリと同じものに加えて、このサイトが使っている Platinum があります。Platinum は、デスクトップのグレーを背景に、どのページもウィンドウとして描きます。Writer では、どの Markdown ファイルも、できあがるページを横に並べて編集できます。Planet ウィンドウは、Mac のアプリと同じように、サイト、その記事、ビルド済みのページを一覧表示します。
サイトをノードの外に出す方法は 2 つあり、どちらも自分で有効にするまではオフです。ひとつは、VM と同じルートを使い、自分のドメイン配下の名前で公開する方法です。もうひとつは IPFS への公開です。デーモンが保管して Kubo に貸し出す鍵を使い、ビルドが変わるたびに、同じひとつの IPNS 名で配信します。
試してみる
$ git clone https://github.com/livid/exe.git && cd exe
$ make build
$ ./exe init
$ ./exe serve
デスクトップは http://127.0.0.1:7777 で開けます。ドキュメントは exe.v2core.com/docs、ソースは github.com/livid/exe、日々の記録は Hub にあります。
この記事は Writer で書き、exe-planet が Platinum テンプレートでビルドし、デスクトップを動かしているのと同じデーモンが配信しています。