在设置弹窗中增加「插件设置」导航,将各插件的设置页与卡片统一收纳到可拖拽排序的顶部标签页中。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:jiangyinluwei/dsh-plugInOne
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
原名
dsh-settings-hub,已更名;RPC 命名空间settingsHub与旧版数据迁移路径保持兼容。
English | 中文

DSH 插件设置「中转」插件:在设置弹窗左侧导航中新增一行 插件设置,把所有自定义插件的设置内容统一收纳到顶部 tab 标签页中,tab 可手动拖动排序,顺序持久化到 JSON 文件。
本插件是纯中转:不修改任何插件的注册、组件或设置文档。它只做四件事:
- 自动检测当前加载的自定义插件贡献的设置内容(读取运行时的实时槽位台账):
settings.section页面 —— 不属于 DSH 内置分区(general / models / plugins / agent-presets)的,例如 dsh-at-file、dsh-market、dsh-status-rotator、dsh-notification、dsh-better-sidebar;settings.general.item行 —— 插件贡献的(例如 dsh-peak-indicator);settings.plugin.item卡片 —— 插件贡献的(例如 dsh-peak-indicator、dsh-client-auto-continue、dshmarket)。
- 新增一行 插件设置 导航,页面内渲染水平 tab 标签页。tab 可手动拖动;顺序通过 host 半保存到插件部署目录内的
data/order.json,下次加载自动还原。 - 在对应 tab 内原样渲染该插件的设置内容:移植了运行时的槽位渲染组合(standard kit、
t语言座位、inject 业务面、store 座位、子级renderSlot递归),并带条目级错误边界——语义上与设置外壳完全一致。 - 隐藏被收纳内容原来的入口:通过服务层原型补丁过滤设置导航行投影,并通过给渲染宿主(
slots._host)包一层 Proxy 过滤entriesOf/entriesOfSlot——插件 section 行从设置导航消失、插件通用行从「通用设置」页消失、插件卡片从「插件」页消失;但插件的注册本身原封不动。
目录结构
dsh-plugInOne/
├── package.json # dsh.client.platform: web + dsh.bundle.patch
├── cordis.patch.yml # loader 装载项
├── dsh.plugin.json
├── lib/index.js # host 半:settingsHub/loadOrder + saveOrder(JSON 文件读写)
└── lib/client.js # 浏览器侧 bundle(手写,无构建步骤)
安装(web profile)
node <DSH_HOME>/profiles/node_modules/@deepseek-ai/dsh/lib/bin.js plugin --profile web add "file:<仓库路径>"
安装完成后需要手动重启 DSH(插件列表在启动时装载),重启后建议强刷页面(Ctrl+R)。
注意:如果 pnpm 因供应链策略(
minimumReleaseAge)拒绝安装,可用pnpm add "file:<仓库路径>" --config.minimum-release-age=0在 profile 目录下直接安装, 并手动把插件名补进dsh.profile.bundles。
重启后的验证步骤
- 打开侧边栏底部「设置」→ 左侧导航应只剩内置行 + 插件设置。
- 点击「插件设置」→ 顶部 tab 列出各插件;拖动 tab 改变顺序,顺序保存在插件部署文件夹内(如
~\.dsh\profiles\web\node_modules\dsh-plugInOne\data\order.json)。 - 每个 tab 内应显示对应插件的设置内容(原样)。
- 「通用设置」页下方不再显示插件条目(例如 peak-indicator);「插件」页卡片区不再显示外部插件卡片。
说明与限制
- 依赖当前设置槽位(
settings.section、settings.general.item、settings.plugin.item)与槽位渲染宿主 —— DSH ≥ 0.1.1-rc.2。 - 内置/核心白名单集中在
lib/client.js顶部:BUILTIN_SETTINGS_SECTION_IDS、CORE_GENERAL_ITEM_IDS、CORE_PLUGIN_CARD_KEYS。 如果部署新增了内置设置页,需要同步维护这三份清单。 - 个别插件的 section 与插件卡片 id 不一致时会分成两个 tab(例如 dshmarket 的
market与dsh-market);如需合并可自行加别名。 - 降级路径:若未来运行时移除了
hostFace/_host结构,插件会失去「隐藏」与「聚合」能力,但聚合行仍会显示内容、原入口保持不变,不会拖垮页面。 - 客户端 bundle 可热更新(client-hmr 轮询),但
slots._host代理与原型补丁只在全新页面加载时生效,改动后请强刷页面。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8670
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8670
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4631
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 4484
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4133
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1453
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。