DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Qol — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
Q

dsh-qol

Qol

Quality-of-life tweaks for the DeepSeek Harness Web UI: Chrome-style session tab bar, edge-swipe sidebar, IME/keyboard adaptation, touch feedback, full-screen mobile settings and more — 13 features, each independently toggleable from the Settings page, with instant effect and per-browser persistence

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:john-walks-slow/dsh-qol#89dca2e4f1435d74750e57ed79af45c0cabafe9a
READMECompatibilityVersions

Description

Quality-of-life tweaks for the DeepSeek Harness Web UI: Chrome-style session tab bar, edge-swipe sidebar, IME/keyboard adaptation, touch feedback, full-screen mobile settings and more — 13 features, each independently toggleable from the Settings page, with instant effect and per-browser persistence. dsh Web GUI 体验优化插件:会话 Tab Bar、侧栏滑动开合、输入法/键盘适配、触摸反馈、移动端设置页全屏重写等 13 项功能,均可在设置页独立开关,即时生效并按浏览器持久保存。

Compatibility and provenance

Qol is published as dsh-qol and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/17/2026

Versions

1.0.0stable
9/17/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/18/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.

README

dsh-qol

简体中文 · English

dsh(DeepSeek Harness)Web GUI 体验优化插件:会话 Tab Bar、侧栏滑动开合、输入法/键盘适配、触摸反馈、设置页全屏重写等 13 项功能,每项都可在 设置 → QoL 独立开关,即时生效、按浏览器持久保存。移动端为主,部分功能(Tab Bar、状态动画等)桌面端同样生效。

功能

功能说明默认
活跃会话 Tab Bar页面顶部横向展示活跃会话 Tab,未读/运行中状态置顶,一键直达,防误拉键盘;新会话显示为「新会话」;中键/×关闭(末位关闭落到新会话,新会话本身不可关);+ 紧跟最后一个 tab(Chrome 式)开
侧栏滑动开合全屏范围右滑展开、左滑收起侧边栏(64px 阈值触发、不跟手;左缘 16px 让位系统返回手势;输入框/横向滚动区跳过;对话框打开时不响应;按钮上滑动安全——滑动不会误触 click)开
侧栏覆盖不挤宽移动端侧栏以浮层展开覆盖内容,不挤压主区域宽度导致重排开
侧栏折叠态最近会话侧栏折叠时在搜索下方展示最近活跃会话首字圆形图标,带状态角标开
切换会话收起侧栏窄屏下在侧栏点选会话后自动收起侧栏,回到对话(仅 ≤768px)开
切换会话不拉键盘切换会话后不自动聚焦输入框、避免输入法弹出;侧栏会话行、活跃 Tab、折叠态 rail 图标、归档跳转全覆盖;直接点输入框仍可手动聚焦开
输入法/键盘适配viewport meta(viewport-fit=cover + interactive-widget=resizes-content)、100dvh 高度链、composer 安全区、iOS visualViewport CSS 变量兜底(不改元素尺寸/字号)开
按钮触摸反馈touch-action: manipulation(杀 300ms 延迟与双击缩放)、关闭系统点击灰闪、:active 按压反馈、iOS :active 修复、prefers-reduced-motion 尊重(不改元素尺寸)开
设置页全屏重写设置对话框在 ≤768px 下全屏堆叠、标签横滚、修复标签塌宽 bug、safe-area 适配开
设置页记忆页签打开设置时自动恢复上次选中的页签,避免每次重置回 General开
代码块/表格内滚长代码与表格在容器内横向滚动,正文 break-word 不溢出开
隐藏权限选择下拉隐藏输入框内的权限(Access mode)下拉触发器,省横向空间;模型选择与上下文用量不受影响开
状态指示动画优化将 SVG opacity 追逐点动画替换为 CSS transform 脉冲,走合成器线程,零主线程开销。rAF 实测 idle FPS 35→55开

安装

dsh plugin --profile web add dsh-qol

安装后无需手动改配置,插件自带的 cordis.patch.yml 自动挂载;刷新 Web 页面后,设置页会出现 QoL 分区。

从 GitHub 直装(源码安装;lib/ 即手写源码无需本地构建,但包声明了 prepare 语法校验脚本,pnpm ≥10 首次会被拦截):

dsh plugin --profile web add github:john-walks-slow/dsh-qol
# 把 pnpm 提示的包名加入 ~/.dsh/profiles/web/pnpm-workspace.yaml
# 的 allowBuilds 后重跑即可

使用

  1. 打开 dsh Web GUI(移动端体验最佳)。
  2. 设置 → QoL:13 行功能开关(名称 + 一行说明),点击即时生效,无需刷新页面。
  3. 配置自动持久保存到浏览器 localStorage(键 dsh.qol.v1),仅本浏览器生效;清掉该键即恢复全部默认开启。

开关落盘的真实形态(localStorage["dsh.qol.v1"]):

{ "active-tabbar": true, "sidebar-gesture": true, "ime-viewport": true, "tap-feedback": true }

开关的实现是一个属性总闸:每项功能对应 html[data-qol-<功能id>] 属性,CSS 规则与 JS 事件处理都读它——切换 = 打/摘属性,所以能即时生效、无需重载。

权限与兼容

  • 纯客户端插件:host 侧 apply 为空,零 npm 运行时依赖;全部逻辑在浏览器半(lib/client.js)执行
  • 零权限:无外部服务、无网络请求、无文件系统写入、不读取会话内容——只改浏览器侧 CSS、DOM 事件与 viewport meta
  • 配置不出浏览器:开关状态仅存本浏览器 localStorage,不上传、不落盘到服务器
  • 桌面零影响:移动专属规则全部锁在 @media (max-width: 768px);跨端功能(Tab Bar、rail、状态动画)两端统一体验
  • 不改元素尺寸/字号:有意设计约束(触摸反馈与 IME 适配均只动行为/合成层)
  • 降级不阻断:所有宿主服务取值 ctx.get() + try/catch,服务缺失只 console.warn 降级;结构锚选择器若随宿主改版失配,对应规则静默不生效,页面不受影响
  • 与 dsh-web-mobile-fix 可共存(见下)
  • 实测基线:当前 dsh 稳定版(0.1.x)web profile + Chromium/Firefox 内核移动模拟;真机(iOS Safari / Android Chrome)的触摸手感与 IME 细节建议按需人工确认

与 dsh-web-mobile-fix 的关系

两者可共存:dsh-web-mobile-fix 提供紧凑移动布局(32px 会话头按钮、隐藏面包屑等);本插件提供可开关的 QoL 层(手势 / IME / Tab Bar 等)。设置对话框规则有重叠但视觉等价,并集安全。若不需要 mobile-fix 的紧凑布局,也可单独移除它——本插件的 settings-mobile 覆盖其设置页 CSS。

工作原理

  • 纯客户端:host 侧空 apply 仅用于把包挂进 profile;浏览器半通过 window.__ModuleLoader__.load factory 加载(exports["./client"] + package.json 的 dsh.client 声明)。
  • 属性总闸:见上,开关即时生效的关键。
  • 结构锚:CSS 用 data-slot / :has(> nav) 等结构选择器,零哈希类依赖(状态动画规则的哈希类匹配是有意例外,失配只是静默回退,见 client.js 内注释)。
  • 形状防御:所有服务取值 try/catch 包裹,任何服务缺失只降级不阻断加载。

本地开发

npm install
npm run build     # 语法校验两份产物:lib/index.js(host 入口)+ lib/client.js(浏览器 bundle)

E2E(开发用,目标为运行中的 dsh 实例;token 从环境变量读取,避免凭据入库):

export DSH_E2E_TOKEN_4175=<线上实例 token>   # dsh web 启动时打印
export DSH_E2E_TOKEN_4176=<临时实例 token>
node e2e/mobile.mjs mobile     # Phase-1:mock harness 对真实 DOM 的逻辑验证
node e2e/mobile.mjs desktop    # 桌面零影响验证
node e2e/integration.mjs       # Phase-2:临时实例真插件集成验证

注:e2e 依赖本机 camoufox + playwright-core(路径写在各脚本头部,复用需按本机环境调整)。本仓库无单元测试,npm test 未提供。

  • 功能文档:docs/features/(research / plan / validation / summary)。
  • 新增功能:在 lib/client.js 的 FEATURES 注册表加一条 + 对应 CSS 段/JS 钩子。

License

MIT