Back to home@Nanmu-del

dsh-plan-toggle

DSH web client plugin: a persistent plan-mode toggle button in the composer tool row.

Stars
0
Language
JavaScript
Created
Sep 8, 2026
Updated
Sep 8, 2026
GitHub repo

Introduction

dsh-plan-toggle

A DeepSeek Harness (DSH) web client plugin: a persistent plan-mode toggle button in the composer tool row.

The shipped Plan × badge only shows while plan mode is already active. This plugin replaces it with a two-state toggle that is always visible, so you can turn plan mode on or off in one click without typing commands.

English · 中文


English

What it does

  • Replaces the show-only-when-active Plan × badge with a persistent two-state chip:
    • Plan (off state) → click to turn plan mode on
    • Plan × (on state) → click to turn plan mode off
  • Drives the same /plan and /plan off command channel and the official plan projection, so it stays in sync with plan mode everywhere.
  • Keeps its own locale namespace (plan-toggle), avoiding a dictionary collision with the official plan namespace.

Install

Add the package as a dependency and to the bundle list of your profile's package.json:

// package.json (profile)
{
  "dependencies": {
    "@dsh-external/dsh-plan-toggle": "github:Nanmu-del/dsh-plan-toggle#<commit>"
  },
  "dsh": {
    "profile": {
      "bundles": [
        // ...other bundles
        "@dsh-external/dsh-plan-toggle"
      ]
    }
  }
}

Then:

pnpm install
# restart dsh web

Structure

PathRole
lib/index.jsHost half (no host-side behavior; the toggle is a pure client surface)
lib/client.jsClient bundle: the toggle button + locale dictionaries
cordis.patch.ymlBundle patch that inserts the host entry

Usage

Click the toggle chip in the composer tool row, or use the equivalent commands:

  • /plan — turn plan mode on
  • /plan off — turn plan mode off

License

MIT


中文

功能

  • 用一颗常驻的两态按钮替代官方「仅开启时才显示的 Plan × 徽章」:
    • Plan(关闭态)→ 点击开启 plan mode
    • Plan ×(开启态)→ 点击关闭 plan mode
  • 复用官方 /plan/plan off 命令通道和 plan 投影,与 plan mode 全局保持一致。
  • 使用独立 locale 命名空间(plan-toggle),避免与官方 plan 命名空间词典冲突。

安装

在 profile 的 package.json 里加入依赖和 bundle:

// package.json (profile)
{
  "dependencies": {
    "@dsh-external/dsh-plan-toggle": "github:Nanmu-del/dsh-plan-toggle#<commit>"
  },
  "dsh": {
    "profile": {
      "bundles": [
        // ...其它 bundle
        "@dsh-external/dsh-plan-toggle"
      ]
    }
  }
}

然后:

pnpm install
# 重启 dsh web

结构

路径职责
lib/index.js宿主半区(无宿主侧行为;按钮是纯客户端表面)
lib/client.js客户端 bundle:切换按钮 + 词典
cordis.patch.yml插入宿主条目的 bundle patch

使用

点击 composer 工具行的切换按钮,或使用等效命令:

  • /plan — 开启 plan mode
  • /plan off — 关闭 plan mode

License

MIT