---
title: 4.6.1 — 部屋と、大量出力に負けないグリッド
layout: default
parent: 日本語
nav_order: 1007
description: MulmoTerminal 4.6.1 のセットアップガイド — 会話を残しておく「部屋」と Rooms ビュー / CLI、round table の話者が会話全体を読むようになったこと、再起動を生き延びたセッションの一覧と停止、そして端末が表示しているコマンド自身を遅くしなくなったこと。2026-08-06 のスナップショット。
---

# 4.6.1 — 部屋と、大量出力に負けないグリッド

**2026-08-06 に書いたスナップショットです（MulmoTerminal 4.6.1）。** ここに書いた挙動はその日に
出荷されたものです。古くなっていくのは想定どおりなので、最新の内容は各節からリンクしている
ガイド本体を見てください。

```bash
npx mulmoterminal@latest
```

**設定はほぼ不要です。** 性能の修正は 4.6.1 を動かした時点で効いています。部屋は、いま使っている
フォームに1つ入力欄が増え、ツールバーにアイコンが1つ増えるだけです。数字として見るべきなのは
後述の `sessionIdleReapDays` だけです。

---

## 部屋 — 会話が置かれる場所

4.6.0 の round table は、あるセルの返答を次のセルの入力欄に運んでいました。動きはしましたが、
会話は流れている間だけ存在し、どこにも残らず、セル以外は参加できませんでした。

**部屋は、その会話をセルから切り離して置いておくもの**です。`~/.mulmoterminal/rooms/<id>.jsonl`
に1行1 JSON で追記される、追記専用のファイル1つです。

### 始める

部屋は round table のピッカーに **room** という入力欄1つとして現れます。

- **空のまま**にすると、実行ごとに新しい部屋ができます（`table-2026-08-06-…`）。
- **名前を書く**とその部屋で話します。その部屋が既にあれば会話は**続き**ます — 各席は、話す前に
  それまでのターンを読み返します。前に使った standup に戻るというのは、`standup` でテーブルを
  始め直すことと同じです。

名前は小文字・数字・`-`、先頭は文字か数字、64 文字までです。それ以外は黙って新しい部屋に
すり替えるのではなく拒否されます。

### 読む、自分で参加する

ツールバーの **Rooms**（Pull requests の隣の forum アイコン）で全部の会話が開きます。左に部屋、
右にメッセージ、下に自分で書き込む欄です。動いているテーブルの部屋へは、セルの forum メニューの
**read the conversation** から1クリックで行けます。部屋の隣のゴミ箱アイコンで削除できます。

この書き込み欄は「あると便利」なものではありません。エージェントは runner に打ち込まれるだけで
自分からは何も呼べないので、**人間は外から**会話に参加します — シェルや CI が使うのと同じ入口
です。書いた内容は、次の話者が読む窓の中に入ります。

### シェルから、CI から

```bash
mulmoterminal room list
mulmoterminal room read standup
mulmoterminal room post standup --from ci "tests passed on main"
```

`--` の後ろは全部メッセージ本文なので、フラグを含む投稿もそのまま通ります。

```bash
mulmoterminal room post standup -- we should use --force carefully here
```

**動いている** MulmoTerminal に loopback で話します（ポートを変えたなら `--port`）。`--from` は
表示用のラベルで、認証はしていません。

HTTP 側（`GET /api/rooms`、`/api/rooms/:room` の `GET` / `POST` / `DELETE`）も含む完全な
リファレンスは[セル同士を会話させる](conversation.html#room)にあり、そちらが常に最新です。

### 併せて入った round table の変更2点

- **話者が読むのが「直前の返答だけ」から「それまでの会話全体」になりました。** 部屋があるから
  できることで、読み返すログがあるということです。
- **答える前にツールを使う席が、本当の答えを出せるようになりました。** 4.6.0 では違うものが
  出ることがありました。

### それでもやらないこと

4.6.0 からの制限は意図的にそのままです: **エージェントには新しい能力を一切与えていません。**
部屋用の MCP ツールは無く、エージェントが部屋の存在を知る手段も、自分で会話を始める手段も
ありません。席に着かせるのは人間です。[知っておく制限](conversation.html#limits)を参照。

---

## アプリより長生きしたセッション

「動き続けていたことに気づいていなかったセッション」についての、関連する2つの話です。

**一覧され、止められます。** Settings に **Sessions that survived a restart** が入りました。前の
サーバから動き続けている端末が、**全ディレクトリ横断で**並びます。各行にはどこで動いているか、
それが何か、どれだけ idle か、終了して失うものがあるかが出ます。**Stop** はその1セッションだけを
終了し、transcript のある会話はあとから resume できます。これまではプロセスが動いているのに
それを認める画面が無く、`tmux ls` が唯一の見つけ方でした。

**誰も要らないものは次回起動時に終了します。** 同じセクションが `sessionIdleReapDays` を持って
います。誰も attach しておらず出力も無い端末を、次回起動時に終了するまでの日数です。
**既定 7 日**、`0` で無効、範囲は 0〜365。その数字に取られる行には **ends at next start** と
出るので、掃除が「掃除される一覧の中で」見えます。

終わるのは会話ではありません — ディスク上の transcript は tmux セッション無しでも resume でき、
失われるのはプロセスとそのスクロールバックです。

どちらも[設定](config.html#settings-modal)にあります。

---

## 端末が、表示しているコマンド自身を遅くしなくなりました

有効化する設定はありませんが、グリッドの体感が変わる理由なので書いておきます。

**何が悪かったか。** サーバはブラウザが再接続したときに画面を描き直せるよう、各セルの出力の末尾を
保持しています。この末尾への追記が、端末が吐いたチャンクごとに**末尾全体のサイズ**を消費して
いました — 数十バイトの新しいテキストに対して約1 MB のコピーです。大きなテスト実行やビルドの
最中、この関数だけで **CPU 1 コアの 86%** を使い、しかもそれは「端末を読むために使えなかった
CPU」でした。結果として、動かしているプログラム自身が、自分の出力が回収されるのを待たされて
いました。

**実際にどう変わるか。** 効き方は「何セルが忙しいか」で伸びます。同じ重いコマンドを複数セルで
同時に走らせた場合:

| 走らせたセル数 | 修正前 | 修正後 |
|---|---|---|
| 1 | 2.0 秒 | 2.0 秒 |
| 3 | 3.9 秒 | 2.1 秒 |
| 6 | **8.2 秒** | **2.2 秒** |

1セルだけなら変わりません — そこには元から行列が無かったからです。6セルが、以前1セルにかかって
いた時間で終わります。サーバが邪魔をするのをやめたということです。参考として、アプリを一切
介さないシェル 6 本だけでも 1.9 秒かかります。2.2 秒はその下限の誤差の範囲です。

**入っているかの確かめ方。** 騒がしいものを3〜4セルで同時に走らせて（テスト、ビルド、`find /`
など）、まとめてやったときと1つずつやったときの時間を比べてください。4.6.0 ではセルを足すほど
合計が伸びます。4.6.1 では伸びません。

見えるものは何も変わっていません。同じ出力が同じ順序で届き、ブラウザを再接続すれば同じ画面が
描かれます。変わったのはコストだけです。

---

## 小さめの修正

- **tmux クライアントが殺されても、セッションを道連れにしません。** クライアントを失うことは
  プログラムが終わることと同じ出来事ではないので、両者を区別するようになりました。まだ働いて
  いるセッションを畳んでしまうことがなくなります。
- **ターン境界を推測せず読みます。** claude がターンを終えたかどうかを、出力からの推測ではなく
  claude 自身の報告から取るようにしました。
- **model id に Claude Code の `[1m]` 拡張コンテキスト接尾辞を書けます。** provider 設定の
  `claude-opus-4-5[1m]` が「不正な形式」として弾かれず通ります —
  [プロバイダーとモデル](providers.html)を参照。
- **ツール呼び出し履歴の保持コストを下げました。** パネルのセッションごとの履歴を、ツール呼び出し
  1回につき2回、毎回全部ディスクに書き直していました。速いツール呼び出しは1回の書き込みを
  共有します。
- **完了ベルが立っているコレクションのレコードが、ボードで分かるようになりました** — Kanban の
  カードに色が付きます（urgent は赤、nudge は amber）。MulmoClaude が立てたベルでも付きます。
- **カスタムビューが core の host surface の残りに届きます** — 翻訳、表示用に解決された保存画像、
  宣言済みの mutate アクション。
- **スマホ側のコレクション / フィードのレコードが store の継ぎ目を通る**ようになり、REST の
  item 書き込みは書く前にスキーマで検査されます。
- **Windows CI の修正2件**。どちらもアプリではなくテスト側の問題です。

---

## リンク

- [セル同士を会話させる](conversation.html) — 部屋と round table、常に最新
- [設定](config.html#settings-modal) — 全設定。`sessionIdleReapDays` もここ
- [プロバイダーとモデル](providers.html) — provider 設定、model id
- [Changelog](https://github.com/receptron/mulmoterminal/blob/main/docs/ChangeLog.md) — 各リリースの
  変更点と PR
