dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
为 DeepSeek Harness 提供提示词管理器。可管理自己的全局层与工作区层,完整查看 DSH 原件与最终装配文本;其他插件和 Agent 的提示词默认只读,经两次确认后可保存独立覆盖。
仓库已经包含编译后的 lib/,普通用户和安装 Agent 不需要准备开发环境,也不需要先执行构建。
0.5.0 需要宿主提供下文列出的官方提示词、Connection 与 Web 身份校验接口。DSH 0.1.0-rc.5 不受支持;若宿主缺少这些接口,请由用户或管理员决定升级到兼容宿主。本插件不会自动升级 DSH。
System 或 User Context 身份;这是用户和安装 Agent 的推荐方式:
dsh plugin --profile web add "github:WinRNGS/dsh-session-prompt-standalone#main"
如果实际运行的是其他 profile,把 web 换成对应名称。安装完成后重启该 DSH profile。
gh repo clone WinRNGS/dsh-session-prompt-standalone
cd dsh-session-prompt-standalone
dsh plugin --profile web add .
Windows 上建议把仓库放在不含空格的目录中,以避开部分旧版 DSH CLI 转发本地路径时的参数解析问题。
在仓库目录执行:
npm pack
dsh plugin --profile web add ./dsh-external-dsh-session-prompt-0.5.0.tgz
安装 Agent 可以直接执行方式一;若环境禁止 Git 依赖,则下载仓库后执行方式二。无需修改 DSH 源码或手工复制 lib/。
打开 DSH Settings → 提示词管理器,或在会话输入栏右侧点击 提示词管理。设置页需要明确选择“查看的会话”;未选择时只显示全局与宿主预览。输入栏入口直接使用该会话。
在“我的提示词”中:
System 或 User Context;“恢复默认”会恢复插件配置中的初始全局值;“移除覆盖”只删除当前工作区层。
在“其他 DSH 提示词”中,默认可只读查看每段名称、来源、身份、原件位置、最终位置、覆盖来源,以及完整原件/渲染/最终文本。高级编辑必须先阅读风险警告并确认,再在新的确认面板核对影响范围和恢复方式,手动输入“解锁高级编辑”后提交第二次确认。令牌只在内存中保存,服务端也验证权限;关闭面板、切换会话/范围和锁回会撤销本面板编辑权限。
解锁后可编辑覆盖正文、最终位置,或取消“保留这一段在最终提示词中”以移除该段。全局覆盖影响所有会话,工作区覆盖按所选实时 Agent 的真实 cwd 保存并优先于全局。删除本作用域覆盖恢复提供方原件;删除工作区覆盖后若存在全局覆盖,则继续继承全局。重置按钮只删除本作用域的高级覆盖,不删除“我的提示词”。保存冲突时草稿保留,必须重新读取最新配置、对照预览后再合并保存。
编辑的是提供方本次求值生成的正文,不是函数源码。保留提供方原有的变量解释方式:已经启用模板插值的段可以使用当前可用的 {{变量}},未知变量会被拒绝;设置为不插值的段保留字面文本。工具指导段可编辑,但工具 schema 不在此处修改。完整 complete 宿主提示词、空/无效原件、本插件自己的注入层等受保护项会明确标为只读。本插件注入层仍在“我的提示词”修改。原件位置和最终位置是同身份列表的装配序号,不代表原插件的注册排序值。
模型可以调用 dsh_session_prompt_set 提议修改全局正文,但真正写入前必须经过 DSH 原生审批界面的人工确认。工具结果不会重复回显完整提示词。
| 身份 | DSH 原生机制 | 行为 |
|---|---|---|
System | systemPrompt.section() | 每次模型请求时重新装配进真正的 system prompt;恢复会话或压缩上下文后仍然存在。 |
User Context | systemPrompt.context() | 生成带来源信息的 user-role runtime-context 快照;只在内容变化时投影新快照,不会每轮机械重复追加。 |
User Context 是 DSH 当前最接近“聊天中注入”的原生通道,但不是任意历史深度插入。插件不伪造 Assistant 消息,也不提供“倒数第 N 条消息”注入,以免破坏会话恢复、工具调用与消息配对。
全局层和工作区层可以同时生效。工作区层使用当前会话工作目录的规范化路径作为内部键,浏览器不能自行指定其他工作区路径。
排序值越小越靠前。参考顺序:
-10001020100–199System 和 User Context 属于两个独立序列,排序值只在各自序列内比较。
自定义层设置以明文 JSON 保存在本地 DSH 数据目录的 dsh-session-prompt.json 中。当前格式版本为 2:
{
"version": 2,
"global": {
"enabled": true,
"prompt": "全局规则",
"role": "system",
"order": 10
},
"workspaces": {
"normalized-workspace-key": {
"path": "workspace-path",
"enabled": true,
"prompt": "项目规则",
"role": "user-context",
"order": 20
}
}
}
If-Match 检测陈旧草稿,冲突返回 409;If-Match 检测陈旧草稿;这些格式与并发检查不代表用户身份认证;上条双花括号限制仅适用于“我的提示词”自定义层;高级覆盖保留提供方的变量解释模式。
高级覆盖独立保存在同一数据目录的明文 JSON 文件 dsh-prompt-manager.json(格式 version 1),不迁移或覆盖原有 version 2 自定义层。它也使用原子写入、revision、跨进程锁和文件热重载;异常/未来版本进入只读保护。WebServer 模式下,原自定义层 API 与高级管理器 API 两类提示词 HTTP 接口均经过 DSH 标准 requestRejection 与连接 Cookie 身份校验,复用宿主已有凭证,不需要额外插件密码或 API Key;高级 Web 写操作还检查真实 socket 是否为 loopback、请求来源是否同源,并要求两次人工确认。没有 WebServer 的宿主通过官方 @deepseek-ai/dsh-client-connection 本地 Connection carrier 提供标准本地路径;本地 Fetch 适配使用 POST /delete 以兼容不支持 DELETE 的 Connection 契约。协议标记、请求头、revision 或来源字符串本身都不授予权限。服务端重启会清除编辑授权,但继续装配已有覆盖。
两次确认是降低误操作风险的操作门槛,不是登录、身份认证或模型安全沙箱;loopback、同源和宿主连接校验也不构成绝对安全保证。提示词仍由用户配置的模型服务按正常模型请求处理。
提示词只能影响模型行为,不能保证任何模型百分之百遵循。
dsh-session-prompt.json 损坏,插件会在下一次保存前保留原文件的带时间标记备份。备份包含原 JSON 内容,因此也可能包含原提示词和工作区信息。0.1.0-rc.5 不支持这些所需契约。若当前宿主版本不具备它们,需要由用户或管理员先升级宿主;插件不会自动升级宿主,也不承诺兼容所有版本区间。在 bundle 配置中设置初始全局提示词:
- insert:
- id: dsh-session-prompt
name: '@dsh-external/dsh-session-prompt'
config:
prompt: '你的初始全局提示词'
设置文件优先于该初始值。“恢复默认”会回到此值;未配置时使用插件内置文本。
更新时重新执行对应的安装命令,然后重启 DSH。设置文件独立于插件包,正常更新不会清除已有提示词。
卸载请使用 DSH 自身的插件管理命令。卸载插件不会自动删除设置文件,便于重新安装后恢复;如需彻底清理,应由用户自行确认后删除该设置文件。
只有修改 TypeScript 源码时才需要一份已经安装依赖的 DSH checkout:
DSH_CHECKOUT=<path-to-dsh-checkout> npm run typecheck
DSH_CHECKOUT=<path-to-dsh-checkout> npm run build
npm run test:smoke
npm run test:manager
npm run test:client
DSH_CHECKOUT=<path-to-dsh-checkout> npm run test:transport
npm pack
PowerShell 可先设置同名环境变量,再执行这些命令。构建脚本会临时链接 DSH workspace 依赖;这些依赖不会进入仓库或发布包。
主要目录:
src/index.ts 宿主端:设置、注入、工具、API、预览
src/default-prompt.ts 内置默认提示词
src/prompt-manager.ts 高级覆盖、装配拦截、确认权限与管理器 API
src/prompt-http.ts WebServer HTTP 入口与标准连接认证适配
src/safe-diagnostic.ts 敏感诊断信息脱敏
src/client/api.ts 客户端 Web / 本地 Connection API 适配
src/manager-types.ts 管理器共享契约
src/client/index.ts 正式设置页与输入栏入口
src/client/manager.ts 统一管理界面与两次确认
src/client/custom-layer.ts 原有自定义层编辑器
lib/ 已编译、可直接安装的发布产物
scripts/ 构建、冒烟、管理器、客户端与传输测试
cordis.patch.yml DSH bundle 装配层
MIT