DeepSeek Harness 插件

dsh-client-ui-mobile-raomaipi

Mobile / small-tablet UI optimizer for the DeepSeek Harness Web GUI: drawer sidebar, full-screen settings sheet with top tabs, bottom-sheet details panel, safe areas, and touch-friendly targets — all(英文原文)

跳到安装方式

来源信息

GitHub 仓库
raomaiping-hash/dsh-client-ui-mobile
最近更新
2026年8月17日
分类
安全与权限
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/raomaiping-hash/dsh-client-ui-mobile
插件名:dsh-client-ui-mobile-raomaipi
作者:raomaiping-hash

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-client-ui-mobile

English | 中文

![CI](https://github.com/raomaiping-hash/dsh-client-ui-mobile/actions/workflows/ci.yml) ![version](https://github.com/raomaiping-hash/dsh-client-ui-mobile/tags) ![license](LICENSE)

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 尚未接通打开详情列的入口(上游的 openDetails action 已实现但未被调用)。底部抽屉的 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.jsondsh.clientexports["./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