集中治療室の機械は、よく鳴ります。心拍が少しずれた、点滴が終わりそうだ、電極が外れかけている。ひとつひとつは知らせるべきことなので、鳴るのは正しい動作です。
一日に何百回も鳴ると、人は音量を下げます。下げても鳴るので、そのうち切ります。そして本当に危ないときの一回も、同じように聞き流されます。
狼が来たと三度叫んだ少年の話も、構造は同じです。三度目まで嘘だったのが悪いように語られますが、起きていることは、頻度が意味を殺したという一点です。
鳴りすぎる警報は、いずれ誰かに切られます。切られた警報は、無いのと同じです。
三分で七回
ターミナルで動く AI を何体も並べて動かすと、同じことが机の上で起きます。MulmoTerminal はそのための画面で、一マスが一体の AI にあたります。無料で、オープンソースとして公開されています。
八体の AI を動かしています。音が鳴ります。緑になったマスを見て、次を頼みます。音が鳴ります。別のマスです。琥珀色なので答えます。音が鳴ります。音が鳴ります。音が鳴ります。
三分で七回鳴りました。音を全部切ります。
切ると、席を離れられなくなる
全部切ると静かになります。そして呼ばれても気づきません。
画面を見ているあいだはいいのですが、別のウィンドウで作業しているときに、AI が止まっていることが分かりません。三十分後に見に行って、二十五分前から止まっていた。
音を入れた理由がこれを避けるためだったので、切ると振り出しに戻ります。病棟で音量を下げるのと同じところに着いてしまいます。
うるさいのは、並列数に比例するから
音がうるさくなるのは、機能の欠陥ではありません。八体回していれば、八倍の頻度で何かが終わります。
一体で使っていたときにちょうどよかった設定が、八体ではうるさくなる。当たり前のことです。切る前に、種類のほうを絞れます。
既定で鳴るのは二種類だけ
鳴る瞬間は六種類あります。既定で有効なのは最初の二つだけです。
終わったときと、止まったとき。返答が終わってまだ読んでいない状態と、聞かれて待っている状態です。
残り四つは自分で有効にします。一つのコマンドだけ走らせたマスが正常に終わったとき、同じマスが異常に終わったとき、会話のターミナルが終了したとき、そのフォルダの提案のテストが赤くなったとき。
機能を足すたびに音が増えていく作りではないのが、ここの要点です。そういう作りだと、最終的に全部切ることになります。
まず残すべき一種類
疲れたときに何を残すか、はっきり決まっています。止まったときだけ残します。
効く理由は、二つの性質が違うからです。止まったときは進んでいません。答えるまで一ミリも動かないので、気づかないと損をします。終わったときは終わっています。放っておいても損はしないので、次に見たときに読めばいい。
音で知る価値があるのは、止まったときだけです。
冒頭の七回のうち、本当に急ぐのは二回か三回でした。
シェルの中で走らせたコマンドでは鳴らない
これは知っておくと無駄に設定を触らずに済みます。
テストが失敗したら音を鳴らしたいと思って設定しても、素のターミナルで yarn test と打っただけでは鳴りません。
そのマスでは対話するシェルが生き続けているので、その中のコマンドがいつ終わったかを誰も知らないからです。シェルはプロンプトに戻っただけで、それが成功だったのか失敗だったのかを外から知る方法がありません。
鳴らせるのは、一つのコマンドだけを走らせるために開いたマスです。そこには終了の合図があります。プロジェクトのスクリプトとして登録しておいて、それを実行すると鳴ります。
提案のテストの音には条件がある
もう一つ見落としやすい制約があります。
提案のテストが赤くなったことを検知しているのは、一体を拡大したときに横に出る一覧です。その一覧が画面に出ている間だけ拾えます。格子を見ているだけだと、そもそも取りに行っていません。
設定したのに鳴らないときは、これです。
音の選び方が三通りある
用意されている音が七種類あります。鐘、コイン、鳥、ドア、銅鑼、魔法、猫の鳴き声。
親切な作りがあって、初回だけ取得して以降はそこから読むので、あとはネットに繋がっていなくても鳴ります。選ぶまで何もダウンロードしません。使わない人に何もダウンロードさせない作りになっています。
自分の音声ファイルのパスを指定することもできます。
何も指定しないときは、ブラウザが合成する音が鳴ります。
合成音には工夫がある
何も指定しないときの音に、覚えなくて済む工夫があります。
種類ごとに二音の形が違って、呼ばれているときは上昇、終わったときは下降になっています。
上がる音と下がる音は、覚えなくても区別できます。何の音だっけを考えずに、上がったら答える、下がったら読むで済みます。音を一つずつ選ぶより、これで足りることが多いと思います。
プロジェクトごとに変えられる
プロジェクトの設定に書けば、そのフォルダのマスだけ音が変わります。そちらが優先されます。
耳で区別するという目的なら、変えるのは一つか二つだけにします。三つ以上のプロジェクトに別の音を付けても、区別できるのは最初の数日です。
効くのは、メインのプロジェクトだけ音を変える形です。いつもの音じゃないからメインだ、と分かります。
試すときは、そのマスを見ない
一つ落とし穴があります。通知音は、いま見ているマスでは鳴りません。目の前で終わったものに音で知らせる意味がないからです。
設定を変えて、そのマスを見ながら試しても鳴りません。別のマスを見ている状態で試します。
スマホへの通知は逆で、見ているマスでも飛びます。そちらはパソコンが手元にない前提の機能だからです。
使ってみる
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 の使用量はその契約から引かれます。
書く場所は ~/.mulmoterminal/config.json です。無ければ作ります。設定画面の通知音の項目からでも変えられます。
{
"soundKinds": ["waiting"]
}
この設定は起動時に一度だけ読まれるので、アプリを再起動してタブを再読み込みします。
別のマスを見ている状態で、AI に許可を求めさせます。鳴れば成功です。終わったときには鳴りません。
やめるときは、その項目を消せば既定に戻ります。終わったときと止まったときの二つです。
まとめ
鳴りすぎる警報は切られます。病棟でも、狼の話でも、起きているのは頻度が意味を殺したという一点です。
八体回せば八倍の頻度で何かが終わるので、うるさくなるのは当然です。全部切ると、席を離れられなくなって振り出しに戻ります。
MulmoTerminal は種類ごとに切れます。残すのは止まったときの一つで、答えるまで進まないのはそれだけだからです。終わったことは、次に画面を見たときに読めば足ります。
