dsh-mobile-layout

DeepSeek Harness (DSH) 的插件化架构允许在运行时扩展功能。dsh-mobile-layout 是一个客户端插件,专注于解决 DSH Web 在移动设备上的体验问题。桌面端布局在手机上往往显得拥挤或难以使用,该插件通过一套机制修复了这些问题。

该插件由用户 crwsr124 维护,提供移动端阅读布局、极光玻璃换肤、文件浏览器页签以及历史加载 abort 错误自愈能力。它是一个零依赖插件,安装后即可在手机上提升 DSH Web 的可用性。

移动端阅读布局

当屏幕宽度小于 1024px 时自动生效。侧栏变为抽屉模式,会话区占满全宽。正文与标题的字体密度收缩,表格支持横向触摸滚动,长词自动换行。输入框在阅读态上滑时会自动收起,点击消息文字即可显示并聚焦;设置面板在手机上改为横排布局,内容区独立滚动。

换肤

提供玻璃/半透明模式,表面不透明度可调。内置极光背景,包含蓝紫、暖阳、青绿和墨色四套预设,配合彩色光斑与电影颗粒质感。支持自定义背景图片或相册选图。文字颜色会根据背景明暗自动切换深浅主题,确保对比度。气泡、代码块和滚动条支持透明化效果。

文件浏览器

文件根目录自动跟随当前会话所属的工作区。同一工作区内切换会话时,列表和滚动位置会被缓存保留,不会刷新。支持 md、代码、图片和 PDF 预览。下载走独立流式端点,不受预览大小限制。客户端只传递 sessionId,路径解析在服务端完成,拒绝跨工作区逃逸。

上传文件

侧边栏底部新增上传按钮,支持多选。文件上传到当前工作区的 <workspace>/upload 目录。文件名禁止路径穿越,同名文件会自动追加序号。默认单文件上限为 500MB,可通过配置调整。上传过程中有实时状态卡显示进度与结果。

稳定性增强

历史加载时若发生 abort 错误,系统会自动重试愈合。在移动端新建空白会话时,会强制恢复输入框显示,防止因 body 级收起状态导致的输入区残留。

安装与启用

安装命令如下:

dsh plugin --profile <name> add github:crwsr124/dsh-mobile-layout

首次安装后需要重启一次 dsh web 进程。

配置

上传文件的大小限制可通过配置修改:

- id: dsh-mobile-layout
  config:
    uploadMaxBytes: 524288000

注意事项

  • 会话轨迹在手机上无法打开,这是 app shell 框架的限制,CSS 无法干预。
  • 上传路由没有内置认证,若公网部署,需配合 nginx basic auth 等外部防护。
  • 在老内核浏览器上,毛玻璃模糊效果不可用,但透明与背景仍能正常显示。
  • 若使用反向代理(如 nginx)部署,上传大文件需要在网关侧放开 client_max_body_size 限制。

这是一个轻量级的客户端增强方案,适合需要在手机上频繁使用 DSH 的开发者。更多细节与源码可参考 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜