前言¶
在 DSH 里和模型协作时,提示词往往散落在输入框里:身份、目标、约束、输出格式混成一段话,改一处容易漏别处,也难以在发送前判断会不会占满上下文。常见做法是手写模板或复制历史消息,但字段不固定时维护成本高,模型侧也很难用同一套规则自动拼出等价文本。
下面介绍社区插件 dsh-plugin-structured-prompt(维护者 YuChenLiao,分类为模型推理)。它把输入框底部扩展为「结构化提示词表单」和「提示词库」两条入口:前者通过 17 项表单项生成固定段落结构的成稿;后者从 prompts.chat 检索公开提示词并直接发送,不经过构建器。仓库当前版本为 0.4.1(MIT),GitHub 约 11 stars。
这是什么¶
本插件是 提示词构建器,不是给单次对话单独注入 system prompt 的组件。DSH 的系统提示由主机每步组装,客户端插件没有「仅对单次对话注入 system prompt」的接口,因此构建结果以 普通用户消息 的形式投递进当前会话,或复制到剪贴板自行使用。
同一份构建逻辑还以工具 build_structured_prompt 暴露给模型,人机填表与模型调用得到的是同一实现、同一产物形态。自 v0.3.0 起,两条产出路径边界明确:表单与工具走构建器;提示词库检索走旁路,只做预览与发送,不做字段校验。
- 目录页:https://www.skillhub.cn/plugins/YuChenLiao/dsh-plugin-structured-prompt
- 源码:https://github.com/YuChenLiao/dsh-plugin-structured-prompt
核心功能¶
输入框入口与表单¶
入口在输入框工具栏(conversation.input.left,与计划/权限控件同一行):
- 结构化输入任务:弹出固定宽度、高度随内容且最高约 70vh 的表单;分标题栏、可滚动内容区、底部操作栏。填完后点「复制」或「发送」;没有「同步回输入框再编辑」步骤。点遮罩不关闭,避免误触丢内容。
- 提示词库:检索 prompts.chat 上的公开提示词,选中后预览原文,按钮为「发送原始提示词」;界面标明未经本插件整理,且 不经过构建器。
表单分四组,默认只展开「基础信息」:身份、目标(必填),以及背景、成功标准等可选项;约束与规则、工具策略、输出与兜底默认可折叠展开。
工具策略支持 自动(由模型自行判断是否调用工具)、手动(逐行填写工具名与用途,生成白名单式说明)、不指定。插件刻意不提供「从已安装清单勾选」——工具检索在输入框的 / 菜单里,本插件不读插件与 skills 清单。
表单底部可展开 实时预览:显示完整成稿、字数与估算 token,以及逐段占用,便于发送前判断长度。估算规则为 CJK 每字 1、其余每 4 字符 1,仅作量级参考。
模板与导入导出¶
内置八套模板:四套任务形态(探索调研、实现改动、故障定位、交接归档)与四套领域样例(告警研判、代码审查、数据提取、报告撰写)。数据在 src/shared/templates.json;套用后顶部有场景条(仅界面提示,不参与成稿构建)。表单可导出/导入 JSON,导出带 schema 版本号,导入时校验已知字段并丢弃非法项。
成稿结构¶
空段省略,非空段之间单个空行连接,顶层段落顺序为:
# 身份
# 目标
# 硬性规则(必须遵守,优先于其他任何要求)
# 工具使用策略
# 输出格式
# 数据不足时
# 示例
输出格式支持 JSON、Markdown、表格、纯文本等类型;「格式说明」自定义优先,否则由类型生成骨架。
提示词库与宿主代发¶
浏览器无法直连 prompts.chat(上游无可用 CORS),检索与取全文走宿主同源路由 /api/structured-prompt/library 与 /api/structured-prompt/library/item,由宿主 fetch 上游。默认上游地址为 https://prompts.chat,可通过配置 libraryBaseUrl 指向自托管实例。发送与表单成稿共用 conversation.send。
模型工具 build_structured_prompt¶
主机侧注册工具,模型可把模糊委托收成结构化提示词,例如传入 role、goal、rules、output_format 或 template。带 template 时 role/goal 可由模板补全;调用参数覆盖模板默认值。
可选参数 delegate: { label?, provider? } 意图是把成稿直接交给子代理执行。当前 DSH 版本下该能力不可用(subagents.start 未暴露给插件,会返回可读错误)。结构化组件装载行可写 config: { provider: 'fork' } 等,由导出的 Config 在装载期校验;提示词库组件认 libraryBaseUrl。
安装与启用¶
仓库已包含构建好的 lib/,安装后重启 DSH 生效(客户端插件模块图在启动时建立)。
dsh plugin --profile desktop add github:YuChenLiao/dsh-plugin-structured-prompt
# 重启 DSH 生效
也可在 SkillHub 目录页查看同一插件的说明与链接。DSH 生态强调「一切皆插件」;SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。
典型用法¶
人机:表单 → 发送
- 在输入框底部打开「结构化输入任务」。
- 可选从模板下拉选一套任务形态或领域样例,把本次具体任务写进「目标」。
- 补全约束、工具策略、输出格式等字段;展开预览确认 token 占用。
- 点「发送」,成稿作为用户消息进入当前会话;或点「复制」带到别处。
旁路:提示词库
- 点「提示词库」,按标题检索或留空浏览最新列表。
- 选中条目预览全文。
- 点「发送原始提示词」,原文直接进入会话,不填入表单、不经构建器校验。
模型:build_structured_prompt
模型在对话中调用工具,传入与表单对应的字段或 template;返回体中的 prompt 即为成稿,可再用于 subagent 的 prompt 参数等(delegate 直投需等待 DSH 暴露子代理 start 后再用)。
适用场景与注意¶
适合需要 可复用、结构固定 的提示词写作的 DSH 用户:代码审查清单、故障定位、交接文档、数据提取契约等,用模板起步再改字段,比每次从零写长文更稳。需要和 prompts.chat 生态快速试别人成品时,用提示词库旁路即可,但要接受无字段校验、与构建器产物无关。
安装前请注意:
- 插件在 当前 dsh 进程权限 下运行,安装前应阅读源码与 MIT 许可证,确认可接受其网络行为(提示词库经宿主代发上游)。
- 成稿是用户消息,不是 system prompt;若你依赖主机侧系统提示编排,需自行理解与本插件产物的分工。
delegate与部分子代理相关能力以 README 标注的 DSH 版本为准,避免在自动化脚本里硬依赖。
结尾¶
dsh-plugin-structured-prompt 把「结构化写提示词」和「检索公开提示词」拆成两条清晰路径,表单与 build_structured_prompt 共享同一构建器,便于人机与模型在同一套字段语义下协作。若要安装或跟进版本,可从 SkillHub 目录页或 GitHub 仓库获取说明与 issue。
- https://www.skillhub.cn/plugins/YuChenLiao/dsh-plugin-structured-prompt
- https://github.com/YuChenLiao/dsh-plugin-structured-prompt