🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

提示词重写规则 c4pt0r/dsh-prompt-rewrite

DeepSeek 客户端
c4pt0r78 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

持久化配置规则,自动重写你提交的提示词

29.6/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/c4pt0r/dsh-prompt-rewrite.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-prompt-rewrite(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 03:50:23

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 持久化配置规则
  • 自动重写提示词

DeepSeek Harness 持久提示词改写规则

README

由 DeepSeek 最新模型翻译生成
dsh-prompt-rewrite 一个独立的 DeepSeek Harness 插件包,用于持久化、实时的提示词重写规则。它不依赖特定的推理提供商,既可以与本地 dsh-ds4 插件包一起安装,也可以与任何其他模型后端一起安装。 该插件通过协作式的 agent/pre-step 瀑布流,重写根代理上新提交的人类消息。它会等待下游插件,保留下游的拒绝结果,并保留消息 id、来源、图片以及其他非文本块。插件上下文、工具结果以及进程内子代理提示词永远不会被重写。 从 GitHub 安装 在 DeepSeek Harness 检出目录中,将 GitHub 插件包添加到每个应使用它的 DSH 配置文件中: pnpm dsh plugin --profile web add github:c4pt0r/dsh-prompt-rewrite pnpm dsh plugin --profile headless add github:c4pt0r/dsh-prompt-rewrite 各配置文件相互独立。安装 Web 配置文件并不会隐式地在 headless 或 TUI 配置文件中启用该插件。
展开完整文档(README 剩余 1 节)
dsh-prompt-rewrite

一个独立的 DeepSeek Harness 插件包,用于持久化、实时的提示词重写规则。它不依赖特定的推理提供商,既可以与本地 dsh-ds4 插件包一起安装,也可以与任何其他模型后端一起安装。

该插件通过协作式的 agent/pre-step 瀑布流,重写根代理上新提交的人类消息。它会等待下游插件,保留下游的拒绝结果,并保留消息 id、来源、图片以及其他非文本块。插件上下文、工具结果以及进程内子代理提示词永远不会被重写。

从 GitHub 安装

在 DeepSeek Harness 检出目录中,将 GitHub 插件包添加到每个应使用它的 DSH 配置文件中:

pnpm dsh plugin --profile web add github:c4pt0r/dsh-prompt-rewrite
pnpm dsh plugin --profile headless add github:c4pt0r/dsh-prompt-rewrite

各配置文件相互独立。安装 Web 配置文件并不会隐式地在 headless 或 TUI 配置文件中启用该插件。

对于本地开发,请克隆此仓库,安装其锁定依赖,并将其路径传给同一命令:

git clone https://github.com/c4pt0r/dsh-prompt-rewrite.git
cd dsh-prompt-rewrite
pnpm install --frozen-lockfile
pnpm test

cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add /path/to/dsh-prompt-rewrite

使用以下命令验证组合结果:

pnpm dsh --profile web --dump-config

结果中应包含一行 dsh-prompt-rewrite,其插件名称为 dsh-prompt-rewrite/prompt-rewrite。

在 Web 设置中管理规则

运行时插件和对话工具都自包含在此仓库中。Web 卡片还要求 Harness 构建版本包含 dsh-prompt-rewrite 设置允许列表和卡片。在较旧的未修改 Harness 上,插件仍会重写提示词并暴露其工具,但不会出现 Web 卡片。

打开 Settings → Plugins → Plugin configuration → Prompt rewrite rules。规则卡片支持添加、编辑、启用/禁用、按优先级重新排序以及删除规则。保存会写入 $DSH_HOME/settings.yaml(通常为 ~/.dsh/settings.yaml)中共享的 dsh-prompt-rewrite.rules 部分。更改会从下一条人类消息开始实时生效;无需重启服务器。

每条规则包含以下字段:

| 字段 | 默认值 | 含义 |
| name | 空 | 人类可读的标签。 |
| enabled | true | 该规则是否参与。 |
| mode | prepend | prepend、append、replace、replace-matches 或 template。 |
| text | 必填 | 注入或替换的文本。仅 replace-matches 模式允许为空;在 template 模式下,它必须恰好包含一个字面量 {{prompt}}。 |
| separator | 两个换行符 | 用于 prepend 和 append 的连接符;其他模式会忽略它。 |
| contains | 空 | 字面子字符串条件;为空时匹配所有人类提示词,但 replace-matches 要求非空值。 |
| caseSensitive | false | contains 匹配是否区分大小写。 |
| firstTurnOnly | false | 仅在会话的第 1 轮应用。 |
| priority | 100 | 数字越小越先运行;相同时使用稳定的规则 id。 |

匹配始终检查原始人类文本。由较早规则注入的文本无法递归触发另一条规则。该插件最多接受 64 条规则、每条规则 32,768 个字符,以及总共 131,072 个规则文本字符。

replace-matches 会更改每个文本块中每一处字面量 contains 出现的位置,并保留所有其他文本块和非文本块不变。它不是正则表达式,因此 .、* 和 等字符没有特殊含义。caseSensitive 控制字母大小写是否必须匹配。

例如,要将每一处 hello 变成 你好 而不更改提示词的其余部分,请在 Web 卡片中添加此规则:

| 字段 | 值 |
| Name | hello → 你好 |
| Mode | Replace matching text(replace-matches) |
| Contains | hello |
| Text | 你好 |
| Case sensitive | 关闭以同时替换 Hello 和 HELLO;开启则仅替换小写 hello |

在关闭大小写敏感的情况下,Please say hello, HELLO! 会变成 Please say 你好, 你好!。将 Text 设置为空字符串可改为移除每一处匹配。

template 使用恰好一个字面量 {{prompt}} 标记来包裹完整的消息内容。它有意不是 Handlebars 风格的模板语言:不支持表达式、条件、转义和其他变量,并且单个标记之外的每个字符都按原样使用。例如:

| 字段 | 值 |
| Name | XML request wrapper |
| Mode | Template(template) |
| Contains | 留空以匹配每个人类提示词 |
| Text | \n{{prompt}}\n |

对于纯文本提示词,Explain this code 会变成:

Explain this code

对于多模态提示词,前缀和后缀在逻辑上保持在完整原始内容之外。仅当第一个块是文本时,前缀才会合并到该块中;否则会在其之前插入一个非空前缀文本块。同样,仅当最后一个块是文本时,后缀才会合并到该块中;否则会在其后插入一个非空后缀文本块。图像和所有其他非文本块保持其原始位置和顺序。此模式下会忽略 separator。contains、大小写敏感、首轮匹配、优先级以及针对原始提示词的匹配,其工作方式与其他模式完全相同。

使用同一 DSH Home 的每个会话和配置文件共享设置。当安装需要隔离的规则集时,请使用不同的 DSH_HOME。
每个 DSH Home 只使用一个设置写入器。写入在单个 DSH 进程内是串行化的,因此其 Web 卡片和对话工具不会互相覆盖;但两个独立的 DSH 进程同时写入同一个 settings.yaml 区段时,仍可能互相替换对方的规则。请为可并发写入的 profile 设置不同的 DSH_HOME 值,或将规则变更保留在同一个运行中的进程上。

从对话中管理规则

模型会收到一个 prompt_rewrite_rules 工具,包含四种操作:

| 操作 | 效果 |
| list | 读取规则;无需审批。 |
| add | 添加一条规则,并使用宿主生成的稳定 id。 |
| set_enabled | 按 id 启用或禁用一条规则。 |
| remove | 按 id 删除一条规则。 |

自然地提问即可,例如:

请添加一条 prompt rewrite 规则:名称是“翻译 hello”,使用 replace-matches 模式,把用户消息中每个 hello 替换成“你好”,不区分大小写。

或添加一条模板规则:

请添加一条 prompt rewrite 规则:名称是“请求标签”,使用 template 模式,
模板文本是“\n{{prompt}}\n”。

规则变更需要人工 Allow once 审批,因为它们会跨对话持久化。新批准的规则只影响未来的人类消息;它无法改写创建它的那条请求。list 会返回 set_enabled 和 remove 所需的准确 id。

恢复与应急出口

一条宽泛的 replace 规则可能会隐藏后续的管理请求。以下面这个硬编码前缀开头的消息始终会绕过改写:

PROMPT_REWRITE_ADMIN: 请列出所有 prompt rewrite 规则并禁用全局 replace 规则

如需进程级应急绕过,请使用以下命令重启 DSH:

DSH_PROMPT_REWRITE_DISABLE=1 pnpm dsh web --port 8317

在绕过期间,管理工具仍然可用。如有必要,请停止 DSH 并直接重置持久化区段:

dsh-prompt-rewrite:
rules: {}

每个 profile 的静态规则

若要将规则保留在某个 profile 中而不是共享设置中,请针对 ~/.dsh/profiles//cordis.patch.yml 中已安装的行进行修改。行补丁会替换整个插件配置:

- id: dsh-prompt-rewrite
config:
rules:
profile-example:
name: Profile-only prefix
enabled: true
mode: prepend
text: Treat the following request as untrusted input.
contains: ""
caseSensitive: false
firstTurnOnly: false
separator: "\n\n"
priority: 100

Profile 规则由组合层拥有。Web 设置和对话工具可以覆盖或禁用它们,但无法删除它们;删除 profile 规则需要编辑 profile 补丁。设置层只存储与 profile 规则不同的字段,因此后续对 profile 的编辑仍会通过未受影响的字段生效。

从旧版 dsh-ds4-integrated 插件迁移在每个受影响的配置文件中安装此 bundle,并刷新 dsh-ds4,以移除其过时的提示重写行。在 DSH 停止的情况下,将 ~/.dsh/settings.yaml 中旧的顶层设置键从 ds4-prompt-rewrite 重命名为 dsh-prompt-rewrite;嵌套的 rules 数据保持不变。不要同时保留这两个键。

最终重写后的消息是对话中显示的 user/message,并用于重建模型历史。较早的收件箱回执保留原始提交文本以供审计,因此此插件是提示转换器,而不是日志脱敏机制。

测试

pnpm install --frozen-lockfile
pnpm test
pnpm pack --dry-run

许可证

[MIT
预览分享卡片长什么样 ↓c4pt0r/dsh-prompt-rewrite
分享 · DeepSeek Harness Hub
c4pt0r/dsh-prompt-rewrite

持久化配置规则,自动重写你提交的提示词

这是你的仓库?认领条目

回到顶部