# 日常使用

这一篇讲每天怎么用：一个键打开总面板，开会话、看状态、回答问题；出了问题怎么说。电脑和手机上怎么连，单独一篇：[电脑和手机上怎么连](connect.md)。第一次用先照 [成员 · 快速开始](quickstart.md) 开出第一个会话。

先记住一句话：**会话跑在 Tokenman 的机器上，不在你的电脑上。** 关掉终端、合上笔记本、断网，会话都照常干活；回来敲 `fleet`，一切原样——直接回到你上次看的那个会话（换一台电脑、在手机上也一样）；那个会话已经关掉了，就打开 ⌘P 会话列表，光标停在你最近活跃的会话上，回车即接回；你在所有机器上一个会话都没有时，才给你开一个新会话（设置 `FLEET_VIEW_LAND`：`panel` 默认 · `last` 直接接回最近活跃的 · `new` 每次新开）。想去别的会话，`fleet open <名称>` 或 ⌘P 里选。

## 一个键：总面板

所有事都从一个键开始。下面的表由 Tokenman 的按键配置生成，改了默认按键，这里跟着变：

<!-- docs-gen:keys -->
| 在哪 | 按 |
|---|---|
| Mac 上的 iTerm2 | `⌘P` |
| 手机（Termius）或别的终端 | `F12` 或 `⌃] p` |

| 键 | 做什么 |
|---|---|
| `↵` | 切过去 |
| `Tab` | 操作 |
| `↑↓` | 选 |
| — | 打字筛选 |
| `?` | 图例 |
| `esc` | 关 |
| — | 面板里的入口（选中 ↵，或直接打字）：+ 新会话 · $ 命令行（这台机器的 shell，在家目录） · ⏏ 退出 Tokenman（会话在后台继续） |
<!-- /docs-gen:keys -->

**顶栏只管会话，消息单独一行。** 看台顶上那一行只写会话本身：状态、标题、改动编号、额度。Tokenman 要告诉你的事——会话在问你、卡住、做完，告警，没人收的结果，临时提示（比如「暂停开新：内存紧张」）——放在顶栏**下面**单独一行：有没看的才出现，左边是最新一条，右边「✦ 3 · ⌘P」。出错（红 ✖）和没人收的结果（黄 ✓）一直留到你看过；警告（黄 ▲）6 秒、提示（灰 ∙）3 秒就淡出。全部看过，这一行就收起。点这一行，或打开 ⌘P 第一行 **「✦ 消息」**（或在 ⌘P 里打「消息」），分组列出全部：↵ 看全文，g 跳到那个会话，r 标为已读，没人收的结果按 f 转给编排。换了家，看到的消息和条数一样。在电脑的命令行里 `fleet notices` 也能看。

面板大致长这样（示例数据）。屏幕上从上到下的顺序就是 ↑↓ 走的顺序，到底再按 ↓ 回到最上、到顶再按 ↑ 到最底；缩进的行光标会停，顶格「─」开头的是组标题。

```text
  › 搜索会话                       会话 8
  ✦ 消息
  + 新会话
  $ 命令行
─ 等你 1
  ! T128     Claude  登录页改版                  web-app
                     要不要保留旧的跳转？
─ 在干活 2
  ↻ T131     Codex   修复导出超时                web-app
  ↻          Claude  周报数据
─ 排队中 1
  ✓ T127     Claude  升级依赖                    web-app  等发布列车
  ▸ 已收起 4 个
  ⇄ 语言 / Language
  ⏏ 退出 Tokenman（会话在后台继续）
  ↵ 切过去  Tab 操作  ↑↓ 选  打字筛选  ? 图例  esc 关
```


### 开一个会话

- **开新会话**：选「+ 新会话」按 Enter（在列表最上面，消息下一行），打开「新会话」小框：只有「仓库 ‹›」「Agent ‹›」「开 ↵」三项，打开时已选好、光标在「开」上，所以再按一次 Enter 就开。要换：↑↓ 或 Tab 换项，←→ 换仓库或 Agent（不需要仓库就选「不绑仓库」），在值上按 Enter 回到「开」。默认值：仓库是你正在看的会话的仓库（它没绑仓库时用上次新建选的，「不绑仓库」也算），Agent 是这个仓库上次新建用的；按 `⌘N` 直接打开这个小框，再按 Enter 就开，Escape 关掉。不用写描述——开好后直接在会话里说要做什么；第一句话发出后，列表里这一行（以及它的任务记录）自动改名为这句话的第一行。
- **切到别的会话**：打几个字（标题或单号）筛选，↑↓ 选中会话，Enter 切过去。

操作页、改名这样的询问、新会话小框都是整页：列表区域整块换掉，顶上一行写明对象（那个会话，或「+ 新会话」），下面一项一行，↑↓ 选、↵ 执行，没有浮窗。Escape 回上一层（从改名回到操作页，再按回到列表），回到列表时选中位置不变，再按一次关闭面板。鼠标单击选行，双击进入会话或打开新会话小框；页里的项目可以点击（点仓库或 Agent 再点一次换下一个，点「开」就开）。

小框里选的仓库和 Agent 按看台保存在本机私有文件中，下次打开还是它们。终端 resize 不重置选择，只在放不下时收紧滚动范围。建议至少 48 列；更窄时显示提示，Tab 和 Escape 照样可用，长内容在页内滚动。

### 会话的状态

标题统计仍打开的会话，搜索时显示匹配数/总数；折叠、置顶不改变总数。做完但窗口还开着的计入，已收起的不计入。远端读数失效或未知时用 `+?` 表示未确认部分。选中行只改变背景，状态字符和名称起始列保持不变；Ctrl+T 仍可置顶或取消置顶。底部只显示快捷键、可选图例和短暂反馈。

面板按「要不要你管」分五组：

| 分组 | 意思 | 你要做的 |
|---|---|---|
| **置顶** | 你自己钉住的 | — |
| **等你** | 只放真正等你动手的：会话停下来问你问题（包括等你拍板的计划页——它会正式问你，记录上留着「问过你」）、等你同意某个操作、出错了；它在单上问了你、还没人回答的也在这里（哪怕它已经停下）。问题的原话写在下一行。闲着、没问你什么的不在这里 | 切过去回答，或在那一行按 Tab →「回答」 |
| **在干活** | 正在做 | 不用管 |
| **排队中** | 等的不是你：闲着、没有未答的问题（行尾标「空闲」），交了结果、PR 还在检查、等合并、等上线，或者做完了、马上收起（行尾写着到了哪一步） | 不用管；想现在就收起已结束的，组末一行 ↵ |
| **已收起** | 窗口已经关掉、对话和代码副本留着的会话（最近 7 天）；Agent 已退出、窗口还开着的也直接收在这里（写着「已退出」）。折在最下面，只显示个数 | → 展开，选中 ↵「恢复」，原对话接着做 |

批次（EPIC）的成员挂在批次驱动那一行下面，跟着它在哪组就在哪组，驱动那一行写「已完成/总数」。

每一行是同样的几列：状态图标 · 编号（这个窗口自己的短编号 `K3F9`，开窗就有、关窗为止）· Agent（Claude / Codex，取它最近一段对话的，读不到写灰色的「未知」）· 短名 · 仓库（没有仓库就空着）。状态看窗口在不在和它最后报的结果：报过好几次以最新一次为准；窗口关了没报过结果就是「已退出」。同一段对话开在两个窗口时，两行都是红色「等你」，原因写在操作页里。状态图标：↻ 运行中 · ! 等你 · ✓ 已完成 · ✗ 失败 · ◌ 已退出（Agent 退出了、窗口还在，收在「已收起」里）· ∙ 空闲 · ? 失联；只有 ! 和 ✗ 是红色。按 `?` 看图例。

单号、PR、在哪台机器这些不再写在行上：选中一行，底部第二行会说它失联了多久、配置是否需要重开（红字）、子任务进度、PR 到了哪一步。单号不显示，但搜得到——打 `4539` 或 `#4539`，关联了这个单（或派单原话里写了 `#4539`）的会话会被找出来，底部写「匹配：关联 issue #4539」。一台机器连不上时，面板顶上会出现一整条红字，那几行整行变灰、图标是 ?；等它恢复就好，会话没有丢。

### 一个会话能做的事

选中一行按 **Tab**，是这一行的操作页：进入 · 打开 PR #n（有 PR 才有）· 改名… · 换成 Codex / Claude（会话活着时；这台机器用不了那个 Agent 时变灰、不编号、写原因）· 回收…。操作页下面列着这个窗口的编号、完整 ID、别名（旧的 T 号），和它经历过的每一段对话（Agent · 起止 · 怎么来的 · 压缩了几次）；还没登记到入口时写「未登记到 hub」。按数字直接执行，`[` `]` 切到上一个 / 下一个会话的操作页。会话在等你、Agent 已退出（在「已收起」里）时都用「进入」：切过去回答、在恢复页按 ↵ 接着做。在它的目录开 shell 是 `⌃\`，置顶是 `⌃T`（或列表底部的「置顶当前会话」），改回收方式让会话自己改，或用下面的命令。

在终端里也可以用命令做同样的事（`<会话>` 写名字的一部分、`#单号` 都行，认不出是哪个时会列出候选，不会乱猜）：

```sh
fleet ls              # 我的会话：名称 · 单号 · 机器 · 剩余 · 状态 · PR · 回收方式
fleet ls --all        # 连已结束的一起
fleet open 登录页      # 打开客户端并切到这个会话
fleet answer 登录页 保留   # 不进会话直接回答它的问题
fleet close 周报       # 关掉一个会话
fleet quit            # 退出 fleet（见下）
```

## 贴图和拖文件

在电脑上的 Tokenman 终端里，直接拖入文件，或按 `Ctrl+V` 粘贴剪贴板图片。传好后会自动插入会话所在机器的路径，多文件也一样，不需要另开上传菜单。普通文字粘贴不变。

准备和上传附件时，终端继续显示输出，也可以调整窗口大小。顶栏依次显示 Preparing（准备）、Uploading（已接收字节和总进度）、Confirming（确认）和 Uploaded（完成）。期间会明确提示输入已暂停：文字、回车和再次拖入的文件都直接丢弃，不缓存、不回放。按 `Ctrl+C` 只取消上传，恢复输入，不打断远端正在做的事。成功后只插入一次确认过的远端路径，不自动回车；失败、切换会话或断线时不插入任何路径，输入恢复后请重新输入。

一次最多 16 个文件，图片每个 10 MiB，其他文件每个 100 MiB，合计 100 MiB。传输最多等 120 秒。若无法确认当前会话，附件会明确失败，普通文字仍可输入。

## 在代码仓库里干活

交给仓库的任务，会话在**自己的一份代码副本**里改，不碰别人的；做完自己开 PR，检查通过后自己合并，然后告诉你结果。你在「排队中」里看到它，在 PR 上看改了什么。

你不用盯着它。要它停下、换个方向，切过去直接说；它卡住时会出现在「等你」里。

## 关掉电脑、换电脑、在手机上看

会话跑在 Tokenman 的机器上：关掉终端、合上笔记本、换一台电脑或在手机上打开，都还是那一套会话。怎么连、关掉后怎么回来，见 [电脑和手机上怎么连](connect.md)。

## 任务记录：T 号

你在 「+ 新会话」行交出去的每件事，Tokenman 都先记一笔，编号 **T** 开头（比如 `T42`）。记下的是你的原话、交给了哪台机器、哪个会话、现在什么状态。

- 任务只有这一个号：它归你，不归哪个仓库。交给仓库的任务在那个仓库里改代码、开 PR——GitHub 只放代码和 PR，没有另一张单子。
- 在入口网页的 **会话** 页能看到你所有的任务记录：一件事一行，任务和它的会话在同一行，按要不要你管分组（等你 · 在干活 · 排队中 · 已收起），批次的成员挂在批次下面。会话结束了记录还在。点一行看详情：你的原话、它的回报、PR、终端入口。页头的 **新建** 也能直接派一件。
- **已完成** 表示入口收到了确认的工作结果。会话消失不代表完成；旧记录没有确认的任务状态时显示 **还不清楚**。详情里展开 **技术详情** 可分别看到请求、确定和已核实的代理，以及会话观测。需要合并的 PR 尚未确认时，工作结果旁显示 **等待 GitHub**。刷新失败时，当前页面保留上次确认的状态和读取时间，标明暂时无法更新；**重试读取** 只重新读取，不会启动工作。
- 跟同事说「T42 那件事」，对方在会话页搜编号就能找到。

### 先看设计页，再开任务

装了 fleet-epic 插件时，在会话里说 `/fleet-task-plan <主题>`（比如「批次报告送不到你手里」），它先把这件事写成一页设计页：现象、原因（证据折叠在下面）、目标与范围、改法、可能出的问题、需要你定的事、上线证据。页面私密，推到你微信。你看完直接说要改哪条，它改同一页；点头就按页开一个任务，页面顶上标出任务号，执行会话照页去做。一批相关的事用 `/fleet-epic-plan`，同一种页面。

## 回收：会话什么时候关

会话做完会被自动收走，不用手动清理。收走前先记下历史，代码副本留着，在面板「已收起」里随时能 ↵ 恢复。默认规则：

| 会话 | 默认什么时候关 |
|---|---|
| 仓库任务，PR 合并了 | 合并后约 10 分钟 |
| 仓库任务，做完了但没有 PR | 空闲 2 小时 |
| 空白会话 | 空闲 15 分钟 |

想改：选中那一行 Tab →「改回收方式」，可以选 **合并后关**、**做完就关**（可以带时长）、**循环停了关**、**到某个时间关**、**不自动关**。正在干活、正在等你回答的会话不会被收走。

## 额度和用量

面板顶上那一行只说你正在看的这个会话：剩多少上下文、用的哪个模型（比如 `剩余 62% · Opus 5.5 · high`）。灰色表示这个读数是 5 分钟以前的。

上下文快满时，仓库任务的会话会自己交接给一个新会话接着做；空白会话里你也可以直接说「交接一下」。

## 可选：把常用动作设成单独的键

Tokenman 只用 ⌘P（手机 `F12` 或 `⌃] p`）一个键，其余都在面板里：新会话、命令行、退出 Tokenman 都是面板里的一行，选中按 ↵，或在搜索框打几个字（如「命令行」「退出」）直达；退出会先问一句。⌘K 清屏、⌘T 新标签、⌘N 新窗口、⌘Q 退出都还给 iTerm2。习惯了旧的快捷键，可以在自己电脑的 `~/.config/claude-fleet/fleet.conf` 里加回来：

```ini
[client]
FLEET_KEYS_EXTRA="next=cmd+down prev=cmd+up new=cmd+n"
[common]
FLEET_KEYS_PHONE_EXTRA="ctrl+]n=next ctrl+]b=prev"
```

可以设的动作（这张表也是生成的）：

<!-- docs-gen:keys-extra -->
| 名字 | 做什么 | Mac 上（⌘） | 手机上（⌃] 再按） |
|---|---|---|---|
| `next` | 下一个会话，右侧立刻跟过去 | `⌘↓` | `⌃] n` |
| `prev` | 上一个会话 | `⌘↑` | `⌃] b` |
| `back` | 后退：回到刚才看的会话（没有任务列表时：上一台机器） | `⌘[` | `⌃] h` |
| `fwd` | 前进 | `⌘]` | `⌃] l` |
| `new` | 新会话：直接打开「新会话」小框，仓库默认是你正在看的会话的（否则上次用的），Agent 是这个仓库上次用的；↵ 就开 | `⌘N` | `⌃] c` |
| `dispatch` | 派一件事：一行标题 + 仓库（默认上次用的）+ 可选交给 Codex，↵ 建单并开工；任何窗口都能按，不经过模型 | `⌘T` | `⌃] t` |
| `quit` | 退出当前客户端连接，会话照常在机器上运行；敲 fleet 重新进入 | `⌘Q` | `⌃] q` |
| `home` | 任何画面：家里这台机器的命令行（在 $HOME 下），不需要会话、不需要 hub；再按一次回来 | `⌘\` 或 `⌃\` | — |
<!-- /docs-gen:keys-extra -->

不用 iTerm2（比如 Ghostty、系统自带的终端）时 ⌘ 键到不了 Tokenman，用 `F12` 或 `⌃] p`（先按 ⌃]，再按 p）打开面板。iTerm2 里 F12 不开面板，照旧归会话。

## 出了问题怎么说

- **连不上、打不开**：先看 [故障排查](../troubleshooting.md)。需要别人帮你看时，在终端敲 `fleet doctor --json`，把输出发给管理员。
- **常见疑问**：[常见问题](../faq.md)。

无仓库的编排会话也可以在列表菜单中换成 Codex。原会话要先结束当前回合；有原生定时任务时，面板会请它核对当前任务、准备交接笔记，再完成切换。准备期间原会话继续运行；登录、目录信任或任务信息不全时会说明原因。会话内的循环巡检与单次提醒分别保留时间和到期规则，已删除的任务不会接续。项目中的 Claude 持久提醒也会跟过去：Tokenman 先存好一份暂不生效的副本，原会话再用自己的调度器删掉原提醒，等原会话退出后副本才生效，所以提醒会在切换后的对话里按时、只到一次。原会话自己做不到时（比如额度用光），只有确认没有别的 Claude 可能改写这个项目的任务表，切换才会接过提醒；否则会说明是哪个进程挡着，原会话和提醒继续运行。不要求你查找或手工导出 JSON。可信节点会补齐 HOME 的目录信任，保留你明确设置的不信任或关闭预信任的选择。未发送的输入会保留为草稿。

Codex 会话自行交接时会核对并沿用当前账号，临时代理目录不会被当作另一个账号。提示交接已准备好后，仍要等当前回合正常结束才会切换；账号不可用或目录映射无法核实时会说明原因，原会话继续保留。

已接受的远端任务会先核实所选代理，再交付首条输入。启动核实失败或连接丢失回执时，Tokenman 会保留任务等待恢复，不会自动换代理或再开一份。继续会话会沿用原对话；明确换代理时，确认原会话停止后才接受下一次尝试，切换结果不明时须先恢复。

## 网页对话的连接

网页对话经入口转发到你家里的节点；入口和你的节点之间保持一条常开的通道，每次请求在里面走一个来回，不用每次重新连。对话仍只在你家里的节点上跑，对话与额度规则不变；本机网页照常使用。

发送后断线时，页面会重新读取原来的对话，并提示消息可能已送达。先查看恢复的内容，再决定是否重试；页面不会自动重复发送消息、停止请求或回答。

入口会在国内存一份你的对话（你说的话、回复的文字、每个工具步骤的一行；工具的输出不存），加密存放，只有你能看。打开对话时页面先显示这一份，标「同步中」，等你家里的节点答复后换成它的、标「已同步」；家里的节点连不上时也能看历史，标「同步中 · 家机器暂时连不上」。这一份 90 天没更新就删掉；在「设置 → 对话历史」里可以关掉，关掉立即删除。
