zhengjy01/dsh-settings-nav-organizer
将DSH设置面板中的插件/扩展设置项折叠为可展开的“插件条目”分组行。
Project Overview项目介绍
DSH Settings Nav Organizer collapses every plugin/extension entry in the settings sidebar into a single foldable “Plugin entries” group, and adds bookmark-style custom groups plus an instant search box. A new Groups page in Settings provides a fold toggle, named group create/rename/delete, per-entry move-in/out, and an auto-classify mode that groups new plugins through three fallback layers: market tags, local name rules, then your AI model. The sidebar becomes scrollable, the active section stays visible, and all configuration persists in localStorage and auto-refreshes from the live settings ledger. One caveat: it depends on the settings panel DOM; upstream panel changes may require an update. Install via the dsh plugin CLI, then restart dsh and refresh.
DSH 设置导航整理插件,将每个插件/扩展在侧边栏的入口合并到可折叠的“Plugin entries”分组,并支持创建书签式自定义分组与即时搜索。设置面板新增“分组管理”页面,可一键折叠切换、命名/删除分组、移动条目;自动分类模式按市场标签→本地规则→AI 模型三级回退归类。侧边栏支持滚动,活动页始终可见。配置保存在 localStorage,随插件增减自动更新。安装后需重启 dsh 并刷新页面;卸载请用 dsh plugin remove。
请帮我了解并安装插件:【dsh-settings-nav-organizer】【https://github.com/zhengjy01/dsh-settings-nav-organizer】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-settings-nav-organizer
把 zhengjy01/dsh-settings-nav-organizer 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-settings-nav-organizer
English | 中文
Declutter the DeepSeek Harness settings panel: with more plugins installed, the settings sidebar grows one entry per plugin. This plugin folds every plugin/extension entry into a single collapsible Plugin entries group row, lets you organize entries into bookmark-style named groups, and adds a fold toggle in General settings.
Features
One group row, right under the system settings —
通用设置 / Models / Plugins / Agent presetsstay flat at the top; everything else (plugins, extensions, extra pages) folds underPlugin entries (N) ▾.Instant search — a search box pinned at the top of the settings nav filters every entry by name (and plugin id) as you type; matches are highlighted and their groups are auto-expanded, and clearing the search restores the previous fold/group layout.
Scrollable nav — when there are many entries, the settings sidebar scrolls instead of clipping entries with no scrollbar.
Fold toggle — a switch at the top of the Groups page (
折叠第三方插件入口) turns the whole folding behavior on/off: off restores the plain native nav with every entry flat.Bookmark-style custom groups — create named groups (like bookmark folders), move any settings entry into a group, and expand/collapse each group in the nav independently. A Groups page in the Settings panel manages everything: create, rename, delete groups, and move entries in/out.
One-click expand/collapse — click a group row to unfold its entries below it; click again to fold them back. Ungrouped entries stay under the
Plugin entries (N) ▾row.Persistent — group configuration and the fold toggle are stored in
localStorage(dsh.settingsNavFold.v1), survives restarts.Auto-updating — counts and fold positions are recomputed from the live
settings.sectionledger, so entries appear/disappear as plugins register or unregister their settings pages. No configuration.Current section never disappears — the active plugin page stays visible even while folded.
Auto classification — a mode switch (AI auto / manual): with AI mode on, newly installed plugins are grouped automatically through three fallback layers — third-party market categories → local name-based heuristic rules → your AI model — so plugins are grouped even when the market misses them and no AI is configured.
AI model config made easy — model dropdown with presets (DeepSeek / OpenAI / Qwen / GLM / Kimi / Doubao): picking a preset model auto-fills its provider API URL, the URL+key auto-fetch the models available on your account, a Test config button verifies the whole setup with one request, and everything is saved automatically on input (no save button required).
Idle plugin auto-pruner — a new switch on the Groups page scans each plugin's tool-call history, flags plugins unused beyond an idle threshold (default 30 days), and lets you preview and one-click clean them (with a confirmation step). Core DSH, this plugin and the core UI bundle are auto-protected and never listed; plugins without detectable tools can still be checked manually.
Localized — follows the UI locale (中文 / English).
Install
# 方式一:npm 包(推荐,国内网络更稳定)
dsh plugin --profile web add dsh-settings-nav-organizer
# 方式二:GitHub 仓库
dsh plugin --profile web add github:zhengjy01/dsh-settings-nav-organizer
Restart dsh (the host half must load), then refresh the browser page. Open the Settings panel (gear icon at the sidebar foot).
Usage
Everything lives in the Settings panel (设置):
Fold toggle — open Groups (
分组管理), the switch at the top is折叠第三方插件入口 / Fold third-party plugin entries. On (default): plugin entries fold under the group rows; off: the nav goes back to plain native with every entry flat. The switch state is remembered across restarts.Group rows in the nav — with the toggle on, the nav keeps the official entries (
通用设置 / Models / Plugins / Agent presets, plus the Plugin manager page) flat at the top, followed by the Groups page, then aPlugin entries (N) ▾row (and any custom group rows). Click a row to expand/collapse its entries below it.Auto classification — in the Groups page, turn on the Auto classify switch (AI auto / manual), then configure your AI model:
- pick a preset model from the dropdown (the provider API URL is filled in automatically), enter your API key, confirm the URL, and hit Test config to verify;
- click Classify ungrouped plugins now — market tags are used first, then name-based rules, then your AI model;
- everything is saved automatically as you type.
Bookmark-style groups — in the Groups page:
- type a name and hit New group to create a group;
- in the Ungrouped section, pick a group from each entry's dropdown to move it in;
- inside a group card, use Rename / Delete / Remove to manage it (deleting a group moves its entries back to Ungrouped).
How it works
The settings nav list is rendered by the shipped panel and is not a slot, so the plugin:
- reads the
settings.sectionslot ledger (ctx.slots.entries) and sorts it exactly like the panel does; - injects the group rows into the nav list DOM right after the last core entry (idempotent — no DOM change when already placed);
- marks plugin buttons with
data-snav-plugin/data-snav-groupand drives visibility via a small stylesheet (the activearia-currentrow stays visible); - follows the ledger and panel re-renders with a scoped
MutationObserver(with a storm watchdog), so the group stays correct as plugins come and go; Everything is owned by the plugin fiber: styles, subscriptions, the observer, and the injected rows are removed when the plugin is stopped or uninstalled.
Uninstall
dsh plugin --profile web remove dsh-settings-nav-organizer
This stops the plugin, removes its row from cordis.patch.yml and its dependency from the profile package.json.
asukasec/dsh-message-preview
liangmianya/dsh-synapse
alaliqing/claude-paper
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
hanshenmesen/dsh-turn-delete
qkycir-123/dsh-run2skill