Skip to content

marketplace: hide or categorize built-in protected plugins and forbid auto-install #177

Description

@zevorn

背景

plugins/plugin-marketplace/src/protocol.ts 已经有 PROTECTED_PLUGIN_IDSPROTECTED_PLUGIN_PACKAGESPROTECTED_PLUGIN_REPOSITORIESisProtectedMarketplacePlugin(),事务层也会拒绝修改内置插件。但当前 UI 仍会把它们作为普通卡片展示在“可用插件”列表里,只是显示 managed 徽标和“打开仓库”按钮,容易让用户误以为可以安装/升级。

目标

  • 内置/受保护插件不再出现在默认“可用插件”列表中;要么归入新的 “Built-in / 内置” 分类,要么默认隐藏并提供一个“显示内置插件”开关。
  • 对内置插件不能出现 install / update / uninstall 等自动安装入口(当前已由事务层兜底,UI 也要明确)。
  • 保持 Desktop / Web / TUI 三端行为一致。

建议改动点

  • plugins/plugin-marketplace/src/catalog.ts:归一化时给 protected 插件打上 builtin / 分类标记。
  • plugins/plugin-marketplace/src/client/plugin.tsx:分类筛选、状态筛选和搜索逻辑。
  • plugins/tui-marketplace/src/marketplace.tsxmarketplace-controller.ts:TUI 列表同步。
  • tests/plugin-marketplace.test.ts:补充解析与 UI/控制器测试。

验收标准

  • 默认视图不展示内置插件;开启“显示内置”后展示在独立分类,且无安装类操作。
  • 直接构造 install / prepare 命令仍被拒绝(现有保护不回归)。
  • 中英文文案同步更新。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions