DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Prompt Switcher — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

@mikulo/dsh-prompt-switcher

Prompt Switcher

在新对话中通过 / 快速选择本地 .md 提示词模板;模板约束力等同于 AGENTS.md,并对整个对话持续生效。Pick a local .md prompt template with / when starting a new DSH conversation.

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:mikulo/dsh-prompt-switcher#260bc6862c6dd6b425a64354ee2d1be9c919f7f8
README兼容性版本

兼容性与来源证明

Prompt Switcher 以 @mikulo/dsh-prompt-switcher 发布,当前版本为 1.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/24

版本

1.3.0stable
2026/9/24
1.1.0stable
2026/9/24

相关插件

正在加载相关插件…

最新版
1.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/24
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio 及其精选幻灯片模板,作为原生 DeepSeek Harness 对话视图。

README

dsh-prompt-switcher

dsh-prompt-switcher

DeepSeek Harness(DSH) Web 插件。新建对话时输入 /,可以从本地目录里的 .md 提示词模板中选一个。模板的约束力等同于 AGENTS.md,对这个对话之后的每一轮都有效。还可以设置对所有新对话生效的全局提示词,并通过 WebDAV 在多台设备之间同步提示词模板。

  • 兼容版本:DSH >=0.1.7-alpha.1,即 0.1.7 系列的 alpha 版及之后的正式版;Node >=22.19
  • 插件形式:标准 DSH bundle。package.json 里声明了 dsh.bundle.patch 和 dsh.client,Host 半和 Browser 半都是纯 ESM,没有运行时依赖,安装时不需要构建
  • 收录在 mikulo/dsh-plugins 插件清单中

功能

设置页设置 → 提示词模板:选择模板目录(弹出系统文件夹对话框,也可以直接填路径),读取目录第一层的全部 .md 文件(不读子目录),每个模板有激活开关和「编辑」按钮,另有「刷新」按钮
/ 菜单已激活的模板按文件名显示在 / 菜单里,默认排在 Harness 自带指令之前(可以关闭)
约束整个对话选中模板并发送第一条消息后,模板以 AGENTS.md 同样的方式写入会话,之后每一轮都生效。上下文压缩、恢复会话、分叉会话后都会保留
只对新对话生效已经进行过对话的会话里使用模板会被拒绝:模板不生效,消息也不发出,草稿保留
全局提示词选一个 .md 文件(以文件名作为名称),或者直接输入一段文本并为其取名(保存为模板目录下的 名称.md),作为全局提示词。开启后,之后新建的每个对话都会遵守它;在新对话里再用 / 选择模板时,模板追加在全局提示词之后,两者同时生效,不会互相覆盖
WebDAV 云同步独立的「WebDAV 云同步」标签页:配置服务器、可选的 HTTP / SOCKS5 代理、一键测试连接;「同步到本地」「同步到云端」列出对方目录第一层的 .md 文件,勾选后同步,遇到同名文件逐个询问是否覆盖(可全部覆盖 / 全部跳过)
模板编辑整页编辑视图:大号等宽编辑框,Ctrl+S 保存,显示未保存状态,检测保存冲突,并自动同步在外部编辑器里所做的修改。「用其他程序打开…」会弹出系统的“打开方式”对话框,由你自己选择编辑器

安装

通过 dsh-plugins 清单(推荐)

git clone https://github.com/mikulo/dsh-plugins.git
cd dsh-plugins
node install.mjs --profile web --only dsh-prompt-switcher

直接安装

dsh plugin --profile web add github:mikulo/dsh-prompt-switcher

安装后重启 dsh web 并刷新页面。

  • 更新:dsh plugin --profile web update @mikulo/dsh-prompt-switcher,然后重启 dsh web
  • 卸载:dsh plugin --profile web remove @mikulo/dsh-prompt-switcher

插件的 Browser 半会随页面热更新,Host 半必须重启 dsh web 才会加载新代码。两边版本不一致时,设置页顶部会提示“请重启 dsh web”。

使用

  1. 打开 设置 → 提示词模板,点击「选择文件夹」,选中存放模板的目录。
    • 只读取该目录第一层的 *.md 文件,扩展名不区分大小写。列表按文件名显示。
    • 新目录中的模板默认全部关闭,打开开关才会激活。
    • 目录里的文件增删改之后,点击「刷新」。
  2. 新建对话,在输入框输入 /,已激活的模板(例如 代码审查)会出现在菜单里。继续输入文字可以过滤。
  3. 选中模板后,输入框变为 /代码审查 ,接着输入第一条消息并发送。之后这个对话的每一轮都会遵守该模板。

仓库里的 examples/ 有两个示例模板,可以把它设为模板目录来体验。

全局提示词

在 设置 → 提示词模板 → 全局提示词 中配置:

  1. 选择来源:
    • 模板文件:从模板目录的 .md 文件中选一个,文件名(不含扩展名)就是全局提示词的名称。之后更换模板目录不影响已选的文件。
    • 自定义文本:填写名称(必填)和内容,点击「保存」或按 Ctrl+S。内容保存为模板目录下的 名称.md(需要先配置模板目录),之后也会出现在模板列表里,可以用「编辑」修改。目录中已有同名的其他文件时,会先询问是否覆盖。改名后保存会写入新文件,旧文件保留。
  2. 打开「启用全局提示词」开关。配置不完整时开关打不开,并提示原因。

规则:

  • 只对开启之后新建的顶层对话生效;已开始的对话和子代理会话不会被注入。分叉出来的会话沿用原会话的状态(原会话有就有,没有就没有)。
  • 对话开始时绑定的是当时的快照:之后修改或关闭全局提示词,只影响再之后新建的对话。上下文压缩后会重新注入同一份快照。
  • 在新对话中用 / 选择模板时,会话里依次是 全局提示词 → 模板 → 你的第一条消息。模板追加在全局提示词之后,两者同时生效。/ 菜单中的模板说明会显示“追加在全局提示词「…」之后”。
  • 全局提示词启用了但读不到(文件被删、内容为空等)时,设置页显示原因,新对话照常进行,只是不注入。

WebDAV 云同步

在 设置 → 提示词模板 顶部切换到「WebDAV 云同步」标签页:

  1. 服务器:填写存放模板的 WebDAV 目录地址(例如 https://dav.jianguoyun.com/dav/prompts/)、用户名和密码(坚果云等服务请使用应用专用密码)。密码只保存在本机,不会回传到页面;再次保存时密码框留空表示保持不变。
  2. 代理(默认关闭):打开「通过代理连接」后,可选 HTTP 或 SOCKS5,地址默认 127.0.0.1:7891,可以修改。开关决定「测试连接」和同步是否经过代理。暂不支持需要认证的代理。
  3. 测试连接:用表单里当前(可以尚未保存)的配置访问该目录,显示成功、认证失败、目录不存在、代理连不上等结果。
  4. 点「保存配置」后才能同步。

同步(只处理两边目录第一层的 .md 文件,不含子目录):

  • 同步到本地:列出云端目录的 .md 文件,默认全部勾选,「全选 / 取消全选」一键切换。点「同步到本地」下载到模板目录。
  • 同步到云端:列出本地模板目录的 .md 文件,操作同上,上传到云端目录;云端目录不存在时自动创建。
  • 目标位置已有同名文件时,逐个询问「覆盖 / 跳过」,同名文件不止一个时还可以「全部覆盖 / 全部跳过」,也可以「取消同步」。完成后列出每个文件的结果(新增 / 覆盖 / 跳过 / 失败)。

说明:只支持 Basic 认证;单个文件上限 1 MiB;配置保存在 $DSH_HOME/dsh-prompt-switcher.json,其中密码是明文。

编辑模板

在列表中点「编辑」进入编辑视图:

  • 「保存」或 Ctrl+S 保存,「放弃修改」回到上次保存的内容,标题旁显示“已保存 / 未保存”,Tab 键插入两个空格。
  • 用其他程序打开…:Windows 上弹出“你要如何打开这个文件?”对话框,macOS 上弹出“选取应用程序”对话框,Linux 上用默认程序打开。在外部编辑器保存后,编辑视图约 2 秒内自动同步。如果这里也有未保存的修改,会让你选择「载入磁盘版本」或「保留我的修改」。
  • 文件在打开后被其他程序改过时,保存会被拒绝,并提供「载入磁盘版本 / 仍然覆盖保存」。
  • 关闭设置对话框时,未保存的草稿会保留到页面刷新前。
  • 保存时保留文件原有的 BOM 和 CRLF 换行。
  • 修改模板只影响之后新建的对话。已经开始的对话使用的是第一次发送时的模板快照。

工作原理

需求实现
设置页面Browser 半向 settings.section 槽位注册页面
文件夹对话框优先使用 Host 的 directoryPicker 服务(原生对话框)。该服务不可用时,Windows 上用 PowerShell 的 FolderBrowserDialog,其他平台提示手动输入
设置与模板读写Host 路由 /api/dsh-prompt-switcher/*,只接受本机回环地址的请求。只接受当前目录扫描结果里的文件名,访问不到目录以外的路径。配置保存在 $DSH_HOME/dsh-prompt-switcher.json(默认 ~/.dsh)
/ 菜单显示中文名Host 命令名只能用 ASCII,所以 Browser 半注册了自己的 / 输入触发源。选中后提交 Host 命令 /prompt-template <模板id> <消息>。置顶就是调整触发源的 order
绑定模板Handler 先确认这是新对话,然后 agent.inject(模板消息),再 agent.steer(用户消息),与官方 /plan 的做法相同
约束力等同于 AGENTS.md模板以带来源 {kind:'prompt-switcher', form:'instructions'} 的 <system-reminder> user 消息写入会话日志,措辞与 dsh-agent-instructions 一致,即不高于 system、developer 或用户的直接指令
持续生效会话投影从完整日志中折叠出已绑定的模板快照,所以恢复和分叉会话都能还原。agent/pre-step 钩子在模板被上下文压缩掉后,重新注入同一份快照
全局提示词agent/pre-step 钩子在新顶层对话的第一轮,把全局提示词以来源 {kind:'prompt-switcher-global', form:'instructions'} 的 <system-reminder> 消息放在本步消息最前面;通过 / 模板开始的对话,由命令 handler 依次注入 全局提示词 → 模板 → 用户消息。同一会话投影同时折叠全局提示词和模板快照,压缩后按同样顺序补回
WebDAV 同步Host 半只用 Node 内置模块实现 WebDAV 客户端(PROPFIND 列目录、GET 下载、PUT 上传、MKCOL 建目录,Basic 认证)。代理:HTTP 代理用 CONNECT 隧道,SOCKS5 由代理解析域名,隧道建立后再按需做 TLS。只接受当前列表里的文件名;是否覆盖同名文件由 Host 在写入前重新检查

注意:

  • 子代理(subagent)的会话不继承模板,也不注入全局提示词。
  • 单个模板上限为 1 MiB。模板中的 </system-reminder> 会被转义。
  • 设置接口只接受本机访问。通过局域网打开的 Web 页面不能修改本插件的设置。

开发

npm run build   # src/ → lib/:写入版本号,校验 Host/Client 协议号与模块 id,并做语法检查
npm test        # 确认 lib/ 与 src/ 一致,然后用伪造的 Harness 服务跑 Host 与 Client 冒烟测试,
                # 并用本地假 WebDAV 服务器、HTTP 代理和 SOCKS5 代理跑同步测试
  • 修改 src/ 后运行 npm run build,并把 lib/ 一起提交。插件通过 github: 安装时直接使用仓库里的 lib/,没有安装时构建脚本。
  • 修改 Host 与 Client 之间的接口时,同时递增 src/index.js 和 src/client.js 中的 HOST_PROTOCOL。

本地联调可以用 link 安装:dsh plugin --profile web add link:<本仓库绝对路径>。改代码后重新构建,再重启 dsh web。

更新日志

  • 1.3.0:自定义全局提示词保存为模板目录下的 名称.md;新增「WebDAV 云同步」标签页(服务器配置、HTTP / SOCKS5 代理、测试连接、双向选择性同步与同名覆盖确认)。
  • 1.2.0:新增全局提示词(模板文件或自定义文本),对之后新建的每个对话生效;/ 模板追加在全局提示词之后。
  • 1.1.0:首个公开版本:/ 选择提示词模板、模板编辑器、外部编辑器同步。

许可证

MIT