dsh-prompt-shelf:把常用提示詞存成 Markdown,點一下或 @ 追加進輸入框

前言

在 DSH 裏開新會話時,身份說明、業務背景、輸出偏好往往要重複輸入。手打或從別處複製,既慢也容易漏。一些做法是把內容寫進系統提示或項目說明,但那是會話級或項目級配置,和「當前這條消息裏臨時補一段背景」不是同一回事。dsh-prompt-shelf 面向輸入框:把反覆要說的內容拆成一條條 Markdown 段落,在 Web 輸入框裏點選或通過 @ 觸發,追加到已有文字後面,不覆蓋你已經寫的內容。

這是什麼

dsh-prompt-shelf 由社區維護者 CIBUDAYI3906 發佈,倉庫爲 CIBUDAYI3906/dsh-prompt-shelf,許可證 MIT,當前 package 版本 0.1.0。它是一層「常用提示詞」庫:數據純本地 Markdown,無數據庫、無賬號、無對外網絡請求;裝好全局庫即可零配置使用,項目庫按需配置掃描根目錄。

核心功能

下面介紹插件在資料中明確列出的能力。

兩層庫

層 位置 用途
全局 ~/.dsh/prompts/global.md 跨項目通用的身份、行業語彙、輸出偏好
項目 <項目>/.dsh-prompts/<項目名>.md 僅對某項目成立的背景、技術棧、驗收標準;可提交進 git

兩種插入方式

  1. 輸入框工具行(回形針 / 工作區內修改旁)打開「常用提示詞」面板,點條目。
  2. 在輸入框輸入 @,從候選裏選條目。

兩種方式都是追加文本;條目與已有內容之間空一行,不會清空半句需求。

界面內維護

支持新建、編輯、刪除、搜索。手改磁盤上的 Markdown 後,在界面點「重新讀取磁盤」即可生效,無需重啓 DSH。

文件格式約定

  • 每個 ## 標題 對應一條可插入的片段;同一文件內標題須唯一。
  • > 開頭的一行作爲列表說明;說明中的 #標籤 會被識別爲標籤。
  • 文件頂部的 # 分組名 與 HTML 註釋僅便於閱讀,插入時不帶入輸入框。

宿主側行爲

插件在宿主側註冊 6 條本地 HTTP 路由,僅接受同源 JSON;路徑穿越對文件名、分組名做了校驗。刪除條目會直接改磁盤;分組內最後一條被刪時,對應 Markdown 文件也會被刪除。

安裝與啓用

Web profile 安裝命令(來自 README 原文):

dsh plugin --profile web add dsh-prompt-shelf

安裝後重啓 dsh web。輸入框工具行會出現「常用提示詞」按鈕。桌面端可在設置 → 插件中安裝同名包,或在插件市場上架後一鍵安裝。

卸載(Markdown 文件不會被刪):

dsh plugin --profile web remove dsh-prompt-shelf

啓用項目庫

未配置時面板只顯示全局庫,不會掃描磁盤上的項目目錄。要在 profile 的 cordis.patch.yml 中爲插件指定 config.root:

# ~/.dsh/profiles/web/cordis.patch.yml
- id: dsh-prompt-shelf
  config:
    root: /Users/you/code

root 兩種用法:

root = /Users/you/code            # 多項目:code 下每個含 .dsh-prompts/ 的一級文件夾是一個分組
  ├─ alpha/.dsh-prompts/alpha.md        → 分組 alpha
  └─ beta/.dsh-prompts/beta.md          → 分組 beta

root = /Users/you/code/alpha      # 單項目:項目自己含 .dsh-prompts/ 就是一個分組
  └─ .dsh-prompts/alpha.md              → 分組 alpha

測試時可用環境變量 DSH_PROMPT_SNIPPETS_ROOT 臨時覆蓋 root。

兼容性:engines.dsh 爲 >=0.2.0-rc.1 <0.3.0,README 寫明實測於 DSH 0.2.0-rc.2。

典型用法

1. 編寫 global.md

全局庫路徑爲 ~/.dsh/prompts/global.md,裝好插件後即可編輯。示例結構:

# 分組名

<!-- 一條 = 一個 `## ` 段落;正文原樣進入輸入框。 -->

## 我的工作背景
> 一句話說明(列表裏顯示) #身份 #背景
我在 XX 公司負責 XX,團隊 3 人……

## 我的輸出偏好
> 標籤可以沒有
回答用中文,結論先行……

倉庫內 examples/ 有更完整樣例。

2. 在對話裏插入

先寫半句具體需求,再點面板條目或 @ 選「我的工作背景」;背景段落會追加在下方,原有半句保留。

3. 項目內共享片段

在倉庫中創建 .dsh-prompts/<項目名>.md,配置好 root 後,團隊成員拉代碼即可共用同一套項目背景條目。

適用場景與注意

適合誰

  • 經常在 DSH Web 裏開新線程、又要重複交代角色與輸出格式的人。
  • 希望把項目專屬背景放進 git、與代碼一起版本管理的小團隊。

務必知曉的限制

  • 項目庫需手動配置 root,不會自動跟隨當前會話所在項目目錄;README 說明 DSH 0.2 輸入槽不向客戶端插件暴露 sessionId,宿主無法據此自動綁定項目。
  • 插入的是普通文本,與手打等價,隻影響當前這條消息;換會話不會自動帶上。
  • 單條建議控制在 300–600 字;插入成本即對應 token,列表會顯示字數。
  • 界面文案目前爲中文。

安全與權限

插件以當前 DSH 進程權限讀寫 $DSH_HOME/prompts/ 與 config.root 下的 .dsh-prompts/。安裝前建議閱讀源碼與 MIT 許可證,確認符合你的環境策略。DSH 生態主張「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-prompt-shelf 把「每次會話都要說一遍的背景」收斂成本地 Markdown 與輸入框上的兩次操作(點擊或 @),全局零配置、項目可進倉庫,且明確不做覆蓋式替換。若你已在用 DSH 0.2 Web,可按上文命令安裝並在 ~/.dsh/prompts/global.md 裏先寫兩條試跑。

  • 目錄頁:https://www.skillhub.cn/plugins/CIBUDAYI3906/dsh-prompt-shelf
  • GitHub:https://github.com/CIBUDAYI3906/dsh-prompt-shelf
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜