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 @@
|
||||
# 本机工具环境 PRD
|
||||
# 工具执行环境 PRD
|
||||
|
||||
## 文档信息
|
||||
|
||||
@@ -26,8 +26,10 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
2. 用户可在 GoodBuddy 内按需安装 Python,并运行 Python SKILL 和 stdio MCP。
|
||||
3. 专业用户可以选择检测到的解释器或指定其他可执行文件。
|
||||
4. 设置始终展示实际来源、版本、路径、工具状态和能力依赖状态。
|
||||
5. 本机工具环境不修改系统环境,也不传播到远程主机。
|
||||
5. 工具执行环境不修改系统环境,也不传播到远程主机。
|
||||
6. 保持 Ask/Execute、Runtime、MCP、取消和进程清理的现有边界。
|
||||
7. 用户可以在“工具执行环境”Tab 中明确选择受管工具工件使用原生地址还是 OSS 镜像。
|
||||
8. Skills、MCP 和工具执行环境通过一个“能力与工具”设置入口形成清晰的能力配置链路。
|
||||
|
||||
## 3. 核心决策
|
||||
|
||||
@@ -50,6 +52,11 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
解释器通过诊断后标记“工具环境已就绪”。只有 SKILL 或 MCP 的实际入口及所需第三方包
|
||||
通过验证后,才能标记“能力依赖已就绪”。GoodBuddy 首期不自动扫描和安装任意能力依赖。
|
||||
|
||||
### 3.4 分阶段交付统一设置入口
|
||||
|
||||
第一阶段先把现有 Skills 和 MCP 合并到“能力与工具”,只显示两个真实可用的水平 Tab。
|
||||
“工具执行环境”实现完成后再加入第三个 Tab;未实现期间不展示禁用项、空白页或开发中占位。
|
||||
|
||||
## 4. 功能范围
|
||||
|
||||
### 4.1 包含
|
||||
@@ -60,6 +67,8 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
- 按需下载安装的托管 Python 3、pip、venv。
|
||||
- 系统解释器探测、自定义文件选择和真实诊断。
|
||||
- 工具来源、版本、路径、安装、删除、更新和错误状态。
|
||||
- 受管工具工件的原生地址/OSS 镜像选择。
|
||||
- “能力与工具”一级分类及 `Skills`、`MCP`、`工具执行环境` 三个水平 Tab。
|
||||
- 新启动本机 Runtime 和 MCP 的 PATH 注入。
|
||||
|
||||
### 4.2 不包含
|
||||
@@ -74,6 +83,7 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
- 修改系统 PATH、注册表或 Shell Profile。
|
||||
- 无条件把完整 Python 打入桌面安装包。
|
||||
- 首期导入托管 Python 离线包;完全离线用户可选择已有的自定义 Python。
|
||||
- 修改模型下载源、应用更新源、Agent 下载源、pip/npm 注册表或用户配置的网络地址。
|
||||
|
||||
## 5. 功能需求
|
||||
|
||||
@@ -87,7 +97,10 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
### FR-2 Python 托管环境
|
||||
|
||||
- Python 未安装时展示安装入口,不把完整 Python 放入所有桌面安装包。
|
||||
- 下载复用“关于与更新”的官方 GitHub/镜像来源。
|
||||
- Windows x64 使用固定官方 `python` NuGet 工件,Windows ARM64 使用固定官方
|
||||
`pythonarm64` NuGet 工件;macOS/Linux 使用固定 Astral `python-build-standalone`
|
||||
工件,最终版本以真实诊断和共同支持矩阵为准。
|
||||
- 原生地址直接指向精确上游工件;OSS 镜像保存该工件的字节完全相同副本。
|
||||
- 展示下载、校验、安装、取消、可更新、删除和失败状态。
|
||||
- 下载失败保留已验证旧安装。
|
||||
|
||||
@@ -145,6 +158,33 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
- Execute 继续使用当前本机账号的完整授权。
|
||||
- 不为工具环境增加第二套批准流程。
|
||||
|
||||
### FR-11 工具下载源
|
||||
|
||||
- “工具执行环境”Tab 提供两个互斥选项:`原生地址` 和 `OSS 镜像`。
|
||||
- 全新用户默认使用原生地址;该选择独立于“关于与更新”和模型下载源。
|
||||
- 选择原生地址时,每个受管工件使用目录中固定的上游 URL。
|
||||
- 选择 OSS 镜像时,使用 GoodBuddy OSS 中固定的对应对象。
|
||||
- 两个 Target 必须声明同一逻辑工件、相同字节数和 SHA-256;OSS 不得重打包或修改内容。
|
||||
- 下载开始时冻结来源;运行期间切换设置只影响后续下载。
|
||||
- 当前来源失败、缺少工件或校验失败时明确失败,不自动请求另一个来源。
|
||||
- 该设置适用于当前 Python Runtime 和未来纳入受管工具目录的 Runtime/工具链。
|
||||
- 该设置不影响用户执行的 pip/npm 依赖安装、模型下载、应用更新、Agent 下载、HTTP/SSE
|
||||
MCP 或用户配置 URL。
|
||||
|
||||
### FR-12 统一设置入口
|
||||
|
||||
- 设置中心只提供一个“能力与工具”一级分类,不再并列显示独立的 Skills、MCP 或工具执行
|
||||
环境分类。
|
||||
- 第一阶段提供 `Skills`、`MCP` 两个水平 Tab;工具执行环境完成后依次提供
|
||||
`Skills`、`MCP`、`工具执行环境` 三个水平 Tab。始终默认打开 `Skills`。
|
||||
- 三个 Tab 使用共享 `PageTabs`,保留 `tablist`、`tab`、`tabpanel`、方向键和可见焦点。
|
||||
- `Skills` 继续承载现有 Skill 启停、导入、状态和 Runtime 分配。
|
||||
- `MCP` 继续承载现有 MCP 配置、凭据、状态和 Runtime 分配;其现有内部分组页签保持不变。
|
||||
- `工具执行环境` 承载工具下载源、Node.js、Python、诊断和生效范围。
|
||||
- 合并导航不改写 Skills/MCP 业务数据;未来新增定向入口时必须进入对应水平 Tab。
|
||||
- 切换水平 Tab 不丢弃当前编辑状态;不把当前水平 Tab 持久化为产品设置。
|
||||
- 未实现的工具执行环境不得以禁用 Tab 或占位内容提前显示。
|
||||
|
||||
## 6. 产品验收
|
||||
|
||||
- 无系统 Node.js 时,托管 Node 可以真实执行 JavaScript SKILL 和 stdio MCP。
|
||||
@@ -153,6 +193,9 @@ Python、虚拟环境或 Conda 环境时,也不能被 GoodBuddy 静默替换
|
||||
- 用户可明确选择并锁定自定义解释器。
|
||||
- 自定义路径失效不触发静默切换。
|
||||
- 工具就绪与能力依赖就绪不会混为同一状态。
|
||||
- 本机 Skills、MCP 和工具环境不会应用于远程主机。
|
||||
- 本机 Skills、MCP 和工具执行环境不会应用于远程主机。
|
||||
- 工具下载使用用户明确选择的原生地址或 OSS,且不会静默回退。
|
||||
- 第一阶段通过“能力与工具”统一入口展示 Skills/MCP 两个水平 Tab;工具执行环境完成后
|
||||
追加第三个 Tab。
|
||||
- 中英文界面、键盘操作、焦点和状态反馈符合统一设计系统。
|
||||
- 全量测试、类型检查、Lint 和生产构建通过。
|
||||
|
||||
Reference in New Issue
Block a user