DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Mobile Pwa — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-mobile-pwa

Mobile Pwa

适用于 DeepSeek Harness (DSH) 的完整移动端 PWA:安全的 LAN/Tailscale 远程访问网关 + 添加到主屏幕(manifest)、支持离线的 service worker、以触控为优先的手势、代理完成通知,以及深色紧凑的移动端界面。适用于 Dee

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-mobile-pwa@0.1.0
README兼容性版本

兼容性与来源证明

Mobile Pwa 以 dsh-mobile-pwa 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.1.0stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
134.1 kB
文件数
22
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
72
最近提交
2026/8/15
查看源码 ↗
项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

dsh-mobile-pwa · 让 DeepSeek Harness 在手机上变成真 PWA

把 DeepSeek Harness(DSH)变成手机上的完整 PWA:安全远程访问你的自建 DSH + 一键「添加到主屏」成独立 App + 离线可用 + 触屏手势 + 任务完成推送。

基于 MIT 的 dsh-mobile-gate(安全网关基座)做差异化增强。

📍 生态定位:社区现有移动端方案都停留在「窄屏 CSS 微调」,本项目做的是移动端 PWA 一站式完整方案。


✨ 特性

模块说明
📡 安全远程访问独立子进程网关,首次访问本机审批 + 每设备一次性令牌 + 每 IP 限流。DSH 主服务仍只监听 127.0.0.1,/api 信任栅栏不受影响
📱 真 PWAmanifest.json + service worker:手机浏览器「添加到主屏」后全屏独立窗口运行,带图标/启动屏/主题色
🧩 可安装主屏图标、standalone 显示、apple-touch-icon、maskable 图标
🌐 离线可用service worker:静态壳缓存优先、API 网络优先、导航离线回退页
👆 触屏手势下拉刷新、边缘右滑返回、捏合缩放字体(可重置)
🔔 任务完成推送agent 干完活 → Web Push 通知,切到别的 App 也能收到(可选手动开启)
📐 触屏布局44px 触摸目标、safe-area 适配、全屏弹窗、紧凑排版、代码横向滚动——桌面零影响
🔒 桌面不受影响所有规则都以 html[data-lan-device="phone"] 或以排除 data-lan-device="desktop" 的 @media 为根

🏗️ 架构

手机 ──> 网关 (独立 Node 子进程 · 0.0.0.0:3088)
           ├─ 未批准 -> 「等待本机批准」页面(轮询 /lan-gate/admin)
           ├─ 已批准+令牌Cookie -> 反向代理到 DSH Web UI (127.0.0.1:3080)
           │      └─ HTML 注入:manifest link + PWA bootstrap + 触屏CSS + randomUUID polyfill
           ├─ /pwa/* -> 直接提供 manifest / sw.js / app.css / 图标 / offline.html
           ├─ /pwa/push/* -> 订阅 / 发送 agent 完成通知
           └─ 超限 -> 429 限流页
电脑 127.0.0.1:3088/lan-gate/admin  -> 批准/拒绝/撤销设备、选择访问方式(手机/电脑/自动)
  • 网关是独立子进程,与 DSH 主进程隔离:挂掉不影响主服务,插件停止时自动终止。
  • DSH CLI 官方禁止 --host 0.0.0.0(/api 无认证层),所以由网关担当地被批准设备与 DSH 之间的唯一通道。

🚀 快速开始(在你自己的 DSH 服务器上)

方式零:dsh plugin add(标准安装,推荐)

git clone https://github.com/<you>/dsh-mobile-pwa.git
cd dsh-mobile-pwa
dsh plugin --profile web add ./dsh-mobile-pwa

已声明 dsh.bundle manifest,安装后自动激活配置层,无需手写 patch。

方式一 / 方式二:静态挂载 / 动态插件

  • 静态挂载:参考 cordis.patch.yml.example,把绝对路径替换进你的 profile patch。
  • 动态插件:见 lan-gate.mjs 的注释(Cordis 动态插件包)。

配置(环境变量)

变量默认说明
LAN_GATE_PORT3088网关监听端口
LAN_GATE_HOST0.0.0.0网关监听地址
LAN_GATE_TARGET_PORT3080本机 DSH Web UI 端口
LAN_GATE_RATE_LIMIT120每 IP 每分钟请求上限
LAN_GATE_VAPID_PUBLICKEY空Web Push VAPID 公钥(用于任务完成通知)

使用流程

  1. 服务端:启动 DSH + 本插件,看到 [lan-gate] listening on 0.0.0.0:3088 -> 127.0.0.1:3080 (pwa=on)。
  2. 手机:浏览器打开 http://<你的IP>:3088 → 出现「等待本机批准」。
  3. 电脑:打开 http://127.0.0.1:3088/lan-gate/admin → 批准该设备并选「手机」。
  4. 手机:下拉刷新 → 进入 DSH Web UI(已注入 PWA)。
  5. 添加到主屏:浏览器菜单 → 「添加到主屏」→ 变成独立 App。
  6. (可选)任务完成通知:注入页会提示开启通知。

⚙️ 本机安装测试

npm test   # 起 mock 上游,验证 /pwa 资产、HTML 注入、状态上报

🗂️ 项目结构

路径作用
lan-gate.mjsCordis 插件入口:spawn 网关子进程 + 生命周期管理
dsh-push.mjs(可选)agent 完成推送宿主插件,调网关 /pwa/push/send
lib/lan-gate-server.cjs网关本体:零依赖单文件(HTTP 代理 + 审批 + 令牌 + 限流 + PWA 注入)
pwa/manifest.jsonPWA 安装清单
pwa/sw.jsservice worker(离线缓存 + 推送通知)
pwa/inject.js注入页引导:注册 SW + 加载手势 + 通知订阅
pwa/touch-gestures.js下拉刷新 / 边缘返弹 / 捏合缩放
pwa/app.css移动触屏布局(data-lan-device 前缀,桌面零影响)
pwa/offline.html离线回退页
pwa/icons/SVG 源 + 192/512 PNG + maskable 图标
cordis.patch.yml / .example插件 bundle 挂载层
test/gateway.test.cjs冒烟测试

🧑‍💻 开发贴士

  • 隔离:网关是子进程,lan-gate.mjs 只负责 spawn + 生命周期,永不 import 它的服务代码进 DSH 进程。
  • 移动 CSS 前缀:新规则一律挂 html[data-lan-device="phone"] 或排除 desktop 的 @media(max-width:820px),桌面必须永不受影响。
  • 稳定选择器:用 [data-slot=...] / ARIA 而非 hash 类名,避免前端构建后失效。
  • 注入页的单引号坑:lib/lan-gate-server.cjs 里的注入脚本字符串,历史上有「双引号套双引号」bug,注意字面量转义。

🙏 致谢

  • dsh-mobile-gate(MIT)——安全网关基座。
  • awesome-dsh-plugin —— 社区插件精选列表。

⚠️ 安全须知

安装插件 = 在你的机器上运行第三方代码,权限与你本人相同。收录/发布不等于安全审查。请:只在你自己的服务器上跑、别放密钥到不熟悉的环境、定期审计 lib/lan-gate-server.cjs 的变更。远程访问务必走审批 + 令牌,别把网关端口裸奔到公网。

License

MIT。网关 lib/lan-gate-server.cjs 基于 dsh-mobile-gate 扩展,保留原 MIT 版权与许可,详见 LICENSE。