dsh-plugin-mobile-bridge:DeepSeek Harness 的手机端桥接插件

前言

DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在调试或运行智能体时,开发者往往需要在手机上即时查看 Agent 的思考链路、发送截图或临时下指令。直接盯着电脑屏幕效率较低。dsh-plugin-mobile-bridge 插件通过在电脑端启动一个 Web 服务,让手机浏览器直接接管 DSH 的控制台。它不需要安装原生 App,只需浏览器访问即可使用。

安装与启用

本插件为 DSH 的扩展,需满足以下前置条件:
* DSH 版本:需 1.8.2 及以上。
* Node.js:需 22 以上。
* Git:使用 github: 协议安装时需要。

执行安装命令:

dsh plugin --profile web add github:jxboop/dsh-plugin-mobile-bridge

安装完成后重启 DSH。重启后日志中会输出监听地址和 PIN 码:

[mobile-bridge] listening on 0.0.0.0:3081, PIN 123456
[mobile-bridge] phone url: http://192.168.1.20:3081/ab12cd34ef56ab78/

配置文件

插件会在用户目录下生成配置文件 ~/.dsh/mobile-bridge.json(Windows 路径为 %USERPROFILE%\.dsh\mobile-bridge.json)。

{
  "version": 1,
  "port": 3081,
  "pin": "123456",
  "pathSecret": "ab12cd34ef56ab78",
  "tokenTtlHours": 12,
  "bindTokenToIp": false,
  "elevationMinutes": 60
}
  • pin:登录密码,切勿外传。
  • pathSecret:路由签名密钥,所有路由均需此值,否则返回 404。
  • elevationMinutes:解锁权限(放开 PIN 限制)后,保持开放状态的有效分钟数。

核心功能

文件与素材传输

  • 手机发图:支持截图、照片、动图(GIF)、视频及任意文件。图片会自动压缩,大文件分片上传。
  • Agent 获取路径:文件上传后,Agent 在工具调用中可直接获取文件路径,而非模型无法读取的原始二进制流。
  • 电脑素材回传:Agent 生成的图片、视频或导出的文件,在对话中会自动显示缩略图,支持长按保存到本地相册。

会话与任务控制

  • 任务下发:支持新建任务、下发指令、取消运行。
  • 实时交互:运行中可点击“插话”按钮插入队列,不会打断当前回合。
  • 消息管理:支持消息撤回(排队中可撤回)、会话置顶、常用标记、删除会话(需 PIN 确认)。
  • 会话列表:支持按模型查看、显示全部会话(包括 Agent 子会话)、删除会话。

界面与个性化

  • 自定义背景:支持图片、GIF 或视频作为背景,支持一键还原。
  • 赛博朋克主题:内置纯 CSS 实现的赛博朋克风格(含霓虹地平线、透视网格、扫描线等),支持一键静音动画。
  • 毛玻璃风格:面板采用半透明模糊设计,视觉风格统一。

外网访问

  • 局域网优先:支持 USB 共享、蓝牙 PAN、个人热点、局域网自动排序。
  • 外网隧道:需安装 Tailscale。推荐使用 tailscale funnel 开启外网入口,生成固定 HTTPS 地址。
  • Cloudflare:提供快速隧道脚本作为临时方案。

其他特性

  • 权限管理:默认只读无需 PIN。放开权限需输入 PIN。新建任务时可预先选择权限档位。
  • 生成 HTML 安装页:支持生成独立的 HTML 安装页,方便分享。
  • 剪贴板历史:本地保留最近 20 条电脑剪贴板内容,可单独回填到输入框。
  • 手机端生图:需电脑端安装 image_generate 工具,通过调用当前会话的该工具生成图片。
  • 定时开机:仅支持 S3 睡眠模式(系统仍存活),完全关机不支持。
  • 蓝牙断开:可尝试断开特定蓝牙设备,但可靠性可能因系统服务不同而异。

使用方式

添加到主屏幕

在手机浏览器打开网址后,建议将其添加到主屏幕,体验类似原生 App:
* iOS (Safari):点击分享按钮 → 添加到主屏幕。
* Android (Chrome):点击菜单 → 安装应用 / 添加到主屏幕。
* 生成图标:如需自定义图标,可运行 node tools/make-icons.mjs。

外网访问配置

若需在无局域网环境访问,需配置 Tailscale Funnel:

tailscale funnel --bg 3081

记录生成的 https://<机器名>.<tailnet>.ts.net 地址,并在配置文件中设置 publicUrl。

注意事项

  • 安全性:PIN 和 pathSecret 随机生成,切勿通过非安全渠道分享给他人,这相当于电脑的后门。
  • 依赖要求:手机端生图功能依赖于电脑端安装了 image_generate 工具插件。
  • iOS 限制:iOS 上 data: 链接无法通过长按直接保存到照片。
  • 版本要求:DSH 1.8.2 以下版本缺少 lib/addresses.js,会导致手机页面无法打开。
  • 蓝牙可靠性:蓝牙断开连接功能可能不完全可靠,且无法取消配对,只能断开连接。
羽毛球分组比赛记分
小程序二维码

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

Xiaoye