ex-setting
by omdsh-dev
DSH 的设置扩展。
Settings extensions for DSH.
安装
dsh plugin --profile web add github:omdsh-dev/ex-settingGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
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 是 Fabric 依赖行:其
cordis.patch.yml行在自身 config 下携带静态web-config-crawler/exposed-namespacesstub 且默认 disabled,fabric-dsh启动器会在启动时启用 Fabric 依赖行。普通dsh启动因此完全跳过本 bundle(应用照常运行、crawler 不加载);fabric-dsh 启动则在 hooks 就位后加载它,gateway 私有的exposedNamespaces()决策在加载时被改写,crawler 挂载时绑定对应的afterhandler,requiredstub 让"transform 未绑定"的 fabric-dsh 启动直接失败(见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;浏览器侧注册对应的beforehandler 注入对话框导航滚动样式(见docs/ui-settings-plugins.md)。
Settings/composition wire 协议、API proxy handler、slot host 和 browser shell 由 profile 使用的 DSH 版本提供。
开发
宿主包(@deepseek-ai/dsh-*、@deepseek-ai/cordis)直接从 npm registry 安装:每个运行时 import 都以 ^0.1.0-rc.0 系列声明 peer + dev 双依赖,开发解析全部来自本仓库自己的 node_modules——不再需要 sibling checkout。devDependencies 同时列全了测试专用宿主树的 peer 闭包(apiproxy 组合测试会 import 真实网关)。
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
pnpm run verify:self-contained
prepare 直接从 src/ 构建 host 和 browser entry,因此 Git 安装不需要 sibling project references。pnpm 10 可能要求 profile 允许 prepare 脚本;只应批准固定且可信的 checkout。
CI
仓库自带两个 GitHub Actions 工作流:
.github/workflows/ci.yml— 每次推送到main与每个 pull request:冻结 lockfile 安装、verify:self-contained、typecheck、测试、构建与prepare。.github/workflows/release.yml— 每次推送到main:构建并prepare、pnpm pack打包 tarball,发布到以package.json版本号命名的 GitHub Release(v<version>)。提升version即发布新版本;同版本再次推送会刷新该 Release 的产物。
模型体验
本组合包不添加模型可见的提示文本或工具。它只通过 loopback Web 设置面暴露配置;DSH settings、composition、session 与 permission 服务保留日志、脱敏和授权语义。
已知限制
- 原生 Zod composition Config 可以通过文件配置,但通用编辑器不会渲染;编辑器要求 schemastery
toJSON()。 - Crawler 的范围有意较宽;不希望自动编辑 composition 的部署应禁用该行并保留 gateway allowlist 行为。
原始 README: https://github.com/omdsh-dev/ex-setting/blob/main/README.zh.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。