插件目录 / Developer / dsh-prompt-inject
dsh-prompt-inject
已验证 · 实测可装 H1a3x
✓ 持续维护 基于 2 个官方 DSH 包
0Stars
0Forks
0未关闭 issue
JavaScript语言
2026-08-14最近推送
跨平台平台
功能简介
系统提示模板注入,全局默认+工作区覆盖
我们的评价
可用 — 实测通过,早期项目
可用 — 实测通过,早期项目
系统提示模板注入,全局默认+工作区覆盖 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-prompt-inject
简体中文 | [English](README.en.md) > 为 https://github.com/deepseek-ai/deepseek-harness Web 界面提供的系统提示词注入模板管理器。 https://img.shields.io/npm/v/dsh-prompt-inject](https://www.npmjs.com/package/dsh-prompt-inject) https://img.shields.io/badge/license-MIT-blue](LICENSE) 在 **设置 → 插件 → 提示词注入模板** 中维护多套命名提示词模板,并把选中的模板注入到每个会话的**系统提示词正文**。支持一个全局默认模板 + 每个工作区独立选一套模板;选中即生效,无需单独开关,切换后下一条消息即生效。功能
- 🗂️ **多套命名模板**:增、删、改、预览任意数量的提示词模板 - 🌐 **全局 + 按工作区**:一个全局默认模板;每个工作区可独立选择「跟随全局 / 不注入 / 指定模板」 - ⚡ **即时生效**:变量在每次组装时求值,中途切换下一条消息即生效,新会话自动生效 - 🧩 **注入系统提示词正文**:order 50(位于部署人设之后、工具指引之前) - 🌍 **中英文双语**:卡片文案跟随 Harness UI 语言(zh / en) - 🎨 **深浅主题适配**:UI 使用 Harness 主题 CSS 变量自动跟随明暗安装
``bash
npx dsh-prompt-inject install
`
安装器会自动完成(幂等,可重复运行):
1. 将包安装到 $DSH_HOME/profiles/node_modules/dsh-prompt-inject(dsh 插件解析根,真实目录)
2. 将组合行写入 $DSH_HOME/profiles/<profile>/cordis.patch.yml
完成后**重启 dsh 并刷新浏览器页面**即可。重启是唯一需要手动完成的步骤——宿主模块与组合在进程内缓存,插件无法安全地重启自己的宿主进程。
从源码安装
`bash
git clone https://github.com/H1a3x/dsh-prompt-inject.git
cd dsh-prompt-inject
node scripts/install.js --from . --force
`
可选参数
| 参数 | 说明 |
|------|------|
| --profile <name> | 指定目标 profile(默认 web) |
| --force | 覆盖已安装的包 |
| --from <path> | 从指定目录安装(默认脚本所在包的根目录) |
使用
安装并重启后,打开 **设置 → 插件 → 提示词注入模板**:
1. 点「添加模板」,输入名称与提示词正文
2. 在「全局生效模板」下拉里选一个作为默认模板(未在下方覆盖的工作区使用它)
3. 在「按工作区覆盖」里给某个工作区单独选一套模板,或选「不注入」
4. 每个模板行有「预览」按钮,可随时查看正文
选中即生效——无需单独的开关。切换后下一条消息即注入新模板,新会话自动生效。
> 工作区匹配以 host 侧 realpath 规范化后的路径为键,与 agent 会话的 cwd 同源,因此一一对应。
工作原理
`
lib/index.js 宿主半:settings 命名空间 + systemPrompt 变量/段 + /prompt-inject 路由
lib/client.js 浏览器半:设置页卡片(shell module-table 格式,无构建步骤)
scripts/install.js 一键安装器
`
注入通过 systemPrompt.variable() + systemPrompt.section() 实现:段文本固定为 {{dsh_prompt_inject_text}},变量 provider 在每次组装时读取当前 settings 与 agent 的工作区,返回该工作区应注入的模板文本。
**插件装载契约**:
- package.json 声明 dsh.client.platform = "web" 及 inject 依赖,宿主扫描器据此生成 window.__DSH_BOOT__ 图行并挂载 /plugins/<id>/client.js 路由
- 浏览器半以模块表格式打包,工厂返回 { apply, inject }
- UI 入口通过 ctx.slots.inject('settings.plugin.item', …) 注入到设置 → 插件 配置段
- 热更新边界:lib/client.js 内容变化刷新页面即生效;dsh.client 声明变化需要重启 dsh
卸载
删除 $DSH_HOME/profiles/node_modules/dsh-prompt-inject 目录,并从 cordis.patch.yml 移除以下行,然后重启 dsh:
`yaml
- insert:
- id: prompt-inject
name: dsh-prompt-inject
`
也可以保留组合行,在 Harness 设置页的插件清单里禁用本插件。
开发
`bash
npm run check # 语法检查
npm run install:local # 本地安装验证
``
许可证
[MIT](LICENSE) © H1a3x友情链接
- https://linux.do/安装
🧩 让 Agent 自动装(推荐)
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-prompt-inject」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
Web profile:
dsh plugin --profile web add dsh-prompt-inject Headless(CLI)profile:
dsh plugin --profile headless add dsh-prompt-inject 包信息
npm:dsh-prompt-inject · 版本 0.1.0 · 实测环境 dsh 0.1.0-rc.6
实测报告
端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。