Frog755/dsh-prompt-vault

Frog755/dsh-prompt-vault

输入框上方的提示词库:📚 按钮展开可搜索面板,点条目一键填入草稿(追加不覆盖);数据以 JSON 文件保存在 Host 侧。

UI Enhancementsdeepseek-harnessdshplugin

@frog755/dsh-prompt-vault

Prompt Vault — a prompt library right above the input box of DeepSeek Harness (DSH). Inspired by voyager's Prompt Vault.

Prompt Vault panel

  • A 📚 button on the left of the composer toolbar toggles a prompt list panel above the input box
  • Each entry shows its title plus a one-line preview; clicking an entry fills the whole prompt into the composer (appends to an existing draft, never overwrites it)
  • ▸ expands the full content; create / edit / delete (with confirmation) / search are all supported
  • Data is persisted to ~/.dsh/prompt-library.json (override with the DSH_PROMPT_VAULT_FILE environment variable)
  • Ships with two example prompts (code review / translation) on first run — edit or delete them freely

Install

Prerequisites: DSH installed (dsh web runs), Node.js ≥ 20.

npx -y --package @deepseek-ai/dsh dsh plugin --profile web add @frog755/dsh-prompt-vault

Then hard-refresh the browser (Cmd/Ctrl+Shift+R) and the 📚 button appears in the composer toolbar.

This command registers the dependency, detects the package's dsh.bundle.patch (cordis.patch.yml), and mounts it into dsh.profile.bundles. The plugin ships as an npm package and does not modify DSH source code.

Update

npx -y --package @deepseek-ai/dsh dsh plugin --profile web update @frog755/dsh-prompt-vault

Then hard-refresh the browser. Client changes hot-reload without a restart; host-half changes need a DSH restart.

Uninstall

npx -y --package @deepseek-ai/dsh dsh plugin --profile web remove @frog755/dsh-prompt-vault

The data file ~/.dsh/prompt-library.json is kept.

Data file

ItemValue
Default path~/.dsh/prompt-library.json
OverrideDSH_PROMPT_VAULT_FILE environment variable
Format{ version, items: [{ id, title, content, createdAt, updatedAt }] }

Structure

FilePurpose
src/index.jsHost half: /__prompt-vault/list·save·delete HTTP endpoints + JSON file storage
src/client.jsClient half (ModuleLoader bundle): 📚 button + expandable panel; fills the composer via inputActions.setDraft
cordis.patch.ymlBundle patch: inserts the prompt-vault row into the profile roster

From source / development (optional)

  1. Add to dependencies in ~/.dsh/profiles/web/package.json: "@frog755/dsh-prompt-vault": "link:C:/path/to/dsh-prompt-vault"
  2. Run pnpm install in ~/.dsh/profiles/web
  3. Restart DSH (a new bundle enters the boot graph on host restart; afterwards client.js changes hot-reload)

License

MIT