Airrcat/dsh-yuzuha-prompts-manager ↗★ 1
dsh-prompt-manager
DeepSeek Harness plugin: first-injection assembly inspector + user-managed standing prompts (host plugin + web conversation-view panel)
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-prompt-manager
DeepSeek Harness 的「提示词管理」插件:一个宿主 + 浏览器双面插件,为 dsh web profile 提供独立面板(会话视图里的「提示词管理」标签页)。
声明:本插件由 DeepSeek Harness 的 deepseek-v4-pro-max 模式制作。
功能
1. 首次注入装配检查
通过真实的系统提示词注册表做模拟装配(ctx.systemPrompt.assemble(),不是自己拼字符串):
- 系统提示词每个段的名称、装配顺序、字符数与 token 估算,可展开查看插值后的全文;
本插件写入的段(
user:prompt-manager)单独计入「你管理的提示词」统计并高亮; - 运行时上下文快照的每个条目与整条快照(存在时才显示);
- 提示词变量表(
model、cwd等)与本次模拟的值; - 工具 schema 清单(数量 + 描述),并按每个工具的序列化 JSON(name + description + parameters)汇总 schema 序列化体积(字符 + token 估算);
- 汇总:系统提示词、你管理的提示词、工具 schema 序列化体积,以及三部分合计的 首次注入总长度(字符 + 估算 token)。
装配按当前会话的 agent 作用域进行:含该 agent(preset 层)贡献的段、工具与
model、cwd 等变量;未能在本次装配代入的变量保留占位符并在面板中单独标注。
2. 提示词管理
- 增删改、启用/禁用、上下排序一批要注入给模型的常驻提示词;
- 保存后作为 order 50 的段(
user:prompt-manager,persona 之后、工具引导之前)挂入 系统提示词注册表,下一次装配即生效,无需重启(每个模型步骤都会重新装配); - 空正文或被禁用的条目不注入(段为空时整体消失);
- 数据保存在
$DSH_HOME/prompt-manager/prompts.json,与插件本体分离。
结构
lib/index.js— 宿主插件入口:热加载 runner(watchlib/runtime.js→ 动态 import → 重挂;POST /prompt-manager/reload手动触发)lib/runtime.js— 宿主逻辑(可热加载):注入user:prompt-manager段 + 下面两条路由 (经webServer注册,与/plugins、/api前缀不冲突):GET /prompt-manager/state— 提示词列表 + 按当前会话 agent 作用域的模拟装配结果POST /prompt-manager/prompts— body{prompts: [...]},校验、持久化并重挂段
- 两个文件都只使用 node 内建模块,无第三方 import
lib/client.js— 浏览器插件(__ModuleLoader__包,React 18)- 注册
conversation.view槽位,为每个会话视图添加「提示词管理」标签页 - 通过
fetch调用上述两条路由
- 注册
package.json—dsh.client声明让dsh-client-modules扫描到浏览器面并注入window.__DSH_BOOT__;宿主面由main提供
安装到某个 profile
git clone https://github.com/Airrcat/dsh-yuzuha-prompts-manager.git
# 把包登记为 profile 的本地依赖(dsh plugin 会把参数转发给 profile 目录下的 pnpm)
dsh plugin --profile add file:../dsh-prompt-manager