DeepSeek Harness Plugin

hyzyn/dsh-plugin-kit#kit-settings

Stars ★ 36 Downloads (30d) 462 Category UI Enhancements Added 2026-09-25 npm @hyzyn/dsh-kit-settings

Host page for kit plugin configuration in the DSH Web GUI: registers a "Plugin configuration" section in Settings — peer to the built-in General section — through the official settings.section slot and declares a settings.kit.item child slot, which dsh-plugin-kit plugins render their own config cards into. Installing it alone shows an empty page; cards appear as slot-registering kit plugins are installed.

Install

# from npm (prebuilt)

dsh plugin --profile web add @hyzyn/dsh-kit-settings

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:hyzyn/dsh-plugin-kit#path:/packages/kit-settings

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

This plugin publishes its README in Chinese only.

在 DSH Web GUI 的**「设置」里补一行与「通用设置」平级的「插件配置」页**,把 dsh-plugin-kit 插件族的配置表单收在一处。

为什么需要它

DSH ≥ 0.1.6-alpha.2 把插件配置从「设置 → 插件 → 插件配置」搬到了侧边栏的「插件」页, 设置里那一行只剩只读清单(官方 settings.plugin.item 插槽已退役,见 官方设计笔记)。

如果你更习惯「设置里一行、点开就是各插件配置」的形态,装上本包即可恢复:它是官方支持的 settings.section 扩展点(官方的「通用设置 / 模型 / 内置插件 / Agent 预设 / 已归档会话」 五行都是这么注册的),不是绕过设计。

装什么

dsh plugin --profile web add @hyzyn/dsh-kit-settings

单独装本包不会显示任何卡片——它只是一个宿主页。各插件把自己的配置卡片注册进本页声明的 子 slot settings.kit.item,所以:

  • 装了本包 + 任意 kit 插件 → 设置里出现「插件配置」行,行内是该插件的卡片;
  • 只装 kit 插件、不装本包 → 设置里没有这一行(插件照常工作,配置走侧边栏「插件」页);
  • 只装本包、不装任何 kit 插件 → 这一行会显示「暂无可用配置项」。

装 @hyzyn/dsh-all 全家桶会自动带上本包。

两种配置入口的关系

在 DSH ≥ 0.1.6-alpha.2 上,kit 插件同时提供两个入口,指向同一份配置:

入口 位置 形态
官方插件页 侧边栏「插件」→ 选插件 → 该行的「配置」 新版两视图(一句话摘要 + 表单页)
本包提供的行 设置 →「插件配置」 0.1.5 时代那种可折叠卡片

在 DSH ≤ 0.1.5 上,插件自己注册的 settings.plugin.item 仍然生效——官方那一行「插件」 本来就有「插件配置」标签页和这些卡片。本包注册的 settings.section 同样会出现在设置里, 于是同一批卡片会显示两处(官方「插件」行内 + 本包的「插件配置」行)。

所以:0.1.5 上不要装本包(没有必要);本包是给 DSH ≥ 0.1.6-alpha.2 用的—— 那一版的官方行只剩只读清单,本包才是恢复「设置里一行装全部配置」的手段。

实现

  • 宿主半体(src/index.ts):只为让本包在 Loader 里成为一行,不注册路由、不占 settings 命名空间。
  • 浏览器半体(client.js):注册 settings.section(id kit,order 16,紧随官方「内置插件」), 并通过本次注册的 children 声明子 slot settings.kit.item(kind: 'list'), 再由 renderSlot('settings.kit.item') 渲染全部条目。
  • 各 kit 插件注册进子 slot 时不传 view,于是卡片走各自原有的可折叠分支——两种形态共用同一份组件。

License

Apache-2.0

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.