dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
会话注入门控:按会话裁剪注入模型的 skill / tool / 提示词段落 · Per-session injection gate for DeepSeek Harness (dsh)
DeepSeek Harness 生态里第一个「按会话裁剪上下文注入」的插件:写 NoneBot 时用不上 dsh 插件开发知识库,纯聊天时用不上生图工具——本插件让你按会话决定向模型注入哪些 skill、tool、系统提示词段落,其余的在本会话内对模型完全不可见。
3 条影子通道(skill / tool / 段落)· 5 条本地路由 · 0 依赖 · 0 配置 · 不改核心包
装完你会看到:
dsh plugin --profile web add dsh-plugin-context-trim
或从 GitHub 安装:
dsh plugin --profile web add github:Pasumao/dsh-plugin-context-trim
源码安装(本地开发 / 调试):
git clone https://github.com/Pasumao/dsh-plugin-context-trim.git
cd dsh-plugin-context-trim
npm install
# 以 link: 方式挂载进 profile(与 dsh.profile.bundles 同机制)
装完重启 dsh(launcher)并刷新浏览器。包自带 cordis.patch.yml 挂载行,经 dsh.profile.bundles
自动应用,无需手动改任何配置。host 侧代码改动需重启 dsh;client 侧改动浏览器强刷即可。
dsh-plugin-nonebot-kb 整组),
底部实时显示「已裁剪 N 项,预计每步请求减少约 X 字符」;| 功能 | 说明 |
|---|---|
| 按会话裁剪 skill | 同名影子技能以 modelInvocable:false 压制原技能:<available_skills> 目录消失,skill 工具按名加载也被拒 |
| 按会话裁剪 tool / MCP 工具 | tools.restrict({ deny }) 逐工具隐藏(MCP 工具天然覆盖),未知名自动跳过防竞态 |
| 按会话裁剪提示词段落 | 同名空文本 section/context 影子,渲染层自动丢弃;无法归属插件的段落默认锁定防误伤 |
| 树表弹窗 | 按插件聚合、三态勾选、组行批量设置且跳过锁定行、类型标识配色随主题自适应、可拖动/缩放 |
| 关键能力保护 | 文件读写 / 控制台 / 技能总闸带 ⚠ 标识,取消需确认,恢复免确认 |
| 会话锁定与强制更改 | 会话已开始(落盘 ≥1 步)后只读锁定;「强制更改」确认后解锁并热生效(下一 step) |
| 新会话默认模板 | 「存为默认 / 恢复默认」管理工作区级模板,每个新会话自动套用 |
| 状态点 | 绿=全量注入 / 橙=有裁剪 / 灰锁=已锁定;未锁定时按钮以品牌强调色点亮 |
本插件零配置(zero-config):安装即用——没有密钥、没有账号、没有任何必填字段。
选择数据自动持久化在 $DSH_HOME/dsh-plugin-context-trim.json(UTF-8 无 BOM,原子写入),
一般无需手工编辑;HTTP 路由有多层安全加固:仅接受本机回环来源(remoteAddress 为空一律拒绝)、
校验 Host 头(仅允许 127.0.0.1/localhost 且端口匹配)、请求体上限 2MB,仅服务本机 GUI。
对被取消的条目,插件只在 agent 自己的作用域层叠加同名「影子条目」压制全局原条目, 注册表里的原条目一个字节都不动:
| 通道 | 手段 | 效果 |
|---|---|---|
| skill | agent.ctx.skills.register(同名影子, modelInvocable:false) | 目录消失 + 按名加载被拒 |
| tool / MCP | agent.ctx.tools.restrict({ deny:[name] }) 逐工具 | 模型请求看不到该工具 |
| 提示词段落 | agent.ctx.systemPrompt.section(同名, text:'') | 空文本段落被渲染层丢弃 |
注册经 agent.ctx.inject([service], …) 子插件 fiber 落在 agent 作用域层(cordis 的
agent.ctx 服务属性受 inject 白名单保护);agent 销毁时 cordis effect 自动 unwind——
零残留、零跨会话影响。重复应用按 generation token 先 dispose 上一代再重建(幂等);
影子 skill 注册前先经全局视图取完整原定义(含正文),只覆写 modelInvocable。
0.1.2-rc.1(API 均为官方文档化扩展点:ctx.skills / ctx.tools.restrict /
ctx.systemPrompt / ctx.webServer / 插槽系统)provider 时,其技能归入「运行时技能」组(归属表随版本维护)remoteAddress 拒绝)+ Host 头校验
(仅 127.0.0.1/localhost 且端口匹配)+ 请求体 2MB 上限,不暴露公网Q:取消某个插件后,之前会话里它生成的内容会消失吗? 不会。门控只影响「之后发给模型的上下文组装」,历史消息原样保留。
Q:新会话为什么是绿点?已开始的会话为什么锁住? 绿点 = 与默认行为一致的全量注入。会话一旦落盘过模型步骤(已开始),注入即锁定, 防止运行中的会话被静默改变;确需修改点「强制更改」,下一 step 热生效。
Q:想让所有新会话默认去掉知识库技能? 在任意会话里勾好,点「存为默认」——该工作区之后的新会话自动套用这套裁剪。
本插件属于 Pasumao 的 dsh 插件生态,同系列已发布插件可搭配使用:
| 插件(npm) | GitHub | 说明 |
|---|---|---|
| dsh-notify | GitHub 仓库 | Windows 原生通知 + 系统托盘 |
| dsh-plugin-choice-refresh | GitHub 仓库 | 选择增强:重新生成选项 / 更多选项 |
| dsh-plugin-dev-kb | GitHub 仓库 | 插件开发知识库(官方文档完整镜像 + 技能) |
| dsh-plugin-image-tools | GitHub 仓库 | 图片选择卡 / 回复内嵌图 / 盲模型收图 |
| dsh-plugin-table-zoom | GitHub 仓库 | 聊天长表格浮窗查看 + 一键复制 Markdown |
| dsh-plugin-windows-guard | GitHub 仓库 | Windows 环境防坑:守则技能 + 编码诊断修复 |
| dsh-plugin-workbench | GitHub 仓库 | VS Code 风格文件浏览器 + 可编辑预览 |
本系列其余插件见 Pasumao · dsh 插件;觉得好用欢迎到 GitHub 点 ⭐。
代码与文档由 AI 辅助生成(DeepSeek Harness),均经人工审查与自检验证
(npm run selfcheck:包一致性 / 乐观锁与持久化 / 影子应用幂等 / 归属表断言)。