逐段改写新会话系统提示词并实时预览效果
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add n0pe-sled/system-prompt-editor该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-settings@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-typert-protocol@deepseek-ai/dsh-typert-registry给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 逐段改写系统提示词
- 实时预览效果
- 编辑自定义文本与人设
dsh 插件:编辑每个新会话组装好的系统提示词(自定义文本、人设、工具指引),带实时预览
README
由 DeepSeek 最新模型翻译生成dsh-system-prompt-editor
一个 dsh 插件,在设置页里编辑本机每个新会话的系统提示词。组装后提示词的每个稳定段落都可编辑——harness 身份、源码检出说明、Web 界面定位、人设、文件引用说明、工具指引文字段、交付物说明、自定义尾部——外加通过预览发现的第三方段落。
| 字段 | 顺序 | 非空时的效果 |
| Harness 身份 | order −100 | 替换固定的身份开头。 |
| 源码检出 | order −99 | 替换 harness 源码检出说明。 |
| Web 界面 | order −98 | 替换 Web 界面定位段落。 |
| 人设 | order 0 | 替换部署人设段落。 |
| 文件引用说明 | order 99 | 替换关于提及创建/修改文件的说明。 |
| 工具指引 | order 100–199 | 用单个段落替换各工具的分段指引文字。 |
| 交付物说明 | order 190 | 替换关于提及主要输出的响应格式说明。 |
| 自定义系统提示词文本 | order 200 | 原样追加在人设和工具指引之后。 |
所有覆盖项在每次组装时都会求值并应用,所以保存后下一个请求立即生效,无需重启。
展开完整文档(README 剩余 1 节)
dsh-system-prompt-editor
一个 dsh 插件,在设置页里编辑本机每个新会话的系统提示词。组装后提示词的每个稳定段落都可编辑——harness 身份、源码检出说明、Web 界面定位、人设、文件引用说明、工具指引文字段、交付物说明、自定义尾部——外加通过预览发现的第三方段落。
| 字段 | 顺序 | 非空时的效果 |
| Harness 身份 | order −100 | 替换固定的身份开头。 |
| 源码检出 | order −99 | 替换 harness 源码检出说明。 |
| Web 界面 | order −98 | 替换 Web 界面定位段落。 |
| 人设 | order 0 | 替换部署人设段落。 |
| 文件引用说明 | order 99 | 替换关于提及创建/修改文件的说明。 |
| 工具指引 | order 100–199 | 用单个段落替换各工具的分段指引文字。 |
| 交付物说明 | order 190 | 替换关于提及主要输出的响应格式说明。 |
| 自定义系统提示词文本 | order 200 | 原样追加在人设和工具指引之后。 |
所有覆盖项在每次组装时都会求值并应用,所以保存后下一个请求立即生效,无需重启。
预览中带蓝色标记的段落——Plan mode policy、Code-mode rule、Code SDK guidance——归 DSH 状态或 code-mode 插件所有,只读显示(「Managed by DSH」):它们是智能体状态的函数,覆盖它们会与所属插件冲突。
三个操作(每个字段卡片)
| 操作 | 行为 |
| Save | 把草稿持久化到 system-prompt-editor 设置命名空间。成功时提示「Saved」;写入未落地(宿主端拒绝 / 版本冲突)时报告原因并保留草稿,不丢内容。 |
| Preview system prompt | 显示完整组装后的提示词,即模型看到的样子——每个段落都在,应用当前草稿,按顺序标注,DSH 管理的段落单独标记。{{model}}/{{provider}} 从真实默认模型选择解析;没有无作用域值的引用(如 {{cwd}})按字面渲染,不报错。预览中出现的第三方段落会变成可编辑卡片(通用的逐段覆盖)。 |
| Load current system prompt | 用一次全新的宿主端组装(不带草稿)取回该段落的当前生效文本并载入编辑器——有存储的覆盖项就用覆盖项,否则用部署默认值——这样文本框里就是模型今天实际读到的内容,可直接编辑保存。保存载入的默认值会把它存为固定覆盖项;清空回空则恢复默认。 |
设置作用域加载期间,操作按钮禁用;在远程(非回环地址)浏览器打开页面时,会显示一条提示:设置只在当前进程内生效,页面保持不可操作。存储值为空时,部署默认值不受影响,因此清空某个字段就能恢复原始提示词,插件全程都不需要知道它原本是什么。
每张卡片都能点自己的标题栏折叠,工具栏里的 Collapse all / Expand all 可以一次性切换整页。折叠后的卡片仍保留标题、顺序标签和 Unsaved 标记,提示文字会说明隐藏的草稿有多少字符,草稿不会悄无声息地藏起来。
配置档(页面顶部的工具栏)
工具栏位于所有卡片之上,因为配置档属于提示词,而不属于某一个分区。文本存在两处,标签把两者区分开:配置档是保存下来的库,编辑框是下一次组装要读取的实时提示词。
| 操作 | 行为 |
| Save all | 把每个编辑框写入选中的配置档,新建或替换它(替换前会确认)。它不会改动实时提示词。选 New profile… 可以给新配置档命名。 |
| Load all | 把选中的配置档应用到实时提示词,并用它填满每个编辑框,一次点击就能切换模型在下一条消息里读到的内容。 |
| Clear all | 取消所有实时覆盖,恢复出厂部署提示词。已保存的配置档不受影响。 |
| Reload from live prompt | 把模型此刻实际会读到的内容重新读进每个编辑框,丢弃尚未应用的修改。只读,不写入任何内容。 |
| New | 显示名称输入框,供 Save all 新建配置档使用。 |
| Delete | 删除选中的配置档。实时提示词不受影响。 |
配置档携带完整的可编辑提示词:三个字段加上分区映射,还包括通过预览发现的第三方分区。加载的配置档提到本页从未发现过的分区时,插件会为它新增一张卡片并给出提示,这样恢复到存储里的分区就不会对下一次 Save all 隐身。
Default 是重置后落到的基线。首次使用时它为空,且不能删除:填好编辑框再 Save all 就能重新定义它,之后用 Apply Default 把它放回去。Clear all 更进一步,忽略 Default 配置档,直接恢复出厂部署提示词。
配置档里的空编辑框表示「不动部署默认值」,所以字段为空的配置档永远不会把默认值顶掉。同理,Load all 对配置档留空的字段执行的是取消设置,而不是存一个空字符串:一个留着空键的命名空间,看起来就像它拒绝了一次清空。
安装
在包含 system-prompt-editor/ 的目录下执行:
dsh plugin --profile web add ./system-prompt-editor
(首次使用 dsh plugin 会用 @deepseek-ai/dsh-base 初始化配置档。)因为 manifest 声明了 dsh.bundle,所以会追加 bundle 层;同一行补丁还会把包放到 web 客户端名册(dsh.client.platform: "web"),所以设置页面无需额外接线就会出现。如果 dsh 不在你的 PATH 上,在 dsh 源码检出目录里改用 pnpm dsh ... 运行同一条命令,或运行 node <dsh-install>/bin.js ...。
注册表提供的是 lib/client.js,不是源码——改动任何一半后都要重新构建并重启宿主(宿主那一半在启动时加载):
pnpm build
restart the web GUI: the host half of a running instance keeps its boot-time code
工作原理
- 存储 —— 设置文档的 system-prompt-editor 命名空间,和所有 dsh 设置一样是机器级全局的。在随附的文件服务商下,这就是 $DSH_HOME/settings.yaml(system-prompt-editor: 段,含 text:、persona:、toolGuidance:,一个以段名为键的 sections: 映射,例如 harness:identity: "...",以及一个命名快照的 profiles: 映射)。保存的文本重启后仍在,机器上每个配置档共享。配置档也放在同一份文档里:没有导出/导入路径。
- 段目录 —— src/shared/catalog.ts 固定了本次构建所针对的 dsh 版本的可编辑/只读段名、规范顺序、标签和警告;两半都打包它。UI 为每个精选条目渲染一张卡片;宿主用它做区段标签,并把某个段插入到它在规范顺序中的位置——前提是该段在给定装配中缺失。
- 自定义文本贡献 —— 插件注册一个段(user:system-prompt-editor),order 可配置(默认 200:在部署人设的 0 之后、工具指引的 100–199 之后)。空文本产生空段,装配时会丢弃——没有自定义文本就零 token 开销。{{name}} 变量引用(如 {{cwd}}、{{model}}、{{provider}})和其他段一样在请求时解析。
- 覆盖 —— 一个 system-prompt/assemble 瀑布监听器(src/shared/overrides.ts,与预览共用)替换 deployment:persona 文本(order 0),把工具说明区段(orders 100–199)折叠成一个 user:tool-guidance 段,order 150,并应用每个非空的 sections[name] 条目——原地替换该名称的已装配段,或在缺失时按目录顺序插入(像文件引用说明这类按智能体注册的段,在真实会话中被替换,在无作用域的预览里只作为插入出现)。工具 schema 从不改动;存储值为空则保留默认值。
- 预览端点 —— 一个运行时注册的 Typert 调用(systemPromptEditorPreview/preview)在宿主侧装配完整提示词(存储值流经瀑布),应用草稿,并宽松渲染({{model}}/{{provider}} 来自真实的默认模型选择;其他任何未解析的引用保持字面——原版 web 人设引用 {{model}}/{{cwd}},而 {{cwd}} 只有在按会话),返回 { rendered, sections, effective }。客户端挂载同一份描述符,再拆开 RemoteResult。预览组装时没有指定具体智能体,所以按智能体区分的预设可能不同(UI 说明文字里会注明);无作用域组装中缺失的按智能体分区,会以插入形式显示在各自的规范带里。按工具划分的指导分区也按智能体注册——瀑布监听器从每次真实组装中快照它们,预览再按带重放这份快照;工具指导卡片上的 Load 在没有存储内容时填充的也是它。
- 配置 — 插件行配置里的 order: 200(配置档 cordis.patch.yml 或 --patch 覆盖层)会移动自定义分区;schema 默认值是 200。
注意事项
- 模型可见 ⟺ 已记录:编辑内容是模型可见的输入;会话日志已经记录 request/header,所以运行时缓存的 provider 前缀复用会从第一个变化的 token 起失效——这是该功能的固有行为。
- 机器关键分区有警告:覆盖 harness:identity、harness:source 或 app:web-surface 会移除 harness 依赖的定位信息;UI 会相应标记这些卡片,文件引用说明也一样(正是它让变更文件链接可点击)。
- 版本锁定:分区名称和顺序是 dsh 的内部契约,锁定到 dsh 0.1.1-rc.2(见 src/shared/catalog.ts);升级 harness 时请提升锁定版本并复查目录。较新的 dsh 把 persona 拆成前缀/后缀分区——目录在 persona 带中识别这些名称,但不会为它们添加覆盖。
验证
dsh --profile web --dump-config # shows a "# == dsh-system-prompt-editor" layer
node tests/smoke.mjs # host-half smoke check (needs pnpm build first)
node tests/integration-real.mjs # real providers (dsh-system-prompt + dsh-settings-file in a temp dir)
然后打开 Web GUI → Settings → System Prompt:编辑、保存,检查 $DSH_HOME/settings.yaml(sections: 映射会新增你的键),启动新会话并询问模型它的系统提示词,或者导出会话日志并检查模型可见的消息。加载当前系统提示词必须按字段往返一致;清空字段必须恢复部署默认值。工具栏方面:Save all 必须在 profiles: 下新增键,且不动实时字段;Load all 必须把配置档的值写入实时字段;Clear all 必须移除这些值,同时保持 profiles: 不变;对 Default 执行 Delete 必须被拒绝。折叠状态按页面访问计;重新加载后不会记住。
开发
pnpm install # devDependencies (cordis, schemastery, client type packages, tsdown, typescript, react)
pnpm typecheck # tsc --noEmit
pnpm build # tsdown: lib/index.js (node half) + lib/client.js (browser half)
node tests/smoke.mjs # host-half smoke check against stubbed services
prepare 还会运行 tsdown,所以从 git 安装时会自行构建(pnpm ≥ 10 要求你在配置档的 pnpm-workspace.yaml 里把构建脚本加入允许列表)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
n0pe-sled/system-prompt-editor
逐段改写新会话系统提示词并实时预览效果
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。