AIバーチャルオフィス

AI社員が部署として働く司令室(Kanbanのオフィスタブ)

ReactTypeScriptViteCloudflareDurable ObjectsWebSocketCodex

AIバーチャルオフィス — 仕事はAI社員に任せて、決めるところは自分で決める

Kanban の「オフィス」タブとして作っているAIエージェントの司令室です(2026年10月時点で開発中)。


概要

秘書部、編集部、デザイン部、開発部などの部署をAIエージェントとして動かし、稼働状況をオフィスの画面で見られるようにしています。自分は「社長」の立場で、チャットから部署に仕事を頼み、上がってきた提案や成果物を確認して決めます。

方針は「提案はAI、決裁は人間」です。外部への公開、送信、マージ、課金は、必ず人間の承認を通します。

3Dオフィスの全景

3Dテーマの全景。部署ごとの席があり、作業中・待機中・退勤中などの状態がキャラクターの動きと吹き出しで分かる。画面はダミーデータで動く開発用プレビュー

オフィスの見た目は、ピクセル、室内、3Dから選べます。描画は Canvas で自作しています。


主な機能

判断待ちの一覧

巡回の提案、計画の確認待ち、質問への回答待ち、PRの確認待ちを「あなたの判断待ち」にまとめて表示します。件数は社長の机にも出ます。

判断待ちの一覧と社長の机の件数

判断待ちが4件ある状態。AIの提案や計画は、ここで人間が確認してから次の工程に進む

社内チャット

チャンネル、スレッド、リアクション、ピン、検索を備えた社内チャットです。@部署名 を付けて仕事を依頼できます。AIがチャンネルの新設を提案し、「作る」「いらない」で人間が決める流れも入れています。

社内チャット

チャンネル一覧と、AIによるチャンネル新設の提案。AIが作ったチャンネルには「AI」の表示が付く

部署の仕事


設計で気をつけたこと


アーキテクチャ

ブラウザ(React・5秒ごとにポーリング)
  │
  ▼
Cloudflare Pages ── /api ──▶ Vercel(Express・認証)
                                │  hub のトークンを付けて中継
                                ▼
                    DevHub(Cloudflare Durable Object + SQLite)
                      タスク・案件・成果物を保存
                         ▲                       │ 手元PCが止まっているとき
          外向きの WebSocket                      ▼
                         │                  Codex cloud
              手元PCの runner
                └─ Codex App Server が作業を実行

手元PCからは hub へ外向きに WebSocket を張るだけなので、PC側でポートを開ける必要はありません。ブラウザへの配信をポーリングにしているのは、Cloudflare Pages の /api プロキシが WebSocket の接続を通せないためです。


技術スタック

個人のダッシュボードの一部として作り始めましたが、「AIにどこまで任せ、どこで人間が止めるか」を設計する題材として、日々使いながら改善しています。