dsh-genui-scope:按层级裁剪 GenUI 卡片系统提示词

前言

在 DeepSeek Harness(DSH)里启用 dsh-genui 后,模型会收到一整套 GenUI 卡片组件的系统说明。官方实现把 46 个组件的 schema 写进提示词,体量大约 30,900 字符,约占整段系统提示词的一半。多数会话其实只用其中几类——写代码不必带图表,纯聊天不必带表格——但默认配置仍每轮把完整说明重发一遍,既占上下文窗口,也可能让模型在大量组件里选错。

社区插件 dsh-genui-scope(维护者 SnakeDream)在系统提示词组装阶段按 全局 / 工作区 / 会话 三级裁剪 GenUI 段落,被排除的组件目录、JSON Schema 枚举和示例片段都不会再发给模型。下面介绍它的定位、安装方式与典型用法。

这是什么

dsh-genui-scope 是面向 DSH 的插件,分类上属于模型推理相关能力:它不替模型做推理,而是通过缩小每轮系统提示词里的 GenUI 说明,间接改善上下文利用与组件选择。卡片渲染仍由 dsh-genui 提供;本插件只监听 system-prompt/assemble,在 dsh-genui 注册的提示词 section 上做文本裁剪,不修改 dsh-genui 本体。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。安装前建议自行浏览仓库源码与许可证,插件以当前 Harness 进程权限运行。

核心功能

三级作用域与优先级

在 设置 → 组件选择 中配置:

  • 全局:对所有工作区生效
  • 工作区:仅对该工作区下的会话生效
  • 会话:仅对当前会话生效

优先级为:会话 > 工作区 > 全局 > 不限制。新建会话时可先进入「新建会话」页挑选组件再创建,规则会写入会话;对话中也可让模型通过 card_components 工具修改(见下文典型用法)。

预设与实测效果

README 在默认提示词(61,836 字符)上给出的实测对比如下(组件数与字符数为资料原文数据):

方案 组件数 提示词字符 节省
不限制 46 61,836 —
lean(文字+表单+表格) 34 46,835 24.3%
form 32 40,574 34.4%
chart 31 40,102 35.1%
table 21 31,362 49.3%
text 18 23,854 61.4%

除 token 与费用外,资料指出组件 schema 噪声可能导致模型误选组件,裁剪后更容易选对。

工具 card_components

action 说明
status 当前生效的层级与组件
catalog 全部可用组件
list 自定义预设
use 套用预设:all / lean / text / form / table / chart
set 显式指定组件列表
clear 清除某层规则

配置项 force 默认 ["TinyCard"],表示永远保留的组件。

状态与可改配置

状态默认保存在 $DSH_HOME/genui-scope.json。插件配置项(均可修改):

键 默认值 说明
stateFile genui-scope.json 状态文件名
logFile genui-scope.log 告警日志
routePrefix /api/genui-scope 设置页 HTTP 路由前缀
sectionPattern genui 要拦截的提示词 section 名匹配
force ["TinyCard"] 永远保留的组件
anchors 三条中文锚点 提示词里组件段落的起始标记

安装与启用

要求(README 原文):DeepSeek Harness 0.2.1-rc.5(其他版本未验证)、dsh-genui 已启用。package.json 要求 Node >=22。

官方安装步骤:

  1. 下载本仓库(或取得插件目录的本地副本)
  2. 在 Harness 里用插件管理器 安装该目录(本地目录安装)
  3. 重启一次 Harness——host 侧提示词过滤需重新加载;首次安装必须重启,之后规则改动即时生效,无需再重启

资料未给出 dsh plugin add github:... 一类远程一键命令,请勿凭插件名自行拼接。

典型用法

图形界面

打开 设置 → 组件选择。界面总览见仓库 assets/overview.png;全局规则、工作区与会话、新建会话等截图在 assets/ 目录。

对话中让模型改范围

可直接用自然语言,模型会调用 card_components:

这个会话只要表格和图表
把当前工作区设成 lean

场景示例(来自 README)

系统提示词每轮都会重发。对固定用途、长轮次且几乎不用复杂卡片的会话(例如群聊式短消息、挂机闲聊),把工作区设为 text 时,组件说明从约 3 万字降到不足 1 万,整段提示词可从 61,836 字符降到 23,854;同一工作区新开会话会继承工作区规则。需要卡片时改回对应预设或 all,下一条消息生效,当前轮次不受影响。

原理与注意事项

插件在 system-prompt/assemble 上裁剪;若 dsh-genui 关闭或其 section 改名,插件不会产生效果(设置页仍可选)。若上游改掉提示词锚点,插件会静默跳过并在 genui-scope.log 告警。

官方实践一般不建议在 system-prompt/assemble 里增删文本;此处是因为 dsh-genui 未提供按会话裁剪的接口。下列内容与 DSH 版本绑定,升级后可能失效:会话日志格式、workspace.json 结构、会话目录编码、client 侧 settings.section 等;跨版本不保证,问题可先查 genui-scope.log。

结尾

dsh-genui-scope 适合已经启用 GenUI、又希望按场景收紧卡片说明的 DSH 用户:用全局 / 工作区 / 会话三级规则减少每轮固定前缀,并在需要时快速恢复完整组件集。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜