DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-prompt-editor

A

dsh-prompt-editor

Manifest valid

DSH plugin: View, edit, and save the global system prompt shared by all agents in "More Settings". Changes take effect immediately after saving.

UI (client)hasBundlePatchMachine translated

dsh-prompt-editor

给 DeepSeek Harness 加一页「全局系统提示词」设置,改完保存就生效。

一个 DSH 插件:在「更多设置」里多出一页,用来查看、修改并保存所有 agent 共用的那段系统提示词。纯 JavaScript,没有编译步骤,不改 DSH 内核,只用官方公开的插槽与服务。

全局系统提示词设置页

截图取自桌面客户端:页面在「更多设置」里,紧挨「费用统计」下方。页面第一行脚注会显示当前配置来自哪个文件,上图已隐去本机路径。


❓ 它解决什么问题

想给所有 agent 加一段固定指令,最直觉的做法是去改 dsh-system-prompt 这一行的 personaPrefix。但那样改不会生效,而且不报任何错:

  • 官方默认的 Agent 预设(dsh-web-app/presets/cordis.patch.yml)会为每个 agent 挂一行 @deepseek-ai/dsh-persona,而它注册的段落名和部署级人设同名;
  • dsh-persona 的语义是「作用域内的段落遮蔽部署级默认值」,而不是排在它旁边。

于是你写的文字只存在于配置文件里:用配置读取接口能看到,模型却永远收不到。

本插件的做法是注册自己名字的段落(prompt-editor:global-instructions,order 10)。名字独一无二,任何预设都遮蔽不了它,所以它对所有 agent(含子 agent)都生效。插入位置在官方身份行与人设前缀之后、第一方工具说明之前。

✨ 功能

  • 打开即显示当前保存的那段文字(读的是当前 profile 的真实配置)
  • 保存即生效:写入当前 profile 的 cordis.patch.yml,由 Loader 立即重组,下一轮对话就用上新提示词,不需要重启客户端
  • 清空 = 取消自定义:把输入框清空再保存,配置里的覆盖项会被移除
  • 只用 --dsw-alias-* 主题变量,跟随客户端的明暗主题与字号设置
  • 支持中英文界面文案

📦 安装

前置:DSH 能正常运行(Electron 桌面客户端或 dsh web)。

方式一:插件管理器(推荐)

侧栏「插件」→「添加插件」→ 粘贴本仓库的本地绝对路径(例如 D:\Desktop\dsh-prompt-editor)→ 安装。管理器会自动完成 pnpm 链接、把本包加入 dsh.profile.bundles,并通过 HMR 立即激活。

方式二:CLI

dsh plugin --profile <profile> add github:AGImentu/dsh-prompt-editor

注意:Electron 桌面客户端的 profile 由应用独占管理,CLI 会拒绝操作(profile "desktop" is managed exclusively by the Electron application)。桌面版请用方式一。

方式三:手动 link(CLI 不可用时)

# 在 $DSH_HOME/profiles/<profile> 目录里执行
pnpm add "link:<本仓库的绝对路径>"

然后把 dsh-prompt-editor 加进同一个 package.json 的 dsh.profile.bundles 数组。

安装后重启客户端(或让它自己 HMR 重组),页面就在「更多设置」里。

🗂 文件结构

文件职责
index.js宿主半边(Node 侧):把保存的文字注册成系统提示词段落,并提供读写配置的 HTTP 路由
client.js浏览器半边:注册 settings.section 插槽里的设置页(React,无 JSX 构建步骤)
cordis.patch.yml组合包补丁:向 profile 组合里插入本插件的宿主行
package.json清单:dsh.bundle.patch(补丁位置)与 dsh.client(浏览器半边位置)

🔧 它是怎么工作的

宿主半边(index.js)挂两样东西:

步骤用的官方接口说明
注册提示词段落ctx.systemPrompt.section({ name, order, text })段落名唯一,不会被 Agent 预设遮蔽
提供读写路由ctx.webServer.register({ kind: 'exact', path, handler })GET /prompt-editor/prompt 读,POST 写
配置落盘ctx.configEditor.edit()官方服务:写入前校验、原子替换、保留文件注释、写完立即重组;被更高层覆盖时明确拒绝而不是写进一个不生效的文件

浏览器半边(client.js)只做一件事:往 settings.section 这个列表插槽注册一页,order 取 310,落在官方设置页与其它插件页之间。

⚠️ 已知限制

  • 宿主代码改动需要重启客户端:Node 侧的模块不参与热更;只改 client.js 的话刷新页面即可。
  • 路由没有额外的 cookie 校验:和其它本地插件路由一样只监听本机,但本机其它程序理论上也能调用它改写提示词。
  • 只写当前 profile:dsh web 与桌面客户端是不同的 profile,两边要各配一次。
  • {{...}} 是渲染期变量:{{model}}、{{cwd}} 由框架保证存在;写错的变量名会让提示词组装失败(DSH 会明确报错,不会静默降级)。

🧪 开发

纯 JavaScript ESM,没有构建步骤:lib/ 不存在,源代码就是运行代码。

node --check index.js     # 宿主半边语法
node --check client.js    # 浏览器半边语法

调试入口:设置页 → 打开配置文件的路径;配置就写在当前 profile 的 cordis.patch.yml 里,形如

- id: prompt-editor
  name: "dsh-prompt-editor"
  config:
    text: |-
      ...你的提示词...

License

MIT

Comments

Loading…

Similar plugins

dsh-djy-xttsc

by tianyaojiudi-prog

DSH(DeepSeek Harness) 插件:把一段可在设置页随时改写的文字,作为全局系统提示词段注入到所有会话,含子代理与工作流内部子代理;文本与开关即时生效,无需重启。

Tools & CapabilitiesManifest valid

★ 8

MIT

JavaScript

Oct 4, 2026

dsh plugin --profile web add dsh-djy-xttsc

by masknull

DSH 插件:在每个会话的系统提示词最顶部注入自定义提示词,并可在 Web 设置页中即时编辑。

Manifest valid

★ 0

MIT

TypeScript

Aug 31, 2026

dsh plugin --profile web add dsh-session-prompt

by kee0012

DSH 提示词优化插件:输入框工具栏一键 ✨ 优化(直接写回可还原),风格/上下文/还原等设置收纳进 ▾ 弹出层。

Manifest valid

★ 0

JavaScript

Sep 6, 2026

dsh plugin --profile web add dsh-prompt-optimizer

by konglong87

dsh 常用内容插件:保存、编辑提示词,点击回填输入框,不自动发送。deepseek harness 插件

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 23, 2026

dsh plugin --profile web add dsh-input-list

by sojo-negai

DSH 提示词优化插件 —— 发送前点一下 ✨,模型结合上下文给出「补丁式」建议,勾选回填,不抢发送权。

Tools & CapabilitiesManifest valid

★ 0

↓ 127/wk

MIT

TypeScript

Sep 11, 2026

dsh plugin --profile web add dsh-prompt-refine

by ZZJQ678

全局提示词配置:在对话视图新增一个标签页,写进去的内容会加在每个会话系统提示词的最前面,保存后下一条消息即生效。

Development & InfrastructureSessions & MessagesManifest valid

★ 0

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add dsh-global-context