dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
中文 | English
DSH 插件:右键设置页的分区导航,弹出勾选菜单,控制各设置分区的显示与隐藏。
隐藏是纯视觉的(display:none),不影响任何功能;显隐状态经 DSH 设置服务
持久化到 profile 配置,跨重启 / 跨浏览器共享。
| 版本 | 0.2.0 |
|---|---|
| 形态 | 纯 JS("type": "module"),lib/ 即源码,无构建步骤 |
| 端 | Host(settings service)+ Client(浏览器菜单),各一个入口 |

✓ 表示该分区可见,空白表示已隐藏;
点击行立即切换,菜单保持打开,可以连续点几行,每点一下即生效并持久化。
菜单只在点击它之外或按 Escape 时关闭。
菜单文案随 DSH 语言环境(中/英)显示。--dsw-alias-* / --dsw-font-family / --dsw-elevation-*),
亮 / 暗主题自动跟随;宽度随内容自适应,长分区名不截断。dsh plugin --profile web add github:coderHeJiyu/dsh-setting-manager
从 GitHub 仓库直接安装,拉取默认分支的最新提交。前提(DSH / Node.js / pnpm)、验证、本地源码挂载、更新与卸载详见 安装指南
状态经 DSH 设置服务持久化到 profile 配置:命名空间为插件 entry id
setting-manager(见 cordis.patch.yml),唯一的 volatile 字段是
hidden(见 Host 端 lib/index.js 导出的 Config)。Client 端经
remote.settings 的 describe / update 读写该命名空间。
数据形状:
{
"hidden": [
"models"
]
}
hidden 是被隐藏分区的 id 数组(settings.section 条目的 options.id,
如 general / models / plugins / agent-presets)。value.hidden 非数组,
一律按 [] 处理(全显示)。任何情况都不报错。状态不经过任何自造的网络入口:Client 端经 DSH 的 remote.settings (describe / update)读写 profile 配置,走宿主核心的远端通道。
webServer 端点,
唯一的持久化路径是 settings service。hidden 数组中的非字符串元素在写入前被过滤(Client 端)。[] 处理,
写入静默 no-op,UI 不崩。@deepseek-ai/schemastery(^3.0.0):Host 端用其定义 volatile Config
投影(hidden 字段),由宿主基线提供,optional peer。@deepseek-ai/cordis(^4.0.1):可选 peer,由宿主提供。package.json 的 dsh.client.inject 为空:自 DSH 0.1.5 起,
Client 端依赖由宿主基线提供,清单不再声明。分区标签解析经
按当前语言求值的语言 thunk,优先取宿主基线实现,不可解析时
回退到语义等价的本地实现。dsh-setting-manager/
├── lib/
│ ├── index.js # Host:注入 settings 面(auto:false)+ 导出 volatile Config
│ └── client.js # Client:右键菜单、display:none 应用器、remote.settings 同步、主题样式
├── cordis.patch.yml # 插件注册 patch(insert id: setting-manager)
├── package.json
└── .gitignore
纯 JS,lib/ 直接入库;没有 tsconfig、构建产物和测试框架。
本地开发热更(dsh web 运行中):源码用 link: 软链安装
(dsh plugin --profile web add link:/path/to/checkout)后,client-hmr
每 500 ms(默认)stat 轮询一次 client bundle,变化经 SSE 广播,浏览器重新
执行 client 入口,无需手动刷新。
lib/client.js:按上述机制自动重载。lib/index.js:Host 在启动时加载,需重启 dsh web。settings.section 分区导航,设置页内部的子控件不在控制范围。