dsh-ui-enhance
by xjackzenvey
为 DeepSeek Harness Web 界面提供一组可选的交互与样式增强。
安装
dsh plugin --profile web add github:xjackzenvey/dsh-ui-enhanceGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
为 DeepSeek Harness Web 界面提供一组可选的交互与样式增强。

当前版本:0.4.0
功能
语音输入
在“发送消息”按钮左侧增加麦克风按钮,通过浏览器 Web Speech API 将语音识别结果写入消息输入框。
- 点击麦克风开始或停止识别。
- 识别结果会追加到当前输入内容,不会自动发送。
- 权限被拒绝或浏览器不支持时会显示对应状态。
- 需要浏览器授予麦克风权限;建议使用支持
SpeechRecognition的 Chromium 浏览器。
工具调用折叠
自动将连续且类型相同的工具调用合并为一张可展开的汇总卡。例如:
Read 3 Files
展开汇总卡后会恢复原有工具行、文件链接和详情交互。不同工具调用,或被思考、文本等内容隔开的同类调用,不会被合并。
该功能默认开启,可在以下位置即时切换:
设置 → 插件 → 插件配置 → Dsh UI 增强 → 工具调用折叠
开关会自动保存,关闭时页面会立即恢复为 Harness 原生工具调用列表。
自定义 CSS
在插件设置中提供多行 CSS 编辑器。内容修改后立即应用于整个 Harness 页面,并自动保存。
button[aria-label="发送消息"] {
border-radius: 999px;
background: #7c3aed;
color: white;
}
清空编辑器即可移除自定义样式。自定义 CSS 作用于整个页面,错误或过于宽泛的选择器可能影响 Harness 原有布局。
环境要求
- Node.js
^22.19.0或>=24.0.0 - pnpm
11.19.0 - DeepSeek Harness Web profile
- 当前开发依赖以 DeepSeek Harness
0.1.0-rc.6客户端包为基准
在线安装
dsh plugin --profile web add "dsh-ui-enhance"
本地安装
克隆或下载本项目后,在项目根目录执行:
pnpm install
pnpm build
dsh plugin --profile web add .
然后启动 Harness Web profile:
dsh --profile web
如果 profile 已安装本插件,修改源码后重新构建并重启 Harness 即可加载最新客户端包:
pnpm build
卸载插件:
dsh plugin --profile web remove dsh-ui-enhance
dsh plugin会将后续参数转发给 pnpm,并在成功后自动更新 profile 的 bundle 配置。
开发
安装依赖:
pnpm install
运行自动化测试:
pnpm test
运行 TypeScript 类型检查:
pnpm typecheck
生成类型声明及客户端、Host 构建产物:
pnpm build
构建结果位于 lib/,该目录不会提交到 Git。
项目结构
.
├─ cordis.patch.yml # 插件 bundle 配置层
├─ src/
│ ├─ index.ts # Host 设置 schema 注册
│ ├─ settings-contract.ts # Host 与客户端共享的设置契约
│ └─ client/
│ ├─ index.ts # 客户端入口与 Harness slot 注册
│ ├─ MicrophoneButton.tsx # 语音输入按钮
│ ├─ speech-recognition.ts # Web Speech API 类型与适配
│ ├─ CustomCssCard.tsx # Dsh UI 增强设置卡
│ ├─ custom-css-controller.ts # CSS 即时预览与持久化
│ ├─ tool-call-group-controller.ts
│ │ # 连续工具调用分组与恢复
│ └─ tool-call-collapse-setting.ts
│ # 折叠开关同步与持久化
├─ tsdown.config.ts # Host/客户端打包配置
└─ vitest.config.ts # 测试配置
实现说明
- Host 端注册
ui-enhance设置命名空间,当前包含customCss和toolCallCollapse。 - 客户端通过 Harness slot 注入麦克风按钮和插件设置卡。
- 工具调用分组只控制原生行的显隐,不替换 Harness 的工具渲染器,因此运行状态、错误状态、文件链接及详情能力会被保留。
- 插件卸载或关闭折叠功能时,会移除插件生成的汇总卡并恢复全部原生工具行。
refs/仅用于本地参考 DeepSeek Harness 源码,已由.gitignore排除。
浏览器兼容性
自定义 CSS 和工具调用折叠使用标准 DOM API,可运行于 Harness 支持的现代浏览器。
语音输入依赖浏览器提供 SpeechRecognition 或 webkitSpeechRecognition。不支持该 API 的浏览器会禁用麦克风按钮,不影响其他功能。
License
原始 README: https://github.com/xjackzenvey/Dsh-UI-Enhance/blob/main/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。