DSH 插件市场DeepSeek Harness 社区插件目录

dsh-prompt-injector

已验证 会话与消息 ★ 10 1.0.0

Inject a reusable prompt preset into the FRONT of your DeepSeek Harness message at send time — next message only or every turn, your choice. / DeepSeek Harness 提示词注入器:发送时把预设注入消息首部,可选只注入下一条或每轮都注入。

一句话定位

Inject a reusable prompt preset into the FRONT of your DeepSeek Harness message at send time — next message only or every turn, your choice. / DeepSeek Harness 提示词注入器:发送时把预设注入消息首部,可选只注入下一条或每轮都注入。

安装方式

在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。

$ dsh plugin --profile web add 'git+https://github.com/yukk4159-bit/dsh-prompt-injector.git#3799576069a0cf0feb94bcb8c37e4863f181a853'

兼容的 DSH 版本

未声明

作者与热度

yukk4159-bit · ★ 10 · 更新于 2026-10-11

关于这个插件

[English](README.en.md) | 简体中文

dsh-prompt-injector · 提示词注入器

一个 [DeepSeek Harness](https://deepseek.com/harness/) Web 插件:把可复用的提示词预设在发送的那一刻注入到消息首部,而不是填进输入框。

注入几次由你决定:💌 只注入下一条(默认)或 💖 每轮都注入。

萌系二次元画面风格:🌸 粉紫渐变、圆角卡片、会呼吸的小表情。

在 DeepSeek Harness 0.2.0-rc.2 上实测可用(Host 侧 67 个用例,浏览器半在真实 GUI 里跑通,见[已验证](#已验证--待验证))。

长什么样

先选注入方式,再点预设:

选好之后 chip 变成 💌 名字 下一条,输入框里一个字符都不会多:

发送时才是注入发生的时刻。下面是「每轮都注入」连发两条的结果——两条消息都带上了预设块,而输入框始终只有你自己写的话:

---

和「提示词预设」类插件的区别

| | 常见的预设插件 | 提示词注入器 |

|---|---|---|

| 选中预设后 | 把提示词填进输入框 | 只在输入框左侧显示一个 💌 / 💖 徽章,输入框内容完全不动 |

| 你打字时 | 要在一大段提示词后面接着写 | 输入框里只有你自己写的话 |

| 注入几条 | 选中就一直生效 | 默认只注入下一条,发完自动松开;想每轮都注入得自己切 |

| 发送时 | 提示词就是消息的一部分(你在输入框里看得见) | Host 端在 agent/pre-step 把提示词拼到消息最前面 |

| 对话记录 | 提示词和你的话混在一起 | 记录里是完整的注入后文本(模型看到什么,记录就是什么) |

实现位置:lib/inject.js 的 applyInjection(),注册在 agent/pre-step 瀑布事件上——这是消息进入会话日志之前的最后一个接缝。

为什么不是「往输入框塞标记」

最初的设计是往 composer 草稿里写一个不可见的选取标记,随消息一起送到 Host。实测下来这条路在当前版本走不通:

  • DSH 的 composer 是 Lexical 编辑器,没有任何公开的草稿写入服务;
  • Lexical 自己拥有文档状态,直接改 DOM 会被它下一次 reconcile 覆盖;
  • 通过 DOM 事件(execCommand('insertText'))写入也依赖当前选区,而打开面板后焦点已经不在编辑器上。

所以选择改由 Host 侧按会话记录:浏览器半把「这个会话选了哪个预设、注入到什么时候」通过插件的 HTTP 接口告诉 Host(lib/http.js 的 /selection),Host 在发送瞬间查表注入。这样完全不依赖编辑器的内部实现,也不需要污染消息文本——顺带还让「只注入一条」变得容易实现:Host 注入完就把这条选择丢掉。

> 早期版本还写了一套「尽力而为」的草稿写入代码,已经删掉了:它写得进去也不起决定作用(真正生效的是 Host 侧的选择),留着只会让「到底谁说了算」变模糊。现在插件完全不碰输入框。

---

安装

插件是「bundle」形态(根目录有 cordis.patch.yml),用 dsh plugin 安装:

dsh plugin --profile web add "github:yukk4159-bit/dsh-prompt-injector"

dsh plugin 把包管理转发给 pnpm,所以也可以装本地路径或指定分支:

# 本地检出(改代码时用这个,改完重启就生效)
dsh plugin --profile web add "/path/to/prompt-injector"

# 指定分支或 tag
dsh plugin --profile web add "github:yukk4159-bit/dsh-prompt-injector#main"

或者在没有全局 dsh 的环境里:

npx -p @deepseek-ai/dsh dsh plugin --profile web add "github:yukk4159-bit/dsh-prompt-injector"

装完重启该 profile,然后打开 Web GUI:

  • 输入框左边会多一个 🌸 预设 按钮 —— 点开挑预设;
  • 左侧边栏 → 设置 → 提示词注入器 —— 管理预设库(增删改查、搜索、标签过滤)。

---

用法

1. 设置页写预设:名字、ID(可选)、标签、注入内容 → 保存。

保存会写进该 profile 的配置文件(cordis.patch.yml 的 config.presets),重启、切会话都不会丢。

2. 在输入框左边点 🌸,面板顶部先选注入方式,再点一个预设:

  • 💌 只注入下一条(默认)——只有你紧接着发送的那一条会被注入,Host 注入完就把这条选择丢掉,再发就干干净净;
  • 💖 每轮都注入——一直生效,直到你点「取消」。

面板顶部的切换是立刻生效的:已经选了预设时改方式,等于同时把那条选择改成新方式。

chip 上会写清楚现在是哪种(💌 名字 下一条 / 💖 名字 每轮),不会出现「以为只注入一次、其实一直在注入」。

3. 正常写你的话,回车发送。

4. 发送瞬间,Host 把预设正文按模板拼到消息最前面再交给模型。

5. 默认方式下,发完那一条之后 chip 自己回到 🌸(面板打开时每 3 秒问一次 Host,因为一次性选择是 Host 释放的,它没法主动通知页面)。

再点一次同一个预设、或点面板里的「取消」即取消。

不点面板也能用:{{ID}}

在消息里直接写 {{code}}(code 是这个预设的 ID),那一条就会用对应预设,发完即止——这本来就是一次性的,和 chip 的选择互不干扰。

  • 写了一个库里有的 ID:注入并把这处 {{code}} 从消息里拿走;
  • 写了一个库里没有的 ID:当成普通文字原样发出去,也不会挡住 chip 的选择;
  • 指向已停用的预设:不注入,文字原样保留。

同分类对比

同一分类下 Star 最高的 5 个,便于横向比较。

插件作者 Star版本更新
dsh-purge kingcharleslzy-ai 6.3K 1.6.86 2026-11-08
dsh-unrestricted yexi-by 1.1K 0.2.8 2026-11-05
dsh-univer-office dream-num 707 0.4.0 2026-11-03
dsh-synapse liangmianya 697 0.5.7 2026-11-04
dsh-qqbot tencent-connect 570 0.5.5 2026-11-08