dsh-web-ui
zhu1090093659
Plugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:KhalilYamber/dsh-prism
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
简体中文 | English
DSH 界面两档模式插件:简化 / 原生一键切换,工具卡片白话化,降低 DeepSeek Harness 的上手门槛。新手看白话,老手要完整,同一套界面两种读法。
项目仍在持续迭代:跟进 DSH 接口演进、扩充工具覆盖、打磨简化档体验,欢迎试用与反馈。
DeepSeek Harness 发布后,社区对它的批评集中在一点:门槛。
DSH 的毛坯房是刻意为之,但「想省事的人」和「要全功能的人」不该被迫接受同一套界面。dsh-prism 用两档模式回应这个矛盾:
| 档位 | 适用的人 | 界面表现 |
|---|---|---|
| 简化 | 想先用起来、不想研究术语的人 | 工具调用归组折叠:正式回复前的一串调用收成一行统计,点开展开面板看每个工具的交付文档 |
| 原生 | 老手、需要完整信息的人 | 插件零接管,产品原貌原样渲染,一个像素都不改 |
默认原生档,切换一次即生效,刷新页面回原生档。不想用的时候,卸掉插件,界面回到出厂状态,没有任何残留。
file_path 等参数用 basename 呈现)token / secret / password / api_key / authorization 等敏感参数名永不展示sk-xxx、Bearer xxx、key=xxx)替换为占位符pwsh → 「正在电脑上执行一条命令」),其中 19 个没有原生卡片的工具在 v1.0.0 起由插件卡片接管;v1.1.0 起简化档把工具调用整体收成折叠组,组内所有工具行(含有原生卡片的 read / write / web_search 等)统一按白话规则渲染,原生档下它们仍是产品原版卡片--dsw-alias-* 设计变量,明暗主题自适应需要先装好 DeepSeek Harness(Node.js 22.19+ 或 24+)。
当前通过 GitHub 发布,克隆本仓库后以本地路径安装:
npx -y @deepseek-ai/dsh plugin --profile web add <本仓库目录>
也可以直接从 Releases 下载打包产物。启动 Web UI 后,左下角会出现悬浮入口。
为什么刷新后回到原生档? 档位存在内存里,这是刻意设计:简化档是临时辅助,不想用的时候刷新即消失,不留任何状态。
为什么有些工具卡片看起来没变?
read、write、web_search 等工具官方已有产品级原生卡片,插件不为它们注册替代卡片(原生档完全原版);简化档把它们与其他工具一起收进折叠组,以统一的白话行展示,不改变官方卡片本身。
简化档会影响 agent 干活吗? 不会。插件只改界面显示,模型收到的输入输出与原生完全一致。
点开详情后表格 / 代码块是什么效果?
结果文本先脱敏,再按 Markdown 子集渲染:| a | b | 表格、``代码块、#标题、-列表、粗体`、行内代码与 commit 哈希高亮;任何解析失败都退化为纯文本。
有想法或遇到不适配的工具,欢迎开 issue 讨论。
ToolGroupNode 裸用 framework hook useSession,每次渲染抛错导致槽位条目退出、回退产品原版渲染,两档看起来一样);改为从组件 props 取运行时注入的 hooktoolRowMeta,时间线卡片与折叠组面板共用,文案与状态完全一致priority: -1 shadow 产品渲染;白话卡片不再注册到 tool.call.toolview(该槽在简化档无消费方),折叠组面板内直接渲染TOOL_RULES,提 PRlib/client.js 保持一致(零依赖、React.createElement、中文注释)lib/client.js)TOOL_RULES 规则表:33 个工具 → 白话文案与参数摘要声明
ARG_NAME_RULES 参数名规则:无显式声明的工具按参数名自动生成摘要
SENSITIVE_KEY 敏感参数名(任何情况下不展示其值)
注册是动态的:conversation.chat.node 的 tool-call 渲染器仅在简化档注册(以 priority: -1 shadow 产品 ToolCallTree;keyed 槽同 key 同 priority 的注册会抛错,更低 priority 者胜出),原生档零注册,产品界面原样呈现。折叠组面板内的工具行直接渲染白话卡片,不经 tool.call.toolview 槽分发(该槽的消费方是产品 ToolCallTree,简化档下已被 shadow)。
| 字段 | 含义 |
|---|---|
tools |
工具名(数组);多个工具共用一条规则 |
doing / done |
进行中 / 完成的白话文案;缺省时自动生成通用文案 |
complex |
标记复杂工具:简化档默认折叠成一行,点击可展开 |
noArgs |
不显示参数摘要(保持原有行为) |
arg.pick |
候选参数键,按序取第一个非空字符串 |
arg.mode |
呈现方式:file=路径只留文件名 / raw=原文 / short=截断(配 max)/ count=数组计数(配 unit)/ wrap=(值)包裹 / fixed=固定文案 |
arg.prefix |
摘要前缀 |
arg.fallback |
参数缺省时的文案;不填则不显示摘要 |
TOOL_RULES 加一行,只写工具名即可:doing/done 自动生成通用白话文案,参数摘要由 ARG_NAME_RULES 按参数名自动生成(如 file_path → 「文件:xxx」、url → 「链接:xxx」),简化档折叠组面板自动按规则渲染该工具行。doing / done / arg;想让它默认折叠则加 complex: true。read / write 等)按规则渲染成白话行;原生档下它们仍是产品原版卡片,无需特殊处理。cordis.patch.yml:bundle patch 注入(insert prism)。package.json:dsh.client.inject: ["@deepseek-ai/dsh-client-runtime"],浏览器半体经 exports["./client"] 加载。node_modules/dsh-prism junction 直接指向工作树装配;修改 lib/client.js 后刷新页面即生效(无需同步副本)。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: simplified-ui、web-ui。