感谢你的建议!请聚焦一个明确的问题或工作流,并说明它为什么值得解决。
提交前检查 / Checklist
功能模块 / Feature area
AI 对话、终端 AI 与工具调用 / AI chat, terminal AI, and tool calling
SSH、本地终端与串口 / SSH, local terminal, and serial
Agent Hub、ACP、Public MCP 与 CLI / Agent Hub, ACP, Public MCP, and CLI
问题与使用场景 / Problem and use case
让内置 AI / AIAgent 在多个目标节点上做排查时(AIAgent 会自己按需打开 SSH、SFTP、数据库等标签页),所有标签都和用户自己手动打开的混排在同一个标签栏里。日常遇到的具体痛点:
- AIAgent 排查任务稍微复杂(同时连 5–10 个节点)时,用户手动打开的那一两个目标标签就被淹没,找回要靠肉眼对比 IP / 标题。
- AIAgent 排查期间会动态开关标签,导致用户原本稳定的"工作区上下文"被持续打断。
- 想"只关闭 AI 打开的标签、保留自己手动开的"时只能一个一个点;想保留自己的标签就只能全量关闭再重新手动开。
- 多个并发 AI 会话(不同排查问题)打开的标签彼此混淆,难以回溯"这个标签是哪个会话开的"。
参考本会话截图:8 个 SSH 标签混排在一行(Local、oe2203-6.170、11-100、deploy-6-180-bocuser、10.50.11.86、10.50.11.81、10.50.11.84、10.50.11.85),其中只有部分是用户手动打开的。
频率:每次使用 AIAgent 做多节点排查时都会触发,是日常操作的核心痛点之一。
建议方案 / Proposed solution
希望 Navop 的标签页支持"分组 + 来源标记"两层能力,按工作量从小到大建议依次落地:
1. 来源标记(最小可行,建议优先)
- 每个标签页带"来源 / 会话"标签:
manual / agent:<session_id> / public_mcp:<client> / sftp_orphan 等。
- 标签栏上能按来源过滤或视觉区分(图标 / 颜色 / 角标),并支持"一键折叠非当前来源"。
2. 原生标签页分组(VSCode / Chrome tab groups 风格)
- 支持用户手动"新建分组",把已有标签拖入分组;分组可命名、可设色、可折叠。
- 分组级别操作:一键关闭组内全部、一键折叠 / 展开、一键"仅保留此分组"。
- AIAgent 启动时默认在新的隔离分组里开标签;Agent 任务结束后该分组可一键关闭或隐藏,不污染用户主工作区。
- 多 Agent 并发时,每个 Agent 会话天然落在不同分组,事后可追溯到具体任务。
3. 持久化与导航
- 分组结构持久化到现有
tab_persistence;用户自定义分组跨重启保留;Agent / MCP 创建的临时分组可选"仅本次会话"。
- 在 tab bar 上增加分组选择器 / 概览(参考 Chrome 的
⌘ + Shift + A 标签搜索),20+ 标签时可快速跳到目标分组。
替代方案 / Alternatives considered
- 现状只能靠肉眼识别 / 手动改标签名区分,效率低且容易误关。
- 把 AIAgent 拆成独立窗口:可行,但会失去"统一 dock + 多会话上下文同屏对比"的优势,不希望为此妥协。
- 临时绕路:把所有 AIAgent 操作集中到一个连接的节点上 —— 但这本身就违背多节点并行排查的工作流。
- 参考过的同类能力:VSCode tab groups、Chrome tab groups、iTerm2 profiles、tmux session + group_sync —— 属于同一类诉求,社区已有成熟心智模型。
补充信息 / Additional context
-
当前会话截图:标签栏 8 个 SSH 标签混排,肉眼区分困难。

-
相关代码位置:crates/core/src/tab_container.rs(标签页 UI 与持久化数据结构)、crates/core/src/tab_switcher.rs、crates/core/src/tab_persistence.rs。当前已有 active_tab_bg_color / inactive_tab_bg_color / tab_bar_bg_color 等单标签样式字段,扩展到"按来源 / 分组"在样式系统上是顺势扩展;分组数据结构可挂在现有 TabContainer 之上。
-
建议落地顺序:来源标记(图标 + 颜色 + 一键折叠) → 用户手动分组(拖拽 / 命名 / 着色) → AIAgent 隔离分组 → 分组持久化 + 多 Agent 会话可追溯。
-
期望受益场景:多节点 K8s / 集群巡检、AIAgent 跨网络拓扑排查、Public MCP 自动化脚本批量打开连接。
提交前检查 / Checklist
功能模块 / Feature area
AI 对话、终端 AI 与工具调用 / AI chat, terminal AI, and tool calling
SSH、本地终端与串口 / SSH, local terminal, and serial
Agent Hub、ACP、Public MCP 与 CLI / Agent Hub, ACP, Public MCP, and CLI
问题与使用场景 / Problem and use case
让内置 AI / AIAgent 在多个目标节点上做排查时(AIAgent 会自己按需打开 SSH、SFTP、数据库等标签页),所有标签都和用户自己手动打开的混排在同一个标签栏里。日常遇到的具体痛点:
参考本会话截图:8 个 SSH 标签混排在一行(Local、oe2203-6.170、11-100、deploy-6-180-bocuser、10.50.11.86、10.50.11.81、10.50.11.84、10.50.11.85),其中只有部分是用户手动打开的。
频率:每次使用 AIAgent 做多节点排查时都会触发,是日常操作的核心痛点之一。
建议方案 / Proposed solution
希望 Navop 的标签页支持"分组 + 来源标记"两层能力,按工作量从小到大建议依次落地:
1. 来源标记(最小可行,建议优先)
manual/agent:<session_id>/public_mcp:<client>/sftp_orphan等。2. 原生标签页分组(VSCode / Chrome tab groups 风格)
3. 持久化与导航
tab_persistence;用户自定义分组跨重启保留;Agent / MCP 创建的临时分组可选"仅本次会话"。⌘ + Shift + A标签搜索),20+ 标签时可快速跳到目标分组。替代方案 / Alternatives considered
补充信息 / Additional context
当前会话截图:标签栏 8 个 SSH 标签混排,肉眼区分困难。
相关代码位置:
crates/core/src/tab_container.rs(标签页 UI 与持久化数据结构)、crates/core/src/tab_switcher.rs、crates/core/src/tab_persistence.rs。当前已有active_tab_bg_color/inactive_tab_bg_color/tab_bar_bg_color等单标签样式字段,扩展到"按来源 / 分组"在样式系统上是顺势扩展;分组数据结构可挂在现有TabContainer之上。建议落地顺序:来源标记(图标 + 颜色 + 一键折叠) → 用户手动分组(拖拽 / 命名 / 着色) → AIAgent 隔离分组 → 分组持久化 + 多 Agent 会话可追溯。
期望受益场景:多节点 K8s / 集群巡检、AIAgent 跨网络拓扑排查、Public MCP 自动化脚本批量打开连接。