---
title: 4.4.0 — セルごとにペインを覚え、Canvas がファイルを自分で開く
layout: default
parent: 日本語
nav_order: 1011
description: MulmoTerminal 4.4.0 のセットアップガイド — 右ペインがセルごとになり、Files ペインからエージェント抜きでドキュメントやストーリーを Canvas に開けるようになり、ワークスペースで claude.ai のコネクタが使えるようになり、セッション一覧が transcript を毎回全部読むのをやめた。
---

# 4.4.0 — セルごとにペインを覚え、Canvas がファイルを自分で開く

**2026-08-04 リリース時点の 4.4.0 のスナップショットです。** アプリが進むにつれて古くなりますが、
それは想定どおりです。常に最新に保たれるリファレンスは、各節からリンクしている生きたガイドを
参照してください。

```bash
npx mulmoterminal@latest
```

**このリリースはほとんど設定が要りません。** ペインも Canvas ボタンもコネクタも速度も、上げれば
そのまま効きます。手を動かす必要があるのは 2 つだけです。[work comment](#work-comment) は
オプトイン（既定でオフ）で、[ヘッダーのアイコン](#header-icons)は場所が変わったので、
普段から使っていた方はそこだけ読んでください。

---

## 右ペインをセルごとに覚えるようになった

これまで右ペインは**グリッド全体で 1 つの状態**でした。あるターミナルで Canvas を開くと、次に拡大
したセルでも開いていて、そこで閉じると最初のセルに戻ったときにも閉じている、という挙動です。

これからはセルごとに答えます。

**設定は不要です。** 上げてから拡大を渡り歩くと、各ターミナルが**そのセルで開いていたペイン**を
出します（files / canvas / tools / 何も無し）。

- **一度もペインを求めていないセルは、何も開かない状態で現れます。** 閉じたことも 1 つの答えなので、
  閉じたセルは閉じたままです。
- **タイル表示のセルでもペインのボタンを押せます**（拡大する前に）。Canvas は拡大していないと実際
  には開けないので、押したことが記録され、そのセルを拡大した時点で開きます。
- **リロード後は「セッション単位」で復元します**（位置ではありません）。直近 40 件まで、古いものから
  落とします。
- **ペインの幅と全幅表示は従来どおり共通**です。セルごとになったのは「どのペインか」だけです。

**入ったことの確かめ方。** 1 つのセルを拡大して Canvas を開き、畳んでから別のセルを拡大します。
4.4.0 より前はそこでも Canvas が開いていました。今度は開きません。

参照: 生きたガイドの[基本編](basics.html)。

---

## エージェントに頼まずにファイルを Canvas で開く

Canvas はエージェントの**ツール結果**を描く場所なので、すでにディスクにあるドキュメントを見るのにも
毎回エージェントに「見せて」と頼む必要がありました。

**Files ペインのツールバーに Canvas ボタンが付きました。**

1. セルを拡大して **Files** ペインを開く
2. 開けるファイルを選ぶ（`.md` のドキュメント、`.html` のページ、MulmoScript のストーリー）
3. **Canvas** を押す

**ボタンは開けるファイルを選んだときだけ出る**ので、当てずっぽうに押す必要はありません。開くのは
本物の Canvas カードです。保存され、リロードしても戻り、あとで同じファイルをエージェントが提示
したらそのカードと畳まれます。

**MulmoScript のストーリーだけ条件が 1 つあります。** ストーリーは**ワークスペースの**
`artifacts/stories/` に置かれている必要があります。プロジェクトのディレクトリにも同名の
`artifacts/stories/` がありうるので明記しますが、そちらは対象ではありません。ストーリーを描く
ツールがワークスペース基準でしかファイルを指せず、その外のストーリーを指す方法を持たないためです。
ドキュメントと HTML にこの制限はなく、たどり着ける場所ならどこでも開けます。

**入ったことの確かめ方。** 適当なセルで Files ペインを開き、`.md` ファイルをクリックします。
ツールバーに Canvas ボタンが現れ、押すとドキュメントが描画されます。PDF 書き出しと
Edit Markdown Source も、エージェントが描いたカードと同じように動きます。

参照: 生きたガイドの[基本編](basics.html)・[機能](features.html)。

---

## セルヘッダーのパスがメニューになり、アイコンが 6 つそこへ入った
{: #header-icons }

**習慣が変わるのはここだけ**なので、30 秒だけ読んでください。

パスが row 1 から **row 2** に移り、ドロップダウンになりました（`▾` が付いています）。クリックすると:

![セルヘッダーのパス「~/ss/llm/mulmoterminal」と、開いたメニュー: ファイルマネージャで開く / アプリ内でファイルを見る / ここで新しいターミナル、区切り線の下に Repository / Issues / Pull requests](../images/v4.4.0-path-menu.png)

**とくに強調したいのは GitHub のメニューです。無くなったのではなく、ここに移動しました。** 以前は
GitHub アイコンが専用のメニューを開き、その中身がまさにこの 3 つでした。区切り線の下にそのまま
残っています — **Repository** / **Issues** / **Pull requests**。行き先も、出る条件（そのディレクトリの
remote が GitHub に解決したときだけ）も従来と同じです。**あのアイコンを探して「機能ごと無くなった」と
思った方は、ここを見てください。**

残る 3 つは、これまで常設アイコンだったものです。**ファイルマネージャで開く**（従来のパスクリックと
まったく同じ動作なので先頭）、**アプリ内でファイルを見る**、**ここで新しいターミナル**。

というわけで、既定のヘッダーから 4 つのボタン（`reveal` / `files` / `terminal` / `gh`）と GitHub
アイコンを外しました。どれも「このディレクトリに対して何かする」で、それはパス自身が表していることです。
とくに `reveal` は**パスのクリックと完全に同一動作**でした。

**`buttons` を自分で設定している方には影響がありません** — もともと既定セットを使っていないためです。
**設定としては何も変わっていません**。自分で定義すれば従来どおりボタンとして動きます（パスメニューは
固定なので、その場合は両方に出ます）。

`buttons` を書くと**既定セット全体を置き換える**（マージではない）点に注意してください。`pick-file` と
`pr` を残したい場合は、それらも並べます:

```json
{
  "buttons": [
    { "id": "reveal",   "icon": "folder",      "label": "フォルダを開く",     "run": "open", "open": { "reveal": "${dir}" } },
    { "id": "files",    "icon": "folder_open", "label": "ファイルを見る",     "run": "open", "open": { "files": "${dir}" } },
    { "id": "terminal", "icon": "terminal",    "label": "ここで新規ターミナル", "run": "open", "open": { "terminal": "${dir}" } },
    { "id": "gh",       "icon": "public",      "label": "GitHub で開く",      "run": "open", "open": { "url": "https://github.com/${repo}" }, "when": "repo != " },
    { "id": "pick-file","icon": "attach_file", "label": "ファイルパスを挿入",  "run": "open", "open": { "pickFile": true } },
    { "id": "pr",       "icon": "merge",       "label": "このブランチの PR",   "run": "open", "when": "isGitRepo", "open": { "pr": true } }
  ]
}
```

2 つは意図して残しました。**`pick-file`** はプロンプトへの入力操作であって場所への移動ではないため、
**`pr`** は PR が無いときは自動で隠れるうえ、あるときはワンクリックの価値が大きいためです。

参照: 生きたガイドの[設定](config.html#header)・[基本編](basics.html)。

---

## ワークスペースと単一ビューで claude.ai のコネクタが使えるようになった

claude.ai のアカウントで Gmail・カレンダー・Drive・Slack・Notion などを認可していても、あるいは
`~/.claude.json` に自分の MCP サーバを書いていても、ディレクトリに `.mcp.json` を置いていても、
**ワークスペースのセルと単一ビューからは見えていませんでした**。いちばん必要になるはずの 2 種類の
セッションだけが、です。他のディレクトリのセルからは全部見えていました。

**設定は不要です。** 上げれば使えます。

**入ったことの確かめ方。** ワークスペースのセルでセッションを始め、コネクタが要ることを頼みます
（カレンダーを読む、メールを検索する等）。4.4.0 より前はそのツール自体が存在しませんでした。なお
`claude mcp list` は**この確認には使えません**（今も使えません）。「Connected」と出るのは CLI が自分で
ヘルスチェックした結果であって、動いているセッションから何が見えるかの報告ではないためです。

**代償も書いておきます。** MCP サーバをいくつも設定している場合、ワークスペースのセルと単一ビューは
**起動が遅くなります**（読み込むようになったので）。実測では最初のウィンドウまで、無しで約 8.0 秒、
未認証のサーバ 1 つで 9〜15 秒。同じワークスペースを扱う MulmoClaude が既に払っているのと同じ
トレードオフです。

参照: 生きたガイドの[設定](config.html)。

---

## issue に着手を伝える — 書けなかったときは理由が出る
{: #work-comment }

**これはオプトインで、既定はオフです。** `~/.mulmoterminal/config.json` で有効にします:

```json
{ "issueWorkComments": true }
```

有効にすると、issue から作業を始めたときに**コメントを 1 つだけ**投稿し、作業が進むたびに**その同じ
コメントを編集**します。以前は「着手」と「マージ」で別々のコメントを投稿し、その間は無言でした。

```
Merged in #1240. Work done in `1234-fix-login`.

- started — 2026-08-04 14:20 UTC
- PR #1240 — 2026-08-04 15:05 UTC
- merged in #1240 — 2026-08-04 16:40 UTC

posted by MulmoTerminal
```

マイルストーンは 3 つだけ（着手 / PR 作成 / マージ）。**CI の結果は意図的に入れていません** — PR の
ほうに出ているうえ、揺れるためです。編集では**通知が飛びません**（これも意図的です）。

**書けなかったときは、理由が出るようになりました。** これまでは、書き込み権限の無い `gh` でログイン
していると**何も起きないまま永久に沈黙**していて、設定をオフにしているのと区別が付きませんでした。
今はセルのヘッダーに `issue not updated — …` という消せる通知が出て、原因（`gh` が無い / 未認証 /
権限が無い）を名指しします。**作業そのものは従来どおり影響を受けません** — コメントは飛ばされ、
次のマイルストーンで再試行します。

**入ったことの確かめ方。** 設定をオンにして issue から作業を始め、その issue の PR を作ります。
2 つ目のコメントが現れるのではなく、最初のコメントに `PR #…` の行が増えます。

参照: 生きたガイドの [GitHub 連携](github.html)・[設定](config.html#issue-work-comments)。

---

## タイル表示のグリッドでも、描かれたものが自分から出てくる

エージェントが `presentDocument` や `presentChart` を呼んだとき、その描画は**それ自体が答え**です。
これまでタイル表示のグリッドでは、その答えはチップの数字にしか現れませんでした。Canvas ペインは
拡大されたセルの脇にしか存在しないためです。

これからは、描いたセルが自分で拡大して Canvas を開きます。**操作は不要です。**

- **全画面のオーバーレイが出ている間は起きません。** 別のものを読んでいる最中であって、戻ってきた
  ときに勝手に組み替えられたグリッドを見せられるほうが困るためです。
- **作業中のセルを邪魔しません。** 別のセルを拡大して作業している間に背後のセルが描いた場合は、
  従来どおりチップだけです。

**ターミナルが 1 つだけのグリッドも拡大できるようになりました**（以前は拒否されていました）。この
拒否は、1 ターミナルのグリッドで **Canvas / Tools / Files の各ペインを完全に封じて**もいました
（これらのペインは拡大された行にしか存在しないため）。チップを押しても何も起きず、描画には行き場が
無く、しかもどちらにもエラーが出ない、という状態でした。

参照: 生きたガイドの[基本編](basics.html)。

---

## 全体的に速くなった。そしてディスクに新しいディレクトリができる

transcript を**リクエストのたびに全部読む**箇所が 5 つありました。大きなプロジェクトではそれが数秒の
イベントループ停止になり、その間アプリ内の全ターミナルが固まります。これらが増分フォールドを
**再開する**形になり、さらにその結果をディスクに残すので、再起動しても 2 つ目のアプリを開いても
払い直しません。

| 対象 | before | after |
|---|---:|---:|
| セッション一覧（2.1 GB のプロジェクト） | 8,700 ms | **0〜1 ms** |
| セッション要約・1 ターン追記後（508 MB） | 2,154 ms | **3 ms** |
| `/api/cost`（1.1 GB のプロジェクト） | 2,449 ms | **1 ms** |
| timeline オーバーレイ（508 MB） | 2,247 ms | **0 ms** |
| decision scan・1 ターン追記後（484 MB） | 2,164 ms | **1.3 ms** |

**設定は不要です。** 知っておくとよいことが 1 つだけあります:

> **ディスクに増えるもの:** `~/.mulmoterminal/transcript-index/` に畳み込みの結果が入ります。
> transcript 1 本あたり数 KB の JSON で、**10 MB を超える transcript のぶんだけ**です。手元では
> 大きなプロジェクト 2 つで 24 ファイル / 96 KB でした。**消しても問題ありません**（必要になれば
> 作り直します）。`~/.claude/projects` には何も書きません。あそこは Claude Code の領分です。

**入ったことの確かめ方。** セッション一覧に数秒かかっていたプロジェクトを開きます。初回はまだ実際の
仕事をしますが、2 回目は — そして**再起動後の初回も** — ほぼ一瞬です。

参照: 生きたガイドの[機能](features.html)。

---

## そのほかの修正

- **空セルのランチャーでディレクトリを変えたとき**、前のディレクトリの resume 履歴・worktree・script
  chips が残ってクリックできてしまう問題を修正。実在するセッションなので、押すと**そのとおりの
  セッションが開いて**いました（表示中のディレクトリとは無関係のものが）。今はすぐに空になり、
  loading の 1 行が理由を説明します。
- **バックグラウンドタスクが終わったとき**、セルのタスク行がハーネスの `<task-notification>` XML に
  置き換わり、AI タイトルまでそこから生成される問題を修正。
- **ワークスペースで始めたセッション**のバッジが、そのフォルダの設定名ではなく `WORKSPACE`（ランチャー
  のチップと同じ役割名）になりました。
- **壊れた索引ファイル**でセッションが一覧から消えたまま戻らなくなる問題を修正。
- **Windows の daily CI** が green に戻りました。

---

詳細はすべて[変更履歴](https://github.com/receptron/mulmoterminal/blob/main/docs/ChangeLog.md)にあります。
