🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

移动端界面优化 langyo/dsh-mobile-upgrade

DeepSeek 客户端v0.8.11
langyo44 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

修复窄屏下的抽屉、标签页与模型菜单布局

36.1/100
综合分
2
GitHub 星标
481
npm 周下载
—/5
用户评分

数据截至 2026/9/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/langyo/dsh-mobile-upgrade.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 44 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-mobile-upgrade @ 0.8.11
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 01:03:37

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    client/client.js:391
    fetch(ROUTE_PREFIX + "/restart", { method: "POST" }).catch(function () {});
  • 发起网络请求
    client/client.js:394
    fetch(ROUTE_PREFIX + "/ping", { cache: "no-store" })
  • 发起网络请求
    client/client.js:493
    fetch(ROUTE_PREFIX + "/llm-config", { cache: "no-store" })
  • 发起网络请求
    client/client.js:550
    fetch(ROUTE_PREFIX + "/model-input", {
  • 发起网络请求
    client/client.js:1232
    fetch("/", { cache: "no-store", credentials: "same-origin" }).then(function (r) {
  • 发起网络请求
    client/client.js:1446
    fetch(ROUTE_PREFIX + "/ping", { cache: "no-store", signal: ctl.signal })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

4 张 · 点击查看大图

功能亮点

  • 修复窄屏抽屉布局
  • 修复标签页布局
  • 全宽模型菜单

DeepSeek Harness 网页配置档的移动端 UI 修复:输入框上传、重启行、窄屏抽屉与标签页,还有全宽模型菜单。

README

由 DeepSeek 最新模型翻译生成
dsh-mobile-upgrade 针对 DeepSeek Harness(dsh)web 配置的移动端体验优化,以单个插件的形式发布。所有内容都通过宿主自身的插槽和状态信号进行渲染——不接管布局,不添加浮动控件,也不对聊天内容进行 DOM 轮询。 功能一览 - 重启行 —— 在「设置 → 通用」中新增「重启服务」入口。会先进行确认,然后重启 dsh 进程,并在服务重新响应后自动重新加载页面。 - 输入模态开关 —— 在原生提供商编辑器的每一行模型上提供文本/图像/视频复选框,将模型的 input 数组写入 settings.yaml(并在该文件旁生成备份)。对于没有用户自定义路由的目录模型,这些开关以只读方式显示。 - 窄屏抽屉 —— 在 1024px 以下,侧边栏会折叠为一个小角落芯片,并保留宿主自身的切换按钮;展开时会将完整侧边栏作为抽屉浮层覆盖在全宽内容之上,选择会话后再次关闭。芯片与抽屉以原子方式切换(没有几何动画,避免在繁忙的主线程上卡顿),而关闭抽屉的点击会在同一帧内将其折叠,而不必等待宿主重新渲染——因此,即使手机上运行着大量会话,抽屉也不会卡在半展开状态,关闭后的芯片也绝不会在宿主已清空的侧栏上呈现白色。 - 窄屏设置标签页 —— 在 700px 以下,设置对话框的侧边导航会变为一行可横向滚动的标签页。
展开完整文档(README 剩余 1 节)
dsh-mobile-upgrade

针对 DeepSeek Harness(dsh)web 配置的移动端体验优化,以单个插件的形式发布。所有内容都通过宿主自身的插槽和状态信号进行渲染——不接管布局,不添加浮动控件,也不对聊天内容进行 DOM 轮询。

功能一览

- 重启行 —— 在「设置 → 通用」中新增「重启服务」入口。会先进行确认,然后重启 dsh 进程,并在服务重新响应后自动重新加载页面。
- 输入模态开关 —— 在原生提供商编辑器的每一行模型上提供文本/图像/视频复选框,将模型的 input 数组写入 settings.yaml(并在该文件旁生成备份)。对于没有用户自定义路由的目录模型,这些开关以只读方式显示。
- 窄屏抽屉 —— 在 1024px 以下,侧边栏会折叠为一个小角落芯片,并保留宿主自身的切换按钮;展开时会将完整侧边栏作为抽屉浮层覆盖在全宽内容之上,选择会话后再次关闭。芯片与抽屉以原子方式切换(没有几何动画,避免在繁忙的主线程上卡顿),而关闭抽屉的点击会在同一帧内将其折叠,而不必等待宿主重新渲染——因此,即使手机上运行着大量会话,抽屉也不会卡在半展开状态,关闭后的芯片也绝不会在宿主已清空的侧栏上呈现白色。
- 窄屏设置标签页 —— 在 700px 以下,设置对话框的侧边导航会变为一行可横向滚动的标签页。
- 全宽模型菜单 —— 在 700px 以下,编辑器的模型菜单会重新锚定到恰好等于手机宽度的位置(两侧各留 12px 边距),而不会超出屏幕边缘,同时宿主仍负责其在触发按钮上方的垂直定位。
- 可滚动的提问卡片 —— 在 1024px 以下,待处理的提问不再会遮挡自身的选项:提问会被限制在独立的滚动区域内,因此较长的提问会在原地滚动,而下方的选项列表则保留剩余空间,选项、提交行以及最小化/关闭按钮都保持在屏幕上且可触达。较短的提问不受影响,卡片仍会紧贴其内容。
- 详情浮层处理 —— 在当前宿主中关闭控件失效的全屏工具详情浮层不会在窄屏上渲染,因此它无法困住聊天界面。
- 风暴安全响应式 — 抽屉/菜单观察器和设置轮询器以受限速率响应突发流式消息,并在主机不可达时退避;重连期间的侧栏重新挂载会保留抽屉状态而不是使其反复抖动;抽屉关闭点击会通过重新挂载重试,而不是落在过期的切换上:多个会话同时流式传输时不再冻结输入,也不会让侧边栏抽搐到无法点击,无论它是打开还是关闭。
- 子代理目录防护 — 主机通过每次请求枚举整个会话语料库来提供子代理目录(在长历史记录上约需 1 秒),而其客户端在每次选择、芯片悬停和成员事件时都会请求。该插件包装了该刷新:在实时会话列表中没有子级的父级永远不会被请求,父级最多每 2.5 秒被重新请求一次,并且刷新启动之间保持间隔 — 子代理扇出不再因全语料库扫描而使主机资源枯竭。
- 点击打开谱系芯片 — 在桌面端,子代理芯片(“N 个子代理”和子代理标题切换器)仅在当前主机中悬停时打开;点击没有任何作用。该插件将芯片上的点击转换为宿主已经理解的悬停事件对,因此点击会切换树的打开/关闭(祖先面包屑保留其点击导航)。
- 窄标题收集器 — 在 1024px 以下,会话标题的芯片(谱系、作业、预设)比手机更宽且仅支持悬停。它们折叠为一个胶囊(≡ 标题 · N 个代理 · M 个作业);点击它会打开一个全宽面板,其中包含会话谱系(每个祖先可点击,每个都带有其后代数量)、以家族根为根的子代理树 — 行从实时会话列表渲染,分支通过受防护的刷新按需获取其目录 — 以及此会话的后台作业。在桌面端没有任何变化。
- 会话列表渲染节流 — 主机为每个已附加会话的每次投影变更推送一个全值投影帧,而正在运行的子代理的计时视图会在每次提交事件时变化,因此繁忙的后台集群会以 50-150 帧/秒的速度向页面流式传输。过去每一帧都会重新渲染整个会话列表(一次重建会遍历每个摘要,外加一次 O(n²) 缓存扫描 — 经测量占用了大部分主线程时间,导致页面冻结直到重新加载)。该插件将这些重新渲染合并到一个自适应尾随间隔上,同时值继续不变地流入每个会话存储,因此后台流式传输不再冻结页面 — 在任何会话上,无论新旧。
- 自更新 — 客户端包按修订版本以不可变方式提供,因此手机标签页可能会连续数天运行较旧的构建。页面会将它启动时所用的修订版本与服务器当前发布的修订版本进行比较,并在页面空闲后(绝不在正在输入草稿时)重新加载自身,或提供一个可点击的横幅。
- 按功能开关 — 该插件在“设置 → 插件”中安装一个 dsh-mobile-upgrade 部分,每个功能都有一个开关。

截图浮动芯片、会话抽屉、窄屏设置标签页和窄屏头部收集器(已标注):

| 浮动芯片 | 会话抽屉 |
| 设置标签页 | 头部收集器 |

安装

dsh plugin --profile web add dsh-mobile-upgrade

重启 dsh web,然后在手机上打开 web 配置文件:重启行位于设置 → 通用,功能开关位于设置 → 插件 → dsh-mobile-upgrade。附件来自宿主自带的编辑器附件系统。

需要 dsh 0.1.5-rc.1 或更高版本(宿主内置的附件系统取代了本插件的上传功能)。

配置

插件的设置卡片接受:

| 键 | 默认值 | 含义 |
| restartEnabled | true | 提供重启行及其路由 |

功能开关

上述每个功能都可以在设置 → 插件 → dsh-mobile-upgrade 中切换(在下次页面加载时生效),也可以通过 localStorage 键按设备覆盖——mfx-restart、mfx-settle、mfx-drawer、mfx-settings、mfx-modality、mfx-menus、mfx-net、mfx-questions、mfx-selfupdate、mfx-agents、mfx-header、mfx-listthrottle——其中值 "0" 表示关闭该功能。

限制

- 客户端通过宿主 UI 元素的哈希 CSS 类名来挂钩特定元素(菜单、抽屉切换按钮、提供商编辑器、会话头部芯片)。如果宿主构建重命名了这些类名,各个功能会降级,直到本插件跟进;其他一切仍可正常工作。问题卡片的问题区域改为通过卡片自身的 data-question-key 钩子来查找,因此宿主重建时即使只是重新哈希其 CSS 模块,该功能仍可正常工作。
- 头部收集器和谱系点击垫片依赖宿主自身的数据(实时会话列表及其子代理目录);除了受保护的分支请求外,它们不添加任何额外请求,而且点击一个模式仍在加载中的行时,一旦该目录加载完成,操作会自行完成。
- 输入模态切换只能修补你自己自定义过的提供商路由;仅目录路由在设计上是只读的,因为伪造目录区段会导致模型目录崩溃。

安全说明

插件的 HTTP 路由(重启、设置编辑)自身不执行任何身份验证——它们信任所加载到的 dsh web 界面。在将其暴露到 localhost 之外之前,请将部署置于保护其余 UI 的同一道门禁之后(反向代理身份验证、回环绑定)。

社区链接

- Linux.Do — 一个分享和讨论技术的社区。

许可证

根据 Synthetic Source License (SySL), Version 1.0 分发。

注意:本软件包含由人工智能生成的代码。有关 Synthetic Source License 条款(包括模型披露要求),请参阅 LICENSE 文件。
预览分享卡片长什么样 ↓langyo/dsh-mobile-upgrade
分享 · DeepSeek Harness Hub
langyo/dsh-mobile-upgrade

修复窄屏下的抽屉、标签页与模型菜单布局

这是你的仓库?认领条目

回到顶部