deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:errorcode7/dsh-prompt-manager
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
把 DeepSeek Harness 的系统提示词从"黑盒字符串"变成可视化、可配置、可审计的流水线,方便精细化管理和学习提交到服务器的提示词:
设置页「提示词管理」——预设列表、开关切换与表单化规则编辑器:

全屏幕布——提示词组装流水线(来源 → 覆盖 → 插值 → 最终):

最终渲染结果展示——系统提示词渲染输出:

围绕两个目标:管理提示词、展示提示词是怎么来的。
$DSH_HOME/prompts/。想换风格、想验证注入防御,开关一下,下一个模型步骤就生效;直接改文件也即时热重载。Harness 的系统提示词本来就不是一整块文本:各插件用 systemPrompt.section({ name, order, text }) 注册分段,组装时按 order 升序渲染、空段丢弃、以空行连接。本插件借这套机制的扩展点做"预设改写"和"组装观测",不碰注册表、不动其他插件——停用预设即可完全还原:
| 我们的功能 | 借用的框架机制 | 实现方式 |
|---|---|---|
| 预设改写提示词 | 官方 system-prompt/assemble waterfall 扩展点 |
挂在 waterfall 末尾,组装完成后按激活预设的规则改写(replace / insert / remove),返回值权威、对所有作用域生效 |
| 置顶 / 精确排序 | 注册表按 order 排序的既有语义 |
任一规则带 order/top 时整体稳定升序重排;top = order: -1000,压过 harness:identity(-100)排到最前 |
| 编辑 / 切换 / 固化 | ctx.tools.register(dsh-tools) |
4 个 agent 工具:switch_prompt / list_prompts / get_prompt / save_prompt |
| 设置页管理界面 | client 模块 + ctx.slots.inject("settings.section") |
注册「提示词管理」设置 tab |
| 幕布全屏页 | webServer.register 独立路由 + loopback /api RPC |
页面每次加载实时拉取组装快照 |
| 实时快照与轮次回看 | system-prompt/assemble + agent/pre-step 事件 |
每次真实模型步骤捕获 pristine / applied / 变量 / 工具 / 用户输入,host 保留 20 轮 |
| 预览 = 最终效果 | previewPreset RPC 复用同一纯函数 |
host 用与运行时同一个 applyPreset 应用草稿并返回落位(单一事实来源),客户端不复制算法;基准取最近一次真实组装 |
| 文件热重载 | fs watch + 版本守卫 | 预设目录变更即重载;并发刷新乱序提交被丢弃 |
几个要点:
applyPreset 是纯函数,预览和运行时共用它,预测落位必然与模型实际收到的一致。?draft= 浮层叠加。dsh plugin --profile web add dsh-prompt-manager # 发布到 npm 后
# 或从源码目录
dsh plugin --profile web add /path/to/dsh-prompt-manager
# 内置预设(随插件分发,只读)
<插件安装目录>/dsh-prompt-manager/presets/
# 个性化预设(用户数据,可编辑/删除)
$DSH_HOME/prompts/
├── active.yml # active: <preset>(null = 不启用)
└── <preset>.yml # 每个预设一个文件(label / description / overrides)
label: 创作模式
description: 面向创意写作的提示词集
overrides:
- action: replace # replace | insert | remove
section: deployment:persona
text: |
你是一位创意写作助手……
- action: insert
section: creative:guidance
after: tools:guidance # 可选:插入到该段之后;缺省追加到末尾
text: |
写作流程建议……
- action: insert
section: security:top-guard
top: true # 置顶/压倒一切:排到 harness:identity(order -100)之前
text: |
最高优先级规则……
- action: remove
section: plan-mode:prompt
替换文本中的 {{variable}}(如 {{provider}} {{model}} {{cwd}})保留给渲染阶段正常插值。
| 工具 | 说明 |
|---|---|
switch_prompt |
切换 active preset 或停用(off: true) |
list_prompts |
列出预设、active 与当前提示词段 |
get_prompt |
读取指定 section 的当前文本(如 deployment:persona) |
save_prompt |
把当前 section 文本固化为某 preset 的 replace 规则 |
complete: true 段时,注册表会在 waterfall 之后把它还原为唯一提示词段,preset 对 sections 的改写不生效。dsh-persona 行或 agent.ctx 注册实现。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。