---
title: 侧栏
description: 侧栏是 Fyolo 的控制台——一次只显示一个工作区，终端、聊天和项目归在同一个列表里，每个会话都汇报实时状态。
x-i18n:
  source_path: sidebar.mdx
  source_hash: c7a10e2082c12a0858c2d4b09685f207b84b2ac3553026740ecbfe854fa9e430
  generated_at: 2026-10-10
---

你在 Fyolo 里跑的一切都住在左侧的侧栏里。它是一个可滚动的列表，按区块分组，每一行
都是一个活着的会话，汇报它此刻在做什么。点击一行把它带到前面；其余的继续在后台运行。

## 一次一个工作区 [#one-workspace-at-a-time]

侧栏的作用域是工作区：工具栏里的切换器写着你正在哪个工作区，下面的列表只装归在它下面
的东西。用 `⌘1` 到 `⌘9` 切换，或者点切换器，或者走 `文件 ▸ 工作区`。每个工作区都会回到
你离开时的那个会话，连同它的窗格和检查器标签页。

工作区属于某一台设备，所以切换工作区也就是在机器之间移动——如果某个工作区的名字本身没
说清它在哪台机器上，切换器会把机器名写在旁边。见 [工作区](/zh-CN/docs/workspaces)和
[设备](/zh-CN/docs/devices)。

## 区块

侧栏按「是什么」给会话分组：

- **终端** —— 用 `⌘T` 启动的独立 shell 和 Agent，不属于任何项目。你的草稿区。
- **聊天** —— 用来快速提问的一次性 Agent 会话（见下文）。
- **项目** —— 你打开过的文件夹。每个项目展开后是其中运行的会话，git worktree 再往下
  嵌一层，形成三级树：项目 → worktree → 会话。参见
  [Git worktree](/zh-CN/docs/worktrees)。

空的区块会自动隐藏，所以列表里只有你真正在用的东西。

机器上有 Fyolo 没启动过的会话时——你用普通 `ssh` 开的，或在机器上直接用 `fyolod`
起的——它会自动以普通会话的身份出现在列表里：跑在哪个项目的目录下，就归进哪个项目，
否则归进**终端**。没有额外要学的区块：会话就是会话，不管它从哪儿来。机器连不上时，
设备切换器会用 `ssh` 自己的原话说明，而不是干脆消失。

<DocsImage
  src="/screenshots/docs/04-project-session-hierarchy.png"
  alt="Fyolo 侧栏显示终端、聊天、项目、worktree 及其中嵌套的会话"
  width={2424}
  height={1664}
/>

## 状态 [#status]

每个会话行都带一个实时更新的状态点。一共四种状态：

| 状态 | 含义 |
| --- | --- |
| **工作中** | Agent 正在产出输出。 |
| **空闲** | 没有待办，或者你正看着它。 |
| **完成** | 在你切到别的会话时完成了任务——一个平静的「可以看了」提示，让你注意到跑完的任务，而不必让它大喊大叫。 |
| **需要你** | 被提问或权限确认挡住了。回来一下。 |

**需要你** 和 **完成** 的区分正是重点：*需要你*意味着 Agent 卡住了，没有你无法推进；
*完成*意味着它自己跑完了，只是告知你一声。
[核心概念](/zh-CN/docs/concepts#status) 讲了这套模型，以及每个信号的来源。

<Callout type="tip">
  发起一个长任务，切走，让状态点替你盯着。某一行变成 **需要你** 时你就知道该回去；
  变成 **完成** 时，说明活已经在你去别处时落地了。
</Callout>

## 聊天

**聊天** 区块放的是草稿性质的 Agent 会话——当你想问 Agent 点什么、又不想打开项目的时候。
按 `⌘N` 新建一个 **聊天**，它会在一个共享的草稿目录（`~/.fyolo/chats`）里启动，而不是
在你恰好所处的那个文件夹。可以逐个关闭，也可以从区块菜单一次清空。把它们当作用完即弃：
快速提问、随手实验，都不是需要留存的东西。

## 切换而不丢失位置

因为每个会话都是跑在它那台机器上的真实进程，Agent 不会因为离开屏幕就暂停——切换工作
区、关掉窗口都一样。你可以随意在行之间点击；一旦会话多到超过几个，用 `⇧⌘O` 直接按名字
跳到任意会话。参见 [导航](/zh-CN/docs/navigation)。

行是可以拖的。把一行放到另一行中间，两个会话会编组成一个拆分；放到某一行的上边缘或下
边缘，则是重排到那个空隙里。一条线表示*放在这两者之间*，一行被抬起表示*放进这一个里*。
把行拖到窗格上，则是编组到那个窗格里。
