DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plan Build Switch — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-plan-build-switch

Plan Build Switch

DeepSeek Harness web 的 Composer Plan/Build 模式切换:中性的分段控件、可自定义的全局快捷键、完全自定义的计划指示器;以配置文件包形式安装(无需手动添加补丁行),并在模块列表发生变化时自动重新加载已打开的页面

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-plan-build-switch@0.2.2
README兼容性版本

兼容性与来源证明

Plan Build Switch 以 dsh-plan-build-switch 发布,当前版本为 0.2.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.2.2stable
2026/8/15
0.2.1stable
2026/8/15
0.2.0stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.2.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
31.5 kB
文件数
9
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
36
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

dsh-plan-build-switch

中文 | English

A composer Plan/Build mode switch for DeepSeek Harness web (dsh --profile web). It adds a neutral segmented Plan | Build control to the chat input tool row, a customizable global keyboard shortcut, and a fully custom plan indicator — the shipped "Plan ✕" chip is shadowed, so there is never a duplicated or clashing plan affordance.

Features

  • Segmented toggle in the composer tool row: highlights the active mode, click (or press the shortcut) to switch. Plan mode = the agent plans only; Build mode = the default execution mode.
  • Customizable shortcut: default Alt+P, change it in Settings → General → "Plan mode shortcut" by clicking the pill and pressing a new combination (Esc cancels). Any combo may be recorded, bare keys included. Persisted per browser in localStorage (dsh.planBuildSwitch.shortcut).
  • Fully custom plan surface: registers a shadow occupant at priority -1 over the official conversation.input.plan seat, so the shipped amber "Plan ✕" chip never renders. This control is the only plan indicator, styled neutrally with theme tokens.
  • No layout jitter: the status slot keeps a fixed width and the disabled state changes no colors; the clicked segment highlights optimistically and the live plan projection reconciles it.
  • Typing-safe keys: modifier-less shortcuts do not fire while you type a character in a text field (bare P won't toggle on every typed "p"); non-typing keys such as Tab or arrows fire immediately anywhere.
  • Bilingual (zh/en) via the planBuildSwitch locale namespace.

Requirements

  • dsh (DeepSeek Harness) web profile (dsh --profile web or dsh web), any recent build that ships @deepseek-ai/dsh-web-app with the browser plugin roster.

Install

Prerequisite: pnpm on PATH (dsh plugin forwards its arguments to pnpm inside the profile directory). Install it with corepack enable or npm i -g pnpm.

From the npm registry

dsh plugin --profile web add dsh-plan-build-switch

That is the whole install: the package is a profile bundle (dsh.bundle), so dsh plugin auto-appends it to the profile's dsh.profile.bundles and its bundled cordis.patch.yml self-inserts the plugin row at boot — no manual patch entry needed.

Restart dsh web (or dsh --profile web). Pages served after the install carry a tiny roster watcher that reloads the page automatically when the module graph changes, so an open page picks the toggle up on its own after a restart or update (the very first install needs one manual refresh — the page that predates the install has no watcher yet).

Uninstall:

dsh plugin --profile web remove dsh-plan-build-switch

Before publishing / offline (tarball fallback)

From the repository checkout:

npm pack                        # produces dsh-plan-build-switch-<version>.tgz
dsh plugin --profile web add ./dsh-plan-build-switch-<version>.tgz

(dsh plugin anchors relative path specs to the directory you invoke it from. The same bundle reconcile applies.)

Upgrading from 0.1.x

0.1.x was a plain client module that required a manual row in cordis.patch.yml. After upgrading:

dsh plugin --profile web add dsh-plan-build-switch@0.2.0   # bumps the dep and appends the bundle

then delete any manually added plan-build-switch row from your cordis.patch.yml files (the bundle now supplies it) and restart dsh web.

Troubleshooting

SymptomCauseFix
pnpm failed in profile directory ... + 404 / ERR_PNPM_NO_MATCHING_VERSIONpackage not published yet, or your npm registry mirror has not syncedcheck pnpm config get registry; wait for mirror sync or use the tarball fallback above
pnpm not found on PATHpnpm missingcorepack enable or npm i -g pnpm
[WARN] Issues with peer dependencies foundnormal: the profile supplies peers from the DSH shell at runtime (autoInstallPeers: false)ignore
installed but the toggle does not appeardsh not restarted, or the page predates the install (no roster watcher)restart dsh web; refresh the page once

Usage

  • Click Plan / Build in the composer tool row, or press the shortcut (Alt+P by default).
  • The active segment is highlighted; a … status slot indicates a switch that applies at the next step (mid-turn switches).
  • To change the shortcut: open Settings (sidebar foot) → General, find "Plan mode shortcut", click the pill and press the new combination.

Behavior notes

  • The switch executes the host /plan and /plan off commands through the commands Remote — exactly the same channel the shipped plan chip uses, owned by the per-agent plan-mode service.
  • Switching produces the plan-mode service's own narration message in the session log (one per committed switch); that is host behavior, not rendered by this plugin.
  • The shortcut preference is per browser (localStorage), not synced across devices.

Development

src/
  index.js              node half (pure UI plugin, empty apply)
  client/
    index.js            plugin entry: registrations + locale dictionaries
    mode-switch.js      composer toggle component
    shortcut.js         shortcut state + key normalization
    settings-row.js     General-settings recorder row
    styles.css          styles (inlined into the bundle at build time)
build.mjs               zero-dependency build → lib/ (also runs on `npm pack` via prepack)
smoke.mjs               bundle materialization + registration/render smoke test
npm install --no-save  # only needed if you want to run the smoke test's tooling manually
node build.mjs         # regenerate lib/ from src/
node smoke.mjs         # materialize lib/client.js like the browser loader and exercise registrations/renders
npm pack               # build a publishable tarball

Publishing

npm login
npm publish

The package is MIT licensed. Set the repository field in package.json to your repo before publishing.

License

MIT