決裁の判子が一つ足りないだけで、書類は机の上で止まります。
中身に問題があるわけではありません。読めば三十秒で判断が付く内容で、判断する人ももう方針を決めています。ただその人が出張に出ていて、机の上の書類がそのままになっている。月曜に出した書類が、水曜の午後に動き出します。
止めているのは仕事量ではなく、決める人がその場にいないことです。だから会社は代理決裁を作り、持ち回りの決裁を作り、いまは画面から押せるようにしました。
一言のために待つ時間は、その一言の長さとは何の関係もありません。
電車に乗る直前
夕方、電車に乗る直前にスマホが震えます。
テストを走らせる前に、依存関係を入れ直していいですか。
yes と答えれば、続きが走ります。答えなければ、家に着くまで止まったままです。
この差は二十分ではありません。家に着いてから答えて、そこから作業が始まるので、実際には一時間以上違います。
MulmoTerminal は AI を何枚ものマスに並べて見張るための画面で、自分のパソコンで動きます。無料で、オープンソースとして公開されています。AI は危ないことをする前に人に聞いて止まるので、答えるまで進みません。
通知だけあって返せないと、意味が半分になる
呼ばれたら気づくために通知を入れます。でも気づいたあとに何もできないなら、通知は待たされていることを知るだけの機能になります。
知ってしまうと、かえって気になります。出張先で、机の上の書類のことを思い出すのと同じです。
MulmoTerminal のスマホ画面は、返せるようになっています。
何が見えるか
会話を選ぶと、いま動いている画面が出ます。
上には、パソコンの格子のマスが見せているのと同じものが並びます。フォルダの名前、枝の名前、その会話が何についてのものかの要約、最後に頼んだこと。
そのフォルダが GitHub のプロジェクトなら、リンクになります。リンク先は今の枝ではなくプロジェクトのトップです。まだ送っていない枝や、取り込まれて消えた枝だと見つからなくなってしまうので。
返す手段が三つ
一つ目は短い答えのボタンです。yes、no、ok、continue、stop。AI が待っていることが多い答えです。
二つ目は AI 自身の提案です。Claude が薄い文字で続きを提案しているとき、それがボタンとして出ます。スマホには Tab キーが無いので、これが受け入れる手段になります。
三つ目は入力欄です。キーボードで打ったのと同じように一行送れます。
選択肢の質問は、ボタンのカードで来る
Claude が A と B のどちらにしますかと聞いて止まったとき、画面の下にカードとして届きます。質問と、選択肢それぞれがボタンになって出ます。
押すと、実際の画面の矢印キーと Enter を代わりに押します。上に出ている画面はそのまま残って、答えが届くと更新されます。どちらで答えても、先に答えた方が通ります。
複数の質問が来たときは質問ごとにまとまって出て、全部に答えが入るとボタンが押せます。一つだけのときは、自分の言葉でも答えられます。設定は要りません。
最後が面白いところです。パソコン側の同じ機能は、頼むまで無効になっています。でもスマホは逆です。矢印キーが無い以上、このカードが無ければそもそも答えられないので。
同じ機能が、打鍵の先に人が座っているかで判断を変えています。
よく送る文をボタンにする
短い答えのボタンは、短い言葉だけです。何度も送る文は、自分のボタンとして登録できます。PR作って、マージして、テスト通して、といったものです。
初期状態は空なので、登録するまで何も出ません。
一つ、安全側の作りがあります。ボタンを押すと入力欄に入るだけで、送信はされません。送信は送信ボタンです。
誤タップしても実害がなく、送る前に手直しもできます。満員電車でポケットの中のスマホが反応しても、何も送られません。
会話の種類で出し分けもできます。マージしては AI だけ、git status は素のターミナルだけ、といった使い分けです。
新しいターミナルも起動できる。ただしフォルダは選べない
見ている会話から、同じフォルダでもう一つ起動できます。素のターミナル、Claude、Codex の三つから選べます。
選べるのはプログラムだけです。フォルダは選べません。常に見ていた会話のフォルダで、スマホからパスを送ることはできません。
これは意図的な設計です。スマホが、あるいはアカウントを奪った何かが、任意の場所でプロセスを起動できないようにするためです。スマホを落としたときに何ができてしまうかを考えると、この制限があるほうが安心できます。
一つ前提があります。パソコンで MulmoTerminal のタブが開いている必要があります。格子の状態はブラウザ側にあるので、実際にマスを開くのはそのタブです。タブが一つも繋がっていない場合は、黙って失敗せず、スマホにその旨が表示されます。
読めるが打てない会話がある
一覧に出るのは、格子にあるものです。
アプリの再起動をまたいで生き残った会話も表示はできますが、打ち込むことはできません。キー入力を中継していたプロセスが、もう無いからです。
読めるが書けないが分かれるのは珍しい状態ですが、再起動前に何をしていたかを読めることには意味があります。
繋がらなくなったら教えてくれる
接続の状態がツールバーに出ます。繋がっている、繋ぎ直している、切れている、の三つで、最後のものには直前のエラーが付きます。
スリープや回線の切り替えで切れても自力で戻りますが、諦めた場合は通知が出ます。スマホから繋がらなくて初めて気づく、ということにはなりません。
駅のホームであれ繋がらないと焦る場面が減ります。
使ってみる
MulmoTerminal は、次の一行で立ち上がります。ターミナル(Windows なら PowerShell、Mac ならターミナル)を開いて、そのまま貼り付けます。
npx mulmoterminal@latest
ブラウザが開いて http://localhost:34567 が表示されれば成功です。インストールという作業はなく、合わなければ閉じるだけで終わります。止めるときは、打ったターミナルで Ctrl + C を押します。
動かない場合、足りないものは次の二つのどちらかです。
| 確かめ方 | 無ければ | |
|---|---|---|
| Node.js 22.12 以上 | node -v |
nodejs.org/ja/download の LTS。入れたらターミナルを閉じて開き直す |
| Claude Code | claude --version |
macOS は curl -fsSL https://claude.ai/install.sh | bash、Windows は irm https://claude.ai/install.ps1 | iex。そのあと claude でログイン |
Claude Code は、AI をターミナルから使うためのコマンドです。使うには Claude の有料プラン(Pro / Max / Team / Enterprise)か API のアカウントが必要で、無料プランには含まれていません。MulmoTerminal 自体は無料で、AI の使用量はその契約から引かれます。
先に、スマホ通知と同じ接続をします。
パソコンでツールバーの RemoteHost を開いて Connect を押し、Google でサインインします。スマホで mulmoserver.web.app を開いて、同じアカウントでサインインします。
これだけで、スマホから見えるようになります。スマホで会話を一つ選ぶと、いま動いている画面が出て、下に yes、no、ok、continue、stop のボタンがあります。
パソコンで AI に許可が必要なことを頼んで、スマホから yes を押します。続きが走れば成功です。
よく送る文をボタンにするには、Settings の Phone quick commands で登録します。初期状態は空です。
{ "quickCommands": [ { "label": "PR", "text": "PR作って" } ] }
ボタンを押しても送信はされません。入力欄に入るだけなので、満員電車で誤タップしても何も送られません。送信は送信ボタンです。
やめるときは、RemoteHost のパネルで切断すればスマホからは見えなくなります。スマホ側でサインアウトしても同じです。パソコン側のマスには何も起きません。会話はそのまま続きます。
まとめ
判子一つのために書類が三日止まるのは、仕事量のせいではなく、決める人がその場にいないからです。だから会社は代理決裁や持ち回りを作りました。
AI に長い作業を頼んで席を離れると、同じことが起きます。通知に気づいても返せないなら、待たされていることを知るだけの機能です。
MulmoTerminal のスマホ画面は、短い答えのボタンと AI 自身の提案と入力欄の三つで返せます。フォルダを選べないのは意図的で、スマホを落としたときにできることを狭くしてあります。
