前言¶
在 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 |
两种插入方式
- 输入框工具行(回形针 / 工作区内修改旁)打开「常用提示词」面板,点条目。
- 在输入框输入
@,从候选里选条目。
两种方式都是追加文本;条目与已有内容之间空一行,不会清空半句需求。
界面内维护
支持新建、编辑、删除、搜索。手改磁盘上的 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