dsh-system-prompt
在 DeepSeek Harness 设置页编辑系统提示词,支持恢复默认与撤销修改
- Stars
- 0
- Language
- TypeScript
- Created
- Sep 8, 2026
- Updated
- Sep 8, 2026
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 发布,也无需配置 allowBuilds;dsh.bundle.patch 自动挂载 Host 和 Web Client。
0.1.1 修复了默认使用全局预览导致会话内置插件提示词缺失的问题:现在默认跟随当前会话,从完整会话组装结果载入编辑草稿。
使用
| 模式 | 行为 |
|---|---|
| 使用默认 | 不覆盖系统提示词,由当前 Harness、会话预设和已加载插件自动组装 |
| 追加指令 | 在原系统提示词末尾追加自定义文本,保留原有指导 |
| 完整替换 | 将整个系统提示词正文替换为自定义文本,原有工具使用指导也会被替换 |
- 选择模式并编辑文本。输入仅为草稿,点击 保存修改 后生效。
- 编辑区上方的 提示词来源 默认自动跟随当前会话,包含
read、write、edit、glob、grep、后台任务、搜索和子 Agent 等已加载插件补充的指导。也可以手动选择其他已加载会话;没有当前会话但 Host 仅加载了一个会话时,会自动使用该会话。多会话且没有明确选择时会要求选择,不会任意取一个。 - 点击 载入完整默认提示词并编辑,将所选会话的完整默认提示词复制到完整替换编辑区;确认载入后仍须保存。它是静态副本,不会随会话、环境和工具变化自动更新。
- 放弃未保存修改 重新载入最新已保存版本。
- 恢复默认 经页面确认后清空自定义文本并保存,恢复当前 Harness 的组装结果,而不是某份内置的旧版本提示词。
- 撤销上次修改 经确认后恢复上一个已保存版本,也可以撤销一次误重置。备份随设置持久化,只保留一层;恢复备份时当前版本成为新的备份。
文本按字面内容使用,{{example}} 不会作为 Harness 模板变量展开。自定义模式拒绝空白内容,最多 100,000 个 UTF-16 代码单元(与编辑区字符计数一致)。预览遇到缺少会话/模型信息的变量时保留占位符并提示,禁止把这样的不完整预览载入为替换草稿。
页面支持中文/英文和 Harness 浅色/深色主题。保存失败保留草稿;并发页面发生 revision 冲突时拒绝覆盖,提示载入最新版本。关闭或刷新浏览器时,未保存草稿会触发浏览器的离开提醒;切换设置栏目不会持久化草稿。
查看提示词 默认展开,展示所选会话的默认与当前生效文本,并提供插件段名称列表。这里按当前配置重新组装;聊天记录中的系统提示词是历史请求当时的快照,两者可能因配置变化而不同。仅全局片段(不完整) 是诊断选项,不包含会话插件补充内容,不能载入为完整编辑草稿。切换预览来源不会覆盖尚未保存的草稿。
生效范围
- 用户级设置,作用于加载此插件并共用同一 settings 文档的全局、存量、新建与子 Agent 会话。安装到
webprofile 不会自动安装到其他 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: 1、mode: default、prompt: ""、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/ 一起提交。不要添加 prepare、prepack 或安装生命周期脚本;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
实现依据
- dsh-tool-manager:设置 section、settingsScope、客户端模块工厂与预构建 GitHub 安装方式。
- DeepSeek Harness 系统提示词组件:
system-prompt/assemble、renderPrompt、作用域与完整预设优先级。 - DeepSeek Harness 设置服务:命名空间验证、持久化和 revision 冲突检查。
使用官方 settings RPC 原子保存文本、模式及撤销备份。GET /system-prompt-editor/api/preview 是只读本机接口,检查 loopback、Host、Origin 与 Fetch Metadata;默认预览通过 AsyncLocalStorage 跳过本插件覆盖,不会临时切换共享设置或影响并发模型请求。
MIT License。构建与设置接入参考 dsh-tool-manager,保留其许可声明。