devctl-dsh:從另一臺設備用 CLI 控制 DSH 會話

前言

DSH(DeepSeek Harness)採用插件化架構,運行在特定進程內。通常控制會話需要直接操作運行 DSH 的設備。devctl-dsh 提供了 DSH 接入層:從另一臺設備通過 CLI 控制 DSH 會話。它管理會話(列會話、發消息、看流式回覆、打斷、換模型),配對無需手動複製 token(通過設置頁二維碼),並提供原生 Android 客戶端與 Python 控制端。

核心功能

  • 會話管理:列出會話、發送消息、查看流式回覆、打斷當前輪次、切換模型。
  • 配對機制:設置頁提供二維碼,掃碼即可獲取 dshctl add 命令,避免手動抄寫 token。
  • 控制端:單文件 Python 3 腳本 cli/dshctl.py,零依賴。
  • 客戶端:原生 Android 客戶端 dshconsole,與 CLI 共享協議和 token。
  • 代理與界面:提供網頁界面代理,集成於 DSH 設置頁,支持設備列表、工作區增刪改查及權限管理。
  • 圖片支持:--image 參數支持發送本地圖片。

安裝(被控端)

在被控端安裝插件,使其在 DSH 進程內開啓 token 鑑權的 JSON-Lines TCP 端口(默認 7788)。

plugin_manager install_bundle target=<本倉庫的絕對路徑>

安裝後端口立即生效,設置頁會出現 devctl 分區。確認端口開啓:

netstat -ano | findstr :7788

首次啓動會生成 token 並寫入 %USERPROFILE%\.dsh\devctl-dsh.json。修改端口或綁定地址可編輯 cordis.patch.yml 的 config 或在 profile 補丁層覆蓋。

安裝(控制端)

控制端只有一個文件。在被控端臨時起一個 HTTP 服務供移動端下載:

cd cli
python -m http.server 7799

在手機 / iSH / Termux 下載並註冊設備:

curl -O http://192.168.2.7:7799/dshctl.py
python3 dshctl.py add desk --host 192.168.2.7 --port 7788 --token <TOKEN>

同機運行時,--token 可省略,腳本會自動讀取 %USERPROFILE%\.dsh\devctl-dsh.json。

CLI 用法

CLI 命令對齊 devctl 風格,常用命令如下:

dshctl.py add <name> <host:port> [--token T]        # 註冊設備
dshctl.py devices                                  # 列出設備
dshctl.py use <name>                               # 設默認設備
dshctl.py send "message"                           # 發消息
dshctl.py send "圖片" --image shot.png             # 發送圖片(路徑爲控制端本地)
dshctl.py permissions                              # 查看權限
dshctl.py permissions danger-full-access           # 提升權限
dshctl.py tail [-n 40]                             # 查看最近消息
dshctl.py watch [--for 60]                         # 實時監聽事件
dshctl.py cancel                                   # 打斷當前會話
dshctl.py workspaces                               # 列出工作區
dshctl.py ws-new D:\proj\thing                     # 新建工作區
dshctl.py ws-rm d431cc0a                           # 註銷工作區(保留文件和會話)

注意事項:
* 遠程控制端可以修改權限,可能將自己提升到 danger-full-access。
* dshctl 每條命令都是短連接(除非正在 watch/tail)。
* ws-rm 只註銷條目,不刪除磁盤上的目錄和會話。

Android 客戶端

倉庫包含原生 Android 客戶端 clients/dshconsole,單 Activity、純 Java + 手寫 View,不依賴 AndroidX/Compose,產物約 86 KB。它和 CLI 走同一套協議。

構建 APK 不需要 Android SDK,在 Linux 沙箱即可:

cd clients/dshconsole
python3 build.py        # → out/dshconsole.apk
adb install -r out/dshconsole.apk

界面特性:
* 思考塊:✦ 思考 · N 字 ▸ 默認摺疊,流式期間只露最新一行。
* 模式欄:輸入框上方膠囊直接切換模型/思考強度/權限。
* 發送模式:↑ 排隊等待本回合結束;⏎ 立刻插話。
* 工具調用:自動收成摺疊卡片。
* 連接自愈:斷線自動重連並重新 watch。
* 排版:支持 Markdown 和真表格。

適用場景與注意

本插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。它通過局域網端口提供服務,請確保網絡環境安全。

羽毛球分组比赛记分
小程序二维码

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

小夜