---
title: "Space、Project 与 Thread"
description: "侧边栏的三个层级、新建与重命名、置顶、引用、Space 菜单里的服务器、Library、归档、每一层的删除会结束什么，以及重启之后能回来什么。"
url: "https://docs.closex.org/zh/thinkterm/spaces.html"
markdown_url: "https://docs.closex.org/zh/thinkterm/spaces.md"
site: "CloseX Docs"
product: "ThinkTerm"
language: "zh-Hans"
last_updated: "2026-11-08T12:04:16.000Z"
alternates:
  en: "https://docs.closex.org/thinkterm/spaces.md"
  zh-Hans: "https://docs.closex.org/zh/thinkterm/spaces.md"
  ja: "https://docs.closex.org/ja/thinkterm/spaces.md"
---

# Space、Project 与 Thread

> **文档编写中**
> 部分内容可能尚不完整。

ThinkTerm 把每个终端归在三个层级之下。Space 是一个工作情境，Project 是其中的一个文件夹，Thread 则是 Project 里一套保存下来的标签与分屏排布。侧边栏一次只显示一个 Space，下面是它的 Project，再下面是各自的 Thread。

## 三个层级

| 层级 | 是什么 | 一开始有的 |
|---|---|---|
| Space | 一个工作情境。它住在这台机器上，或者住在一台 ThinkTerm Connect 服务器上，连到那台服务器的每台设备都能看到它。一个 Space 可以绑定一个笔记库，由其中的 Project 共用。 | `Default` |
| Project | 一个文件夹。添加时以文件夹名命名，在它里面新开的终端都从那里起步。 | `Home`，位于 `~` |
| Thread | 一组标签和分屏，以一个名字保存下来。 | `main` |

`Default` 可以改名，但不能删除，这样窗口总有地方可落。每个新 Space 都以同样的方式开始：一个位于 `~` 的 `Home` Project，里面一个 `main` Thread。

新 Space 依次叫 `Space 2`、`Space 3`，新 Thread 依次叫 `Thread 2`、`Thread 3`，从已有的数量往后数。同一个 Project 里的两个 Thread 不能重名：把一个 Thread 改成同一 Project 里已有的名字，会在后面加一个数字，变成 `review 2`。

## 一个窗口一个 Space

一个窗口显示一个 Space，一个 Space 也只由一个窗口显示。已经在另一个窗口里打开的 Space，在 Space 菜单里显示为 `my-space（已被占用）`，在那个窗口离开它或关闭之前无法选中。

[Library](https://docs.closex.org/zh/thinkterm/window.md#the-library) 一次显示所有 Space，也遵守同一条规矩：别的窗口已经打开的 Space，它的卡片打不开，它的菜单里也只写着已被占用。

新窗口会取你上次用过的本地 Space（只要没有别的窗口占着），否则取第一个空闲的本地 Space，再不行就新建一个。它从不在一个住在服务器上的 Space 上打开 —— 那些要从 Space 菜单或远程主机里有意打开。

## 侧边栏

侧边栏顶部是 Space 按钮：当前 Space 的名字，旁边的图标在它的服务器连接中时变成转圈，断开时变成警示标记。这里的服务器，对住在 ThinkTerm Connect 服务器上的 Space 就是那台服务器；对本地 Space，则是开着时的[后台会话 server](https://docs.closex.org/zh/thinkterm/remote.md#本地会话放进会话-server)。点它打开 Space 菜单。它下面是一个 `新建会话` 按钮，会在你当前所在的 Project 里加一个 Thread，旁边是通知铃铛。`新建会话` 和两个侧边栏的显示、隐藏按钮，也都是可以绑定到按键上的动作 —— 见[键盘](https://docs.closex.org/zh/thinkterm/keyboard.md)。

再往下是 `已置顶` 一节（有置顶的东西时才出现），以及 `工作区` 标题，标题旁的 `+` 用来添加 Project。每个 Project 行有自己的 `+` 用来新建 Thread，还有一个折叠箭头可以把它的 Thread 收起来。[分享](https://docs.closex.org/zh/thinkterm/window.md#sharing-a-terminal)打开时，列表最后还有一节 `分享给我`，列出别的账户分享给你的终端。

底部是四个按钮。设置不在其中：它是 Library 里的一个按钮，`设置…` 也在命令面板里。

| 按钮 | 打开什么 |
|---|---|
| `ThinkTerm Library` | 每个 Space 一张卡片、按机器分组，取代侧边栏 —— 见[窗口](https://docs.closex.org/zh/thinkterm/window.md#the-library) |
| `实时总览` | 把每个活着的 Thread 摆成卡片的 Live Overview —— 见[窗口](https://docs.closex.org/zh/thinkterm/window.md#live-overview) |
| `远程主机` | 主机簿 —— 见[远程](https://docs.closex.org/zh/thinkterm/remote.md) |
| `查找线程` | 命令面板里的 `查找线程` 列表；macOS 上是 ⌘P |

`查找线程` 列出所有 Space 里的所有 Thread，归在所属 Project 的名字和路径下，置顶的和最近用过的排在前面。侧边栏只显示一个 Space，也不显示已归档的 Project；这个列表两样都不限，所以它是去往任意 Thread 最快的路。已归档 Project 的 Thread 排在最后，标着 `(已归档)`。

## Space 菜单

![Space 菜单：先是本机的 Space，再按服务器分组列出各自的 Space 和 New Space Here，最后是 Add Remote Host… 与 New Space](https://docs.closex.org/img/thinkterm/thinkterm_space.webp)

| 条目 | 作用 |
|---|---|
| 各个本地 Space | 把这个窗口切到那个 Space。当前的那个带勾。 |
| 服务器名，及其下的 Space | 每台 ThinkTerm Connect 服务器一个标题，注明它是否 `（连接中…）`、`（重连中…）` 或 `（已断开）`，下面列出那台服务器上的 Space |
| `在此服务器新建空间` | 位于某台服务器的标题下：在那台服务器上新建一个 Space |
| `添加远程主机…` | 打开主机编辑器，新建一台主机 |
| `新建空间` | 新建一个本地 Space 并切过去 |
| `重命名“my-space”…` | 原地编辑当前 Space 的名字 |
| `删除“my-space”` | 删除当前的本地 Space —— 见[删除](#删除) |
| `移除“my-space”` | 针对服务器上的 Space：摆脱它的三种方式 —— 见[删除](#删除) |
| `移除其他空间` | 对其他任一 Space 做同样的事，只要它不是 `Default`、也没在别的窗口里打开 |

这张表是菜单的默认样子。`设置 › 外观 › 连上的服务器` 会改变它列出服务器的方式，见下文。

### Space 菜单里的服务器 {#servers-in-the-space-menu}

`设置 › 外观 › 连上的服务器` 有三个选项：

| 选项 | Space 菜单 | 服务器的工作显示在哪里 |
|---|---|---|
| `全部展开`（默认） | 每台服务器的 Space 全部列在服务器名下，如上表 | 服务器自己的 Space 里 |
| `每台一行` | 每台服务器一行。只有一个 Space 的服务器，从这一行直接切过去；有好几个的，在子菜单里列出，后面跟着 `在此服务器新建空间`。窗口所在的那台服务器保持展开，所以在它的 Space 之间移动只需点一下。`在服务器上新建空间` 一项把每台服务器各列一行，用来在其中任何一台上新建 Space。已连接的服务器排在前面，其次是正在连接或重连的，最后是其余的 | 服务器自己的 Space 里 |
| `文件夹` | 只列这台电脑的 Space。窗口所在的那个服务器 Space，在它打开期间仍然列着，带勾 | 作为这台电脑某个 Space 里的文件夹，就像 [Thread 引用](#thread-引用) |

选 `文件夹` 时，从某个 Space 连接服务器，会把这台服务器的 Project 作为文件夹显示在那个 Space 里；从别的 Space 再连一次，文件夹就搬到那边。它们跟着服务器走：这些行上没有 `从此空间移除` 或 `移动到空间`，服务器在那里显示多久，它们就留多久。服务器自己的 Space 不会出现在菜单里，也不会出现在 [Library](https://docs.closex.org/zh/thinkterm/window.md#the-library) 里，滑动切换也会跳过它们。

菜单里服务器的各行，带着在远程主机的 `图标` 栏里给这台主机选的图标：`服务器`、`云`、`地球`、`笔记本电脑`、`Mac mini`、`台式机`、`单板机` 或 `容器`。

## 新建

**Space。** `新建空间` 创建它、把窗口切过去，并把名字打开供编辑，让你当场命名。某台服务器标题下的 `在此服务器新建空间` 则把 Space 建在那台服务器上：连到那台服务器的每台设备都会看到它出现。它以一个以服务器命名的 Project 和一个 `main` Thread 开始。

**Project。** `工作区` 旁边的 `+`。在本地 Space 里它打开系统的文件夹选择器。选中一个在本 Space 里已经是 Project 的文件夹，会打开那个 Project 而不是再加一个，如果它已归档，还会把它恢复回来。在服务器上的 Space 里没有本地文件夹可选，于是会列出 ThinkTerm 知道的那台服务器上的目录 —— 它的终端所在的位置、其他 Project 的路径，以及 `~` —— 可以输入文字筛选，也可以直接输入一个路径，比如 `~/my-project` 或 `/srv/app`。

**Thread。** 侧边栏顶部的 `新建会话`、Project 行上的 `+`，或 Project 菜单里的 `新建会话`。它的终端在 Project 的文件夹里打开。

**导入。** `设置 › 导入` 也可以替你填充 Space。导入的 Herdr 会话会成为一个新 Space；代码编辑器里打开过的文件夹，会成为你所选 Space 里的 Project，每个带一个 Thread。见[配置](https://docs.closex.org/zh/thinkterm/configuration.md#导入)。

## 重命名

`重命名项目…`、`重命名会话…` 和 `重命名“my-space”…` 都在侧边栏里名字所在的位置原地编辑。回车保留新名字，Esc 放弃，点到别处也会保留。留空的名字不会改动任何东西。

给 Project 改名只改变侧边栏怎么称呼它，磁盘上的文件夹保持原名。

## Project 菜单

右键点 Project 行：

| 条目 | 作用 |
|---|---|
| `重命名项目…` | 原地编辑名字 |
| `在访达中显示` | 在文件管理器里打开这个文件夹 —— Windows 上是 `在文件资源管理器中显示`，Linux 上是 `在文件夹中显示` |
| `授权文件夹访问…` | 仅限 macOS。运行那个让 ThinkTerm 获得该文件夹访问权限的选择器 —— 见[配置](https://docs.closex.org/zh/thinkterm/configuration.md#macos-上的文件夹访问) |
| `新建会话` | 新建一个 Thread |
| `折叠 / 展开会话` | 收起或展开这个 Project 的 Thread；重启后仍然记得 |
| `归档项目` | 把 Project 收起来 —— 见[归档 Project](#归档-project) |
| `移除项目` | 删除这个 Project 及其 Thread —— 见[删除](#删除) |

## Thread 菜单

右键点 Thread 行。指针停在一行上时，行的右端还会出现一枚图钉和一个垃圾桶。

| 条目 | 作用 |
|---|---|
| `在新窗口打开` / `前往窗口` | 给这个 Thread 一个自己的窗口；它已经有窗口的话，就把那个窗口带到前面 —— 见[独占一个窗口的 Thread](https://docs.closex.org/zh/thinkterm/window.md#a-thread-in-its-own-window)。引用的行上也有 |
| `连接会话` / `断开会话` | 仅用于普通 SSH 或 Mosh 主机上的 Thread —— 见[树里的 SSH 主机](#树里的-ssh-主机) |
| `置顶会话` / `取消置顶会话` | 把 Thread 移进或移出 `已置顶` |
| `重命名会话…` | 原地编辑名字 |
| `删除会话` | 删除这个 Thread，并结束其中运行的东西 —— 见[删除](#删除) |
| `标记为未读` | 点亮这个 Thread 的圆点，直到你下次打开它 |
| `添加到空间` | 让这个 Thread 也出现在另一个 Space 里 —— 见[Thread 引用](#thread-引用) |
| `移动到空间` | 把这个 Thread 移到另一个本地 Space |

## 置顶

置顶的 Thread 会离开所属 Project 的列表，进入 Space 顶部的 `已置顶` 一节，那里汇集了这个 Space 里所有 Project 的置顶 Thread。取消置顶后，它回到自己的 Project 下面。

置顶的 Thread 不能拖动排序。已归档 Project 的置顶会保留但不显示，Project 恢复后重新出现。在服务器上的 Space 里，置顶记在服务器上，所以每台设备都看得到。

## 未读与状态

每个 Thread 行带着一个表示状态的标记：正在运行、需要你关注、已完成 —— 在你没看着的时候跑完了 —— 或者空闲时什么也没有。这个状态是怎么判定的，见 [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md)。

`标记为未读` 点亮一个 Thread 的圆点，提醒你回来看它。打开这个 Thread 会清掉它，同时清掉已完成标记。两者都会保存，所以重启之后还在。

侧边栏顶部的铃铛收集所有 Space 里已完成或需要关注的 Thread，每条写作 `Thread — Project · Space`。选中一条会切到它所在的 Space 并打开它，它也就从列表里消失。铃铛上的小圆点表示列表不为空，有新条目到来时它会闪动一下；ThinkTerm 启动时就已经在等着的条目不会闪。在 macOS 上，[程序坞图标](https://docs.closex.org/zh/thinkterm/window.md#dock-icon-count)可以用一个数字显示这份列表里有几个 Thread。

## Thread 引用

一个 Thread 属于一个 Space 里的一个 Project，但它也可以出现在别的 Space 里。`添加到空间` 列出还没有显示它的本地 Space，选一个就会在那里加一条引用。ThinkTerm Connect 服务器上的 Thread 也可以这样做，一个 Space 就是这样容纳来自几台机器的工作的。

在持有它的 Space 里，引用放在一个以该 Thread 所属 Project 命名的文件夹里。指针停在文件夹标题上会显示它来自哪台机器、哪个 Space，标题上的 `+` 会在那个原本的 Project 里新建一个 Thread。打开引用打开的就是那个 Thread 本身，而不是副本。

它的菜单短一些，因为引用代表那个 Thread，而不是 Thread 本身：

| 条目 | 作用 |
|---|---|
| `重命名会话…`、`标记为未读` | 作用在 Thread 本身上，无论它住在哪里 |
| `从此空间移除` | 移除这条引用，Thread 不受影响。行上的 `×` 作用相同。 |
| `移动到空间` | 把这条引用移到另一个 Space |
| `回到原空间` | 切到这个 Thread 自己的 Space，并在那里打开它 |

引用上不提供置顶和删除，因为它们会改动 Thread 本身，看上去却像只动了这一行。

引用的 Thread 所在的机器离线时，引用会留着，变暗，显示最后一次见到的名字。等那台机器重新可达、且已经没有这个 Thread 时，或者它的主机从远程主机里删除时，引用才会消失。

引用只属于这台设备。它们不会发给任何服务器，所以连到同一台服务器的另一台设备、浏览器或 TUI 都看不到。

Thread 自己那一行上的 `移动到空间` 是另一回事：它给 Thread 换个家。Thread 离开原来的 Project，加入目标 Space 当前所在的 Project，里面正在运行的终端随之过去，不会重启。只有本地 Thread 能移动，而且只能移到一个有本地 Project 的本地 Space；服务器上的 Thread 在那台机器上运行，只能被引用。

## 调整顺序

拖动 Project 行，可以在这个 Space 的 Project 之间移动它；引用文件夹也参与同一个顺序。拖动 Thread 可以在它自己的 Project 里移动 —— 不能拖进别的 Project。被拖动的行会跟着指针走，保持你抓住它的位置，周围的行让开，显示它会落在哪里；松手时它落进位置。Thread 引用只能在它自己的文件夹里移动，拖到别的文件夹上会取消。把 Thread 整个拖出侧边栏，会在它自己的窗口里打开 —— 见[独占一个窗口的 Thread](https://docs.closex.org/zh/thinkterm/window.md#a-thread-in-its-own-window)。

在服务器上的 Space 里，Project 和 Thread 的顺序由服务器保存，每台设备共享。引用文件夹的位置和引用本身一样，只属于这台设备。

## 滑动切换 Space

在 macOS 上，在侧边栏上方用触控板双指横向轻扫，会切到上一个或下一个 Space，一页滑出、另一页滑入。它会跳过已在别的窗口里打开的 Space，以及服务器未连接的 Space；这些要从 Space 菜单进入。越过第一个 Space、朝本该有上一个 Space 的方向继续轻扫，会随着手指带出 [Library](https://docs.closex.org/zh/thinkterm/window.md#the-library)，松手时按你滑了多远、多快，决定它是留开还是收回。Library 打开时，在卡片之外的面板上起手、朝终端方向轻扫，就把它收回去。

`Previous Space` 和 `Next Space` 能在键盘上做同样的事。在你绑定之前它们没有自己的键 —— 见[键盘](https://docs.closex.org/zh/thinkterm/keyboard.md)。

## 归档 Project

归档是把一个 Project 收起来而不丢掉它。它的布局先被保存，终端随后关闭，它那一行离开侧边栏。它的 Thread、Thread 的布局和置顶都会保留。

Project 里没有东西在运行时，`归档项目` 立即生效。有东西在运行时，菜单项变成 `归档项目…`，展开后说明会关闭多少个运行中的面板（`将关闭 3 个运行中的面板；布局会保留`），并要求点 `归档并关闭面板`。关掉正在运行的程序，是归档里唯一无法撤回的部分。

一个 Space 至少保留一个未归档的 Project。归档最后一个会被拒绝，并提示 `空间至少需要保留一个未归档的项目；请先恢复或新建一个`。

服务器上的 Space 里的 Project 是在服务器上归档的：它在那里的会话会结束，每台设备都会看到它已归档。这需要服务器处于连接状态。

已归档的 Project 可以在三个地方找到：

- **`设置 › 已归档`** 列出所有 Space 里的已归档 Project，最新的在前，每条写作 `my-space · 3 个会话 · 今天归档`。`取消归档` 把它恢复回来。`删除` 会变成 `确认删除`，再点一次就永久删除这个 Project 及其 Thread。
- 命令面板里的 **`Show Archived Workspaces`** 会把当前 Space 的已归档 Project 变暗显示在侧边栏底部，直到你再运行一次或关闭窗口。点这样的行没有反应。右键可以选 `取消归档`，或者 `永久删除…`，后者说明会删掉多少个 Thread，并要求点 `删除项目及会话`。
- **再次把同一个文件夹添加为 Project**，也会把它恢复回来。

取消归档会把 Project 放回原来的位置。原先在运行的程序不会恢复：它的 Thread 按保存的布局重新打开，在保存的目录里起新的 shell。

命令面板里的 `Archive Active Workspace` 会立即归档你当前所在的 Project，不会先告诉你有多少个面板在运行。

## 删除

| 对象 | 怎么做 | 结束什么 |
|---|---|---|
| Thread | `删除会话`，或行上的垃圾桶 | 其中运行的每个程序 |
| Project | `移除项目` | 它的所有 Thread，以及其中运行的一切。磁盘上的文件夹不受影响。 |
| 本地 Space | `删除“my-space”` | 它的所有 Project 和 Thread，以及其中运行的一切。窗口会切到 `Default`；如果 `Default` 在别处打开着，就切到另一个空闲的 Space。 |
| 服务器上的 Space | `移除“my-space”` | 取决于你的选择 —— 见下文 |

这些操作都不会请你确认。归档有运行中面板的 Project，以及删除已归档的 Project，是侧边栏里仅有的两个需要第二步操作的地方。如果你以后可能还想要回某个 Project，就归档它，而不是移除它。

有几种删除会被拒绝，而且不作提示：

- 一个 Project 的最后一个 Thread —— 请改为移除这个 Project。终端运行在另一台机器上的 Project 是例外：对于普通 SSH 或 Mosh 主机，或者服务器上的 Space 里的任何 Project，删除它的最后一个 Thread 会把这个 Project 一并移除；如果它是这个 Space 唯一的 Project，会有一个 `Home` Project 顶上它的位置；
- 一个 Space 里最后一个未归档的 Project；
- `Default`，以及在别的窗口里打开着的 Space —— 菜单里根本不提供。

服务器上的 Space 有三种去掉的方式，值得分清：

| 选项 | 会发生什么 |
|---|---|
| `断开连接（服务器继续运行）` | 这台设备不再显示这个 Space。服务器保留它，其中每个会话照常运行，其他设备也照常看到它。这台设备下次连到那台服务器时，它就回来了。 |
| `在服务器上删除（所有设备）` | 这个 Space 从服务器上删除，从每台设备上消失。它不会结束其中正在运行的程序；下一个选项才会。 |
| `删除并结束远程会话` | 先结束这个 Space 在服务器上的每个会话，再在所有地方删除它。只在服务器连接着时提供。 |

对不是当前 Space 的服务器上的 Space，`移除其他空间` 只提供第一种，写作 `断开“my-space”（服务器继续运行）`。

在一个 Thread 唯一的面板里输入 `exit`，关掉的是它的终端，而不是这个 Thread。窗口会转到这个 Space 里你最近用过的那个 Thread，一个都不剩时则转到一个新的 Thread。

## 树里的 SSH 主机

从远程主机里打开一台主机会添加什么，取决于它的连接方式 —— 见[远程](https://docs.closex.org/zh/thinkterm/remote.md#三种连接方式)。

**普通 SSH 或 Mosh** 主机会成为当前 Space 里的一个 Project，以主机命名。它的 Thread 打开时先显示一个带 `连接` 按钮的页面，而不是立刻连接；Mosh 主机则会马上开始连接。`断开会话` 结束会话但保留 Thread，`连接会话` 开一个新的会话。ThinkTerm 识别出这台主机运行的操作系统之后，Project 上会显示它的标志。

**ThinkTerm Connect** 主机会得到一个自己的 Space，第一次以主机命名，里面有一个同名的 Project 和一个 `main` Thread。一台服务器可以容纳多个 Space；再次连接时，会落在这台设备上次用的那个上。服务器断开期间，Space 按钮下面会出现一行 `重新连接`。本地 Space 在与后台会话 server 的连接丢失时，也会出现同样的一行。

给 ThinkTerm Connect 主机改名，或把它换到另一个网络，不会让它的 Space 落下。它们会转到主机的新名字下，下次连接就能在那里找到。旧连接如果还连着，它们就留在旧名字那边，直到它结束。

服务器上没有 ThinkTerm 的 Connect 主机，在你连接时会问要不要装上；见[主机需要什么](https://docs.closex.org/zh/thinkterm/remote.md#主机需要什么)。如果你是从远程主机页面发起的连接并选了不装，这一次这台主机会作为普通 SSH 的 Thread 打开，和上面说的一样，只是立刻开始连接。

## 断开连接的远程 Space

服务器不可达时，它上面的 Space 可以看，但不能改。那些 Space、Project 和 Thread 属于服务器，这台设备上的副本不是一份可以先改、事后再合并的缓存。重命名、新建、置顶、标记未读、调整顺序、归档和删除都会被拒绝，并弹出通知：`example-host 已断开。请重新连接后再试。` `设置 › 已归档` 也同样拒绝，提示 `该工作区在已断开的服务器上，请先重新连接`。

`断开连接（服务器继续运行）` 在断开状态下也能用，因为它只改动这台设备。

## 重启之后

这套结构保存在工作区数据目录里的 `workspace_threads.json` 中 —— 见[配置](https://docs.closex.org/zh/thinkterm/configuration.md#数据存放位置)。它记录了每个 Space、Project 和 Thread，以及它们的名字、顺序、置顶、未读和已完成标记，每个 Space 上次打开的是哪个 Thread，还有每个本地 Thread 的布局：标签和分屏，以及每个面板的目录、标题和字号。

能回来什么，取决于[后台会话 server](https://docs.closex.org/zh/thinkterm/remote.md#本地会话放进会话-server)：

- **开着它时**，本地终端从未结束。ThinkTerm 重新接上它们，程序、回滚内容，一切都和你离开时一样。每个 Thread 回来时停在它上次聚焦的标签上，而不是第一个。
- **关着它时**，退出就结束了它们。Thread 按保存的布局回来，每个面板在保存的目录里起一个新的 shell；程序不会回来。窗口在启动时只重建它打开的那个 Thread，其余的在你打开时再重建。每个面板里显示过的内容仍然可能回来，见下文。

`设置 › 通用 › 重新打开时恢复窗格内容` 在桌面端默认开启。ThinkTerm 带着它的终端退出、电脑关机或注销、或者会话 server 被停止时，它会保存每个本地面板的屏幕和回滚内容，其中看起来像密码、令牌或私钥的部分在写入之前就已遮掉，并在恢复 Thread 的布局时，把它们放回新 shell 的上方。崩溃或断电来不及保存，全屏程序的画面和图片也不保存。没人重新打开的记录 15 天后清掉。远程主机在你于其上运行 `thinkterm cli restore-output on` 之前什么也不保存；关掉这个设置会删除已保存的内容。

服务器上的 Space 里的 Thread 不在这里保存布局。布局和会话都由服务器持有，重新连接时它们原样回来，每个 Thread 停在它上次聚焦的标签上。

如果某个 Project 的文件夹打不开 —— 被移走、被删除，或者被系统拒绝访问 —— 它的 Thread 会显示一个页面说明情况，而不是悄悄把终端开在你的家目录里。

ThinkTerm 会在 `workspace_threads.json` 旁边保留几份副本：

- 每次启动、第一次保存之前，原来的文件变成 `workspace_threads.json.bak1`，更早的依次后移，直到 `.bak5`；
- 当一次保存会丢掉文件里相当大一部分内容时，以及每次启动时在会话 server 的第一次更新被应用之前，文件会被复制成一个带日期的名字，比如 `workspace_threads.shrink-<日期>-<时间>.json`，每种保留最新的十份；
- 读不了的文件会被复制成 `workspace_threads.unreadable-<时间>.json`。ThinkTerm 随后在没有它的情况下启动，并且在这次会话剩下的时间里不往原文件上写任何东西，所以这次会话里做的改动不会被保存。

这些副本是用来从故障中恢复的。要把工作区搬到另一台机器，或者自己留一份，请用 `设置 › 备份` —— 见[配置](https://docs.closex.org/zh/thinkterm/configuration.md#备份与恢复)。

## 相关

- [窗口](https://docs.closex.org/zh/thinkterm/window.md) —— 侧边栏周围的其余部分，以及 Live Overview
- [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md) —— 每个 Thread 带的那个状态
- [远程](https://docs.closex.org/zh/thinkterm/remote.md) —— SSH 主机、ThinkTerm Connect 和后台会话 server
- [配置](https://docs.closex.org/zh/thinkterm/configuration.md) —— 工作区数据存放在哪里、macOS 上的文件夹访问，以及备份
- [键盘](https://docs.closex.org/zh/thinkterm/keyboard.md) —— 用于 Space、Project 和 Thread 的命令
