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,會導致手機頁面無法打開。
  • 藍牙可靠性:藍牙斷開連接功能可能不完全可靠,且無法取消配對,只能斷開連接。
羽毛球分组比赛记分
小程序二维码

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

小夜