@deepseek-ai/dsh-ex-setting
Automatic Web settings and composition configuration bundle for DSH
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/ex-setting说明文档
阅读完整 README ↗@deepseek-ai/dsh-ex-setting
English | 中文
自动 DSH Web 设置组合包。它把宿主侧配置 crawler 和浏览器设置导航放在同一个外部包中:host 枚举已注册的 settings namespace 和带 schema 的 composition row,client 把它们投影为一级设置区段和编辑器。
仓库结构
package.json # host/client 包以及 dsh.bundle/dshClient 清单
cordis.patch.yml # 挂载 crawler 的 profile 层
src/index.ts # host crawler 插件(服务提供 + Fabric handler 绑定)
src/routes.ts # crawler 自有的 webserver composition 路由
src/nav-scroll.ts # 浏览器 bundle 重写契约(serveBrowserTransform)
src/invariant.ts # crawler invariant companion
src/client/ # 浏览器设置页(store、section、crawler wire)
lib/ # 生成的 host/client 产物
docs/ # host 和 client 协议详细说明
tests/host/ # crawler、route、invariant、loader 与 Fabric composition 测试
tests/client/ # browser store 和 section 测试
patches/ # host patch 契约(为空:包外零改动)
scripts/ # verify:self-contained、host patch 提取/应用
.agents/skills/ # dsh-plugin-* 贡献工作流
两个 runtime face 共享一个 package identity,因此 Git/profile 安装只有一个 root 产物。浏览器 face 通过 @deepseek-ai/dsh-ex-setting/client 导出,并由 dshClient 清单选择。
组合行为
安装组合包后加入 web-config-crawler 行,表示部署决定通过 Web 配置面暴露所有已注册 settings namespace 和带 schema 的 composition row。profile 可以关闭:
- id: web-config-crawler
disabled: true
Crawler 会脱敏 secret,按路径应用并通过 schema resolve 编辑,持久化完整 row 到个人 overlay,并通过删除 row 恢复下层组合。浏览器页面保持 settings namespace 与 composition row 的来源区分,并提供 schema 字段、secret、reset、revision conflict、restart notice 和失效刷新。
外部零改动设计
本组合包零包外宿主改动,靠三个机制实现:
- Fabric 暴露加宽 — crawler 的
cordis.patch.yml按 id 覆盖 web roster 的cordis-fabric行,携带静态web-config-crawler/exposed-namespacesstub。Fabric 层在加载时改写 gateway 私有的exposedNamespaces()决策,crawler 挂载时绑定对应的afterhandler(见docs/web-config-crawler.md)。 - crawler 自有的 composition 路由 — 浏览器侧通过 crawler 自己的 webserver 路由(
/dsh-config/crawler/composition,src/routes.ts)读写 composition row,而不是 gateway RPC 域,因此写路径不向apiproxy或connection添加任何东西。 - served 浏览器重写 — crawler 通过
serveBrowserTransform提供ui-settings-generalclient bundle,把SettingsRoot重写为发布web-config-crawler/nav-scroll;浏览器侧注册对应的 handler 注入对话框导航滚动样式(见 )。