makecindy / makecindy/cindy

[Feature] 设置菜单补充「插件」入口,复用独立插件页(参考 Codex)

Open Beginner friendly
#157 0 comments 0 reactions 0 assignees View on GitHub
enhancement feature
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

## 背景

Plugin / Skill 管理已经统一到顶层 `/plugins` 页面,主侧栏也有「插件」入口;但设置菜单中没有对应入口。用户通常会把插件安装、启停和配置理解为设置类能力,进入「设置」后找不到插件,发现成本很高。

这是移除 Settings 内重复插件页面后的入口回退:当前 `SettingsView` 会把旧的 `?tab=ghosts|api-keys|connections` 深链重定向到 `/plugins`,说明已有兼容路由,但设置侧栏本身没有可见入口。

## Codex 参考

Codex 保留独立 Plugins page,同时在 Settings 中提供「Plugins」入口。官方文档直接使用“Open **Settings → Plugins** or the **Plugins page**”这一导航方式:

- https://learn.chatgpt.com/docs/build-plugins#create-and-test-a-plugin-locally-that-points-to-an-mcp-server-backed-dev-mode-app

这个模式兼顾了两种用户心智:

- 从主导航进入:把插件当作常用能力目录;
- 从设置进入:把插件当作安装、权限与配置项。

## 建议方案

在设置左侧菜单补充「插件」导航项,点击后直接进入现有 `/plugins` 页面。

- 只增加入口,不恢复 Settings 内第二套 Plugin 列表/详情组件;
- 保留现有主侧栏「插件」入口;
- 保留 Plugin / Skill 共用页面及顶部 Tab;
- 保留 `?tab=ghosts|api-keys|connections` 的旧链接兼容;
- 建议放回原来靠近「模型供应商」的位置,符合“外部能力与配置”的信息分组;
- 由于点击后离开 Settings route,这一项应按普通导航链接处理,不要伪装成当前 Settings tabpanel 的 `role=tab`。

## 验收标准

- [ ] 设置左侧菜单中能看到本地化的「插件」入口;
- [ ] 点击后进入现有 `/plugins` 管理页,不产生重复页面或重复状态;
- [ ] 主侧栏入口、Plugin / Skill Tab、旧深链跳转行为不回退;
- [ ] 键盘操作、焦点态和无障碍语义正确;
- [ ] 补充设置菜单入口与路由行为的回归测试。

Contributor guide

Open the contributing guide

Research direction

Start in SettingsView and its settings sidebar, then inspect the existing /plugins route and the legacy ?tab=ghosts|api-keys|connections redirects. Add the localized navigation link without duplicating the plugin page, and add regression coverage for routing, keyboard focus, accessibility semantics, and preserving the existing plugin and Skill navigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, frontend
Issue type
Feature
Difficulty
2/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.