fix: unify capability settings navigation
Skills and MCP previously occupied separate top-level settings categories. They now share one Capabilities and tools category with accessible horizontal tabs, while the unimplemented tool environment remains hidden until its settings are usable. Prevent nested PageTabs wrappers from collapsing to zero height in scrollable Flex layouts, add a CSS regression guard, and document the shared rule plus the planned local Node.js and Python environment. Release note: 设置中心将 Skills 和 MCP 合并到“能力与工具”,并修复水平页签可能被压缩而不可见的问题;尚未实现的工具执行环境暂不显示。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# 本机工具环境 User Stories
|
||||
# 工具执行环境 User Stories
|
||||
|
||||
## 文档信息
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
| 状态 | 计划 |
|
||||
| 版本 | 0.2 |
|
||||
| 日期 | 2026-09-01 |
|
||||
| 关联 PRD | [本机工具环境 PRD](./prd.md) |
|
||||
| 关联逻辑 | [本机工具环境功能逻辑设计](./logic-design.md) |
|
||||
| 关联 PRD | [工具执行环境 PRD](./prd.md) |
|
||||
| 关联逻辑 | [工具执行环境功能逻辑设计](./logic-design.md) |
|
||||
|
||||
## 1. 角色
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
- 托管 Node 立即执行真实诊断并显示版本
|
||||
- 未安装的托管 Python 显示“尚未安装”和安装入口
|
||||
- 检测到的系统解释器只作为自定义候选,不改变默认来源
|
||||
- 页面持续说明只对新启动的本机 Runtime 和 stdio MCP 生效
|
||||
- “工具执行环境”Tab 持续说明只对新启动的本机 Runtime 和 stdio MCP 生效
|
||||
|
||||
### US-A1 直接使用托管 Node
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
- HTTP/SSE 配置不显示本机解释器要求
|
||||
- GoodBuddy 不管理远端 MCP 服务端依赖
|
||||
- 切换本机工具环境不重建 HTTP/SSE 服务
|
||||
- 切换工具执行环境不重建 HTTP/SSE 服务
|
||||
|
||||
## 4. Epic C:专业用户明确控制环境
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
|
||||
验收:
|
||||
|
||||
- 本机工具环境页显示范围说明
|
||||
- “工具执行环境”Tab 显示范围说明
|
||||
- 远程主机设置页显示本机 Skills 和 MCP 不适用
|
||||
- Host PATH、Agent 包和 Runtime 包不包含本机选择
|
||||
|
||||
@@ -242,14 +242,15 @@
|
||||
|
||||
### US-E1 通过所选官方来源安装 Python
|
||||
|
||||
作为内网用户,我希望托管 Python 使用“关于与更新”中选择的官方来源,以便符合当前网络
|
||||
条件。
|
||||
作为内网用户,我希望在“工具执行环境”Tab 中选择原生地址或 OSS 镜像,以便符合当前
|
||||
网络条件。
|
||||
|
||||
验收:
|
||||
|
||||
- Python 安装复用当前 GitHub/镜像来源
|
||||
- 来源不可达时显示来源和准确失败原因
|
||||
- 同一次安装不静默切换到另一来源
|
||||
- 默认使用 Python 工件的固定原生地址
|
||||
- 选择 OSS 后,Python 只请求固定 OSS 对象
|
||||
- 页面显示本次下载冻结的来源和准确失败原因
|
||||
- 同一次安装不在原生地址和 OSS 之间静默切换
|
||||
- 失败保留健康旧版本或未安装状态
|
||||
|
||||
### US-E2 完全离线时使用已有环境
|
||||
@@ -262,3 +263,48 @@
|
||||
- 托管 Python 未缓存且来源不可达时明确说明无法下载
|
||||
- 首期不展示未实现的 Python 离线导入入口
|
||||
- 用户可以选择设备上已经离线安装的自定义 Python
|
||||
|
||||
### US-E3 所有受管工具工件遵循同一下载通道
|
||||
|
||||
作为用户,我希望未来新增的受管 Runtime 和工具链遵循同一个下载源选择,以免每种工具
|
||||
产生不同规则。
|
||||
|
||||
验收:
|
||||
|
||||
- 受管工具目录中的每个外部工件同时声明原生地址和 OSS Target
|
||||
- 两个 Target 对应相同字节数和 SHA-256
|
||||
- 下载任务开始后冻结来源
|
||||
- 所选来源缺少该工件时明确显示不可用
|
||||
- pip/npm 依赖、模型、应用更新、Agent 和用户 URL 不受该设置影响
|
||||
|
||||
## 7. Epic F:统一管理能力与执行环境
|
||||
|
||||
### US-F1 从一个入口管理相关能力
|
||||
|
||||
作为用户,我希望从一个设置入口访问 Skills、MCP 和工具执行环境,以便理解能力配置及其
|
||||
本机依赖之间的关系。
|
||||
|
||||
验收:
|
||||
|
||||
- 设置中心只显示一个“能力与工具”一级分类
|
||||
- 第一阶段依次显示 `Skills`、`MCP` 两个水平 Tab
|
||||
- 工具执行环境完成后在同一组中追加第三个 `工具执行环境` Tab
|
||||
- 未完成前不显示禁用或占位的 `工具执行环境`
|
||||
- 首次进入默认打开 `Skills`
|
||||
- 每个 Tab 使用独立、可命名的 `tabpanel`
|
||||
- 水平 Tab 支持方向键、Home、End 和可见焦点
|
||||
- 窄屏时页签保持单行横向滚动,不换成多行或下拉框
|
||||
|
||||
### US-F2 保持业务数据和编辑状态
|
||||
|
||||
作为现有用户,我希望合并设置导航后原有 Skills 和 MCP 配置保持不变,并且切换水平 Tab
|
||||
不丢失正在编辑的信息。
|
||||
|
||||
验收:
|
||||
|
||||
- 原独立 Skills/MCP 左侧分类由一个“能力与工具”分类替代,不保留重复入口
|
||||
- 合并导航不修改 Skill 启停、导入、分配或 MCP 配置、凭据和分配数据
|
||||
- MCP 原有内部分组页签继续位于 MCP 面板内
|
||||
- 切换三个外层 Tab 后返回时保留本次设置面板会话中的编辑状态
|
||||
- 关闭并重新打开设置时,普通入口仍默认显示 Skills,不持久化上次外层 Tab
|
||||
- 未来新增 Skills/MCP 定向入口时打开对应水平 Tab
|
||||
|
||||
Reference in New Issue
Block a user