Pular para o conteúdo principal
S

dsh-user-prompt

sxuan-coder/dsh-user-prompt

Plugin do DeepSeek Harness que injeta um prompt Markdown personalizado em cada solicitação ao modelo como linha de contexto separada. Editável nas configurações, com importação de regras em um clique do Claude Code/Codex.

Instalar

dsh plugin --profile web add github:sxuan-coder/dsh-user-prompt

README

dsh-user-prompt

npm version npm downloads license DSH

✍️ 给 DeepSeek Harness 加一段你自己的提示词:每次对话自动带上,设置页里能改,还能一键导入 Claude Code / Codex 的全局规则。

🧩 纯增量插件,不替换、不禁用任何官方插件。

✨ 是什么

  • 📌 一段常驻提示词 —— 写一次,之后每个会话、每次请求都自动带上,不用重复交代背景和规矩。
  • 🖱️ 设置页里直接编辑 —— 注入 DSH 设置 →「插件 → 插件配置」,一张卡片里开关、写 Markdown、保存,下一次提问就生效,不用重启。
  • 📥 一键导入 —— 把 ~/.claude/CLAUDE.md(Claude Code)或 ~/.codex/AGENTS.md(Codex)读进来,三个工具共用一套规则;导入块有边界标记,重复导入只替换自己那一块,不会越堆越长。
  • 👀 独立一行显示 —— 注入走 DSH 的上下文通道,在对话流里单独一行「上下文注入」,可展开查看,能一眼确认规则注没注进去。
  • 💾 导出成文件 —— 一键写到 ~/.dsh/user-prompt.md,随你用任何编辑器改,再读回来。
  • 🌍 不挑平台 —— Windows / macOS / Linux 同一份代码。

🚀 快速安装

dsh plugin --profile desktop add dsh-user-prompt

把 desktop 换成你实际在用的 profile 名(~/.dsh/profiles/ 下有哪个目录就是哪个)。装完重启 DSH、刷新界面生效。

🌐 从 GitHub 装 / 改源码用
# 直接装仓库
dsh plugin --profile desktop add github:Sxuan-Coder/dsh-user-prompt

# 克隆后本地注册(改代码不用重装)
git clone https://github.com/Sxuan-Coder/dsh-user-prompt
dsh plugin --profile desktop add "link:<克隆路径>/dsh-user-prompt"

🎯 怎么用

  1. 打开 设置 → 插件 → 插件配置 → 自定义提示词;
  2. 勾上「启用注入」,把规则写进文本框(或点「📥 导入 Claude Code」/「导入 Codex」);
  3. 点 保存 —— 下一次提问即生效。

导入内容会先落到草稿,确认后点保存才写进设置;「合并方式」可选「保留手工内容」(默认)或「整段替换」。

💬 斜杠命令:/user-prompt 看状态,/user-prompt path 看导出文件路径。

💡 亮点

亮点说明
🧭 与系统提示词分离走上下文通道,注入内容在对话流里单列一行、可展开,与系统提示词互不混淆
⚡ 保存即生效注入内容是每次组装时求值的,保存后下一次请求就是新内容,不需要重启
🔁 导入幂等导入块被 <!-- dsh-user-prompt:sync begin/end --> 包住,你手写的内容不会被覆盖
🛡️ 坏内容进不去提示词里的完整 {{…}} 会被 DSH 当模板变量导致请求失败,插件在保存时就拒绝
🪂 失败可降级设置服务、连接服务缺失时自动退回组合配置或只读,不会卡在 pending,也不连累提示词注入
🎨 与官方界面同族卡片复用官方 PluginCard 的语义 token 与骨架,深浅色主题一致

📦 生效范围

  • standard(标准模式)、ptc、cordis 三种 agent preset 以及 plan mode 都会注入;
  • minimal 模式用的是 complete: true 的固定极简提示词,它只覆盖"提示词段落"、不影响上下文通道,因此本插件同样注入(该模式本身没有 skill 目录,属它自身设计);
  • 提示词作为会话历史保留,中途修改只影响之后的请求。

⚙️ 配置项

一般不用手改,设置页里都能调;想写进 profile 配置:

字段默认值说明
enabledtrue总开关,关掉就不注入
prompt''提示词正文(Markdown)
syncSources[]上次导入选的来源(仅记录)
lastSync''上次导入时间(仅显示)
maxSyncChars200000单次导入的字符上限,超出会截断

🧑💻 开发

node test/smoke.test.mjs           # 🧪 纯逻辑测试,10 项,不需要安装
node test/client-render.test.mjs   # 🖼️ 设置卡片渲染契约
node test/host-integration.mjs     # 🔌 用桩 ctx 跑真实 apply() + RPC(需已装进 profile)

代码结构:

lib/index.js      Host 半区:设置注册、上下文注入、RPC、斜杠命令
lib/prompt.js     纯逻辑:路径解析、文件扫描、导入块合并、模板校验
lib/client.js     浏览器半区:设置卡片(预构建 JS,无需构建步骤)
cordis.patch.yml  插件注册补丁

🙋 排障

设置里看不到「自定义提示词」卡片 → 确认已重启 DSH(不是只刷新页面);再看 Host 日志 %APPDATA%\DSH Desktop\logs\host\dsh-<日期>.log 是否有这两行:

[I] [dsh-user-prompt] settings namespace "user-prompt" registered
[I] [dsh-user-prompt] RPC route /api/dsh-user-prompt registered

规则没生效 → 卡片里「启用注入」是否勾上、有没有点保存(标题会标「未保存」);对话里展开「上下文注入」看规则在不在;老会话可能保留历史快照,开个新会话确认。

导入按钮找不到文件 → 先确认 ~/.claude/CLAUDE.md / ~/.codex/AGENTS.md 存在,点「重新扫描」。

📄 License

MIT

Plugins relacionados