多标签会话管理
在终端里用 AI 编程工具,最头疼的就是会话管理 — 历史对话藏在层层嵌套的目录里,多个项目开多个窗口来回切换。
智码 AICoder 让你像用浏览器一样管理 AI 对话。
标签页系统
每个会话一个标签,Ctrl+Tab 自由切换。支持:
- 拖拽排序 — 拖动标签调整位置
- 双击重命名 — 给会话起个有意义的名字
- 弹出独立窗口 — 右键标签 → 弹出,适合双屏工作
- 序号直达 — 每个标签显示序号,
Ctrl+1~Ctrl+9直达对应标签 - 总数下拉切换 — 标签很多时,点标签栏的总数按钮,下拉列出全部会话快速跳转
- 锁定标签 — 右键标签 → 锁定,被锁定的会话不会被下方的自动清理关掉
- 重启会话 — 右键标签(或侧边栏里已打开的会话)→「重启会话」:结束当前 CLI 进程,再按原会话重新启动并接上对话历史。应用里提示「重启会话生效」的设置,改完就用它;远程主机上的会话同样会真正重启,历史保留。项目快捷 Tab 和任务标签没有可重启的会话,该项置灰
- 滚轮横滚 — 标签多到一行放不下时,在标签栏上滚滚轮即可横向翻动;两端会浮出箭头,不占一条常驻滚动条。主窗、内置浏览器、工作区三处标签栏行为一致
项目快捷 Tab(v5.2.0+)
一个目录攒了几百个会话时,靠侧边栏滚动根本找不到。点侧边栏的目录会开出一个「项目快捷 Tab」——它本身就是一个标签页,里面是这个项目的会话列表:
| 区域 | 内容 |
|---|---|
| 项目头 | 目录名 / 完整路径 / 当前分支 · 改动数 · 会话数,以及新建会话、打开工作区、开终端、复制路径几个按钮 |
| 搜索 | 输入即过滤(匹配标题与最后一条消息),命中词高亮,右侧显示「命中 / 总数」 |
| 快筛 | 全部 / 进行中 / 收藏 |
「当前项目」只有一个真相源
顶栏、状态栏、工作区栏、侧边栏高亮全部从当前活动标签派生。所以点开项目 Tab 后,这几处显示的就是同一个项目,不会出现"顶栏还是上一个会话、下面已经换成新目录"这种自相矛盾。
标签数量与内存保护
每个标签常驻一个终端实例(含滚动缓冲),开得越多越吃内存。智码提供两道自动清理,在 设置 → 通用 →「Tab 数量上限与自动清理」 里调整:
| 设置项 | 默认 | 说明 |
|---|---|---|
| 最大会话 Tab 数量 | 0(不限制) | 想限制可设为 10–50。会话标签超过上限时,关到等于上限为止。只统计会话标签,不含任务标签 |
| 提交内存剩余低于此值时也自动关闭 | 3(%) | 设为 0 关闭内存触发。仅 Windows 有内存数据 |
两道清理都绝不会关掉:
- 正在回答的会话(包括 CLI 自己的记录显示这一轮还没收尾、终端最近还有输出的)
- 刚提交、正等回答的会话,以及有排队任务的会话
- 当前正在查看(含分屏显示中)的会话、刚打开不久的会话
- 你手动锁定的标签 —— 担心重要会话被清掉,右键锁上即可
- 编排里还在等结果的总控和子会话(详见 多 Agent 协同编排)
内存吃紧时先关谁
内存触发按三档依次收,前一档关完才动下一档,每档有自己的触发线:
| 档位 | 哪些会话 | 从什么时候开始收 |
|---|---|---|
| 第 1 档 | 编排派出去、已经交回结果的子会话 | 提交内存剩余 15% 或 6 GB 起(交差后先留 10 分钟,方便总控接着追问) |
| 第 2 档 | 2 小时以上没碰过的会话 | 剩余 8% 或 4 GB 起 |
| 第 3 档 | 最近用过的空闲会话 | 剩余低于上面设置的值(默认 3%) |
- 每次只关一个;第 1、2 档里先关占内存多的,第 3 档先关最久没动的
- 动到你自己的会话时,一波最多关 3 个;关了内存还不回升就停手,并提示应用外占内存最多的是哪几个程序 —— 这时压力多半不在会话上,继续关帮助不大
- 内存回升后自动恢复清理;每次自动关闭都会弹通知,列出关掉了哪些会话
「已自动关闭」分组
被自动关掉的会话不会消失。点标签栏右侧的会话总数(「共 N 个会话 · 点击切换」),下拉列表里已打开的会话下方有一组 「已自动关闭 · 点击重新打开」:
| 操作 | 效果 |
|---|---|
| 点某一行 | 重新打开该会话,并在侧边栏定位到它 |
| 全部打开 | 一次把这一批都拿回来(依次恢复,期间焦点会逐个切过) |
| 行尾 × | 只从这份清单里去掉,会话本身不删 |
| 全部移除 | 清空整份清单,会先弹确认;会话本身不删,仍可在侧边栏找到 |
这份清单重启应用后依然保留;即使标签页全关空了,标签栏上也会单独留一个「已自动关闭 N」入口,不会出现「关掉就再也找不着」。
空闲会话清理
不想等自动清理、想自己挑着关,用「空闲会话清理」面板。入口有两个:
- 状态栏内存百分比旁边的扫帚图标(「管理空闲会话 · 关闭以释放内存」)
- 内存优化面板里的「清理空闲会话」按钮
面板只列出当前没在干活的会话,每行显示闲置多久、大约占多少内存(粗略估算,用来横向比较),底部给出关掉选中项大约能释放多少。默认勾选规则:
| 会话 | 标记 | 默认勾选 |
|---|---|---|
| 已交回结果的编排子会话 | 编排·已交差 | 排在最前,闲置 10 分钟以上默认勾选。关掉几乎没有代价:总控再往里派活时会自动重新打开 |
| 其他闲置 30 分钟以上的会话 | — | 默认勾选 |
| 已锁定的会话 | 已锁定 | 不默认勾选,需要时可以手动勾上 |
| 总控还在等它交结果的子会话 | 编排·等结果中 | 不能勾:在这里关掉会让这条编排断掉 |
| 正在等子会话跑完的总控 | 编排总控·等子会话 | 不能勾:关掉后子会话跑完就没人可叫醒 |
确实要关后两类,请在标签栏上手动关闭。点「关闭选中」后会再确认一次;已结束的会话内容仍可从历史记录恢复。
会话列表
侧边栏展示所有会话,按项目自动分组:
- 项目分组 — 同一个项目的会话归在一起
- 最近优先 — 最近使用的项目排在最前面
- 收藏置顶 — 星标重要会话,永远在最上面
- 颜色标记 — 8 种颜色区分用途(紧急、进行中、已完成……)
- 模糊搜索 — 输入关键词快速过滤
- 悬停预览 — 鼠标悬停会话即可预览最近一次提问,不必点开就能辨认
- 文件夹分组 — 自定义文件夹归类会话,文件夹同样支持颜色标记;文件夹头部内置「新建会话」按钮,一键在该分组下开新会话
- 只看已打开 — 搜索框旁的筛选按钮,列表只留当前开着标签的会话
- 删除就地确认 — 点会话行右端的垃圾桶,就在旁边弹出确认气泡,气泡里写明要删的是哪一条,不再跳到屏幕中央的弹窗;正在回答的会话会额外提醒删除后进程将被终止。删除的会话进回收站
移除整个目录
目录右键 →「移除整个目录」,把这个目录下的会话一次清掉:
- 只删应用里的会话记录,不删磁盘上的原始文件
- 写法不同但其实是同一个目录的会话(如
E:\x与e:/x/)一并删掉,与侧边栏看到的那一组一致 - 该目录下的侧边栏任务也一并删除(任务不进回收站),正在运行的会先停止;对应的任务标签和项目快捷 Tab 随之关闭。确认框里会写明有几个任务、几个正在运行
项目归档
项目一多,侧边栏里大半是暂时不碰的老项目。归档就是把它们收起来降噪,而不是藏起来:
- 归档一个 — 目录右键 →「归档项目」;再右键「取消归档」即恢复
- 批量处理 — 目录右键 →「批量归档 / 恢复…」打开归档管理:按「活跃 / 已归档 / 全部」切换视图,「快速选中」可一键勾出 30 / 60 / 90 天未活动的项目,再点「归档选中」或「恢复选中」
- 收在哪 — 归档的项目沉到侧边栏底部的「已归档」分组,默认折叠;分组头右侧也有批量管理入口
归档的项目在你需要它时会自己冒出来(组头仍带归档图标,提醒你它是归档的):
| 情况 | 表现 |
|---|---|
| 搜索会话时 | 归档项目照常参与匹配,搜得到 |
| 打开了「只看已打开」筛选 | 正开着的会话不会因为归档而在列表里找不到 |
| 当前正在看它的会话 | 临时回到主列表 |
| 它有任务正在运行(或刚崩溃) | 临时回到主列表,方便停止或重启 |
在归档项目里新建会话,会顺手把它取消归档 —— 新建会话说明你又要用它了。归档时若该目录已收藏,会同时取消收藏。
接管外部会话
不是在智码里创建、而是在外部终端直接跑出来的 CLI 会话,也能收进会话列表,点开接着聊。
入口
- 全部会话 — 侧边栏顶部「新建会话」按钮右侧的下载箭头图标(「接管外部会话:把外部终端里跑出来的 CLI 会话纳入列表管理」)
- 只接管某个目录 — 目录右键 →「接管此目录的外部会话」,弹窗顶部会标出「限定目录」,可点「取消限定」看全部
支持 Claude / Codex / OpenCode / Grok / Kimi / CodeBuddy / Pi / Gemini / Antigravity 九家 CLI。弹窗默认只看当前正在用的那家,下拉可切「全部工具」。
本机和远程主机都行:当前停在远程工作区时,弹窗扫的就是那台服务器上的会话(顶部标出「远程主机」)。远程是按工具逐家扫的,切换工具会重新扫描一次。
候选状态
每条候选都标出状态:
| 状态 | 含义 | 可做的事 |
|---|---|---|
| 可导入 | 列表里还没有 | 勾选后导入 |
| 已存在 | 已经在会话列表中 | 点一下跳过去定位 |
| 回收站 | 曾删进回收站 | 点一下就地从回收站恢复,不用先打开回收站 |
| 不支持 | 无法恢复 | 悬停看原因,例如 Gemini 只能恢复某项目最近一次会话、或认不出会话属于哪个项目目录 |
顶部可按时间范围(全部 / 今天 / 最近 7、30、90 天)筛选、按标题或项目路径搜索、勾「仅显示可导入」、或「重新扫描」。
导入
勾好之后点「导入 N 个」:
- 按原时间落位 — 按会话的实际时间排进列表,不会一次导入几十条全堆到最上面
- 统一标颜色 — 导入前可选一个「标记颜色」,方便区分哪些是接管进来的;不想标就选「不标记」
会话历史回放
点开历史会话,完整查看每一轮 AI 对话:
- 用户输入和 AI 回复清晰分隔
- Markdown 渲染,代码块语法高亮
- 支持搜索对话内容
会话摘要
每个 Claude 会话自动生成结构化摘要:
- 做了什么 — 核心操作一句话概括
- 改了哪些文件 — 修改的文件列表
- 关键命令 — 执行的重要命令
不用翻完整对话,30 秒就能回忆上次做了什么。
会话压缩与克隆
长对话上下文越堆越大,既慢又费 Token。智码把原本 Claude Code 才有的会话压缩能力也带给了 Codex:
- Codex 支持压缩会话 — 对齐 Claude Code,把长对话压成摘要后继续,释放上下文;即便是尚未打开的 Codex 会话也可压缩(放宽置灰 + 兜底探测 rollout)
- 会话真克隆 — 会话右键「克隆」,新会话继承完整历史并独立往下聊,原会话不受影响,适合从某个节点分叉、尝试不同方向
导出与分享
将会话导出为:
- Markdown — 纯文本格式,适合存档
- HTML — 带样式渲染,适合分享给同事
全局搜索
上周让 AI 帮你写的那个正则表达式,怎么找?
在全局搜索框中输入关键词,自动搜索所有历史会话的内容,秒级定位。
崩溃与重启自动恢复
AI 任务跑到一半,应用却崩了、卡死或需要重启 —— 在普通终端里,这意味着整个会话连同正在运行的 AI 任务一起消失。
智码 AICoder 把 AI 会话跑在独立的后台守护进程里,与界面进程分离。界面崩溃或重启时,后台的 AI 任务继续运行、不中断,重新打开后自动接回原来的会话。
- 界面崩溃自愈 — 渲染界面异常时自动重载,已有会话原样恢复,不丢上下文
- 重启应用不丢会话 — 从托盘「重启应用」后,正在运行的终端自动接回并继续运行
- 崩溃自动拉起 — 主进程意外退出由守护进程自动重启,无需手动干预
- 多账号各自独立 — 多开的每个实例独立守护,一个崩溃不影响其他实例
两种恢复,各管一段
- 崩溃 / 卡死 / 重启应用(上述):后台守护进程让 AI 任务不中断,自动接回正在运行的会话。
- 正常关闭后重新打开:守护进程已随应用退出、AI 任务结束;下次启动会提示你恢复上次打开的会话标签,一键重新载入(CLI 重新启动、继续历史对话)。
启动时的恢复提示只列本次真正打开过的标签,不会翻出很久以前的陈旧会话。不需要这个提示的话,弹窗上有「不再提示」,设置里也能随时开回来。
v4.0.0 进一步改进了恢复后的终端显示:接回会话时按虚拟屏幕快照重建画面,Claude / Codex 这类整屏刷新的交互界面精准还原、不再错位重影。
