dsh-global-prompt:在 DSH Web 设置里持久保存跨会话的全局提示词

前言

在 DeepSeek Harness(DSH)里做智能体或固定工作流时,经常需要在每次新会话里重复同一段「总要求」:角色边界、输出格式、禁止事项等。把这些写进单个会话的 system 段,换会话或刷新后往往要再贴一遍;若只靠临时粘贴,也不便于团队或个人长期保持一致。

DSH 的 profile 与插件体系允许在组合层扩展行为,但官方并未内置一个面向 Web 的、可持久编辑的全局指令入口。社区维护的 dsh-global-prompt 针对这一点:在 设置 → 全局提示词 提供开关与文本框,把固定指令写入对应 profile 的配置,并在组装提示词时按规则注入。下面介绍它是什么、如何安装,以及使用时需要留意的范围与限制。

这是什么

dsh-global-prompt 是 DeepSeek Harness 的社区全局提示词插件:通过 Web 设置保存跨会话的固定指令,依赖官方 ConfigForms 与 profile patch 持久化,属于当前 pinned 开发快照的预览交付(插件包版本 0.2.0)。维护者为 Humengjiu,采用 MIT 协议;未经 DeepSeek 官方收录,与 SkillHub 社区目录同属独立生态,不等同于官方应用商店。

一句话定位:在一个开关、一段文本的前提下,让安装该组合包的 web profile 在每次组装时读取实时配置,并在合适位置贡献字面意义上的全局提示内容。

核心功能

设置界面与持久化

安装后可在 DSH Web 侧栏进入 设置 → 全局提示词。界面包含:

  1. 启用开关;
  2. 固定指令文本框。

配置通过官方实时 ConfigForms 保存到该 profile 的 cordis.patch.yml。Web 场景下默认路径为 $DSH_HOME/profiles/web/cordis.patch.yml。服务端会对过期的编辑版本做冲突检查;保存失败会提示,当前页草稿保留并可重试。远端连接或只读状态下不会向 Host 写入。

首次安装默认启用插件条目;若从旧包更新,官方会保留原有启用状态。若设置入口未出现,可在侧栏 插件 中启用 dsh-global-prompt 并按提示重启。

功能默认值:开关关闭、文本为空。

对提示词组装的影响

当开关打开且文本非空白时,user:global-prompt 在 deployment persona prefix 之后贡献原文;关闭、清空或仅空白时不贡献任何内容。

文本中的 {{variable}} 等形式会按字面保留,不会作为 DSH 插值表达式执行。每次组装读取当前实时配置;修改会通知提示词消费者,无需重启插件。

内容会增加模型输入 token,修改会改变 KV-cache 前缀。作用范围限于安装了该组合包的 profile 内的会话。官方声明的「完整 system prompt 覆盖其他 section」规则仍然有效。

兼容与验证范围

插件版本 已验证的 dsh
0.2.0 官方发布版 0.2.1-alpha.2(tag dsh-v0.2.1-alpha.2,提交 d743267388641bc76f17c45ce8b4c231aed1d32c)
0.1.0 原开发分支快照,见 历史预览版

README 说明:已在 Windows 上对官方 npm 发布包完成 Web 安装与网页操作验证;桌面应用使用相同 Web 插件协议,但尚未单独做桌面安装验收。未进行真实模型 API 调用、桌面应用安装或移动端验收。插件未发布到 npm,当前通过 GitHub 预览包(如 v0.2.0)交付。

安装与启用

先做环境确认,再安装预览包,最后重启并在设置里编辑。

1. 确认 dsh 版本

目标版本为 0.2.1-alpha.2,与插件 0.2.0 的 peer 声明一致。

2. 获取安装包

从 GitHub Releases 下载 dsh-global-prompt-0.2.0.tgz(见 v0.2.0 发布页)。也可在 DSH 社区插件安装界面使用该预览包的下载 URL。

安装包自带 profile 组合层,会自动注册 global-prompt 条目;无需修改 dsh 源码,也不需要旧版 --patch global-prompt.patch.yml。

3. 安装到 web profile

在终端执行(路径改为本机绝对路径;含空格请加引号):

dsh plugin --profile web add /absolute/path/dsh-global-prompt-0.2.0.tgz

4. 重启并使用设置

重新启动 dsh Web,打开 设置 → 全局提示词,打开开关后输入固定指令,等待保存完成。

从 0.1.0 升级

旧版使用独立的 settings.yaml 命名空间;新版改用官方 volatile Config 与 profile patch。升级时请保留旧文件、停止使用旧版启动覆盖文件,再安装新版组合包。不覆盖原文件的迁移步骤与工具见仓库内 升级指南 及 scripts/migrate-settings.mjs(pnpm run migrate)。

典型用法

下面是可以直接复现的最小流程(与 README 一致):

  1. 安装并重启 Web 后进入 设置 → 全局提示词。
  2. 打开启用开关。
  3. 在文本框写入希望每次会话都生效的固定说明(例如统一回复语言、代码风格或禁止泄露的上下文类型)。
  4. 等待 ConfigForms 保存成功;若冲突或失败,按提示重试,草稿会保留。
  5. 新开或继续该 web profile 下的会话,观察组装结果是否包含对应段落(需在启用且非空白时才会贡献 user:global-prompt)。

无需在每条消息里重复粘贴同一段总要求;修改文本后下次组装即读取新配置,不必重启插件。

适用场景与注意

适合谁

  • 主要在 DSH Web(--profile web)上工作、且 dsh 版本已对齐 0.2.1-alpha.2 的开发者。
  • 需要在同一 profile 内跨会话保持一段字面固定的全局指令,并愿意通过官方设置页与 cordis.patch.yml 管理配置的人。

使用前请知悉

  • 插件以当前 dsh 进程权限运行;安装前应自行查看 GitHub 源码、LICENSE 与 NOTICE。实现源于 Humengjiu 对上游 harness 的 原始 PR 思路,社区包独立维护。
  • 全局文本会进入模型输入并影响 token 与 KV-cache 前缀;不宜写入过长或频繁变更的大段内容。当前实现每次文本变化单独排队保存,尚未防抖。
  • 未来 dsh 版本可能变更插件 API;本包在 README 中声明了准确版本要求,一般无需额外兼容性豁免配置。
  • 若依赖「完整 system prompt 覆盖其他 section」的官方行为,需理解全局段仍受该规则约束,不能假设覆盖一切 section。

链接与来源

dsh-global-prompt 把「跨会话固定指令」收敛为一个开关和一段可持久化的文本,并挂到官方 Web 设置与 profile patch 上;在版本对齐的前提下,适合作为 web profile 的全局提示词补充,而不是替代 dsh 自带的 system 与 deployment 语义。安装前核对 dsh 与预览包版本,并在插件侧栏确认启用即可开始编辑。

羽毛球分组比赛记分
小程序二维码

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

小夜