前言¶
DeepSeek Harness(DSH)里每个插件都可以声明 Cordis Config schema,运行时再通过 Host 的 configEditor、settings 等接口读写。插件一多,字段路径、是否触发重载、哪些是 secret,分散在各处文档或源码里,手工改 profile 里的 JSON 也容易写错层级。下面介绍社区插件 dsh-advanced-settings:在 Harness 自带的 Settings 面板里挂一节「Advanced settings」,按当前已加载插件的 schema 自动生成可搜索的设置行,写法接近 Visual Studio Code 的设置页。
这是什么¶
dsh-advanced-settings 由维护者 genius-alray(Genius Alray)发布,npm 包名与仓库名一致,分类属于 客户端 插件:浏览器端渲染设置 UI,Host 侧通过公开 DSH 服务聚合 schema 并处理读写,不手写 profile 文件。
一句话定位:从每个 live 插件的 Cordis Config schema 生成可搜索的高级设置页;自带完整 settings UI 且调用 configure({ auto: false }, ctx.fiber) 的插件会被跳过,未加载的条目也不会出现在列表里。
- 目录页:https://www.skillhub.cn/plugins/genius-alray/dsh-advanced-settings
- 源码与说明:https://github.com/genius-alray/dsh-advanced-settings
- 许可证:MIT(© 2026 Genius Alray)
- 当前 package 版本:0.1.0(以 npm / 仓库为准)
核心功能¶
页面与检索¶
设置面板以居中约 800 px 的模态呈现;左侧导航由 shell 负责,本节内容落在约 564 px 宽的内容列。工具栏提供搜索、Modified 筛选、全部展开/折叠、刷新,以及 Edit as text。
每个 Config 叶子字段占一行,按插件分组。搜索可匹配插件名、字段路径和 label;Modified only 只显示已改项。行上还有 path 面包屑、标签(如 Modified、Reload、Secret、Expression、Disabled),以及类型对应的控件、重置与复制路径操作。每个插件另有只读、已脱敏的 JSON 视图;会触发插件重载的写入前会弹出确认,列出即将重载的插件。
写入方式:即时 vs 确认后重载¶
- Volatile 字段:通过
ctx.settings.mutate立即保存(带 revision 保护,不重载插件)。计数、上限、provider 等可在线调节的值会当场生效。 - 普通字段:行上的 Apply 先确认,再经
ctx.configEditor.edit写入;若失败由运行时回滚。
Secret 与复杂 schema¶
- Schema 上
role('secret')的字段,以及名称像apiKey、token、password等凭证类字段,在服务端从读响应中剥离;页面只显示掩码后的 已设置 / 未设置。以Env结尾的名称表示环境变量名而非密钥值,仍可见。 - 嵌套对象会摊平成行;超过四层深度则收成一行 JSON。
enum用 DSH 下拉;原始类型数组用 chips;object/map/union 用 JSON 编辑器打开。 - JSON 编辑基于 CodeMirror 6,暗色页用
@codemirror/theme-one-dark,否则用 CodeMirror 内置浅色主题,并带 JSON lint。表单无法表达的项可用 Edit as text 打开 profile 配置文档编辑。
安全与本地写入¶
读响应在服务端脱敏,secret 值不会下发。写请求仅接受来自 loopback 客户端或 loopback 浏览器 Origin 的连接。Host 侧只使用公开 DSH 服务(configEditor、settings、webServer)。
安装与启用¶
在 当前 active profile 里用 DSH Plugin Manager 安装 npm bundle:
plugin_manager install_bundle → dsh-advanced-settings
安装完成后打开 Settings → Advanced settings。该页注册为 settings.section,id 为 advanced-settings,排序 order 为 40。
若从本地目录安装 bundle(开发或自建包),路径需为绝对路径,例如:
plugin_manager install_bundle → /absolute/path/to/dsh-plugins/advanced-settings
(具体目录以你本地的 clone 路径为准;安装方式以 README 原文为准。)
典型用法¶
1、按上文命令装好 bundle 并进入 Settings → Advanced settings。
2、在搜索框输入插件名或配置路径,定位要改的项;需要时勾选 Modified 只看已修改行。
3、改 volatile 项会直接保存;改普通项点 Apply,在确认对话框里看清将重载哪些插件后再提交。
4、复杂结构点开行内 JSON 编辑器,或工具栏 Edit as text 编辑整份 profile 配置文档。
5、secret 类项只在 Host 侧保存;页面无法查看明文,仅能通过 set / not set 判断是否已配置。
适用场景与注意¶
适合:在同一 Web profile 里维护多个 DSH 插件配置、需要 VS Code 式检索与分组、希望在 UI 里区分「即时生效」与「需重载」字段的开发者。
兼容说明(来自 README):在 Web profile 上针对 DSH 0.2.2-alpha.2(Cordis 4.0.6-alpha.1)做过测试;你使用的 Harness 版本若不同,行为以实际运行结果为准。
权限与安全:插件与当前 DSH 进程同权限运行;安装前请自行查看仓库源码与 MIT 许可证。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系,不要当作官方应用商店。
客户端产物为打包后的 client.js(内联 CodeMirror);可读源码为 client.src.js。开发构建需 Node >= 22,在仓库内 npm install 与 npm run build 可从 client.src.js 再生 client.js。
结尾¶
dsh-advanced-settings 把各 live 插件的 Config schema 收成 Settings 里的一页:可搜、可筛、secret 不上屏、写入分即时与重载两路,并保留 JSON / 文本编辑退路。需要细节时查目录页与 GitHub README(含 中文 README)。