日常使用
这一篇讲每天怎么用:一个键打开总面板,开会话、看状态、回答问题;出了问题怎么说。电脑和手机上怎么连,单独一篇:电脑和手机上怎么连。第一次用先照 成员 · 快速开始 开出第一个会话。
先记住一句话:会话跑在 tokenman 的机器上,不在你的电脑上。 关掉终端、合上笔记本、断网,会话都照常干活;回来敲 fleet,一切原样——直接回到你上次看的那个会话(换一台电脑、在手机上也一样);那个会话已经关掉了,就打开 ⌘P 会话列表,光标停在你最近活跃的会话上,回车即接回;你在所有机器上一个会话都没有时,才给你开一个新会话(设置 FLEET_VIEW_LAND:panel 默认 · last 直接接回最近活跃的 · new 每次新开)。想去别的会话,fleet open <名称> 或 ⌘P 里选。
一个键:总面板
所有事都从一个键开始。下面的表由 tokenman 的按键配置生成,改了默认按键,这里跟着变:
| 在哪 | 按 |
|---|---|
| Mac 上的 iTerm2 | ⌘P |
| 手机(Termius)或别的终端 | F12 或 ⌃] p |
| 键 | 做什么 |
|---|---|
↵ | 切过去 |
Tab | 操作 |
↑↓ | 选 |
| — | 打字筛选 |
? | 图例 |
esc | 关 |
| — | 面板里的入口(选中 ↵,或直接打字):+ 新会话 · $ 命令行(这台机器的 shell,在家目录) · ⏏ 退出 tokenman(会话在后台继续) |
状态栏只放品牌、会话名和额度,消息单独一行。 看台底部的状态栏左边是 tokenman 的名字(o 是橙色)和会话名「tokenman · 修缓存」,不随会话状态变化——会话的状态、单号、在问你的问题都在 ⌘P 面板里看;右边是改动编号(PR)、剩余上下文和额度。机器连不上或走中转时整行变灰。tokenman 要告诉你的事——会话在问你、卡住、做完,告警,没人收的结果,临时提示(比如「暂停开新:内存紧张」)——放在状态栏下面单独一行:有没看的才出现,左边是最新一条,右边「✦ 3 · ⌘P」。每条都会自己收起:出错(红 ✖)和没人收的结果(黄 ✓)留 30 秒(看过就立刻收),警告(黄 ▲)6 秒、提示(灰 ∙)3 秒。收起后仍在 ⌘P「✦ 消息」里,直到你看过。点这一行,或打开 ⌘P 第一行 「✦ 消息」(或在 ⌘P 里打「消息」),分组列出全部:↵ 看全文,g 跳到那个会话,r 标为已读,没人收的结果按 f 转给编排。换了家,看到的消息和条数一样。在电脑的命令行里 fleet notices 也能看。
面板大致长这样(示例数据)。↑↓ 按屏幕顺序移动,待处理事项有独立入口,PIN 保持置顶;普通任务直接排列。普通会话和「更多会话」分别按最近一轮对话活动时间倒序排列,新回复会让旧会话排到组内前方。PIN 保留置顶顺序;单纯状态刷新不改变顺序。
› 搜索会话
✦ 消息
+ 新会话
$ 命令行
─ PIN
↻ K3F9 Codex 修复导出超时 web-app
⟳ A7P4 Claude 检查服务可用性 ops
! B8D2 Claude 登录页改版 web-app
◷ C9W1 Codex 补充接口测试 api
D2R6 Claude 升级依赖 web-app
▸ 更多会话
⇄ 语言 / Language
⏏ 退出 tokenman(会话在后台继续)
↵ 切过去 Tab 操作 ↑↓ 选 ? 图例 esc 关
开一个会话
- 开新会话:选「+ 新会话」按 Enter(在列表最上面,消息下一行),打开「新会话」小框:只有「仓库 ‹›」「Agent ‹›」「开 ↵」三项,打开时已选好、光标在「开」上,所以再按一次 Enter 就开。要换:↑↓ 或 Tab 换项,←→ 换仓库或 Agent(不需要仓库就选「不绑仓库」),在值上按 Enter 回到「开」。默认值:仓库是你正在看的会话的仓库(它没绑仓库时用上次新建选的,「不绑仓库」也算),Agent 是这个仓库上次新建用的;按
⌘N直接打开这个小框,再按 Enter 就开,Escape 关掉。不用写描述——开好后直接在会话里说要做什么。按下「开」,新会话的窗口立刻就到眼前,可以马上打字:窗口里一步步列出启动进度(每一步打勾、写用了几秒,还没到的写平时要几秒,顶上写通常一共几秒);会话还在后台启动时你打的字都留着,按 Enter 的那句排队,会话一起来就交给它并发出,没按 Enter 的那句放进它的输入框;起不来时原因就写在这个窗口里(按两下 Escape 关掉)。第一句话发出后,顶部、列表里这一行以及它的任务记录会使用这句话的第一行作为标题(最多 30 个字符);短码任务也一样,后续消息不会再次改名。 - 切到别的会话:打几个字(标题或单号)筛选,↑↓ 选中会话,Enter 切过去。
操作页、改名这样的询问、新会话小框都是整页:列表区域整块换掉,顶上一行写明对象(那个会话,或「+ 新会话」),下面一项一行,↑↓ 选、↵ 执行,没有浮窗。Escape 回上一层(从改名回到操作页,再按回到列表),回到列表时选中位置不变,再按一次关闭面板。鼠标单击选行,双击进入会话或打开新会话小框;页里的项目可以点击(点仓库或 Agent 再点一次换下一个,点「开」就开)。
小框里选的仓库和 Agent 按看台保存在本机私有文件中,下次打开还是它们。终端 resize 不重置选择,只在放不下时收紧滚动范围。建议至少 48 列;更窄时显示提示,Tab 和 Escape 照样可用,长内容在页内滚动。
会话的状态
标题统计仍打开的会话,搜索时显示匹配数/总数;折叠、置顶不改变总数。做完但窗口还开着的计入,已收起的不计入。远端读数失效或未知时用 +? 表示未确认部分。选中行只改变背景,状态字符和名称起始列保持不变;Ctrl+T 仍可置顶或取消置顶。底部只显示快捷键、可选图例和短暂反馈。
网页或 Terminal 改过的会话名称会保留到已结束历史,人工名称优先于自动命名。旧会话没有可信名称时显示「会话 + 短码」,仍可辨认和查看,不会因为缺名称消失。
列表默认展开 10 个会话(包括当前会话和 PIN),普通会话 24 小时没有 Turn 更新且未执行就自动收起。当前会话和 PIN 始终保留;PIN 超过名额时允许超出。顶部「待处理(N)」最多预览 3 条,其余展开查看;底部「更多会话(N)」显示收起的记录和运行中数量,→ 展开、← 收起、Enter 切换。搜索包含所有收起的记录。收起只影响列表,不停止、休眠或删除会话,后台资源策略独立执行。
网页「设置 → 会话列表」可选择展开 5 / 10 / 15 个,超时 12 小时 / 24 小时 / 3 天 / 关闭,随个人账号同步到网页和终端。终端也可用 fleet config session-list 10 24;第二个数为小时,0 关闭超时收起。新 Turn 活动重新参与排序;操作列表时暂缓重排,已展开的「更多会话」不会因刷新自动关闭。
每行保持同一列顺序:状态位 · 短码(如 K3F9)· Agent · 标题 · 仓库。窄屏先隐藏仓库,再隐藏 Agent。所有状态符号共用左侧一个位置:
| 符号 | 意思 |
|---|---|
! | 需要你回答或批准;切到会话处理 |
◷ | 已有启动请求,尚未确认开始运行 |
↻ | 正在运行 |
⟳ | 已观测到有效的重复计划;单次提醒不算 Loop |
同时符合多项时,按表中顺序只显示一项,其他事实在选中说明里看。普通静止行留空,不显示完成、失败、idle 或 exited 图标;出错原因和结果仍可在详情查看。按 ? 看图例。只建立了记录、没有受理启动请求的任务,不标待启动;旧节点尚未提供的 Loop 观测也不会靠状态名称猜出来。
问题原话、原生状态、PR、机器和配置提示放在底部说明或详情。单号不常驻行上,但搜索 4539 或 #4539 仍能找关联任务。失联行淡化,说明运行情况未知;没有运行图标不代表已经停止。
一个会话能做的事
选中一行按 Tab,打开操作页:进入、打开 PR(有 PR 时)、改名、换 Agent、在网页里打开、停下(可恢复)。不适用的操作会隐藏或说明原因。按数字执行,[ ] 切换操作对象;Escape 返回列表并保留选择。旧会话保留历史和恢复入口;Agent 已退出但窗口还在时,先「进入」恢复页。置顶使用 ⌃T 或列表底部入口。
「停下」直接提交当前会话的停止请求,不再经过回收确认或等待 PR 合并。网页任务页的「停止」与 fleet close 使用同一停止入口,保留文件和历史。请求失败会说明原因;请求受理不等于远端已经退出。明确显示「待启动」且从未开过会话的任务,可以在操作页或网页点击「取消启动」,也可执行 fleet close <任务短码>。如果会话已启动,会提示刷新后停止该会话。取消不要求目标机器在线;停止仍未覆盖所有未来自动唤醒。
停止确认后,在任务操作页选择「继续任务」,再选沿用原 Agent、Claude 或 Codex;命令行使用 fleet continue T123,或明确指定 fleet continue T123 --agent codex。继续保留同一任务和历史。尚未确认的请求须按原 Agent 选择重试,不能改成另一种启动;缺少用户登录凭据时会给出任务网页链接。打开历史本身不会启动会话。
在终端里也可以用命令做同样的事(<会话> 写名字的一部分、#单号 都行,认不出是哪个时会列出候选,不会乱猜):
fleet ls # 我的会话:名称 · 单号 · 机器 · 剩余 · 状态 · PR · 回收方式
fleet ls --all # 连已结束的一起
fleet open 登录页 # 打开客户端并切到这个会话
fleet answer 登录页 保留 # 不进会话直接回答它的问题
fleet close 周报 # 直接请求停止当前会话,保留文件和历史
fleet continue T123 --agent codex # 明确用 Codex 继续同一任务
fleet quit # 退出 fleet(见下)
贴图和拖文件
在电脑上的 tokenman 终端里,直接拖入文件,或按 Ctrl+V 粘贴剪贴板图片。传好后会自动插入会话所在机器的路径,多文件也一样,不需要另开上传菜单。普通文字粘贴不变。
准备和上传附件时,终端继续显示输出,也可以调整窗口大小。顶栏依次显示 Preparing(准备)、Uploading(已接收字节和总进度)、Confirming(确认)和 Uploaded(完成)。期间会明确提示输入已暂停:文字、回车和再次拖入的文件都直接丢弃,不缓存、不回放。按 Ctrl+C 只取消上传,恢复输入,不打断远端正在做的事。成功后只插入一次确认过的远端路径,不自动回车;失败、切换会话或断线时不插入任何路径,输入恢复后请重新输入。
一次最多 16 个文件,图片每个 10 MiB,其他文件每个 100 MiB,合计 100 MiB。传输最多等 120 秒。若无法确认当前会话,附件会明确失败,普通文字仍可输入。
在代码仓库里干活
交给仓库的任务,会话在自己的一份代码副本里改,不碰别人的;做完自己开 PR,检查通过后自己合并,然后告诉你结果。任务仍在原来的列表位置;打开 PR 看改了什么。
你不用盯着它。要换方向,切过去直接说;要停止执行,使用「停下」。需要你回答时,行首显示 !。
关掉电脑、换电脑、在手机上看
会话跑在 tokenman 的机器上:关掉终端、合上笔记本、换一台电脑或在手机上打开,都还是那一套会话。怎么连、关掉后怎么回来,见 电脑和手机上怎么连。
任务记录:T 号
你在 「+ 新会话」行交出去的每件事,tokenman 都先记一笔,编号 T 开头(比如 T42)。记下的是你的原话、交给了哪台机器、哪个会话、现在什么状态。
- 任务只有这一个号:它归你,不归哪个仓库。交给仓库的任务在那个仓库里改代码、开 PR——GitHub 只放代码和 PR,没有另一张单子。
- 入口网页的 会话 页沿用同样的 PIN、普通任务和更早会话结构。一行打开网页对话,详情保留任务描述、原生观测、PR 和历史;任务页不再提供网页终端切换。
- 历史结果仍在详情里,但不再作为列表中的「已完成」图标。会话消失不表示完成,未知观测也不表示已停。读取失败时保留已有内容并说明原因;重试读取不会启动工作。
- 需要原生终端交互时,在 iTerm2 中打开这个任务。网页独立的个人 Shell 仍保留;旧任务
?view=term链接会打开同一任务的网页对话。 - 跟同事说「T42 那件事」,对方在会话页搜编号就能找到。
先看设计页,再开任务
装了 fleet-epic 插件时,在会话里说 /fleet-task-plan <主题>(比如「批次报告送不到你手里」),它先把这件事写成一页设计页:现象、原因(证据折叠在下面)、目标与范围、改法、可能出的问题、需要你定的事、上线证据。页面私密,推到你微信。你看完直接说要改哪条,它改同一页;点头就按页开一个任务,页面顶上标出任务号,执行会话照页去做。
回收:会话什么时候关
停放只结束空闲的智能体进程,窗口、编号、对话和工作区都留着;说话后接回原对话。回收才关闭窗口,先记可接回的历史,工作区留着。后台自动整理与明确点击「停下」独立。
新任务统一采用普通空闲停放规则(idle:2h),不因由谁创建、在哪个界面打开或使用哪个 Agent 而改变。PIN 只影响列表排序,不阻止停放或赋予保留特权。未交回结果不再触发提醒或自动关闭。
Hub 管理的受控任务自动整理只做安全停放,保留任务绑定、窗口、历史和工作区;停放确认后释放原生进程与运行容量。旧会话已有的 keep、merged 等策略保留,不批量改写;明确的「不自动关」仍阻止自动回收,但允许安全停放,也不阻止你主动停下。旧会话的停放保留期到期,仍须满足原有的历史可恢复条件;旧外壳不能停放时不会伪装成已经释放资源。显式测试探针保留其专用策略,标题文字不会把普通任务变成探针。
设置 fleet.session.park_idle 默认 5m;park_idle_unattended 当前也是 5m(缓存实测后的保守值,可调为 1m);park_presence 默认 15m;fleet.session.reap_parked 默认 3d。内存紧时可提早停放。正看着、输入框有草稿、在答、开着选择框或有后台任务时不停。fleet doctor --park 给每个窗口列出来源、停放/回收规则、下一步 UTC 时间和保留原因。
窗口的说明行会写出「先不停放:有人正在看 / 输入框有草稿 / 后台的活还在跑 / 选择框还开着 / 旧外壳尚不支持」。doctor 同样显示拒停原因,不把被保护条件挡住的停放时间当成承诺。
想改自动回收方式,可以让会话修改自己的设置;精简后的 Tab 操作页不再列「改回收方式」。已有的「不自动关」继续有效,不因旧完成结果失效。
额度和用量
面板顶上那一行只说你正在看的这个会话:剩多少上下文、用的哪个模型(比如 剩余 62% · Opus 5.5 · high)。灰色表示这个读数是 5 分钟以前的。
上下文快满时,仓库任务的会话会自己交接给一个新会话接着做;空白会话里你也可以直接说「交接一下」。
可选:把常用动作设成单独的键
tokenman 只用 ⌘P(手机 F12 或 ⌃] p)一个键,其余都在面板里:新会话、命令行、退出 tokenman 都是面板里的一行,选中按 ↵,或在搜索框打几个字(如「命令行」「退出」)直达;退出会先问一句。⌘K 清屏、⌘T 新标签、⌘N 新窗口、⌘Q 退出都还给 iTerm2。习惯了旧的快捷键,可以在自己电脑的 ~/.config/claude-fleet/fleet.conf 里加回来:
[client]
FLEET_KEYS_EXTRA="next=cmd+down prev=cmd+up new=cmd+n"
[common]
FLEET_KEYS_PHONE_EXTRA="ctrl+]n=next ctrl+]b=prev"
可以设的动作(这张表也是生成的):
| 名字 | 做什么 | Mac 上(⌘) | 手机上(⌃] 再按) |
|---|---|---|---|
next | 下一个会话,右侧立刻跟过去 | ⌘↓ | ⌃] n |
prev | 上一个会话 | ⌘↑ | ⌃] b |
back | 后退:回到刚才看的会话(没有任务列表时:上一台机器) | ⌘[ | ⌃] h |
fwd | 前进 | ⌘] | ⌃] l |
new | 新会话:直接打开「新会话」小框,仓库默认是你正在看的会话的(否则上次用的),Agent 是这个仓库上次用的;↵ 就开 | ⌘N | ⌃] c |
dispatch | 派一件事:一行标题 + 仓库(默认上次用的)+ 可选交给 Codex,↵ 建单并开工;任何窗口都能按,不经过模型 | ⌘T | ⌃] t |
quit | 退出当前客户端连接,会话照常在机器上运行;敲 fleet 重新进入 | ⌘Q | ⌃] q |
home | 任何画面:家里这台机器的命令行(在 $HOME 下),不需要会话、不需要 hub;再按一次回来 | ⌘\ 或 ⌃\ | — |
不用 iTerm2(比如 Ghostty、系统自带的终端)时 ⌘ 键到不了 tokenman,用 F12 或 ⌃] p(先按 ⌃],再按 p)打开面板。iTerm2 里 F12 不开面板,照旧归会话。
出了问题怎么说
无仓库的编排会话也可以在列表菜单中换成 Codex。原会话要先结束当前回合;有原生定时任务时,面板会请它核对当前任务、准备交接笔记,再完成切换。准备期间原会话继续运行;登录、目录信任或任务信息不全时会说明原因。会话内的循环巡检与单次提醒分别保留时间和到期规则,已删除的任务不会接续。项目中的 Claude 持久提醒也会跟过去:tokenman 先存好一份暂不生效的副本,原会话再用自己的调度器删掉原提醒,等原会话退出后副本才生效,所以提醒会在切换后的对话里按时、只到一次。原会话自己做不到时(比如额度用光),只有确认没有别的 Claude 可能改写这个项目的任务表,切换才会接过提醒;否则会说明是哪个进程挡着,原会话和提醒继续运行。不要求你查找或手工导出 JSON。可信节点会补齐 HOME 的目录信任,保留你明确设置的不信任或关闭预信任的选择。未发送的输入会保留为草稿。
Codex 会话自行交接时会核对并沿用当前账号,临时代理目录不会被当作另一个账号。提示交接已准备好后,仍要等当前回合正常结束才会切换;账号不可用或目录映射无法核实时会说明原因,原会话继续保留。
已接受的远端任务会先核实所选代理,再交付首条输入。启动核实失败或连接丢失回执时,tokenman 会保留任务等待恢复,不会自动换代理或再开一份。继续会话会沿用原对话;明确换代理时,确认原会话停止后才接受下一次尝试,切换结果不明时须先恢复。
网页对话的连接
进入会话时,页面先确认是否可以发送;确认中或暂时断线时可以继续写草稿,恢复后再发送,草稿不会自动发出。真正只读的登录或不支持网页续聊的旧会话仍不能发送,页面会说明只读原因。
网页对话经入口转发到你家里的节点;入口和你的节点之间保持一条常开的通道,每次请求在里面走一个来回,不用每次重新连。对话仍只在你家里的节点上跑,对话与额度规则不变;本机网页照常使用。
发送后断线时,页面会重新读取原来的对话,并提示消息可能已送达。先查看恢复的内容,再决定是否重试;页面不会自动重复发送消息、停止请求或回答。
入口会在国内存一份你的对话(你说的话、回复的文字、每个工具步骤的一行;工具的输出不存),加密存放,只有你能看。打开对话时页面先显示这一份,标「同步中」,等你家里的节点答复后换成它的、标「已同步」;家里的节点连不上时也能看历史,标「同步中 · 家机器暂时连不上」。这一份 90 天没更新就删掉;在「设置 → 对话历史」里可以关掉,关掉立即删除。
私人实时开发预览
部署启用后,Task 详情的「实时预览」可打开自己正在开发的 HTTP/API/WebSocket 应用, 包括 SSE 和热更新(HMR)。首次打开先登录,只有任务所有者可访问。节点离线时 显示离线。默认租约 2 小时,可在详情中续期或关闭;关闭也会断开已有长连接,不停止应用。
平常的用法是对任务里的 Agent 说「把开发服务起起来,给我一个预览链接」。它用 preview 工具的 action: dev 加上你的开发命令(npm run dev、next dev、 uvicorn …)在后台启动,服务能应答后把链接给你。运行期间租约自动续期; action: stop 同时停掉服务和预览。在那台机器自己的终端里,同一件事是 fleet preview dev -- npm run dev,Ctrl+C 停止。
开发服务照常监听本机回环端口。只有当命令自己的进程在监听那个端口时,预览才把请求转过去; 机器上任何别的进程占着那个端口,预览一律回答「还没起来」。Vite 和 Next.js 原样可用, 热更新也能用。会检查 Host 头的框架(Django、Rails、webpack-dev-server)需要放行预览的 主机名。主机名在环境变量 FLEET_PREVIEW_HOST 里,fleet-preview 技能给出每个框架 要加的那一行。
自己开 Unix socket 的服务也可以直接注册:fleet preview register app.sock、list、 renew <id>、close <id>,socket 放在账号自己的 ~/.fleet-preview/(目录 0700、 socket 0600)。
每账号最多 3 个预览、32 个并发请求(包括 WebSocket),与任务并发数独立。 没有配置独立预览域名时,页面显示尚未启用。
实时预览用于运行中的服务;保存的 HTML/Markdown 成果仍从原有 Space / 活页入口打开。 试用账号也需要有效的托管登录和自己的 Task;仅有聊天试用、没有 Task 的账号暂不支持注册。
查看 服务健康,了解入口可用性、首次回复速度和近期事件。