DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-plan-build-mode

Plan Build Mode

DeepSeek Harness 的计划 / 构建模式切换器:在权限控件旁添加一个编辑器下拉菜单,并为新会话提供默认模式设置。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:yzhclcl/dsh-plan-build-mode#5e5da4c4dbabb1d550e53d97e237bfd4daafde6b
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/13

版本

1.1.0stable
2026/10/13

相关插件

正在加载相关插件…

最新版
1.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/13
查看源码 ↗
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 配置层Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

dsh-plan-build-mode

English | 中文

A Plan / Build mode switcher for DeepSeek Harness (dsh), shaped like opencode's Build/Plan selector.

Two things it adds:

  1. A dropdown in the composer, sitting immediately to the right of the permission control (完全权限 / Full access). It is always visible and switches the current session both ways.
  2. A "Default mode" row in Settings → General, directly under the permission row. It decides which mode newly created sessions start in.

Why it exists

DSH 0.2.0-rc.2 already ships Plan mode (@deepseek-ai/dsh-plan-mode), but the official composer chip PlanChip is exit-only:

if (!(plan.pending ? !plan.active : plan.active)) return null;

When the session is not in Plan mode the chip renders nothing at all, so the only way into Plan mode is typing /plan by hand — there is no discoverable entry point. This plugin takes the same seat (conversation.input.plan) and supplies a two-way dropdown instead.

Features

  • Always-visible dropdown showing the current mode (Build or Plan) with a chevron.
  • Two menu items with a check mark:
    • Build — implement directly (/plan off)
    • Plan — plan only, no changes executed (/plan)
  • Blue highlight while in Plan mode (uses the official --dsw-alias-state-business-* tokens).
  • Optimistic display — while a switch is in flight (pending), the button already shows the target mode.
  • Default mode row — pick Build / Plan as the starting mode for new sessions. The current session is unaffected; use the composer control for that.

Install

Pin the version, so pnpm's release cooldown cannot hand you an older build:

dsh plugin --profile web add dsh-plan-build-mode@1.1.0

Straight from GitHub (no npm publish needed):

dsh plugin --profile web add github:yzhclcl/dsh-plan-build-mode

Desktop app: install from the in-app Plugins page. The CLI cannot modify profiles/desktop.

Then fully quit and restart the process serving the profile. The client bundle revision is derived from file metadata (mtime/ctime/size), so a page refresh alone is not enough — a stale revision makes the browser request a URL the server now 404s, which surfaces as client-modules: bundle script ... failed to load.

Use

Composer dropdown — click it, pick Build or Plan. It maps to the shipped /plan and /plan off commands, so nothing about the plan-mode machinery changes.

Default mode — Settings → General → Default mode, under the permission row.

Note: the first time you save this row, ~/.dsh/profiles/<profile>/cordis.patch.yml gains a top-level entry at the end:

- id: plan-build-mode
  name: dsh-plan-build-mode
  config:
    defaultMode: plan

That is the normal config-editor write path. Delete the entry (or set build) to go back to the default.

How it works

ConcernApproach
Composer seatconversation.input.plan — the modes row of the input bar, adjacent to conversation.input.permission
Shadowing the official chipregister({ priority: -1 }) — a single slot only rejects equal priority; the lowest priority renders
Reading stateuseProjection("plan") → { active, pending }
Switchingctx.remote.commands.execute(sessionId, "/plan" | "/plan off", [])
Stylesdeduplicated injection via style[data-plugin-css="dsh-plan-build-mode"], reusing official size/colour tokens
Settings row seatsettings.general.item list slot, id: "default-mode", order: -10 (permission is -20, language is 0)
Settings read/writectx.configForms.get("plan-build-mode") → remote.settings.mutate(ns, [{op:"set",path:["defaultMode"],value}], revision)
Config fieldz.union([z.const("build"), z.const("plan")]).default("build").volatile() — only entries carrying volatile fields reach the settings surface
Suppressing the auto formctx.inject(["settings"], (child) => child.effect(() => child.settings.configure({ auto: false }, ctx.fiber)))
Pinning new sessionsOn session/created, if the session is brand new (seq === 0, not seeded, no parentSession) and the default is plan, append plan/mode { active: true } — the same first-party event @deepseek-ai/dsh-plan-mode writes, and one of the names on the persisted event allowlist

What "Plan mode" actually is

Plan mode is a soft, prompt-level guide, not a sandbox. All tools stay available in both modes; the harness injects a plan:policy prompt section that tells the model to explore and plan rather than execute. Real restriction comes from the permission presets (sandbox mode + approval policy), which are independent and read no plan state. If you want a hard read-only guarantee, switch the permission preset to Read Only.

Switching mid-turn is supported: the intent is queued and applied at the next turn boundary, while the button immediately reflects the target.

Compatibility

dshStatus
0.2.0-rc.2Verified on Windows, web profile — dropdown, settings row, persistence, and new-session pinning all exercised

Declared range: >=0.2.0-0 <0.3.0-0. The plugin targets the 0.2.x seat layout (conversation.input.plan, settings.general.item) and the plan/mode event, so older 0.1.x hosts are out of scope.

Uninstall

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

Restart afterwards. The official PlanChip returns to its original behaviour immediately — this plugin modifies no official file.

License

MIT