joao-paulo-santos/dsh-scratchpad0

dsh-scratchpad

Scratch pad: one shared floating text surface in the middle of the screen. Other plugins open it through the client service scratchpad: read mode shows big text (scrollable, selectable, Close only); edit mode adds Save and returns the edited text to the caller via onSave. No persistence; the caller owns the text.

AI Analysis

核心用途是提供一个临时的、不持久化的浮动文本编辑与展示窗口。适合需要临时预览或编辑大段文本的插件交互场景。

Package
dsh-scratchpad
Version
0.4.1
License
MIT
Last updated
Aug 28, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:joao-paulo-santos/dsh-scratchpad

dsh-scratchpad

A DeepSeek Harness (DSH) plugin: one shared floating text surface in the middle of the screen that any plugin can open, for reading big text or editing it in place.

There is no UI of its own to visit. Other plugins open the pad through the client service scratchpad:

// consumer client half — inject: ['scratchpad', 'slots', …]
ctx.scratchpad.open({
  title: 'Section preview',        // optional header text
  text: bigText,                   // required string
  editable: true,                  // false (default): read-only viewer
  onSave: (text) => { … },         // edit mode: the ONLY channel back
})

Modes

  • Read: text is not editable, there is no Save, Close is the only action; a backdrop click also closes. Selecting and copying work (readOnly, never disabled).
  • Edit: Save + Cancel. Save calls onSave(editedText) and closes. A backdrop click does not close (no stray-click data loss). Editable without onSave is allowed: a draft pad, where Close discards.
  • Escape closes (discarding edits in edit mode); Ctrl/Cmd+Enter saves.

Contract

  • open replaces whatever the pad shows (one pad per tab).
  • Validation: text must be a string of at most 2 MB; onSave without editable: true throws. Fail loud at the door.
  • No return value; no persistence. A throwing onSave keeps the pad open with the error surfaced in the footer.
  • Pad state survives session switches (module scope) but not page reloads.

How to install

Requires a DeepSeek Harness checkout and a profile, here web. The plugin has no dependencies:

mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
git clone https://github.com/joao-paulo-santos/dsh-scratchpad.git

# from the harness checkout
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-scratchpad

# verify the profile still composes
pnpm dsh --profile web --dump-config

Restart the harness. Plugins that inject the scratchpad service can now open the pad.

Dependencies

(none)

Plugins dependent on this

  • dsh-granular-prompt opens the pad for full-text viewing, section replacement, and diff review