前言¶
DeepSeek Harness (DSH) 採用插件化架構,旨在讓各種設備能力通過標準接口接入。在安卓開發或自動化場景中,開發者需要實時查看設備屏幕並執行點擊、滑動等操作。這裏介紹的是 ns-zzj/dsh-android-scrcpy,它作爲 DSH 的安卓投屏 provider,負責通過 ADB 和 scrcpy 協議建立連接,將設備畫面與操作指令傳回宿主。
這是什麼¶
這是一個 DSH 的 Provider 包,專門負責安卓平臺的“連接”與“傳輸”。它並不包含界面、AI 工具或邏輯判斷,這些由依賴的 dsh-scrcpy-core 提供。
- 角色定位:安卓平臺的傳輸 Provider。
- 依賴關係:必須安裝
dsh-scrcpy-core才能激活本包。兩者互不自動拉取,需手動安裝。 - 傳輸方式:通過
adb連接,支持 USB 調試或已配對的無線調試。 - 協議:使用 scrcpy-server 4.1 協議,包含 video 和 control 兩路 socket。
核心功能¶
本插件在流路徑上直接處理畫面解包、維護 GOP 緩存並推送給瀏覽器半區。
- 跨平臺多設備支持:支持安卓和鴻蒙設備同時顯示,各自獨立會話。操作只作用於當前聚焦的設備,不會誤觸。
- UHID 虛擬外接鍵盤:將 PC 鍵盤轉化爲設備的真實 HID 外設(發送真 HID 報告),而非簡單的文本注入。
- 轉屏與切頁:設備轉屏後畫面自動跟隨,無需重連;切出頁面時自動暫停,佔用資源少;切回時立刻出畫,且支持暫停期間轉屏。
- 畫質控制:有線和無線連接可分別配置縮放比例與幀率(默認有線 1/2·60fps,無線 1/4·30fps,最高 120fps)。
安裝與啓用¶
在 DSH 的插件面板中安裝兩個包,順序不分先後,但必須都裝。
# 1. 安裝 Core(含界面與 AI 工具)
@nszzj/dsh-scrcpy-core
# 2. 安裝本包(安卓 Provider)
@nszzj/dsh-android-scrcpy
安裝完成後,必須完全退出 DSH 再重新打開,宿主側的改動才能生效。若只裝本包不裝 Core,插件會因注入不滿足而靜默不激活。
使用方法¶
- 設備準備:設備端打開 USB 調試(或已配對無線調試),確保
adb devices能識別設備。 - 查看設備:在 DSH 頂部菜單的“設備列表”中,Core 會每 3 秒拉取一次設備信息,本包負責上報。
- 配置連接:進入「連接設置」,配置 ADB 路徑(若不在 PATH 中)以及畫面參數(有線/無線分別設置縮放與幀率)。
注意事項¶
- 權限與確認:首次連接或出現授權彈窗時,需在設備端手動點擊確認,Provider 無法代勞。
- 配置生效:連接中途不能修改縮放和幀率,斷開重連才能生效。
- 環境要求:不需要在 PC 端安裝 Java,scrcpy-server 會由設備端的
app_process直接運行。 - 斷流恢復:斷流或切後臺後的恢復依賴 GOP 補發機制,若設備端長時間未出關鍵幀,恢復速度可能會慢一些。