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 仓库。