dsh-client-ui-mobile
by raomaiping-hash
DeepSeek Harness Web GUI 的移动端 UI 优化——抽屉侧栏、全屏设置、安全区与触控友好目标
Mobile UI optimizer for the DeepSeek Harness Web GUI — drawer sidebar, full-screen settings, safe areas, touch-friendly targets.
安装
dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobileGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
DeepSeek Harness Web GUI 的移动端 / 小平板 UI 优化器。
原生 Web 外壳是三栏桌面布局。在手机宽度下,侧边栏导轨、188px 的设置导航、以及仅 hover 才显示的工具行控件会变得拥挤或不可达。本插件在 max-width: 820px 断点下重排外壳,不修改任何上游代码——它是一个纯客户端(浏览器)插件:一个 <style> 块加一个小的 React overlay。
功能
- 抽屉式侧栏——820px 以下侧栏变为左侧抽屉;浮动菜单按钮打开,遮罩(仅覆盖对话区)与 Esc 关闭,会话切换时自动收起。
- 全屏设置面板——设置弹窗(桌面上是 188px 导航栏 + 内容)变为全屏面板:顶部标题 + 横向可滚动分区标签、绝对定位关闭按钮、安全区留白。
- 设置入场动画——遮罩淡入 + 面板上滑;受
prefers-reduced-motion约束。 - 详情面板底部抽屉——工具调用详情列(小屏默认隐藏)变为从底部滑入的抽屉,由布局的
data-details-collapsed状态驱动。 - 工具行「Inspect」按钮——小屏下显示(桌面端仅 hover 显示)并放大到 32px 触控目标。
- 安全区与触控打磨——
env(safe-area-inset-*)、输入框 16px 字号、touch-action: manipulation、更紧凑的输入栏间距。 - 抗升级选择器——用稳定属性(
[role="dialog"][aria-modal="true"]:has(>nav)、[data-shell-overlay])与 CSS module 局部名后缀([class*="_options"])而非哈希类名匹配,能在 DSH 前端重构建后继续生效。
关于详情面板: 当前 harness 尚未接通打开详情列的入口(上游的
openDetailsaction 已实现但未被调用)。底部抽屉的 CSS 是正确的,一旦上游补上入口即自动生效;目前它保持离屏、无害。设置与抽屉功能现在已完全可用。
安装
纯 ESM,无构建步骤,无安装脚本——安装时不执行任何代码。
dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobile
# 锁定 commit 以便复现:
dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobile#<sha>
然后重启 DSH Web 进程,在手机宽度视口(或将浏览器缩到 ≤820px)打开 GUI。
手动 / tarball
dsh plugin --profile web add ./dsh-client-ui-mobile-0.1.0.tgz # 来自 pnpm pack
卸载
dsh plugin --profile web remove dsh-client-ui-mobile
然后重启 DSH。
工作原理
- host 半部(
index.js)是空的apply()——只为让 loader 挂载本包。 - 浏览器半部(
client.js)通过package.json的dsh.client(exports["./client"])加载。它注入一个<style>标签,并把一个MobileChrome组件注册到shell.overlay插槽(FAB + 遮罩),再把一张小卡片注册到settings.general.item("已安装"提示)。 - 全部规则限定在
@media (max-width: 820px);桌面布局不受影响。
威胁模型与范围
- 这是纯 UI 插件:无 host 路由、无文件访问、无网络、无设置持久化。它读取
ctx.layout(侧栏/详情开关)与ctx.slots;只写入 DOM 节点和一个<style>标签,停止/更新时全部拆除。 - 受限执行环境不是安全边界;只安装可信来源的插件。锁定 commit hash 以便复现。
开发
git clone https://github.com/raomaiping-hash/dsh-client-ui-mobile
cd dsh-client-ui-mobile
node --check client.js # 语法
node tests/smoke.mjs # 打包完整性
由于本插件是由 DSH client-module host 直接服务的纯 JS,在已安装 profile 里编辑 client.js 并刷新页面即可通过 client-HMR 轮询生效——无需重新构建。
许可证
MIT © raomaiping-hash
原始 README: https://github.com/raomaiping-hash/dsh-client-ui-mobile/blob/main/README.zh.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 草稿衔接与导出。