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

移动端触控界面 jasondu/dsh-ui-mobile

DeepSeek Harnessv0.1.8
jasondu74 天前有提交已提供中文文档扫描:含敏感能力ui

把网页工作台装进手机,抽屉导航加完成推送

35.3/100
综合分
5
GitHub 星标
106
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-ui-mobile
npm 源 · dsh-ui-mobile 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

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

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

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 22:53:56

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 12 处,展示前 12 条)
  • 读取密钥环境变量
    lib/index.js:13
    publicKey: process.env.DSH_WEB_PUSH_VAPID_PUBLIC_KEY,
  • 读取密钥环境变量
    lib/index.js:14
    privateKey: process.env.DSH_WEB_PUSH_VAPID_PRIVATE_KEY
  • 写入本地文件
    lib/index.js:25
    mkdirSync(dirname(VAPID_PATH), {
  • 写入本地文件
    lib/index.js:30
    writeFileSync(next, JSON.stringify(explicit), { mode: 384 });
  • 写入本地文件
    lib/index.js:31
    renameSync(next, VAPID_PATH);
  • 读取本地文件
    lib/index.js:34
    if (!existsSync(VAPID_PATH)) return void 0;
  • 读取本地文件
    lib/index.js:35
    const saved = JSON.parse(readFileSync(VAPID_PATH, "utf8"));
  • 读取本地文件
    lib/index.js:96
    const saved = JSON.parse(await readFile(STORE_PATH, "utf8"));
  • 写入本地文件
    lib/index.js:103
    await mkdir(dirname(STORE_PATH), { recursive: true });
  • 写入本地文件
    lib/index.js:105
    await writeFile(next, JSON.stringify([...this.subscriptions.values()]), { mode: 384 });
  • 写入本地文件
    lib/index.js:106
    await rename(next, STORE_PATH);
  • 读取本地文件
    lib/index.js:333
    res.end(readFileSync(iconPath));
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-theme@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-invariants
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 抽屉式侧边栏
  • 底部导航栏
  • 触屏优先响应式布局

README

由 DeepSeek 最新模型翻译生成
dsh-ui-mobile npm version License: MIT 把 DeepSeek Harness 变成一套真正适合在手机上持续使用的工作台:侧栏可单手操作、输入区不会被键盘挤走、可安装为独立 App,并能在 agent 成功完成后主动提醒你回来查看结果。 dsh-ui-mobile 是 DeepSeek Harness Web Shell 的移动端插件。它不重写会话界面,而是在手机宽度下把现有三栏 Shell 转换为更适合触控、PWA 安装和任务完成通知的体验;桌面与平板布局保持原样。 为什么安装 如果你会通过手机查看或发起 Harness 任务,这个插件解决的是高频摩擦,而不是只换一套样式: - 添加到桌面,获得类 App 体验:把 Web GUI 添加到主屏幕后,可从图标独立启动、没有浏览器地址栏;agent 成功完成时还能收到系统推送,不必反复打开页面确认。 - 手机上也能高效操作:边缘滑动、抽屉导航、新会话菜单和键盘“发送”让核心操作无需放大、缩小或寻找小控件。 - 不牺牲桌面工作流:改动只在 768px 以下启用,电脑与平板继续使用原生 Harness 三栏界面。 - 安装后即可用:插件自带 PWA、Service Worker 和 Web Push 路由,不需要维护 Harness 的 fork 或额外改 Web 源码。
展开完整文档(README 剩余 1 节)
dsh-ui-mobile

npm version
License: MIT

把 DeepSeek Harness 变成一套真正适合在手机上持续使用的工作台:侧栏可单手操作、输入区不会被键盘挤走、可安装为独立 App,并能在 agent 成功完成后主动提醒你回来查看结果。

dsh-ui-mobile 是 DeepSeek Harness Web Shell 的移动端插件。它不重写会话界面,而是在手机宽度下把现有三栏 Shell 转换为更适合触控、PWA 安装和任务完成通知的体验;桌面与平板布局保持原样。

为什么安装

如果你会通过手机查看或发起 Harness 任务,这个插件解决的是高频摩擦,而不是只换一套样式:

- 添加到桌面,获得类 App 体验:把 Web GUI 添加到主屏幕后,可从图标独立启动、没有浏览器地址栏;agent 成功完成时还能收到系统推送,不必反复打开页面确认。
- 手机上也能高效操作:边缘滑动、抽屉导航、新会话菜单和键盘“发送”让核心操作无需放大、缩小或寻找小控件。
- 不牺牲桌面工作流:改动只在 768px 以下启用,电脑与平板继续使用原生 Harness 三栏界面。
- 安装后即可用:插件自带 PWA、Service Worker 和 Web Push 路由,不需要维护 Harness 的 fork 或额外改 Web 源码。

适合需要在移动端跟进长任务、外出时临时发起任务,或希望把 Harness 作为桌面图标中的轻量工作 App、把任务完成提醒交给系统通知的使用者。

你会得到什么

- 手机端抽屉导航:侧边栏与详情面板从屏幕两侧滑出;轻点遮罩、点菜单或从左侧边缘右滑都能管理侧边栏。
- 连续的会话入口:普通会话和空白新会话都提供左上菜单;抽屉打开后会覆盖按钮,避免层级冲突。
- 更适合手机的输入区:输入框固定在可视区底部,防止 iOS 缩放;隐藏 Session log 下载,将 Access mode 放到工具栏最右侧;键盘主操作显示为“发送”。
- 独立 PWA:添加到主屏幕后,从桌面图标启动即获得无地址栏的类 App 体验;插件提供 manifest、图标、Service Worker、启动骨架和安装引导,无需修改 Harness Web 源码。
- 任务完成通知:已安装的 PWA 可在 agent 成功完成时收到 Web Push 通知;通知只在成功完成时发送。

安装

需要一个运行中的 DeepSeek Harness Web Shell。本包是客户端插件,不是独立 Web 应用。

从 npm 安装到某个 DSH profile
dsh plugin --profile add dsh-ui-mobile

或从当前仓库 / GitHub 安装
dsh plugin --profile add github:jasondu/dsh-ui-mobile

插件自带 cordis.patch.yml:它会禁用宿主内置的 ui-mobile,再挂载本插件,以避免两个 PWA 路由和两套移动端样式同时生效。通常不需要手动编辑宿主的 patch 文件。

@deepseek-ai/dsh-client- 是运行时 peer dependencies。应在拥有相应 Harness 依赖的 DSH Web 环境中安装本插件。

手机上的使用方式

| 场景 | 操作 |
| 打开侧边栏 | 点左上菜单,或从屏幕最左侧 24px 向右滑。 |
| 关闭侧边栏 | 点菜单或抽屉外的暗色区域。 |
| 新开会话 | 空白会话顶部同样保留菜单入口。 |
| 发送消息 | 手机键盘显示“发送”;按回车沿用 Harness 的正常发送流程。 |
| 使用桌面 | 宽度达到 768px 后恢复 Harness 原始三栏布局。 |

侧边栏在手机上使用紧凑宽度 min(78vw, 300px),列表保持可读,同时保留足够的遮罩关闭区域。

安装到主屏幕(PWA)

插件的宿主部分会在服务页面时注入 manifest 与 iOS PWA 标签,并通过 /pwa/ 提供图标、manifest 和 Service Worker。

- Android Chrome / Edge:浏览器可安装时会显示一次性安装引导;点“安装”使用浏览器原生流程。
- iOS Safari:引导提示“分享 → 添加到主屏幕”。关闭后不会在该浏览器中再次自动显示。
- 从主屏幕启动:以独立 PWA 运行,不显示浏览器地址栏;普通 Safari 访问仍保留浏览器外壳,这是平台行为。

任务完成 Web Push

插件只在 agent 成功完成时(turn/end,reason.kind: completed)发送通知。为 Web 服务设置 VAPID 和订阅存储路径;私钥与订阅文件不可提交到仓库。

三项同时设置;首次运行时将其写入 DSH_WEB_PUSH_VAPID_PATH。
DSH_WEB_PUSH_VAPID_SUBJECT=mailto:ops@example.com
DSH_WEB_PUSH_VAPID_PUBLIC_KEY=
DSH_WEB_PUSH_VAPID_PRIVATE_KEY=

后续启动只需保留此路径;文件权限应为 0600。
DSH_WEB_PUSH_VAPID_PATH=/var/lib/dsh/vapid.json
DSH_WEB_PUSH_STORE_PATH=/var/lib/dsh/push-subscriptions.json

在已安装的 PWA 中点按“开启任务完成通知”并授予系统权限即可订阅。iOS 需要 iOS 16.4 或更高版本;DSH_WEB_PUSH_VAPID_SUBJECT 必须是有效邮箱或真实 https:// URL,不能使用 .invalid 占位域名。

架构边界插件通过 Harness 已公开的 slot、服务与稳定 data- 属性组合功能:它不复制 Shell,也不修改 Harness 源码。移动端控制器读取现有 AppFrame 状态,响应式样式只针对插件标记的属性;PWA 与 Web Push 路由由插件的 node 部分提供。

模型体验

移动布局、PWA 和通知不改变模型请求、系统提示词、工具 schema 或会话内容。Web Push 仅在宿主已判定 agent 成功完成后向已订阅设备发送事件。

KV Cache 影响

无。本插件不参与请求组装。

已知限制

- 抽屉是 CSS 驱动的固定宽度面板,手机端不支持拖拽调宽。
- 侧边栏支持左边缘滑入;关闭操作为点遮罩或菜单,不支持滑动关闭。
- PWA 安装与键盘“发送”文案受浏览器和系统版本控制;插件提供的是标准 Web 平台提示。
- 任务完成通知需要 HTTPS、有效 VAPID 配置和用户授权。

开发与发布

pnpm install
pnpm bundle
pnpm test

推送 v* 标签会触发 GitHub Actions:安装依赖、构建、运行 publint,再发布到 npm。正式版本使用 latest,预发布版本使用 next。

License

MIT — see LICENSE.
预览分享卡片长什么样 ↓jasondu/dsh-ui-mobile
分享 · DeepSeek Harness Hub
jasondu/dsh-ui-mobile

把网页工作台装进手机,抽屉导航加完成推送

回到顶部