dsh-ui-tweaks
DeepSeek Harness (DSH) 的界面增强插件:基础输入 + 界面增强 + 桌面通知,单一 bundle。
功能
| 功能 | 说明 |
|---|---|
| model-selector | 模型选择器(单层菜单:搜索 + 分组 + 底部内联推理强度滑杆) |
| paste-input | 粘贴/拖拽上传(即时入输入区 + 首次粘贴非阻塞提示 toast) |
| retry-settings | 请求重试次数设置(host /api/retry-settings 路由) |
| keyboard-shortcuts | 全局快捷键(帮助/聚焦/导航/侧边栏等) |
| notify | 桌面通知(审批/轮次完成/后台会话完成/Agent 出错,四类事件可分别开关;点击跳转浏览器对应会话) |
notify 按平台分派:macOS 用 terminal-notifier(点击跳转,缺失时 osascript 兜底仅展示);Windows 用 PowerShell WinRT toast(Win10+ 自带,点击「查看会话」跳转);其他平台静默跳过。所有失败静默,绝不拖垮宿主进程。
效果截图
实际运行界面(Playwright 无头 Chrome 实拍,2x 高清):
模型选择器
| 收起状态 | 展开菜单 |
|---|---|
![]() |
![]() |
| 模型搜索与分组 | 搜索过滤 |
|---|---|
![]() |
![]() |
| 推理强度(Effort)滑块 | 输入区 |
|---|---|
![]() |
![]() |
设置卡片(设置 → 插件 → 配置)

快捷键帮助(按 ? 或 Ctrl+/)

配置
所有功能的开关与选项统一放在 「设置 → 插件 → 配置」 下的「界面增强」折叠卡片里(与其他插件的配置卡片并列),内部分组展示。
配置统一存于浏览器 localStorage 单 key(dsh-ui-tweaks.settings)。
开发
标准双半区结构,lib/ 为构建产物:
src/
index.ts # host 组合器(retry-settings 路由 + 子模块挂载)
model-selector/ # host 半区(占位)
paste-input/ # host 半区(附件上传协议 v1)
client/ # 浏览器半区
index.ts # 统一 apply(设置 UI + 三个控制器)
locales.ts / styles.ts
model-selector/ # 增强模型选择器(ModelSelect.tsx)
paste-input.tsx # 附件选择器 + 会话附件管理
attachment-remove.ts # 图片移除按钮可见性补丁
pnpm install
pnpm typecheck # host + client 双 program
pnpm build # tsc 出 host 半区(lib/)+ tsdown 出 client bundle(lib/client.js)
pnpm watch # client bundle 增量构建(HMR)
依赖官方 @deepseek-ai/* 0.1.1-rc.2(next)版本线。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:bitterSmilezzz/dsh-ui-tweaks
bundle 自带 cordis.patch.yml,安装后自动插入 entry(id: dsh-ui-tweaks),重启目标 profile 生效。
权限
medium:host 半区注册 /api/retry-settings 路由(读写 settings 服务,仅本机回环/同源信任围栏),
spawn 系统通知子进程(terminal-notifier / osascript / powershell,命令均为字面量、失败静默);
client 半区仅读取本地会话状态。不访问凭据,无任意网络访问。
外部依赖 / 已知风险
- 外部依赖:macOS 通知依赖
terminal-notifier(缺失时 osascript 兜底,仅展示不可点击);Windows 通知依赖 PowerShell WinRT toast(Win10+ 自带)。 - 已知风险:系统通知为增益能力,任何失败静默不拖垮宿主;主题/UI 增强随官方 UI 演进可能需适配。
License
MIT





