Back to home@Ghpt6

dsh-system-prompt

在 DeepSeek Harness 设置页编辑系统提示词,支持恢复默认与撤销修改

Stars
0
Language
TypeScript
Created
Sep 8, 2026
Updated
Sep 8, 2026
GitHub repo

Introduction

dsh-system-prompt

在 DeepSeek Harness 的 设置 → 系统提示词 页面编辑系统提示词,支持恢复默认和撤销上一次保存。

安装

npx @deepseek-ai/dsh plugin --profile web add github:Ghpt6/dsh-system-prompt

重启 DSH Web 并刷新浏览器,打开 设置 → 系统提示词

npx @deepseek-ai/dsh web

已验证 DSH 0.1.2-rc.1(2026-09-08 的 npm latest),Node.js ^22.19.0 || >=24.0.0。Harness 尚处于开发预览期,其他版本未验证。仓库随附 lib/,通过 GitHub 安装无需构建、无需 npm 发布,也无需配置 allowBuildsdsh.bundle.patch 自动挂载 Host 和 Web Client。

0.1.1 修复了默认使用全局预览导致会话内置插件提示词缺失的问题:现在默认跟随当前会话,从完整会话组装结果载入编辑草稿。

使用

模式行为
使用默认不覆盖系统提示词,由当前 Harness、会话预设和已加载插件自动组装
追加指令在原系统提示词末尾追加自定义文本,保留原有指导
完整替换将整个系统提示词正文替换为自定义文本,原有工具使用指导也会被替换
  1. 选择模式并编辑文本。输入仅为草稿,点击 保存修改 后生效。
  2. 编辑区上方的 提示词来源 默认自动跟随当前会话,包含 readwriteeditglobgrep、后台任务、搜索和子 Agent 等已加载插件补充的指导。也可以手动选择其他已加载会话;没有当前会话但 Host 仅加载了一个会话时,会自动使用该会话。多会话且没有明确选择时会要求选择,不会任意取一个。
  3. 点击 载入完整默认提示词并编辑,将所选会话的完整默认提示词复制到完整替换编辑区;确认载入后仍须保存。它是静态副本,不会随会话、环境和工具变化自动更新。
  4. 放弃未保存修改 重新载入最新已保存版本。
  5. 恢复默认 经页面确认后清空自定义文本并保存,恢复当前 Harness 的组装结果,而不是某份内置的旧版本提示词。
  6. 撤销上次修改 经确认后恢复上一个已保存版本,也可以撤销一次误重置。备份随设置持久化,只保留一层;恢复备份时当前版本成为新的备份。

文本按字面内容使用,{{example}} 不会作为 Harness 模板变量展开。自定义模式拒绝空白内容,最多 100,000 个 UTF-16 代码单元(与编辑区字符计数一致)。预览遇到缺少会话/模型信息的变量时保留占位符并提示,禁止把这样的不完整预览载入为替换草稿。

页面支持中文/英文和 Harness 浅色/深色主题。保存失败保留草稿;并发页面发生 revision 冲突时拒绝覆盖,提示载入最新版本。关闭或刷新浏览器时,未保存草稿会触发浏览器的离开提醒;切换设置栏目不会持久化草稿。

查看提示词 默认展开,展示所选会话的默认与当前生效文本,并提供插件段名称列表。这里按当前配置重新组装;聊天记录中的系统提示词是历史请求当时的快照,两者可能因配置变化而不同。仅全局片段(不完整) 是诊断选项,不包含会话插件补充内容,不能载入为完整编辑草稿。切换预览来源不会覆盖尚未保存的草稿。

生效范围

  • 用户级设置,作用于加载此插件并共用同一 settings 文档的全局、存量、新建与子 Agent 会话。安装到 web profile 不会自动安装到其他 profile;多个 profile 可能共享 settings 文件。
  • 保存后下一次组装模型请求时读取已提交设置,不需重新启动 Host。已经发出的模型请求不会改变。
  • 仅处理系统提示词正文;保留工具 schema、其他插件的工具过滤结果及动态运行时上下文。完整替换会移除原提示词里的工具指导,使用前可通过预览检查。
  • Harness 的 complete: true 会话预设具有更高优先级,组装结束后会强制恢复该预设。本插件不覆盖这类预设;选中对应会话预览时会明确提示自定义文本未应用。
  • 首版设置写入与预览面向本机 DSH Web。远程浏览器的 memory/read-only 设置连接不能提交 Host 配置。

存储与恢复

配置位于 DSH 的用户设置文档,通常为 <DSH_HOME>/settings.yaml,命名空间如下:

dsh-system-prompt:
  schemaVersion: 1
  mode: append
  prompt: |-
    请始终使用中文回答。
  previous:
    mode: default
    prompt: ""

恢复默认会在此命名空间显式保存 mode: default 和空 prompt,并保留之前的已保存内容供撤销。它不修改 Harness 的安装文件、其他命名空间或会话历史。

如果手工编辑配置导致插件无法加载,先停止 DSH,在该命名空间设置 schemaVersion: 1mode: defaultprompt: ""previous: null,再启动即可。错误的外部配置在运行期间由官方 settings provider 保留最后有效值;首次启动遇到非法值时会拒绝加载该插件。

卸载:

npx @deepseek-ai/dsh plugin --profile web remove dsh-system-prompt

重启后移除本插件的覆盖。用户设置仍保留;重新安装将继续使用。若希望重新安装时使用默认值,先在页面恢复默认。撤销备份也保存在同一设置文档中。

开发

npm ci
npm run check

check 包含 TypeScript 检查、真实 Cordis/Harness 运行时测试、React 表单测试和 Host/Client 构建。测试不调用付费模型 API。临时数据位于 Git 忽略的 .test-artifacts/

npm run build
npx @deepseek-ai/dsh plugin --profile web add .

修改源码后将更新的 lib/ 一起提交。不要添加 prepareprepack 或安装生命周期脚本;GitHub 安装应直接使用预构建产物。CI 会在 Linux / Windows 与 Node 22 / 24 上运行检查,并验证 lib/ 与源码一致。

生成本地安装包:

npm run pack:release
npx @deepseek-ai/dsh plugin --profile web add ./dsh-system-prompt-0.1.1.tgz

实现依据

使用官方 settings RPC 原子保存文本、模式及撤销备份。GET /system-prompt-editor/api/preview 是只读本机接口,检查 loopback、Host、Origin 与 Fetch Metadata;默认预览通过 AsyncLocalStorage 跳过本插件覆盖,不会临时切换共享设置或影响并发模型请求。

MIT License。构建与设置接入参考 dsh-tool-manager,保留其许可声明。