mega-settings
English · 中文
DSH(DeepSeek Harness)的统一设置中心:把散落插件的设置入口收进一处,按你的习惯分组管理。
属于 mega 系列家族宿主——收纳(collect)与折叠(fold)两种模式共用同一份分组数据。
功能一览
- 收纳模式:卡片式集中页收纳第三方设置入口;拖拽进出自定义分组与未分组,分组可整体排序;
- 折叠模式:接管官方设置弹层导航;第三方设置折叠进分组,拖行到顶部=释放为一级入口,拖回=重新折叠;
- 分组管理:新建分组(创建后直接输入名称回车确认)、hover 分组标题改名/删除、未分组行尾 + 即点即建;
- 拖拽体验(两模式统一):指针跟手拖拽(原元素随光标、无浏览器拖影)、悬停行上/下半区出单个虚线落点、FLIP 平滑让位与判定锁、列表边缘自动滚动;
- 自适应观感:全部使用 dsh 语义令牌与官方视觉,不写主题分支;
- 设置壳对齐官方:标题 / 触发器 / 操作列(如「打开配置文件」)/ 关闭按钮 / 首启引导均渲染官方插槽内容,连接异常时可就地重连;导航顶部支持按名称搜索设置;
- 设置页开关:兼容性校验(mega 家族契约)与导航搜索框可自行开关,未读提示一键「懂你意思」;
- mega 优化:集中收纳对 dsh 与第三方插件的优化开关,按桌面版(仅桌面壳)/ 正文 / 左侧边栏 / 右侧边栏分区分组——原生窗口按钮透明与标题条跟随 / 正文与侧栏的背景统一化及透明度 / 右侧边栏全屏零占位 / 全屏背景透明度(滑块可调,数值越大越透明)/ 全屏下隐藏正文工具栏 / 左侧边栏底部动作区布局 /
Ctrl+Shift+S 打开设置;第三方插件按插件独立面板(dsh-better-sidebar、dsh-cost-meter、技能中心),未安装或未启用不显示、效果不注入;新增优化只需在注册表追加 def;
- 版本自检:宿主启动校验当前 dsh 版本线,不合规时控制台警示,不阻断使用。
mega 优化
「mega 优化」是本插件的 mega 成员页(收纳模式「mega」组卡片 / 折叠模式 mega 固组行),集中收纳对 dsh 与第三方插件的优化开关,全部即时生效、可逆。
dsh 界面
按面板分四个子区:桌面版(仅桌面壳可见)→ 正文 → 左侧边栏 → 右侧边栏。
桌面版(仅官方 DSH 桌面应用)
- 窗口标题背景跟随左侧边栏:窗口标题条与左侧边栏同色同透明度;同时把最小化/最大化/关闭三个原生窗口按钮底色置为透明(重定向官方取色探针,主题变量不受影响);
- 框架上内边距移除:去掉官方为 Windows 拖拽标题栏预留的 40px 上内边距(默认关闭,会让内容与窗口按钮同高)。
正文
- 背景颜色统一化:正文的中心列与会话根都铺了主题底色,此开关只保留所选的那一层(另一层置空);
- 背景透明度:把所选层的背景按比例混向透明;统一化未开启时两层同时生效;
- 文件预览背景透明度:文件预览卡片背景混合为主题 layer-1 半透明;
- 头部背景移除:移除正文(会话)头部背景,消除它与正文之间的色差。
左侧边栏
- 背景颜色统一化:侧栏列与侧栏根两层都铺了底色,此开关只保留所选的那一层;
- 背景透明度:把保留下来的那层按比例混向透明(数值越大越透明,默认 30);
- 底部动作区布局:动作区纵向排列;动作按钮撑满宽度、动作条目文本居中。
右侧边栏
- 右侧边栏全屏零占位:右侧边栏全屏时网格占位轨强制为 0,中心内容宽度不变(退出全屏/关闭右栏正确恢复);
- 右侧边栏全屏背景透明度:滑块 0–100、数值越大越透明(默认 25),全屏面板背景按当前主题色重新混合;
- 右侧边栏全屏下隐藏正文工具栏:全屏时隐藏对话正文顶部工具栏;
- 打开右侧栏默认全屏 / 全屏层级修正 / 全屏内边距 / Esc 关闭全屏 / 标签页打开 等。
通用
- 框架背景透明度:内容区框架背景按比例混向透明;
- Markdown 表格限制最大宽度、悬浮复制卡主题适配、设置快捷键(
Ctrl+Shift+S 打开设置页,拦截浏览器「另存为」)等。
第三方插件
每个插件一个独立面板(面板头显示插件名 + 版本);未安装或未启用的插件不显示、效果不注入。当前包含:
- dsh-better-sidebar:隐藏底部面板切换钮;
- dsh-cost-meter:峰谷计价主题色适配(周末与峰段标记 / 标签跟随主题,峰值时段颜色可选警告 / 危险 / 错误);底部计费条背景透明度与边框移除。
技能中心(@linxin666/dsh-client-ui-skill-explorer)的主题适配项已移除:该插件自身已完善主题/皮肤适配,无需本插件再覆盖其样式。
扩展
优化采用注册表机制:src/client/optimize.ts 中每条优化 = 一个 def(id / 分组 / 目标插件 / 词条 / 效果),开关落 optToggles、数值落 optValues;效果支持静态 CSS、滑块值驱动 CSS、JS 效果三种。新增优化只需追加一条 def(+ 词条),页面自动归入 dsh 组或对应插件面板。
界面预览
收纳模式
折叠模式
操作教程
收纳模式
视频 1 · 收纳模式——操作教程
折叠模式
视频 2 · 折叠模式——操作教程
安装
已适配 dsh > 0.2.0-rc.2。更旧的版本线请使用对应分支的发布版本(0.1.1 / 0.1.2 / 0.1.5 / 0.1.7)。
提供 npm / GitHub tag / 本地包 三种安装方式;桌面版与 CLI 是两个独立 profile,需各装一份(见下)。
npm
dsh plugin --profile web add dsh-mega-settings@0.2.0-rc.2
GitHub tag
dsh plugin --profile web add github:BonovaVanro/dsh-mega-settings#v0.2.0-rc.2
本地包
dsh plugin --profile web add dsh-mega-settings-0.2.0-rc.2.tgz
桌面版(官方 DSH 桌面应用)
桌面版不维护自己的插件名单:它挂载的就是普通 dsh-base + dsh-web-app profile,第三方插件仍按常规 dsh.bundle + dsh.client(platform: "web") 契约加载,不需要桌面专用构建 —— 同一个包、同一个构建同时适配桌面版与 web 版。
但它与 CLI 是两套独立档案(配置也各自独立),插件要各装一份:
| 运行方式 | 档案目录 | 安装方式 |
|---|
桌面应用(默认 desktop) | ~/.dsh/profiles/desktop | 应用内插件管理 |
CLI dsh web | ~/.dsh/profiles/web | dsh plugin --profile web add … |
desktop 档案由 Electron 应用独占管理:命令行 dsh plugin --profile desktop … 会被拒绝(profile "desktop" is managed exclusively by the Electron application),请在应用内安装/更新/卸载。
装好后可在页面控制台确认当前运行的构建:查找 [mgs-build] 日志,或读取 window.__MGS_BUILD__。
快速上手
- 在设置中找到 mega-settings,切换收纳 / 折叠模式(两模式数据互通,随时可换);
- 收纳模式:进入「收纳配置」——卡片即第三方设置入口;拖到某分组或未分组松手即归位;悬停分组标题可改名/删除;拖分组标题整体排序;
- 折叠模式:打开官方设置弹层,展开「折叠设置」——拖动行重排;拖到上方导航区=释放(成为独立入口);从顶部拖回折叠体=重新接管;
- 释放/接管只改变入口归属,不会删除任何配置;
- 在「mega 优化」开启需要的优化(右侧边栏全屏相关等);第三方插件面板仅在插件已安装且启用时出现;
- 设置页顶部可按名称搜索设置;「mega 设置」页可关闭兼容性校验、隐藏搜索框,未读提示点「懂你意思」后不再显示。
适用 dsh 版本与兼容性
- 适配 dsh 版本:
>= 0.2.0-rc.1(本构建以 0.2.0-rc.1 为下限;0.2.0-rc.2 / 0.2.0 正式版 / 0.3.0 等更新版本均兼容);
- 更旧的版本线(dsh 0.1.1 / 0.1.2 / 0.1.5-rc.* / 0.1.7-rc.* / 0.2.0-alpha)请使用对应分支的发布版本;
- 宿主启动会按版本策略自检(默认
>= 0.2.0-rc.1);不匹配时控制台会打印
dsh-mega-settings 可能不适配 dsh <版本> 版本,请慎重使用,插件仍可加载使用;
- 插件还通过
peerDependencies 声明同一底线(@deepseek-ai/dsh-settings、dsh-client-ui-settings、dsh-client-ui-renderer、dsh-client-locale 均为 >=0.2.0-rc.1);
若运行时低于该底线,dsh 会在安装阶段拦截,此时可用 dsh plugin allow-version … --accept-risk 或插件管理界面显式豁免(注意:dsh 会把运行时版本代入 peer 范围判定,因此用严格 > 会让"恰好等于底线"的版本必然需要逐版本豁免,故此处采用 >=);
- 维护者可自行调整
src/index.ts 的 DSCH_COMPAT_POLICY(支持 > / < / = 与通配、数组)。
常见问题
mega 优化里看不到某个第三方插件(如 dsh-better-sidebar)的面板?
第三方插件面板只在已安装且已启用时显示——未安装、或已安装但插件被禁用,面板不显示、效果也不注入。请确认插件已安装并启用(启用后插件会注册其设置分区)。
优化开关打开了但没看到效果?
所有开关即时生效;个别界面调整(如右侧边栏全屏零占位)在刷新页面后完全生效。若仍无效果,先确认目标插件已启用,或 Ctrl+F5 硬刷新。
切换收纳 / 折叠模式后分组会丢吗?
不会。两模式共用同一份分组数据(groups / navOrder),随时切换、随时还原。
mega 优化会改动第三方插件的数据吗?
不会。优化只注入界面样式/行为(CSS/JS),不读写任何第三方插件的配置;开关与数值仅存于本插件自身配置(optToggles / optValues)。
为什么 mega 优化不作为一个单独的插件发布?
不想多维护一条发布线。mega 优化是 mega-settings 的一个 mega 成员页,随宿主一起发布,共用一个版本号与发布流程;新增优化只改注册表(追加 def),单独发包只会增加维护负担。
许可
Apache-2.0